List of usage examples for org.joda.time DateTime minusYears
public DateTime minusYears(int years)
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; }