Example usage for org.apache.commons.lang3.time DateUtils addDays

List of usage examples for org.apache.commons.lang3.time DateUtils addDays

Introduction

In this page you can find the example usage for org.apache.commons.lang3.time DateUtils addDays.

Prototype

public static Date addDays(final Date date, final int amount) 

Source Link

Document

Adds a number of days to a date returning a new object.

Usage

From source file:org.foxbpm.calendar.mybatis.cmd.GetWorkCalendarEndTimeCmd.java

/**
 * ?/*from ww w . ja  v  a  2  s  . c  o  m*/
 * @param calendarRuleEntity
 * @return
 */
private Date CalculateEndTime(CalendarRuleEntity calendarRuleEntity) {
    //?
    if (getCalendarRuleByDate(begin) == null) {
        day += 1;
        begin = DateUtils.addDays(begin, 1);
        CalculateEndTime(calendarRuleEntity);
    }

    Date endDate = null;

    for (CalendarRuleEntity caRuleEntity : calendarTypeEntity.getCalendarRuleEntities()) {
        //??
        if (caRuleEntity.getStatus() == FREESTATUS && caRuleEntity.getWorkdate() != null
                && caRuleEntity.getYear() == year && DateUtils.isSameDay(caRuleEntity.getWorkdate(), begin)) {
            //
            if (caRuleEntity.getCalendarPartEntities().size() == 0) {
                begin = DateUtils.addDays(begin, 1);
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(begin);
                calendar.set(Calendar.HOUR, 0);
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.SECOND, 0);
                begin = calendar.getTime();
                year = calendar.get(Calendar.YEAR);
                month = calendar.get(Calendar.MONTH) + 1;
                day = calendar.get(Calendar.DATE);
                calendar.get(Calendar.HOUR);
                calendar.get(Calendar.MINUTE);
                calendar.get(Calendar.SECOND);
            }
            // ? ??
            else {
                calendarRuleEntity = getCalendarRuleEntityWithHoliday(caRuleEntity);
            }
        }
    }

    //?
    if (calendarRuleEntity.getStatus() == FREESTATUS
            && calendarRuleEntity.getCalendarPartEntities().size() == 0) {
        day += 1;
        calendarRuleEntity = getCalendarRuleByDate(DateUtils.addDays(begin, 1));
        Calendar calendar = Calendar.getInstance();

        if (calendarRuleEntity.getCalendarPartEntities().size() > 0) {
            calendar.setTimeInMillis(
                    getCalculateTime(calendarRuleEntity.getCalendarPartEntities().get(0).getStarttime(),
                            calendarRuleEntity.getCalendarPartEntities().get(0).getAmorpm()));
            begin = calendar.getTime();
        }
        endDate = CalculateEndTime(calendarRuleEntity);
    }
    for (int j = 0; j < calendarRuleEntity.getCalendarPartEntities().size(); j++) {
        CalendarPartEntity calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(j);
        //??? ????  //TODO ?
        if (calendarPartEntity.getAmorpm() == DateCalUtils.dayForAMorPM(begin)) {
            Calendar formatCalendar = Calendar.getInstance();

            //
            long startTime = getCalculateTime(calendarPartEntity.getStarttime(),
                    calendarPartEntity.getAmorpm());
            formatCalendar.setTimeInMillis(startTime);
            log.debug("" + formatCalendar.getTime());

            //?
            long endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());
            formatCalendar.setTimeInMillis(endTime);
            log.debug("?" + formatCalendar.getTime());

            //?
            long beginTime = begin.getTime();
            formatCalendar.setTime(begin);
            log.debug("?" + formatCalendar.getTime());

            //??
            long beginEndTime = (long) (hours * HOURTIME + beginTime);
            formatCalendar.setTimeInMillis(beginEndTime);
            log.debug("?" + formatCalendar.getTime());

            log.debug("" + hours + "?");

            endDate = CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, j);
            if (endDate == null) {
                log.debug("");
                break;
            }

            return endDate;
        }
    }
    return endDate;
}

From source file:org.foxbpm.calendar.mybatis.cmd.GetWorkCalendarEndTimeCmd.java

/**
 *  /*from   w w w  .j  a  v a  2 s  .  c om*/
 * @param startTime
 * @param endTime
 * @param beginTime
 * @param beginEndTime
 * @param calendarRuleEntity
 * @param i
 * @return
 */
private Date CalculateTime(long startTime, long endTime, long beginTime, long beginEndTime,
        CalendarRuleEntity calendarRuleEntity, int i) {
    Calendar endCalendar = Calendar.getInstance();
    //1??
    if ((beginTime < startTime && beginEndTime < startTime)) {
        //
        CalendarPartEntity calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(i);
        startTime = getCalculateTime(calendarPartEntity.getStarttime(), calendarPartEntity.getAmorpm());
        endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());

        beginTime = startTime;
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(beginTime);
        begin = calendar.getTime();
        beginEndTime = (long) (beginTime + hours * HOURTIME);

        //?
        return CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, i);
    }
    //??
    else if ((beginTime > endTime && beginEndTime > endTime)) {
        //
        if (i + 1 < calendarRuleEntity.getCalendarPartEntities().size()) {
            CalendarPartEntity calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(i + 1);
            startTime = getCalculateTime(calendarPartEntity.getStarttime(), calendarPartEntity.getAmorpm());
            endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());

            beginTime = startTime;
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(beginTime);
            begin = calendar.getTime();
            beginEndTime = (long) (beginTime + hours * HOURTIME);

            //?
            return CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, i + 1);
        }
        //??
        if (isAddDay) {
            CalendarPartEntity calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(0);
            startTime = getCalculateTime(calendarPartEntity.getStarttime(), calendarPartEntity.getAmorpm());
            endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());
            beginTime = startTime;
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(beginTime);
            begin = calendar.getTime();
            beginEndTime = (long) (beginTime + hours * HOURTIME);

            //?
            isAddDay = false;
            return CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, i);
        }

        // ??
        else {
            CalendarRuleEntity calendarRuleEntity2 = getCalendarRuleByDate(DateUtils.addDays(begin, 1));
            if (calendarRuleEntity2.getStatus() == FREESTATUS) {
                day += 1;
            } else {
                day += 1;
                isAddDay = true;
                startTime = getCalculateTime(
                        calendarRuleEntity2.getCalendarPartEntities().get(0).getStarttime(),
                        calendarRuleEntity2.getCalendarPartEntities().get(0).getAmorpm());
                endTime = getCalculateTime(calendarRuleEntity2.getCalendarPartEntities().get(0).getEndtime(),
                        calendarRuleEntity2.getCalendarPartEntities().get(0).getAmorpm());
                beginTime = startTime;
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(beginTime);
                begin = calendar.getTime();
                beginEndTime = (long) (beginTime + hours * HOURTIME);
            }
            return CalculateEndTime(calendarRuleEntity2);
        }
    }

    //2? ?
    else if (beginTime < startTime && beginEndTime > startTime && beginEndTime <= endTime) {
        //
        //?
        if ((endTime - startTime) - hours * HOURTIME > 0) {
            endCalendar.setTimeInMillis((long) (startTime + hours * HOURTIME));
            return endCalendar.getTime();
        }
        //???
        else {
            if (i + 1 < calendarRuleEntity.getCalendarPartEntities().size()) {
                CalendarPartEntity calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(i + 1);
                beginEndTime = (long) (hours * HOURTIME - (endTime - startTime));
                hours = hours - ((double) (endTime - startTime) / (HOURTIME));
                startTime = getCalculateTime(calendarPartEntity.getStarttime(), calendarPartEntity.getAmorpm());
                endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());
                beginTime = startTime;
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(beginTime);
                begin = calendar.getTime();
                beginEndTime += startTime;

                //?
                return CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, i + 1);
            }
        }
    }

    //3?
    else if (startTime <= beginTime && beginEndTime > startTime && beginEndTime <= endTime) {
        //
        endCalendar.setTimeInMillis(beginEndTime);
    }

    //4??
    else if (startTime <= beginTime && beginEndTime > endTime) {
        CalendarPartEntity calendarPartEntity = null;
        if (i + 1 < calendarRuleEntity.getCalendarPartEntities().size()) {
            calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(i + 1);
            // ???
            if (startTime == beginTime) {
                beginEndTime = (long) (hours * HOURTIME - (endTime - startTime));
                hours = hours - ((double) (endTime - startTime) / (HOURTIME));
            }
            //????
            else {
                beginEndTime = (long) (hours * HOURTIME - (endTime - beginTime));
                hours = hours - ((double) (endTime - beginTime) / (HOURTIME));
            }

            startTime = getCalculateTime(calendarPartEntity.getStarttime(), calendarPartEntity.getAmorpm());
            endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());
            beginTime = startTime;
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(beginTime);
            begin = calendar.getTime();
            beginEndTime += startTime;

            //?
            return CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, i + 1);
        }

        //??
        else {
            CalendarRuleEntity calendarRuleEntity2 = getCalendarRuleByDate(DateUtils.addDays(begin, 1));
            if (calendarRuleEntity2.getStatus() == FREESTATUS || isHoliday(begin)) {
                day += 1;
                // ???
                if (startTime == beginTime) {
                    beginEndTime = (long) (hours * HOURTIME - (endTime - startTime));
                    hours = hours - ((double) (endTime - startTime) / (HOURTIME));
                }
                //????
                else {
                    beginEndTime = (long) (hours * HOURTIME - (endTime - beginTime));
                    hours = hours - ((double) (endTime - beginTime) / (HOURTIME));
                }
            } else {
                day += 1;
                // ???
                if (startTime == beginTime) {
                    beginEndTime = (long) (hours * HOURTIME - (endTime - startTime));
                    hours = hours - ((double) (endTime - startTime) / (HOURTIME));
                }
                //????
                else {
                    beginEndTime = (long) (hours * HOURTIME - (endTime - beginTime));
                    hours = hours - ((double) (endTime - beginTime) / (HOURTIME));
                }
                startTime = getCalculateTime(
                        calendarRuleEntity2.getCalendarPartEntities().get(0).getStarttime(),
                        calendarRuleEntity2.getCalendarPartEntities().get(0).getAmorpm());
                endTime = getCalculateTime(calendarRuleEntity2.getCalendarPartEntities().get(0).getEndtime(),
                        calendarRuleEntity2.getCalendarPartEntities().get(0).getAmorpm());
                beginTime = startTime;
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(beginTime);
                begin = calendar.getTime();
                beginEndTime += startTime;
            }

            return CalculateEndTime(calendarRuleEntity2);
        }
    }

    //5?
    else if (beginTime < startTime && beginEndTime > endTime) {
        //
        CalendarPartEntity calendarPartEntity = calendarRuleEntity.getCalendarPartEntities().get(i);
        startTime = getCalculateTime(calendarPartEntity.getStarttime(), calendarPartEntity.getAmorpm());
        endTime = getCalculateTime(calendarPartEntity.getEndtime(), calendarPartEntity.getAmorpm());
        beginTime = startTime;
        beginEndTime = (long) (beginTime + (hours * HOURTIME));
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(beginTime);
        begin = calendar.getTime();

        //?
        return CalculateTime(startTime, endTime, beginTime, beginEndTime, calendarRuleEntity, i);
    }

    return endCalendar.getTime();
}

From source file:org.foxbpm.calendar.mybatis.cmd.GetWorkCalendarEndTimeCmd.java

/**
 * ?/*from   ww  w .j  a va2 s . c  o m*/
 * @param date
 * @return
 */
private CalendarRuleEntity getCalendarRuleByDate(Date date) {
    CalendarRuleEntity calendarRuleEntity = null;
    for (CalendarRuleEntity calendarRuleEntity2 : calendarTypeEntity.getCalendarRuleEntities()) {
        if (calendarRuleEntity2.getWeek() == DateCalUtils.dayForWeek(date)) {
            calendarRuleEntity = calendarRuleEntity2;
        }
        if (calendarRuleEntity2.getWorkdate() != null
                && DateUtils.isSameDay(calendarRuleEntity2.getWorkdate(), date)
                && calendarRuleEntity2.getCalendarPartEntities().size() != 0) {
            calendarRuleEntity = calendarRuleEntity2;
        }
    }
    //?
    if (calendarRuleEntity == null) {
        date = DateUtils.addDays(date, 1);
        return getCalendarRuleByDate(date);
    }
    return calendarRuleEntity;
}

From source file:org.jasig.ssp.service.impl.SendAllEarlyAlertReminderNotificationsTestBase.java

protected void addEarlyAlertForStudent(final Person person, final Campus campus) throws Exception {
    final UUID id = UUID.randomUUID();
    final EarlyAlert earlyAlert = mock(EarlyAlert.class);
    given(earlyAlert.getId()).willReturn(id);
    given(earlyAlert.getPerson()).willReturn(person);
    given(earlyAlert.getCreatedBy()).willReturn(this.earlyAlertCreatorAuditPerson);
    given(earlyAlert.getCreatedDate()).willReturn(DateUtils.addDays(new Date(), -3));
    given(earlyAlert.getCampus()).willReturn(campus);
    this.earlyAlerts.add(earlyAlert);
    given(this.earlyAlertDao.get(id)).willReturn(earlyAlert);
}

From source file:org.kuali.coeus.common.committee.impl.service.impl.CommitteeScheduleServiceImplBase.java

/**
 * Helper method to calculate advanced submission days.
 * @param startDate// w  w  w. j av  a2  s.c o  m
 * @param days
 * @return
 */
protected java.sql.Date calculateAdvancedSubmissionDays(Date startDate, Integer days) {
    Date deadlineDate = DateUtils.addDays(startDate, -days);
    return new java.sql.Date(deadlineDate.getTime());
}

From source file:org.kuali.coeus.common.committee.impl.web.struts.form.CommitteeHelperBase.java

/**
 * This method prepares a view to filter dates between start and end date, sorted by the scheduled date.
 * @param startDate// w w  w  .  jav a2  s.com
 * @param endDate
 */
public void prepareFilterDatesView(java.util.Date startDate, java.util.Date endDate) {
    startDate = DateUtils.addDays(startDate, -1);
    endDate = DateUtils.addDays(endDate, 1);
    java.util.Date scheduleDate = null;
    for (CommitteeScheduleBase committeeSchedule : getSortedCommitteeScheduleList()) {
        scheduleDate = committeeSchedule.getScheduledDate();
        if ((scheduleDate != null) && scheduleDate.after(startDate) && scheduleDate.before(endDate)) {
            committeeSchedule.setFilter(true);
        } else {
            committeeSchedule.setFilter(false);
        }
    }
}

From source file:org.kuali.kra.award.timeandmoney.AwardDirectFandADistributionRuleImpl.java

/**
 * This method tests for break in date ranges of existing AwardDirectFandADistribution list on the Award.
 *///from  w  w  w .j a  v  a  2s  .com
boolean existingDirectFandADistributionsDatesNoBreak(
        List<AwardDirectFandADistribution> thisAwardDirectFandADistributions) {
    boolean valid = true;
    int currentIndex = 0;
    for (AwardDirectFandADistribution thisAwardDirectFandADistribution : thisAwardDirectFandADistributions) {
        if (currentIndex < thisAwardDirectFandADistributions.size() - 1) {
            AwardDirectFandADistribution nextAwardDirectFandADistribution = thisAwardDirectFandADistributions
                    .get(++currentIndex);
            if (DateUtils.addDays(thisAwardDirectFandADistribution.getEndDate(), 1)
                    .before(nextAwardDirectFandADistribution.getStartDate())) {
                reportWarning(WARNING_BREAK_DATE_RANGE, KeyConstants.WARNING_AWARD_FANDA_DISTRIB_BREAKS);
                KNSGlobalVariables.getMessageList().add(KeyConstants.WARNING_AWARD_FANDA_DISTRIB_EXISTS, "");
                valid = false;
            }
        }
    }
    return valid;
}

From source file:org.kuali.kra.coi.CoiDisclosure.java

public void initRequiredFields() {
    // is pending equivalent to in progress?
    this.setDisclosureDispositionCode(CoiDispositionStatus.IN_PROGRESS);
    this.setDisclosureStatusCode(CoiDisclosureStatus.IN_PROGRESS);
    this.setReviewStatusCode(CoiReviewStatus.IN_PROGRESS);
    this.setPersonId(this.getDisclosureReporter().getPersonId());
    initCoiDisclosureNumber();/* w  w  w. j  a  va 2 s .co m*/
    this.setExpirationDate(new Date(DateUtils.addDays(new Date(System.currentTimeMillis()), 365).getTime()));

}

From source file:org.kuali.kra.coi.disclosure.AddManualProjectRuleTest.java

@Test
public void testAddProposalEventOK() {
    new TemplateRuleTest<AddManualProjectEvent, AddManualProjectRule>() {
        @Override//from www.  j av a2s. c om
        protected void prerequisite() {
            CoiDisclProject coiDisclProject = new CoiDisclProject();

            coiDisclProject.setDisclosureEventType(CoiDisclosureEventType.MANUAL_DEVELOPMENT_PROPOSAL);

            coiDisclProject.setCoiProjectId("test id");
            coiDisclProject.setCoiProjectTitle("test title");
            coiDisclProject.setModuleItemKey(coiDisclProject.getCoiProjectId());
            coiDisclProject.setShortTextField1("test project role");
            coiDisclProject.setLongTextField1("test sponsor");

            coiDisclProject.setNumberField1(new ScaleTwoDecimal(1000.00));
            coiDisclProject.setDateField1(new java.sql.Date(new Date().getTime()));
            CoiDisclosure coiDisclosure = new CoiDisclosure();
            coiDisclosure.setCoiDisclProjects(new ArrayList<CoiDisclProject>());
            coiDisclProject.setCoiDisclosure(coiDisclosure);
            Date dt = DateUtils.addDays(new Date(), 10);
            coiDisclProject.setDateField2(new java.sql.Date(dt.getTime()));

            coiDisclProject.setSelectBox1("1");

            coiDisclProject.setDisclosureDispositionCode(CoiDispositionStatus.IN_PROGRESS);
            coiDisclProject.setDisclosureStatusCode(CoiDisclosureStatus.IN_PROGRESS);

            event = new AddManualProjectEvent(Constants.EMPTY_STRING, coiDisclProject);
            rule = new AddManualProjectRule();
            expectedReturnValue = true;
        }
    };
}

From source file:org.kuali.kra.coi.disclosure.AddManualProjectRuleTest.java

@Test
public void testAddTravelEventOK() {
    new TemplateRuleTest<AddManualProjectEvent, AddManualProjectRule>() {
        @Override//from   ww w.ja v a 2 s .c  o  m
        protected void prerequisite() {
            CoiDisclProject coiDisclProject = new CoiDisclProject();

            coiDisclProject.setDisclosureEventType(CoiDisclosureEventType.MANUAL_TRAVEL);

            coiDisclProject.setCoiProjectId("event id");
            coiDisclProject.setCoiProjectTitle("event title");
            coiDisclProject.setModuleItemKey(coiDisclProject.getCoiProjectId());
            coiDisclProject.setDisclosureDispositionCode(CoiDispositionStatus.IN_PROGRESS);
            coiDisclProject.setDisclosureStatusCode(CoiDisclosureStatus.IN_PROGRESS);
            CoiDisclosure coiDisclosure = new CoiDisclosure();
            coiDisclosure.setCoiDisclProjects(new ArrayList<CoiDisclProject>());
            coiDisclProject.setCoiDisclosure(coiDisclosure);

            coiDisclProject.setShortTextField1("destination");
            coiDisclProject.setLongTextField1("entity name");
            coiDisclProject.setLongTextField2("sponsor");
            coiDisclProject.setLongTextField3("purpose");

            coiDisclProject.setNumberField1(new ScaleTwoDecimal(1000));
            coiDisclProject.setDateField1(new java.sql.Date(new Date().getTime()));
            Date dt = DateUtils.addDays(new Date(), 10);
            coiDisclProject.setDateField2(new java.sql.Date(dt.getTime()));

            event = new AddManualProjectEvent(Constants.EMPTY_STRING, coiDisclProject);
            rule = new AddManualProjectRule();
            expectedReturnValue = true;
        }
    };
}