long startMillis = fireTimeStartDate.getTime(); long secondsAfterStart = (fireMillis - startMillis) / 1000L; long repeatLong = getRepeatInterval(); Calendar sTime = createCalendarTime(fireTimeStartDate); IntervalUnit repeatUnit = getRepeatIntervalUnit(); if(secondsAfterStart % repeatLong != 0) jumpCount++; sTime.add(Calendar.SECOND, getRepeatInterval() * (int)jumpCount); fireTime = sTime.getTime(); } else if(repeatUnit.equals(IntervalUnit.MINUTE)) { if(secondsAfterStart % (repeatLong * 60L) != 0) jumpCount++; sTime.add(Calendar.MINUTE, getRepeatInterval() * (int)jumpCount); fireTime = sTime.getTime(); } else if(repeatUnit.equals(IntervalUnit.HOUR)) { if(secondsAfterStart % (repeatLong * 60L * 60L) != 0) jumpCount++; sTime.add(Calendar.HOUR_OF_DAY, getRepeatInterval() * (int)jumpCount); fireTime = sTime.getTime();
long startMillis = fireTimeStartDate.getTime(); long secondsAfterStart = (fireMillis - startMillis) / 1000L; long repeatLong = getRepeatInterval(); Calendar sTime = createCalendarTime(fireTimeStartDate); IntervalUnit repeatUnit = getRepeatIntervalUnit(); if(secondsAfterStart % repeatLong != 0) jumpCount++; sTime.add(Calendar.SECOND, getRepeatInterval() * (int)jumpCount); fireTime = sTime.getTime(); } else if(repeatUnit.equals(IntervalUnit.MINUTE)) { if(secondsAfterStart % (repeatLong * 60L) != 0) jumpCount++; sTime.add(Calendar.MINUTE, getRepeatInterval() * (int)jumpCount); fireTime = sTime.getTime(); } else if(repeatUnit.equals(IntervalUnit.HOUR)) { if(secondsAfterStart % (repeatLong * 60L * 60L) != 0) jumpCount++; sTime.add(Calendar.HOUR_OF_DAY, getRepeatInterval() * (int)jumpCount); fireTime = sTime.getTime();
SimplePropertiesTriggerProperties props = new SimplePropertiesTriggerProperties(); props.setInt1(dailyTrigger.getRepeatInterval()); props.setString1(dailyTrigger.getRepeatIntervalUnit().name()); props.setInt2(dailyTrigger.getTimesTriggered());
/** * Get a {@link ScheduleBuilder} that is configured to produce a * schedule identical to this trigger's schedule. * * @see #getTriggerBuilder() */ @Override public ScheduleBuilder<DailyTimeIntervalTrigger> getScheduleBuilder() { DailyTimeIntervalScheduleBuilder cb = DailyTimeIntervalScheduleBuilder.dailyTimeIntervalSchedule() .withInterval(getRepeatInterval(), getRepeatIntervalUnit()) .onDaysOfTheWeek(getDaysOfWeek()).startingDailyAt(getStartTimeOfDay()).endingDailyAt(getEndTimeOfDay()); switch(getMisfireInstruction()) { case MISFIRE_INSTRUCTION_DO_NOTHING : cb.withMisfireHandlingInstructionDoNothing(); break; case MISFIRE_INSTRUCTION_FIRE_ONCE_NOW : cb.withMisfireHandlingInstructionFireAndProceed(); break; } return cb; }
/** * Get a {@link ScheduleBuilder} that is configured to produce a * schedule identical to this trigger's schedule. * * @see #getTriggerBuilder() */ @Override public ScheduleBuilder<DailyTimeIntervalTrigger> getScheduleBuilder() { DailyTimeIntervalScheduleBuilder cb = DailyTimeIntervalScheduleBuilder.dailyTimeIntervalSchedule() .withInterval(getRepeatInterval(), getRepeatIntervalUnit()) .onDaysOfTheWeek(getDaysOfWeek()).startingDailyAt(getStartTimeOfDay()).endingDailyAt(getEndTimeOfDay()); switch(getMisfireInstruction()) { case MISFIRE_INSTRUCTION_DO_NOTHING : cb.withMisfireHandlingInstructionDoNothing(); break; case MISFIRE_INSTRUCTION_FIRE_ONCE_NOW : cb.withMisfireHandlingInstructionFireAndProceed(); break; } return cb; }
SimplePropertiesTriggerProperties props = new SimplePropertiesTriggerProperties(); props.setInt1(dailyTrigger.getRepeatInterval()); props.setString1(dailyTrigger.getRepeatIntervalUnit().name()); props.setInt2(dailyTrigger.getTimesTriggered());