Java Code Examples for org.joda.time.MutableDateTime#addDays()

The following examples show how to use org.joda.time.MutableDateTime#addDays() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DocumentSearchServiceImpl.java    From rice with Educational Community License v2.0 5 votes vote down vote up
protected DocumentSearchCriteria applyCriteriaDefaults(DocumentSearchCriteria criteria) {
    DocumentSearchCriteria.Builder comparisonCriteria = createEmptyComparisonCriteria(criteria);
    boolean isCriteriaEmpty = criteria.equals(comparisonCriteria.build());
    boolean isTitleOnly = false;
    boolean isDocTypeOnly = false;
    if (!isCriteriaEmpty) {
        comparisonCriteria.setTitle(criteria.getTitle());
        isTitleOnly = criteria.equals(comparisonCriteria.build());
    }

    if (!isCriteriaEmpty && !isTitleOnly) {
        comparisonCriteria = createEmptyComparisonCriteria(criteria);
        comparisonCriteria.setDocumentTypeName(criteria.getDocumentTypeName());
        isDocTypeOnly = criteria.equals(comparisonCriteria.build());
    }

    if (isCriteriaEmpty || isTitleOnly || isDocTypeOnly) {
        DocumentSearchCriteria.Builder criteriaBuilder = DocumentSearchCriteria.Builder.create(criteria);
        Integer defaultCreateDateDaysAgoValue = null;
        if (isCriteriaEmpty || isDocTypeOnly) {
            // if they haven't set any criteria, default the from created date to today minus days from constant variable
            defaultCreateDateDaysAgoValue = KewApiConstants.DOCUMENT_SEARCH_NO_CRITERIA_CREATE_DATE_DAYS_AGO;
        } else if (isTitleOnly) {
            // If the document title is the only field which was entered, we want to set the "from" date to be X
            // days ago.  This will allow for a more efficient query.
            defaultCreateDateDaysAgoValue = KewApiConstants.DOCUMENT_SEARCH_DOC_TITLE_CREATE_DATE_DAYS_AGO;
        }

        if (defaultCreateDateDaysAgoValue != null) {
            // add a default create date
            MutableDateTime mutableDateTime = new MutableDateTime();
            mutableDateTime.addDays(defaultCreateDateDaysAgoValue.intValue());
            criteriaBuilder.setDateCreatedFrom(mutableDateTime.toDateTime());
        }
        criteria = criteriaBuilder.build();
    }
    return criteria;
}
 
Example 2
Source File: AlarmScheduler.java    From BaldPhone with Apache License 2.0 4 votes vote down vote up
static long nextTimeAlarmWillWorkInMs(@NonNull Alarm alarm) {
    final MutableDateTime mDateTime = MutableDateTime.now();
    {   //creating a date of today with the hours and minutes of the alarm
        mDateTime.setMillisOfSecond(0);
        mDateTime.setSecondOfMinute(0);
        mDateTime.setHourOfDay(alarm.getHour());
        mDateTime.setMinuteOfHour(alarm.getMinute());
    }

    final int baldDay = getBaldDay();

    {   //today or one time
        if ((alarm.getDays() & baldDay) == baldDay) {//today may have an alarm
            if ((alarm.getDays() == baldDay)) {
                if (mDateTime.isBeforeNow())
                    mDateTime.addWeeks(1);  //next week if today's time already passed
                return mDateTime.getMillis();
            } else {
                if (mDateTime.isAfterNow())
                    return mDateTime.getMillis();
            }
        } else if (alarm.getDays() == -1) {
            if (mDateTime.isBeforeNow())
                mDateTime.addDays(1);
            return mDateTime.getMillis();
        }
    }
    int selectedBaldDay = baldDay;

    {   //find next day
        for (int i = baldDay << 1; i != baldDay; i <<= 1) {
            if (i > D.Days.SATURDAY)
                i = D.Days.SUNDAY;

            if ((alarm.getDays() & i) == i) {
                selectedBaldDay = i;
                break;
            }

        }
    }

    int day = baldDayToJodaDay(selectedBaldDay);
    mDateTime.setDayOfWeek(day);
    if (mDateTime.isBeforeNow()) {
        mDateTime.addWeeks(1);
    }
    return mDateTime.getMillis();
}
 
Example 3
Source File: ReminderScheduler.java    From BaldPhone with Apache License 2.0 4 votes vote down vote up
private static long nextTimeReminderWillWorkInMs(@NonNull Reminder reminder, Context context) {
    final MutableDateTime mDateTime = MutableDateTime.now();

    {   //creating a date of today with the hours and minutes of the alarm
        mDateTime.setMillisOfSecond(0);
        mDateTime.setSecondOfMinute(0);

        mDateTime.setHourOfDay(BPrefs.getHour(reminder.getStartingTime(), context));
        mDateTime.setMinuteOfHour(BPrefs.getMinute(reminder.getStartingTime(), context));
    }

    final int baldDay = getBaldDay();
    final int days = reminder.getDays();
    {   //today or one time
        if ((days & baldDay) == baldDay) {//today may have an alarm
            if ((days == baldDay)) {
                if (mDateTime.isBeforeNow())
                    mDateTime.addWeeks(1);  //next week if today's time already passed
                return mDateTime.getMillis();
            } else {
                if (mDateTime.isAfterNow())
                    return mDateTime.getMillis();
            }
        } else if (days == -1) {
            if (mDateTime.isBeforeNow())
                mDateTime.addDays(1);
            return mDateTime.getMillis();
        }
    }

    int selectedBaldDay = baldDay;

    {   //find next day
        for (int i = baldDay << 1; i != baldDay; i <<= 1) {
            if (i > D.Days.SATURDAY)
                i = D.Days.SUNDAY;

            if ((days & i) == i) {
                selectedBaldDay = i;
                break;
            }

        }
    }

    int day = baldDayToJodaDay(selectedBaldDay);
    mDateTime.setDayOfWeek(day);
    if (mDateTime.isBeforeNow()) {
        mDateTime.addWeeks(1);
    }
    return mDateTime.getMillis();
}
 
Example 4
Source File: CronExpression.java    From chronos with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
@CoverageIgnore
public DateTime nextTimeAfter(DateTime afterTime, DateTime dateTimeBarrier) {
    MutableDateTime nextTime = new MutableDateTime(afterTime);
    nextTime.setMillisOfSecond(0);
    nextTime.secondOfDay().add(1);

    while (true) { // day of week
        while (true) { // month
            while (true) { // day of month
                while (true) { // hour
                    while (true) { // minute
                        while (true) { // second
                            if (secondField.matches(nextTime.getSecondOfMinute())) {
                                break;
                            }
                            nextTime.secondOfDay().add(1);
                        }
                        if (minuteField.matches(nextTime.getMinuteOfHour())) {
                            break;
                        }
                        nextTime.minuteOfDay().add(1);
                        nextTime.secondOfMinute().set(0);
                    }
                    if (hourField.matches(nextTime.getHourOfDay())) {
                        break;
                    }
                    nextTime.hourOfDay().add(1);
                    nextTime.minuteOfHour().set(0);
                    nextTime.secondOfMinute().set(0);
                }
                if (dayOfMonthField.matches(new LocalDate(nextTime))) {
                    break;
                }
                nextTime.addDays(1);
                nextTime.setTime(0, 0, 0, 0);
                checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
            }
            if (monthField.matches(nextTime.getMonthOfYear())) {
                break;
            }
            nextTime.addMonths(1);
            nextTime.setDayOfMonth(1);
            nextTime.setTime(0, 0, 0, 0);
            checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
        }
        if (dayOfWeekField.matches(new LocalDate(nextTime))) {
            break;
        }
        nextTime.addDays(1);
        nextTime.setTime(0, 0, 0, 0);
        checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
    }

    return nextTime.toDateTime();
}
 
Example 5
Source File: CronExpression.java    From cron with Apache License 2.0 4 votes vote down vote up
public DateTime nextTimeAfter(DateTime afterTime, DateTime dateTimeBarrier) {
    MutableDateTime nextTime = new MutableDateTime(afterTime);
    nextTime.setMillisOfSecond(0);
    nextTime.secondOfDay().add(1);

    while (true) { // day of week
        while (true) { // month
            while (true) { // day of month
                while (true) { // hour
                    while (true) { // minute
                        while (true) { // second
                            if (secondField.matches(nextTime.getSecondOfMinute())) {
                                break;
                            }
                            nextTime.secondOfDay().add(1);
                        }
                        if (minuteField.matches(nextTime.getMinuteOfHour())) {
                            break;
                        }
                        nextTime.minuteOfDay().add(1);
                        nextTime.secondOfMinute().set(0);
                    }
                    if (hourField.matches(nextTime.getHourOfDay())) {
                        break;
                    }
                    nextTime.hourOfDay().add(1);
                    nextTime.minuteOfHour().set(0);
                    nextTime.secondOfMinute().set(0);
                }
                if (dayOfMonthField.matches(new LocalDate(nextTime))) {
                    break;
                }
                nextTime.addDays(1);
                nextTime.setTime(0, 0, 0, 0);
                checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
            }
            if (monthField.matches(nextTime.getMonthOfYear())) {
                break;
            }
            nextTime.addMonths(1);
            nextTime.setDayOfMonth(1);
            nextTime.setTime(0, 0, 0, 0);
            checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
        }
        if (dayOfWeekField.matches(new LocalDate(nextTime))) {
            break;
        }
        nextTime.addDays(1);
        nextTime.setTime(0, 0, 0, 0);
        checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
    }

    return nextTime.toDateTime();
}
 
Example 6
Source File: CronExpression.java    From actframework with Apache License 2.0 4 votes vote down vote up
public DateTime nextTimeAfter(DateTime afterTime, DateTime dateTimeBarrier) {
    MutableDateTime nextTime = new MutableDateTime(afterTime);
    nextTime.setMillisOfSecond(0);
    nextTime.secondOfDay().add(1);

    while (true) { // day of week
        while (true) { // month
            while (true) { // day of month
                while (true) { // hour
                    while (true) { // minute
                        while (true) { // second
                            if (secondField.matches(nextTime.getSecondOfMinute())) {
                                break;
                            }
                            nextTime.secondOfDay().add(1);
                        }
                        if (minuteField.matches(nextTime.getMinuteOfHour())) {
                            break;
                        }
                        nextTime.minuteOfDay().add(1);
                        nextTime.secondOfMinute().set(0);
                    }
                    if (hourField.matches(nextTime.getHourOfDay())) {
                        break;
                    }
                    nextTime.hourOfDay().add(1);
                    nextTime.minuteOfHour().set(0);
                    nextTime.secondOfMinute().set(0);
                }
                if (dayOfMonthField.matches(new LocalDate(nextTime))) {
                    break;
                }
                nextTime.addDays(1);
                nextTime.setTime(0, 0, 0, 0);
                checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
            }
            if (monthField.matches(nextTime.getMonthOfYear())) {
                break;
            }
            nextTime.addMonths(1);
            nextTime.setDayOfMonth(1);
            nextTime.setTime(0, 0, 0, 0);
            checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
        }
        if (dayOfWeekField.matches(new LocalDate(nextTime))) {
            break;
        }
        nextTime.addDays(1);
        nextTime.setTime(0, 0, 0, 0);
        checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
    }

    return nextTime.toDateTime();
}