List of usage examples for org.joda.time DateTime minusYears
public DateTime minusYears(int years)
From source file:TVShowTimelineMaker.timeConstraints.AgeGroupConstraint.java
@Override public Event[] increaseWhat(Placement<?> inValues[]) { DateTime inFirstStartTime;/*from w w w .ja v a2 s.co m*/ DateTime inFirstEndTime; DateTime inSecondStartTime; DateTime inSecondEndTime; if (this.mCharacter.getBirthday() instanceof OnceDayEvent) { OnceDayEvent.OnceDayEventPlacement curOnceDayEventPlacement = (OnceDayEvent.OnceDayEventPlacement) inValues[0]; inFirstStartTime = curOnceDayEventPlacement.day; inFirstEndTime = curOnceDayEventPlacement.day; } else { OncePeriodEvent.OncePeriodEventPlacement curOncePeriodEventPlacement = (OncePeriodEvent.OncePeriodEventPlacement) inValues[0]; inFirstStartTime = curOncePeriodEventPlacement.startDay; inFirstEndTime = curOncePeriodEventPlacement.endDay; } if (this.mAtEvent instanceof OnceDayEvent) { OnceDayEvent.OnceDayEventPlacement curOnceDayEventPlacement = (OnceDayEvent.OnceDayEventPlacement) inValues[1]; inSecondStartTime = curOnceDayEventPlacement.day; inSecondEndTime = curOnceDayEventPlacement.day; } else { OncePeriodEvent.OncePeriodEventPlacement curOncePeriodEventPlacement = (OncePeriodEvent.OncePeriodEventPlacement) inValues[1]; inSecondStartTime = curOncePeriodEventPlacement.startDay; inSecondEndTime = curOncePeriodEventPlacement.endDay; } DateTime lowerBoundOnBirthDay = inSecondStartTime.minusYears(this.mAgeGroup.upperBound).withHourOfDay(1); DateTime upperBoundOnBirthDay = inSecondStartTime.minusYears(this.mAgeGroup.lowerBound).withHourOfDay(23); DateTime lowerBoundOnEvent = inFirstEndTime.plusYears(this.mAgeGroup.lowerBound).withHourOfDay(1); DateTime upperBoundOnEvent = inFirstEndTime.plusYears(this.mAgeGroup.upperBound).withHourOfDay(23); if (inFirstEndTime.isBefore(lowerBoundOnBirthDay) || inSecondStartTime.isAfter(upperBoundOnEvent)) { return new Event[] { this.mCharacter.getBirthday() }; } if (inFirstEndTime.isAfter(upperBoundOnBirthDay) || inSecondStartTime.isBefore(lowerBoundOnEvent)) { return new Event[] { this.mAtEvent }; } return new Event[] {}; }
From source file:TVShowTimelineMaker.timeConstraints.AgeGroupConstraint.java
@Override public boolean complexApplyConstraint() { boolean changed = this.applyConstraint(); OnceDayEvent birthDay = this.mCharacter.getBirthday(); if ((!birthDay.isMarkedForComplexEval()) && this.mAtEvent.isMarkedForComplexEval()) { birthDay.setUpForComplexEval();//from w ww.j av a 2 s . co m } if (birthDay.isMarkedForComplexEval() && (!this.mAtEvent.isMarkedForComplexEval())) { this.mAtEvent.setUpForComplexEval(); } if (birthDay.isMarkedForComplexEval() && this.mAtEvent.isMarkedForComplexEval()) { NavigableSet<DateTime> birthDayDates = birthDay.getPossibleDays(); NavigableSet<DateTime> EventAtDates = this.mAtEvent.getPossibleDays(); DateTime lowerBoundOnBirthDay = EventAtDates.first().minusYears(this.mAgeGroup.upperBound) .withHourOfDay(1); DateTime upperBoundOnBirthDay = EventAtDates.first().minusYears(this.mAgeGroup.lowerBound) .withHourOfDay(23); Iterator<DateTime> birthDayIterator = birthDayDates.iterator(); Iterator<DateTime> EventAtDatesIterator = EventAtDates.iterator(); DateTime curBirthDay = birthDayIterator.next(); DateTime curEventAtDate = EventAtDatesIterator.next(); boolean cont = true; //while (birthDayIterator.hasNext()) { while (cont) { if (curBirthDay.isBefore(lowerBoundOnBirthDay)) { birthDayIterator.remove(); if (birthDayIterator.hasNext()) { curBirthDay = birthDayIterator.next(); } else { cont = false; } changed = true; } else if (curBirthDay.isAfter(upperBoundOnBirthDay)) { if (EventAtDatesIterator.hasNext()) { curEventAtDate = EventAtDatesIterator.next(); lowerBoundOnBirthDay = curEventAtDate.minusYears(this.mAgeGroup.upperBound) .withHourOfDay(1); upperBoundOnBirthDay = curEventAtDate.minusYears(this.mAgeGroup.lowerBound) .withHourOfDay(23); } else { birthDayIterator.remove(); if (birthDayIterator.hasNext()) { curBirthDay = birthDayIterator.next(); } else { cont = false; } changed = true; } } else { if (birthDayIterator.hasNext()) { curBirthDay = birthDayIterator.next(); } else { cont = false; } } } birthDayIterator = birthDayDates.iterator(); EventAtDatesIterator = EventAtDates.iterator(); curBirthDay = birthDayIterator.next(); curEventAtDate = EventAtDatesIterator.next(); cont = true; DateTime lowerBoundOnEvent = birthDayDates.first().plusYears(this.mAgeGroup.lowerBound) .withHourOfDay(1); DateTime upperBoundOnEvent = birthDayDates.first().plusYears(this.mAgeGroup.upperBound) .withHourOfDay(23); while (cont) { if (curEventAtDate.isBefore(lowerBoundOnEvent)) { EventAtDatesIterator.remove(); if (EventAtDatesIterator.hasNext()) { curEventAtDate = EventAtDatesIterator.next(); } else { cont = false; } changed = true; } else if (curEventAtDate.isAfter(upperBoundOnEvent)) { if (birthDayIterator.hasNext()) { curBirthDay = birthDayIterator.next(); lowerBoundOnEvent = curBirthDay.plusYears(this.mAgeGroup.lowerBound).withHourOfDay(1); upperBoundOnEvent = curBirthDay.plusYears(this.mAgeGroup.upperBound).withHourOfDay(23); } else { EventAtDatesIterator.remove(); if (EventAtDatesIterator.hasNext()) { curEventAtDate = EventAtDatesIterator.next(); } else { cont = false; } changed = true; } } else { if (EventAtDatesIterator.hasNext()) { curEventAtDate = EventAtDatesIterator.next(); } else { cont = false; } } } } return changed; }
From source file:TVShowTimelineMaker.timeConstraints.CharacterRelation.java
@Override public boolean consistentWithConstraint(DateTime inFirstDay, DateTime inSecondDay) { boolean con = super.consistentWithConstraint(inFirstDay, inSecondDay); if (con) {/*from w ww . j a v a2 s . co m*/ if (this.mCharacterRelationKind.equals(CharacterRelationKind.MOTHER)) { DateTime lowerBoundOnBirthDay1 = inSecondDay.minusYears(START_OF_MENOPAUSE).withHourOfDay(1); DateTime upperBoundOnBirthDay1 = inSecondDay.minus(this.mCharacterRelationKind.mPeriod) .withHourOfDay(23); con = inFirstDay.isAfter(lowerBoundOnBirthDay1) && inFirstDay.isBefore(upperBoundOnBirthDay1); } } return con; }
From source file:TVShowTimelineMaker.timeConstraints.CharacterRelation.java
@Override public boolean complexApplyConstraint() { boolean changed = super.complexApplyConstraint(); if (this.mCharacterRelationKind.equals(CharacterRelationKind.MOTHER)) { if ((!this.mFirstNamedCharacter.getBirthday().isMarkedForComplexEval()) && this.mSecondNamedCharacter.getBirthday().isMarkedForComplexEval()) { this.mFirstNamedCharacter.getBirthday().setUpForComplexEval(); }/*from ww w . j a v a 2 s . c o m*/ if (this.mFirstNamedCharacter.getBirthday().isMarkedForComplexEval() && (!this.mSecondNamedCharacter.getBirthday().isMarkedForComplexEval())) { this.mSecondNamedCharacter.getBirthday().setUpForComplexEval(); } if (this.mFirstNamedCharacter.getBirthday().isMarkedForComplexEval() && this.mSecondNamedCharacter.getBirthday().isMarkedForComplexEval()) { NavigableSet<DateTime> firstEpisodeDates = this.mFirstNamedCharacter.getBirthday() .getPossibleDays(); NavigableSet<DateTime> secondEpisodeDates = this.mSecondNamedCharacter.getBirthday() .getPossibleDays(); DateTime lowerBoundOnBirthDay1 = secondEpisodeDates.first().minusYears(START_OF_MENOPAUSE) .withHourOfDay(1); DateTime upperBoundOnBirthDay1 = secondEpisodeDates.first() .minus(this.mCharacterRelationKind.mPeriod).withHourOfDay(23); Iterator<DateTime> firstEpisodeDatesIterator = firstEpisodeDates.iterator(); Iterator<DateTime> secondEpisodeDatesIterator = secondEpisodeDates.iterator(); DateTime curFirstEpisodeDate = firstEpisodeDatesIterator.next(); DateTime curSecondEpisodeDate = secondEpisodeDatesIterator.next(); boolean cont = true; //while (indexInToFirstEpisodeDatesDates < firstEpisodeDates.size()) { while (cont) { if (curFirstEpisodeDate.isBefore(lowerBoundOnBirthDay1)) { firstEpisodeDatesIterator.remove(); if (firstEpisodeDatesIterator.hasNext()) { curFirstEpisodeDate = firstEpisodeDatesIterator.next(); } else { cont = false; } changed = true; } else if (curFirstEpisodeDate.isAfter(upperBoundOnBirthDay1)) { if (secondEpisodeDatesIterator.hasNext()) { curSecondEpisodeDate = secondEpisodeDatesIterator.next(); lowerBoundOnBirthDay1 = curSecondEpisodeDate.minusYears(START_OF_MENOPAUSE) .withHourOfDay(1); upperBoundOnBirthDay1 = curSecondEpisodeDate.minus(this.mCharacterRelationKind.mPeriod) .withHourOfDay(23); } else { firstEpisodeDatesIterator.remove(); if (firstEpisodeDatesIterator.hasNext()) { curFirstEpisodeDate = firstEpisodeDatesIterator.next(); } else { cont = false; } changed = true; } } else { if (firstEpisodeDatesIterator.hasNext()) { curFirstEpisodeDate = firstEpisodeDatesIterator.next(); } else { cont = false; } } } firstEpisodeDatesIterator = firstEpisodeDates.iterator(); secondEpisodeDatesIterator = secondEpisodeDates.iterator(); curFirstEpisodeDate = firstEpisodeDatesIterator.next(); curSecondEpisodeDate = secondEpisodeDatesIterator.next(); cont = true; DateTime lowerBoundOnBirthDay2 = firstEpisodeDates.first().plus(this.mCharacterRelationKind.mPeriod) .withHourOfDay(1); DateTime upperBoundOnBirthDay2 = firstEpisodeDates.first().plusYears(START_OF_MENOPAUSE) .withHourOfDay(23); while (cont) { if (curSecondEpisodeDate.isBefore(lowerBoundOnBirthDay2)) { secondEpisodeDatesIterator.remove(); if (secondEpisodeDatesIterator.hasNext()) { curSecondEpisodeDate = secondEpisodeDatesIterator.next(); } else { cont = false; } changed = true; } else if (curSecondEpisodeDate.isAfter(upperBoundOnBirthDay2)) { if (firstEpisodeDatesIterator.hasNext()) { curFirstEpisodeDate = firstEpisodeDatesIterator.next(); lowerBoundOnBirthDay2 = curFirstEpisodeDate.plus(this.mCharacterRelationKind.mPeriod) .withHourOfDay(1); upperBoundOnBirthDay2 = curFirstEpisodeDate.plusYears(START_OF_MENOPAUSE) .withHourOfDay(23); } else { secondEpisodeDatesIterator.remove(); if (secondEpisodeDatesIterator.hasNext()) { curSecondEpisodeDate = secondEpisodeDatesIterator.next(); } else { cont = false; } changed = true; } } else { if (secondEpisodeDatesIterator.hasNext()) { curSecondEpisodeDate = secondEpisodeDatesIterator.next(); } else { cont = false; } } } } } return changed; }
From source file:TVShowTimelineMaker.timeConstraints.CharacterRelation.java
@Override public boolean consistentWithConstraint(Placement[] inValues) { boolean consistent = super.consistentWithConstraint(inValues); DateTime inFirstStartTime;//from ww w .j a va 2 s .c o m DateTime inFirstEndTime; DateTime inSecondStartTime; DateTime inSecondEndTime; if (this.mFirstNamedCharacter.getBirthday() instanceof OnceDayEvent) { OnceDayEvent.OnceDayEventPlacement curOnceDayEventPlacement = (OnceDayEvent.OnceDayEventPlacement) inValues[0]; inFirstStartTime = curOnceDayEventPlacement.day; inFirstEndTime = curOnceDayEventPlacement.day; } else { OncePeriodEvent.OncePeriodEventPlacement curOncePeriodEventPlacement = (OncePeriodEvent.OncePeriodEventPlacement) inValues[0]; inFirstStartTime = curOncePeriodEventPlacement.startDay; inFirstEndTime = curOncePeriodEventPlacement.endDay; } if (this.mSecondNamedCharacter.getBirthday() instanceof OnceDayEvent) { OnceDayEvent.OnceDayEventPlacement curOnceDayEventPlacement = (OnceDayEvent.OnceDayEventPlacement) inValues[1]; inSecondStartTime = curOnceDayEventPlacement.day; inSecondEndTime = curOnceDayEventPlacement.day; } else { OncePeriodEvent.OncePeriodEventPlacement curOncePeriodEventPlacement = (OncePeriodEvent.OncePeriodEventPlacement) inValues[1]; inSecondStartTime = curOncePeriodEventPlacement.startDay; inSecondEndTime = curOncePeriodEventPlacement.endDay; } if (consistent) { if (this.mCharacterRelationKind.equals(CharacterRelationKind.MOTHER)) { DateTime lowerBoundOnBirthDay1 = inSecondStartTime.minusYears(START_OF_MENOPAUSE).withHourOfDay(1); DateTime upperBoundOnBirthDay1 = inSecondStartTime.minus(this.mCharacterRelationKind.mPeriod) .withHourOfDay(23); consistent = inFirstEndTime.isAfter(lowerBoundOnBirthDay1) && inFirstEndTime.isBefore(upperBoundOnBirthDay1); } } return consistent; }
From source file:TVShowTimelineMaker.timeConstraints.CharacterRelation.java
@Override public Event[] increaseWhat(Placement inValues[]) { Event[] rValue = super.increaseWhat(inValues); DateTime inFirstStartTime;/* w w w . ja va2s . com*/ DateTime inFirstEndTime; DateTime inSecondStartTime; DateTime inSecondEndTime; if (this.mFirstNamedCharacter.getBirthday() instanceof OnceDayEvent) { OnceDayEvent.OnceDayEventPlacement curOnceDayEventPlacement = (OnceDayEvent.OnceDayEventPlacement) inValues[0]; inFirstStartTime = curOnceDayEventPlacement.day; inFirstEndTime = curOnceDayEventPlacement.day; } else { OncePeriodEvent.OncePeriodEventPlacement curOncePeriodEventPlacement = (OncePeriodEvent.OncePeriodEventPlacement) inValues[0]; inFirstStartTime = curOncePeriodEventPlacement.startDay; inFirstEndTime = curOncePeriodEventPlacement.endDay; } if (this.mSecondNamedCharacter.getBirthday() instanceof OnceDayEvent) { OnceDayEvent.OnceDayEventPlacement curOnceDayEventPlacement = (OnceDayEvent.OnceDayEventPlacement) inValues[1]; inSecondStartTime = curOnceDayEventPlacement.day; inSecondEndTime = curOnceDayEventPlacement.day; } else { OncePeriodEvent.OncePeriodEventPlacement curOncePeriodEventPlacement = (OncePeriodEvent.OncePeriodEventPlacement) inValues[1]; inSecondStartTime = curOncePeriodEventPlacement.startDay; inSecondEndTime = curOncePeriodEventPlacement.endDay; } if (rValue.length == 0) { if (this.mCharacterRelationKind.equals(CharacterRelationKind.MOTHER)) { DateTime lowerBoundOnBirthDay1 = inSecondStartTime.minusYears(START_OF_MENOPAUSE).withHourOfDay(1); DateTime upperBoundOnBirthDay1 = inSecondStartTime.minus(this.mCharacterRelationKind.mPeriod) .withHourOfDay(23); if (!inFirstEndTime.isAfter(lowerBoundOnBirthDay1)) { rValue = new Event[] { this.getFirstEvent() }; } if (!inFirstEndTime.isBefore(upperBoundOnBirthDay1)) { rValue = new Event[] { this.getSecondEvent() }; } } } return rValue; }
From source file:uk.org.rbc1b.roms.db.volunteer.HibernateVolunteerDao.java
License:Open Source License
@Override public List<Volunteer> findVolunteersWhoNeedToSubmitLDCForm(VolunteerSearchCriteria searchCriteria) { Session session = this.sessionFactory.getCurrentSession(); Criteria criteria = createVolunteerSearchCriteria(searchCriteria, session); criteria.add(Restrictions.eq("submitNewLDCFormEmailSent", false)); DateTime twoAndHalfYearsInPast = new DateTime(); twoAndHalfYearsInPast = twoAndHalfYearsInPast.minusYears(2); twoAndHalfYearsInPast = twoAndHalfYearsInPast.minusMonths(6); Date twoAndHalfYearsDate = DataConverterUtil.toSqlDate(twoAndHalfYearsInPast); criteria.add(/*from ww w . j av a 2 s . c o m*/ Restrictions.or(Restrictions.isNull("formDate"), Restrictions.le("formDate", twoAndHalfYearsDate))); if (searchCriteria.getMaxResults() != null) { criteria.setMaxResults(searchCriteria.getMaxResults()); } criteria.addOrder(Order.asc("person.personId")); return criteria.list(); }