Example usage for org.joda.time DateTime minusYears

List of usage examples for org.joda.time DateTime minusYears

Introduction

In this page you can find the example usage for org.joda.time DateTime minusYears.

Prototype

public DateTime minusYears(int years) 

Source Link

Document

Returns a copy of this datetime minus the specified number of years.

Usage

From source file:org.kuali.kpme.tklm.leave.accrual.service.AccrualServiceImpl.java

License:Educational Community License

@Override
public DateTime getPreviousAccrualIntervalDate(String earnInterval, DateTime aDate) {
    DateTime previousAccrualIntervalDate = null;

    if (earnInterval.equals(HrConstants.ACCRUAL_EARN_INTERVAL_CODE.DAILY)) {
        previousAccrualIntervalDate = aDate.minusDays(1);
    } else if (earnInterval.equals(HrConstants.ACCRUAL_EARN_INTERVAL_CODE.WEEKLY)) {
        previousAccrualIntervalDate = aDate.minusWeeks(1).withDayOfWeek(DateTimeConstants.SATURDAY);
    } else if (earnInterval.equals(HrConstants.ACCRUAL_EARN_INTERVAL_CODE.SEMI_MONTHLY)) {
        previousAccrualIntervalDate = aDate.minusDays(15);
        if (previousAccrualIntervalDate.getDayOfMonth() <= 15) {
            previousAccrualIntervalDate = previousAccrualIntervalDate.withDayOfMonth(15);
        } else {/*from w w  w  . j a v  a  2 s .c  om*/
            previousAccrualIntervalDate = previousAccrualIntervalDate
                    .withDayOfMonth(previousAccrualIntervalDate.dayOfMonth().getMaximumValue());
        }
    } else if (earnInterval.equals(HrConstants.ACCRUAL_EARN_INTERVAL_CODE.MONTHLY)) {
        previousAccrualIntervalDate = aDate.minusMonths(1);
        previousAccrualIntervalDate = previousAccrualIntervalDate
                .withDayOfMonth(previousAccrualIntervalDate.dayOfMonth().getMaximumValue());
    } else if (earnInterval.equals(HrConstants.ACCRUAL_EARN_INTERVAL_CODE.YEARLY)) {
        previousAccrualIntervalDate = aDate.minusYears(1);
        previousAccrualIntervalDate = previousAccrualIntervalDate
                .withDayOfYear(previousAccrualIntervalDate.dayOfYear().getMaximumValue());
    } else if (earnInterval.equals(HrConstants.ACCRUAL_EARN_INTERVAL_CODE.NO_ACCRUAL)) {
        previousAccrualIntervalDate = aDate;
    }

    return previousAccrualIntervalDate;
}

From source file:org.n52.sos.request.operator.AqdGetObservationOperatorV10.java

License:Open Source License

private void checkRequestForFlowAndTemporalFilter(GetObservationRequest request, ReportObligationType flow)
        throws CodedException {
    try {/*from   w w  w . ja  v  a  2s .  co m*/
        if (!request.isSetTemporalFilter()) {
            DateTime start = null;
            DateTime end = null;
            DateTime dateTime = new DateTime();
            if (ReportObligationType.E2A.equals(flow)) {
                String timeString;
                timeString = DateTimeHelper.formatDateTime2YearMonthDayDateStringYMD(dateTime.minusDays(1));
                start = DateTimeHelper.parseIsoString2DateTime(timeString);
                int timeLength = DateTimeHelper.getTimeLengthBeforeTimeZone(timeString);
                DateTime origEnd = DateTimeHelper.parseIsoString2DateTime(timeString);
                end = DateTimeHelper.setDateTime2EndOfMostPreciseUnit4RequestedEndPosition(origEnd, timeLength);
            } else if (ReportObligationType.E1A.equals(flow) || ReportObligationType.E1B.equals(flow)) {
                String year = Integer.toString(dateTime.minusYears(1).getYear());
                start = DateTimeHelper.parseIsoString2DateTime(year);
                int timeLength = DateTimeHelper.getTimeLengthBeforeTimeZone(year);
                end = DateTimeHelper.setDateTime2EndOfMostPreciseUnit4RequestedEndPosition(
                        DateTimeHelper.parseIsoString2DateTime(year), timeLength);
            }
            if (start != null && end != null) {
                request.setTemporalFilters(
                        getTemporalFilter(new TimePeriod(start.minusMillis(1), end.plusMillis(2))));
            }
        }
    } catch (DateTimeFormatException | DateTimeParseException e) {
        throw new NoApplicableCodeException().causedBy(e).withMessage(
                "The request does not contain a temporal filter and the temporal filter creation for the flow fails!");
    }
}

From source file:org.ojbc.bundles.adapters.staticmock.samplegen.CriminalHistorySampleGenerator.java

License:RPL License

private void addProtectionOrderElements(Element rapSheetElement, PersonElementWrapper person,
        DateTime baseDate) {

    int orderCount = generatePoissonInt(.3, false);

    for (int i = 0; i < orderCount; i++) {

        Element orderElement = appendElement(rapSheetElement, OjbcNamespaceContext.NS_CH_EXT, "Order");
        Element activityElement = appendElement(orderElement, OjbcNamespaceContext.NS_NC,
                "ActivityIdentification");
        Element e = appendElement(activityElement, OjbcNamespaceContext.NS_NC, "IdentificationID");
        e.setTextContent(generateRandomID("ORDER", 10));
        e = appendElement(activityElement, OjbcNamespaceContext.NS_NC, "IdentificationCategoryText");
        e.setTextContent("TRO DOCUMENT ID");
        e = appendElement(orderElement, OjbcNamespaceContext.NS_NC, "ActivityCategoryText");
        e.setTextContent("TRO");
        e = appendElement(orderElement, OjbcNamespaceContext.NS_NC, "ActivityDate");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "Date");
        DateTime orderDate = generateUniformRandomDateBetween(baseDate, baseDate.minusYears(5));
        e.setTextContent(DATE_FORMATTER_YYYY_MM_DD.print(orderDate));
        e = appendElement(orderElement, OjbcNamespaceContext.NS_JXDM_41, "CourtOrderIssuingCourt");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "OrganizationName");
        e.setTextContent(getRandomCounty(person.state) + " District Court");
        e = appendElement(orderElement, OjbcNamespaceContext.NS_JXDM_41, "CourtOrderServiceDescriptionText");
        e.setTextContent(generateRandomCodeFromList("PENDING", "SERVED"));
        e = appendElement(orderElement, OjbcNamespaceContext.NS_CH_EXT, "CourtCase");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "ActivityIdentification");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "IdentificationID");
        e.setTextContent("TRO-" + baseDate.getYear() + generateRandomID("-", 8));
        e = appendElement(orderElement, OjbcNamespaceContext.NS_CH_EXT, "ProtectionOrderExpirationDate");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "Date");
        e.setTextContent(DATE_FORMATTER_YYYY_MM_DD.print(orderDate.plusDays(randomGenerator.nextInt(5, 365))));
    }/* w  w  w.j av a  2  s  . c om*/

}

From source file:org.ojbc.web.portal.controllers.helpers.DateTimePropertyEditor.java

License:RPL License

@Override
public void setAsText(String text) throws IllegalArgumentException {

    if (StringUtils.isBlank(text)) {
        return;//from  w  w w . ja v a 2  s . com
    }

    try {
        String[] tokens = text.trim().split("/");

        //We defensively check for a two digit year date here even though the UI should never let it through
        //If date entered is of the format mm/dd/yy, and yy > current year + 10, then assume the prior century
        String yearAsString = tokens[2];

        if ((yearAsString.length() != 2) && (yearAsString.length() != 4)) {
            throw new IllegalArgumentException("Unable to parse date");
        }

        DateTime currentDate = new DateTime();

        if (yearAsString.length() == 2) {
            int lastTwoDigitsOfCurrentYear = currentDate.getYearOfCentury();
            int lastTwoDigitsOfEnteredDate = Integer.valueOf(yearAsString);

            if (lastTwoDigitsOfEnteredDate > lastTwoDigitsOfCurrentYear + 10) {
                yearAsString = String.valueOf(currentDate.minusYears(100).getCenturyOfEra()) + yearAsString;
            } else {
                yearAsString = String.valueOf(currentDate.getCenturyOfEra()) + yearAsString;
            }

        }

        this.setValue(new DateTime(Integer.valueOf(yearAsString), Integer.valueOf(tokens[0]),
                Integer.valueOf(tokens[1]), 0, 0, 0, 0));
    } catch (RuntimeException ex) {
        throw new IllegalArgumentException("Unable to parse date");
    }
}

From source file:org.ojbc.web.portal.controllers.helpers.PersonSearchCommandUtils.java

License:RPL License

void populateDefaultValuesForDOB(PersonSearchCommand personSearchCommand,
        PersonSearchRequest personSearchRequest) {
    DateTime startDate = personSearchCommand.getAdvanceSearch().getPersonDateOfBirthRangeStart();
    DateTime endDate = personSearchCommand.getAdvanceSearch().getPersonDateOfBirthRangeEnd();

    if (startDate == null && endDate == null) {
        return;/*from  ww  w  .j av  a 2 s .com*/
    }

    if (startDate == null) {
        personSearchRequest.setPersonDateOfBirthRangeStart(endDate.minusYears(DEFAULT_START_RANGE_IN_YEARS));
    }

    if (endDate == null) {
        personSearchRequest.setPersonDateOfBirthRangeEnd(getCurrentTime());
    }
}

From source file:org.ojbc.web.portal.controllers.helpers.PersonSearchCommandUtils.java

License:RPL License

void populateDOBWithAgeRange(PersonSearchCommand personSearchCommand, PersonSearchRequest personSearchRequest) {
    Integer ageRangeStart = personSearchCommand.getAgeRangeStart();
    Integer ageRangeEnd = personSearchCommand.getAgeRangeEnd();
    if (ageRangeStart == null && ageRangeEnd == null) {
        return;//from w  w  w  .j ava 2 s .  c om
    }

    if (ageRangeStart == null) {
        ageRangeStart = 0;
    }

    if (ageRangeEnd == null) {
        ageRangeEnd = DEFAULT_START_RANGE_IN_YEARS;
    }

    DateTime currentDateTime = getCurrentTime();
    DateTime dobStart = currentDateTime.minusYears(ageRangeEnd);
    DateTime dobEnd = currentDateTime.minusYears(ageRangeStart);

    personSearchRequest.setPersonDateOfBirthRangeStart(dobStart);
    personSearchRequest.setPersonDateOfBirthRangeEnd(dobEnd);

}

From source file:org.openlmis.report.service.lookup.ReportLookupService.java

License:Open Source License

public DateTime periodStartDate(Long range) {

    DateTime periodEndDate = periodEndDate();

    if (range == 1)
        return periodEndDate.withDayOfMonth(1);
    else if (range == 2)
        return periodEndDate.minusMonths(2).withDayOfMonth(1);
    else if (range == 3)
        return periodEndDate.minusMonths(5).withDayOfMonth(1);
    else if (range == 4)
        return periodEndDate.minusYears(1).withDayOfMonth(1);

    return null;// w  ww .  j  a  v a  2 s  .c o  m

}

From source file:org.projectbuendia.client.ui.patientcreation.PatientCreationController.java

License:Apache License

private DateTime getBirthdateFromAge(int ageInt, int ageUnits) {
    DateTime now = DateTime.now();
    switch (ageUnits) {
    case AGE_YEARS:
        return now.minusYears(ageInt);
    case AGE_MONTHS:
        return now.minusMonths(ageInt);
    default:/*from   w w  w .j  a  v a  2  s  . co  m*/
        return null;
    }
}

From source file:org.projectforge.business.teamcal.service.TeamCalCalendarFeedHook.java

License:Open Source License

/**
 * @see org.projectforge.business.teamcal.service.calendar.CalendarFeedHook#getEvents(net.fortuna.ical4j.model.TimeZone,
 *      java.util.Calendar)/*ww w.  j ava2  s .c om*/
 */
@Override
public List<VEvent> getEvents(final Map<String, String> params, final TimeZone timeZone) {
    final String teamCals = params.get("teamCals");
    if (teamCals == null) {
        return null;
    }
    final String[] teamCalIds = StringUtils.split(teamCals, ";");
    if (teamCalIds == null) {
        return null;
    }
    final List<VEvent> events = new LinkedList<VEvent>();
    final TeamEventFilter eventFilter = new TeamEventFilter();
    eventFilter.setDeleted(false);
    final DateTime now = DateTime.now();
    final Date eventDateLimit = now.minusYears(1).toDate();
    eventFilter.setStartDate(eventDateLimit);
    final boolean exportReminders = "true".equals(params.get(PARAM_EXPORT_REMINDER)) == true;
    for (int i = 0; i < teamCalIds.length; i++) {
        final Integer id = Integer.valueOf(teamCalIds[i]);
        eventFilter.setTeamCalId(id);
        final List<TeamEvent> teamEvents = teamEventDao.getEventList(eventFilter, false);
        if (teamEvents != null && teamEvents.size() > 0) {
            for (final TeamEvent teamEventObject : teamEvents) {
                if (teamEventObject instanceof TeamEventDO == false) {
                    log.warn(
                            "Oups, shouldn't occur, please contact the developer: teamEvent isn't of type TeamEventDO: "
                                    + teamEventObject);
                    continue;
                }
                final TeamEventDO teamEvent = (TeamEventDO) teamEventObject;
                final String uid = TeamCalConfig.get().createEventUid(teamEvent.getId());
                String summary;
                if (teamCalIds.length > 1) {
                    summary = teamEvent.getSubject() + " (" + teamEvent.getCalendar().getTitle() + ")";
                } else {
                    summary = teamEvent.getSubject();
                }
                final VEvent vEvent = ICal4JUtils.createVEvent(teamEvent.getStartDate(), teamEvent.getEndDate(),
                        uid, summary, teamEvent.isAllDay());
                if (StringUtils.isNotBlank(teamEvent.getLocation()) == true) {
                    vEvent.getProperties().add(new Location(teamEvent.getLocation()));
                }
                vEvent.getProperties().add(new Name(teamEvent.getCalendar().getTitle()));
                if (StringUtils.isNotBlank(teamEvent.getNote()) == true) {
                    vEvent.getProperties().add(new Description(teamEvent.getNote()));
                }

                // add alarm if necessary
                if (exportReminders == true && teamEvent.getReminderDuration() != null
                        && teamEvent.getReminderActionType() != null) {
                    final VAlarm alarm = new VAlarm();
                    Dur dur = null;
                    // (-1) * needed to set alert before
                    if (ReminderDurationUnit.MINUTES.equals(teamEvent.getReminderDurationUnit())) {
                        dur = new Dur(0, 0, (-1) * teamEvent.getReminderDuration(), 0);
                    } else if (ReminderDurationUnit.HOURS.equals(teamEvent.getReminderDurationUnit())) {
                        dur = new Dur(0, (-1) * teamEvent.getReminderDuration(), 0, 0);
                    } else if (ReminderDurationUnit.DAYS.equals(teamEvent.getReminderDurationUnit())) {
                        dur = new Dur((-1) * teamEvent.getReminderDuration(), 0, 0, 0);
                    }
                    if (dur != null) {
                        alarm.getProperties().add(new Trigger(dur));
                        alarm.getProperties().add(new Action(teamEvent.getReminderActionType().getType()));
                        vEvent.getAlarms().add(alarm);
                    }
                }
                if (teamEvent.hasRecurrence() == true) {
                    final Recur recur = teamEvent.getRecurrenceObject();
                    if (recur.getUntil() != null) {
                        recur.setUntil(ICal4JUtils.getICal4jDateTime(
                                CalendarUtils.getEndOfDay(recur.getUntil(), timeZone), timeZone));
                    }
                    final RRule rrule = new RRule(recur);
                    vEvent.getProperties().add(rrule);
                    if (teamEvent.getRecurrenceExDate() != null) {
                        final List<net.fortuna.ical4j.model.Date> exDates = ICal4JUtils
                                .parseISODateStringsAsICal4jDates(teamEvent.getRecurrenceExDate(), timeZone);
                        if (CollectionUtils.isEmpty(exDates) == false) {
                            for (final net.fortuna.ical4j.model.Date date : exDates) {
                                final DateList dateList;
                                if (teamEvent.isAllDay() == true) {
                                    dateList = new DateList(Value.DATE);
                                } else {
                                    dateList = new DateList();
                                }
                                dateList.add(date);
                                ExDate exDate;
                                exDate = new ExDate(dateList);
                                vEvent.getProperties().add(exDate);
                            }
                        }
                    }
                }
                // TODO add attendees
                events.add(vEvent);
            }
        }
    }
    return events;
}

From source file:org.projectforge.plugins.teamcal.integration.TeamCalCalendarFeedHook.java

License:Open Source License

/**
 * @see org.projectforge.web.calendar.CalendarFeedHook#getEvents(net.fortuna.ical4j.model.TimeZone, java.util.Calendar)
 *//*from www  .j ava2  s  . c om*/
@Override
public List<VEvent> getEvents(final Map<String, String> params, final TimeZone timeZone) {
    final String teamCals = params.get("teamCals");
    if (teamCals == null) {
        return null;
    }
    final String[] teamCalIds = StringUtils.split(teamCals, ";");
    if (teamCalIds == null) {
        return null;
    }
    final List<VEvent> events = new LinkedList<VEvent>();
    final TeamEventDao teamEventDao = Registry.instance().getDao(TeamEventDao.class);
    final TeamEventFilter eventFilter = new TeamEventFilter();
    eventFilter.setDeleted(false);
    final DateTime now = DateTime.now();
    final Date eventDateLimit = now.minusYears(1).toDate();
    eventFilter.setStartDate(eventDateLimit);
    final boolean exportReminders = "true".equals(params.get(PARAM_EXPORT_REMINDER)) == true;
    for (int i = 0; i < teamCalIds.length; i++) {
        final Integer id = Integer.valueOf(teamCalIds[i]);
        eventFilter.setTeamCalId(id);
        final List<TeamEventDO> teamEvents = teamEventDao.getList(eventFilter);
        if (teamEvents != null && teamEvents.size() > 0) {
            for (final TeamEventDO teamEvent : teamEvents) {
                final String uid = TeamCalConfig.get().createEventUid(teamEvent.getId());
                String summary;
                if (teamCalIds.length > 1) {
                    summary = teamEvent.getSubject() + " (" + teamEvent.getCalendar().getTitle() + ")";
                } else {
                    summary = teamEvent.getSubject();
                }
                final VEvent vEvent = ICal4JUtils.createVEvent(teamEvent.getStartDate(), teamEvent.getEndDate(),
                        uid, summary, teamEvent.isAllDay());
                if (StringUtils.isNotBlank(teamEvent.getLocation()) == true) {
                    vEvent.getProperties().add(new Location(teamEvent.getLocation()));
                }
                vEvent.getProperties().add(new Name(teamEvent.getCalendar().getTitle()));
                if (StringUtils.isNotBlank(teamEvent.getNote()) == true) {
                    vEvent.getProperties().add(new Description(teamEvent.getNote()));
                }

                // add alarm if necessary
                if (exportReminders == true && teamEvent.getReminderDuration() != null
                        && teamEvent.getReminderActionType() != null) {
                    final VAlarm alarm = new VAlarm();
                    Dur dur = null;
                    // (-1) * needed to set alert before
                    if (ReminderDurationUnit.MINUTES.equals(teamEvent.getReminderDurationUnit())) {
                        dur = new Dur(0, 0, (-1) * teamEvent.getReminderDuration(), 0);
                    } else if (ReminderDurationUnit.HOURS.equals(teamEvent.getReminderDurationUnit())) {
                        dur = new Dur(0, (-1) * teamEvent.getReminderDuration(), 0, 0);
                    } else if (ReminderDurationUnit.DAYS.equals(teamEvent.getReminderDurationUnit())) {
                        dur = new Dur((-1) * teamEvent.getReminderDuration(), 0, 0, 0);
                    }
                    if (dur != null) {
                        alarm.getProperties().add(new Trigger(dur));
                        alarm.getProperties().add(new Action(teamEvent.getReminderActionType().getType()));
                        vEvent.getAlarms().add(alarm);
                    }
                }
                if (teamEvent.hasRecurrence() == true) {
                    final Recur recur = teamEvent.getRecurrenceObject();
                    if (recur.getUntil() != null) {
                        recur.setUntil(ICal4JUtils.getICal4jDateTime(
                                CalendarUtils.getEndOfDay(recur.getUntil(), timeZone), timeZone));
                    }
                    final RRule rrule = new RRule(recur);
                    vEvent.getProperties().add(rrule);
                    if (teamEvent.getRecurrenceExDate() != null) {
                        final List<net.fortuna.ical4j.model.Date> exDates = ICal4JUtils
                                .parseISODateStringsAsICal4jDates(teamEvent.getRecurrenceExDate(), timeZone);
                        if (CollectionUtils.isEmpty(exDates) == false) {
                            for (final net.fortuna.ical4j.model.Date date : exDates) {
                                final DateList dateList;
                                if (teamEvent.isAllDay() == true) {
                                    dateList = new DateList(Value.DATE);
                                } else {
                                    dateList = new DateList();
                                }
                                dateList.add(date);
                                ExDate exDate;
                                exDate = new ExDate(dateList);
                                vEvent.getProperties().add(exDate);
                            }
                        }
                    }
                }
                // TODO add attendees
                events.add(vEvent);
            }
        }
    }
    return events;
}