@SuppressWarnings( "nls" )
public class ComplexTriggerTest {
@Test
public void timeSliceTest() {
ComplexJobTrigger trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH );
trigger.addDayOfWeekRecurrence( ComplexJobTrigger.SATURDAY );
trigger.addHourlyRecurrence( 12 );
trigger.addMinuteRecurrence( 15 );
trigger.addSecondRecurrence( 1 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0,1 0,15 0,12 ? 3 7 2010" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH );
trigger.setDayOfWeekRecurrence( ComplexJobTrigger.SATURDAY );
trigger.setHourlyRecurrence( 12 );
trigger.setMinuteRecurrence( 15 );
trigger.setSecondRecurrence( 1 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "1 15 12 ? 3 7 2010" );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH );
trigger.addDayOfMonthRecurrence( 10 );
trigger.addHourlyRecurrence( 12 );
trigger.addMinuteRecurrence( 15 );
trigger.addSecondRecurrence( 1 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0,1 0,15 0,12 10 3 ? 2010" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH );
trigger.setDayOfMonthRecurrence( 10 );
trigger.setHourlyRecurrence( 12 );
trigger.setMinuteRecurrence( 15 );
trigger.setSecondRecurrence( 1 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "1 15 12 10 3 ? 2010" );
trigger = new ComplexJobTrigger( 2010, ComplexJobTrigger.MARCH, null, ComplexJobTrigger.SATURDAY, 12 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0 12 ? 3 7 2010" );
trigger = new ComplexJobTrigger( 2010, ComplexJobTrigger.MARCH, 10, null, 12 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0 12 10 3 ? 2010" );
trigger = QuartzScheduler.createComplexTrigger( "5 15 12 ? 3 7 2010" );
Assert.assertEquals( trigger.getYearlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getYearlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().size(), 1 );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 2010 ) );
Assert.assertEquals( trigger.getMonthlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMonthlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().size(), 1 );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( ComplexJobTrigger.MARCH ) );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 0 );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 1 );
Assert.assertTrue( trigger.getDayOfWeekRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfWeekRecurrences().get( 0 ) ).getValues().size(), 1 );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfWeekRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 7 ) );
Assert.assertEquals( trigger.getHourlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getHourlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().size(), 1 );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 12 ) );
Assert.assertEquals( trigger.getMinuteRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMinuteRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().size(), 1 );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 15 ) );
Assert.assertEquals( trigger.getSecondRecurrences().size(), 1 );
Assert.assertTrue( trigger.getSecondRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getSecondRecurrences().get( 0 ) ).getValues().size(), 1 );
Assert.assertEquals( ( (RecurrenceList) trigger.getSecondRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 5 ) );
trigger = QuartzScheduler.createComplexTrigger( "* * * * * ? *" );
Assert.assertEquals( trigger.getYearlyRecurrences().size(), 0 );
Assert.assertEquals( trigger.getMonthlyRecurrences().size(), 0 );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 0 );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 0 );
Assert.assertEquals( trigger.getHourlyRecurrences().size(), 0 );
Assert.assertEquals( trigger.getMinuteRecurrences().size(), 0 );
Assert.assertEquals( trigger.getSecondRecurrences().size(), 0 );
trigger = QuartzScheduler.createComplexTrigger( "* * * ? * * *" );
Assert.assertEquals( trigger.getYearlyRecurrences().size(), 0 );
Assert.assertEquals( trigger.getMonthlyRecurrences().size(), 0 );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 0 );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 0 );
Assert.assertEquals( trigger.getHourlyRecurrences().size(), 0 );
Assert.assertEquals( trigger.getMinuteRecurrences().size(), 0 );
Assert.assertEquals( trigger.getSecondRecurrences().size(), 0 );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2013 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.addDayOfMonthRecurrence( 3, 10 );
trigger.addHourlyRecurrence( 12, 15 );
trigger.addMinuteRecurrence( 30, 45 );
trigger.addSecondRecurrence( 1, 2 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0,1,2 0,30,45 0,12,15 3,10 3,5 ? 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2013 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.setDayOfMonthRecurrence( 3, 10 );
trigger.setHourlyRecurrence( 12, 15 );
trigger.setMinuteRecurrence( 30, 45 );
trigger.setSecondRecurrence( 1, 2 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "1,2 30,45 12,15 3,10 3,5 ? 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2013 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.addDayOfMonthRecurrence( 3, 10 );
trigger.addHourlyRecurrence( 12, 15 );
trigger.addMinuteRecurrence( 30, 45 );
trigger.addSecondRecurrence( 1, 2 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0,1,2 0,30,45 0,12,15 3,10 3,5 ? 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2013 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.setDayOfMonthRecurrence( 3, 10 );
trigger.setHourlyRecurrence( 12, 15 );
trigger.setMinuteRecurrence( 30, 45 );
trigger.setSecondRecurrence( 1, 2 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "1,2 30,45 12,15 3,10 3,5 ? 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2013 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.addDayOfWeekRecurrence( ComplexJobTrigger.SATURDAY, ComplexJobTrigger.SUNDAY );
trigger.addHourlyRecurrence( 12, 15 );
trigger.addMinuteRecurrence( 30, 45 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0,30,45 0,12,15 ? 3,5 1,7 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2013 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.setDayOfWeekRecurrence( ComplexJobTrigger.SATURDAY, ComplexJobTrigger.SUNDAY );
trigger.setHourlyRecurrence( 12, 15 );
trigger.setMinuteRecurrence( 30, 45 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 30,45 12,15 ? 3,5 1,7 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2013 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.addDayOfWeekRecurrence( ComplexJobTrigger.SATURDAY, ComplexJobTrigger.SUNDAY );
trigger.addHourlyRecurrence( 12, 15 );
trigger.addMinuteRecurrence( 30, 45 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0,30,45 0,12,15 ? 3,5 1,7 2010,2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2013 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.setDayOfWeekRecurrence( ComplexJobTrigger.SATURDAY, ComplexJobTrigger.SUNDAY );
trigger.setHourlyRecurrence( 12, 15 );
trigger.setMinuteRecurrence( 30, 45 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 30,45 12,15 ? 3,5 1,7 2010,2013" );
trigger = QuartzScheduler.createComplexTrigger( "0 30,45 12,15 3,10 3,5 ? 2010,2013" );
Assert.assertEquals( trigger.getYearlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getYearlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 2010 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 2013 ) );
Assert.assertEquals( trigger.getMonthlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMonthlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( ComplexJobTrigger.MARCH ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( ComplexJobTrigger.MAY ) );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 1 );
Assert.assertTrue( trigger.getDayOfMonthRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfMonthRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfMonthRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 3 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfMonthRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 10 ) );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 0 );
Assert.assertEquals( trigger.getHourlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getHourlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 12 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 15 ) );
Assert.assertEquals( trigger.getMinuteRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMinuteRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 30 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 45 ) );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( new SequentialRecurrence( 2010, 2013 ) );
trigger.addMonthlyRecurrence( new SequentialRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY ) );
trigger.addDayOfMonthRecurrence( new SequentialRecurrence( 15, 20 ) );
trigger.addHourlyRecurrence( new SequentialRecurrence( 12, 15 ) );
trigger.addMinuteRecurrence( new SequentialRecurrence( 30, 45 ) );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0,30-45 0,12-15 15-20 3-5 ? 2010-2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( new SequentialRecurrence( 2010, 2013 ) );
trigger.setMonthlyRecurrence( new SequentialRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY ) );
trigger.setDayOfMonthRecurrence( new SequentialRecurrence( 15, 20 ) );
trigger.setHourlyRecurrence( new SequentialRecurrence( 12, 15 ) );
trigger.setMinuteRecurrence( new SequentialRecurrence( 30, 45 ) );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 30-45 12-15 15-20 3-5 ? 2010-2013" );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2011, 2012, 2013 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.APRIL, ComplexJobTrigger.MAY );
trigger.addDayOfMonthRecurrence( 15, 16, 17, 18, 19, 20 );
trigger.addHourlyRecurrence( 12, 13, 14, 15 );
trigger.addMinuteRecurrence( 30, 31, 32, 33, 34, 35, 36 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0,30-36 0,12-15 15-20 3-5 ? 2010-2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2011, 2012, 2013 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.APRIL, ComplexJobTrigger.MAY );
trigger.setDayOfMonthRecurrence( 15, 16, 17, 18, 19, 20 );
trigger.setHourlyRecurrence( 12, 13, 14, 15 );
trigger.setMinuteRecurrence( 30, 31, 32, 33, 34, 35, 36 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 30-36 12-15 15-20 3-5 ? 2010-2013" );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2011, 2012, 2013 );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.APRIL, ComplexJobTrigger.MAY );
trigger.addDayOfWeekRecurrence( ComplexJobTrigger.SUNDAY, ComplexJobTrigger.MONDAY, ComplexJobTrigger.TUESDAY,
ComplexJobTrigger.WEDNESDAY, ComplexJobTrigger.THURSDAY, ComplexJobTrigger.FRIDAY, ComplexJobTrigger.SATURDAY );
trigger.addHourlyRecurrence( 12, 13, 14, 15 );
trigger.addMinuteRecurrence( 30, 31, 32, 33, 34, 35, 36 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0,30-36 0,12-15 ? 3-5 1-7 2010-2013" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2011, 2012, 2013 );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.APRIL, ComplexJobTrigger.MAY );
trigger.setDayOfWeekRecurrence( ComplexJobTrigger.SUNDAY, ComplexJobTrigger.MONDAY, ComplexJobTrigger.TUESDAY,
ComplexJobTrigger.WEDNESDAY, ComplexJobTrigger.THURSDAY, ComplexJobTrigger.FRIDAY, ComplexJobTrigger.SATURDAY );
trigger.setHourlyRecurrence( 12, 13, 14, 15 );
trigger.setMinuteRecurrence( 30, 31, 32, 33, 34, 35, 36 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 30-36 12-15 ? 3-5 1-7 2010-2013" );
trigger = QuartzScheduler.createComplexTrigger( "0 30-45 12-15 ? 3-5 1-7 2010-2013" );
Assert.assertEquals( trigger.getYearlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getYearlyRecurrences().get( 0 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getYearlyRecurrences().get( 0 ) ).getFirstValue(),
new Integer( 2010 ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getYearlyRecurrences().get( 0 ) ).getLastValue(),
new Integer( 2013 ) );
Assert.assertEquals( trigger.getMonthlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMonthlyRecurrences().get( 0 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getMonthlyRecurrences().get( 0 ) ).getFirstValue(),
new Integer( ComplexJobTrigger.MARCH ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getMonthlyRecurrences().get( 0 ) ).getLastValue(),
new Integer( ComplexJobTrigger.MAY ) );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 0 );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 1 );
Assert.assertTrue( trigger.getDayOfWeekRecurrences().get( 0 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getDayOfWeekRecurrences().get( 0 ) ).getFirstValue(),
new Integer( ComplexJobTrigger.SUNDAY ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getDayOfWeekRecurrences().get( 0 ) ).getLastValue(),
new Integer( ComplexJobTrigger.SATURDAY ) );
Assert.assertEquals( trigger.getHourlyRecurrences().size(), 1 );
Assert.assertTrue( trigger.getHourlyRecurrences().get( 0 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getHourlyRecurrences().get( 0 ) ).getFirstValue(),
new Integer( 12 ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getHourlyRecurrences().get( 0 ) ).getLastValue(),
new Integer( 15 ) );
Assert.assertEquals( trigger.getMinuteRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMinuteRecurrences().get( 0 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getMinuteRecurrences().get( 0 ) ).getFirstValue(),
new Integer( 30 ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getMinuteRecurrences().get( 0 ) ).getLastValue(),
new Integer( 45 ) );
trigger = new ComplexJobTrigger();
trigger.addDayOfWeekRecurrence( new QualifiedDayOfWeek( DayOfWeekQualifier.LAST, DayOfWeek.FRI ) );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0 0 ? * 6L *" );
trigger = new ComplexJobTrigger();
trigger.addDayOfWeekRecurrence( new QualifiedDayOfWeek( DayOfWeekQualifier.LAST, DayOfWeek.FRI ) );
trigger.addDayOfWeekRecurrence( new QualifiedDayOfWeek( DayOfWeekQualifier.THIRD, DayOfWeek.SUN ) );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "0 0 0 ? * 6L,1#3 *" );
trigger = QuartzScheduler.createComplexTrigger( "* 0 0 ? * 6L,1#3 *" );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 2 );
Assert.assertTrue( trigger.getDayOfWeekRecurrences().get( 0 ) instanceof QualifiedDayOfWeek );
Assert.assertEquals( ( (QualifiedDayOfWeek) trigger.getDayOfWeekRecurrences().get( 0 ) ).getQualifier(),
DayOfWeekQualifier.LAST );
Assert.assertEquals( ( (QualifiedDayOfWeek) trigger.getDayOfWeekRecurrences().get( 0 ) ).getDayOfWeek(),
DayOfWeek.FRI );
Assert.assertTrue( trigger.getDayOfWeekRecurrences().get( 1 ) instanceof QualifiedDayOfWeek );
Assert.assertEquals( ( (QualifiedDayOfWeek) trigger.getDayOfWeekRecurrences().get( 1 ) ).getQualifier(),
DayOfWeekQualifier.THIRD );
Assert.assertEquals( ( (QualifiedDayOfWeek) trigger.getDayOfWeekRecurrences().get( 1 ) ).getDayOfWeek(),
DayOfWeek.SUN );
trigger = new ComplexJobTrigger();
trigger.addYearlyRecurrence( 2010, 2013 );
trigger.addYearlyRecurrence( new SequentialRecurrence( 2015, 2020 ) );
trigger.addYearlyRecurrence( new IncrementalRecurrence( 2025, 5 ) );
trigger.addMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.addMonthlyRecurrence( new SequentialRecurrence( ComplexJobTrigger.JULY, ComplexJobTrigger.SEPTEMBER ) );
trigger.addMonthlyRecurrence( new IncrementalRecurrence( ComplexJobTrigger.JANUARY, 3 ) );
trigger.addDayOfMonthRecurrence( 3, 10 );
trigger.addDayOfMonthRecurrence( new SequentialRecurrence( 15, 20 ) );
trigger.addDayOfMonthRecurrence( new IncrementalRecurrence( 21, 3 ) );
trigger.addHourlyRecurrence( 12, 15 );
trigger.addHourlyRecurrence( new SequentialRecurrence( 25, 30 ) );
trigger.addHourlyRecurrence( new IncrementalRecurrence( 10, 5 ) );
trigger.addMinuteRecurrence( 30, 45 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(),
"0 0,30,45 0,12,15,25-30,10/5 3,10,15-20,21/3 3,5,7-9,1/3 ? 2010,2013,2015-2020,2025/5" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( 2010, 2013 );
trigger.addYearlyRecurrence( new SequentialRecurrence( 2015, 2020 ) );
trigger.addYearlyRecurrence( new IncrementalRecurrence( 2025, 5 ) );
trigger.setMonthlyRecurrence( ComplexJobTrigger.MARCH, ComplexJobTrigger.MAY );
trigger.addMonthlyRecurrence( new SequentialRecurrence( ComplexJobTrigger.JULY, ComplexJobTrigger.SEPTEMBER ) );
trigger.addMonthlyRecurrence( new IncrementalRecurrence( ComplexJobTrigger.JANUARY, 3 ) );
trigger.setDayOfWeekRecurrence( ComplexJobTrigger.THURSDAY, ComplexJobTrigger.FRIDAY );
trigger.addDayOfWeekRecurrence( new SequentialRecurrence( ComplexJobTrigger.SUNDAY, ComplexJobTrigger.MONDAY ) );
trigger.setHourlyRecurrence( 12, 15 );
trigger.addHourlyRecurrence( new SequentialRecurrence( 25, 30 ) );
trigger.addHourlyRecurrence( new IncrementalRecurrence( 10, 5 ) );
trigger.setMinuteRecurrence( 30, 45 );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(),
"0 30,45 12,15,25-30,10/5 ? 3,5,7-9,1/3 5,6,1-2 2010,2013,2015-2020,2025/5" );
trigger = new ComplexJobTrigger();
trigger.setYearlyRecurrence( new SequentialRecurrence( 2015, 2020 ) );
trigger.setMonthlyRecurrence( new SequentialRecurrence( ComplexJobTrigger.JULY, ComplexJobTrigger.SEPTEMBER ) );
trigger.setDayOfWeekRecurrence( new SequentialRecurrence( ComplexJobTrigger.SUNDAY, ComplexJobTrigger.MONDAY ) );
trigger.setHourlyRecurrence( new SequentialRecurrence( 25, 30 ) );
trigger.setMinuteRecurrence( new SequentialRecurrence( 5, 10 ) );
trigger.setSecondRecurrence( new SequentialRecurrence( 30, 35 ) );
System.out.println( trigger.toString() );
Assert.assertEquals( trigger.toString(), "30-35 5-10 25-30 ? 7-9 1-2 2015-2020" );
trigger =
QuartzScheduler
.createComplexTrigger( "0 30,45 12,15,25-30,10/5 3,10,15-20,21/3 3,5,7-9,"
+ "1/3 ? 2010,2013,2015-2020,2025/5" );
Assert.assertEquals( trigger.getYearlyRecurrences().size(), 3 );
Assert.assertTrue( trigger.getYearlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 2010 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getYearlyRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 2013 ) );
Assert.assertTrue( trigger.getYearlyRecurrences().get( 1 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getYearlyRecurrences().get( 1 ) ).getFirstValue(),
new Integer( 2015 ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getYearlyRecurrences().get( 1 ) ).getLastValue(),
new Integer( 2020 ) );
Assert.assertTrue( trigger.getYearlyRecurrences().get( 2 ) instanceof IncrementalRecurrence );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getYearlyRecurrences().get( 2 ) ).getStartingValue(),
new Integer( 2025 ) );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getYearlyRecurrences().get( 2 ) ).getIncrement(),
new Integer( 5 ) );
Assert.assertEquals( trigger.getMonthlyRecurrences().size(), 3 );
Assert.assertTrue( trigger.getMonthlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( ComplexJobTrigger.MARCH ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getMonthlyRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( ComplexJobTrigger.MAY ) );
Assert.assertTrue( trigger.getMonthlyRecurrences().get( 1 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getMonthlyRecurrences().get( 1 ) ).getFirstValue(),
new Integer( ComplexJobTrigger.JULY ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getMonthlyRecurrences().get( 1 ) ).getLastValue(),
new Integer( ComplexJobTrigger.SEPTEMBER ) );
Assert.assertTrue( trigger.getMonthlyRecurrences().get( 2 ) instanceof IncrementalRecurrence );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getMonthlyRecurrences().get( 2 ) ).getStartingValue(),
new Integer( ComplexJobTrigger.JANUARY ) );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getMonthlyRecurrences().get( 2 ) ).getIncrement(),
new Integer( 3 ) );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 3 );
Assert.assertTrue( trigger.getDayOfMonthRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfMonthRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfMonthRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 3 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getDayOfMonthRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 10 ) );
Assert.assertTrue( trigger.getDayOfMonthRecurrences().get( 1 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getDayOfMonthRecurrences().get( 1 ) ).getFirstValue(),
new Integer( 15 ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getDayOfMonthRecurrences().get( 1 ) ).getLastValue(),
new Integer( 20 ) );
Assert.assertTrue( trigger.getDayOfMonthRecurrences().get( 2 ) instanceof IncrementalRecurrence );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getDayOfMonthRecurrences().get( 2 ) ).getStartingValue(),
new Integer( 21 ) );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getDayOfMonthRecurrences().get( 2 ) ).getIncrement(),
new Integer( 3 ) );
Assert.assertEquals( trigger.getDayOfMonthRecurrences().size(), 3 );
Assert.assertEquals( trigger.getDayOfWeekRecurrences().size(), 0 );
Assert.assertEquals( trigger.getHourlyRecurrences().size(), 3 );
Assert.assertTrue( trigger.getHourlyRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 12 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getHourlyRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 15 ) );
Assert.assertTrue( trigger.getHourlyRecurrences().get( 1 ) instanceof SequentialRecurrence );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getHourlyRecurrences().get( 1 ) ).getFirstValue(),
new Integer( 25 ) );
Assert.assertEquals( ( (SequentialRecurrence) trigger.getHourlyRecurrences().get( 1 ) ).getLastValue(),
new Integer( 30 ) );
Assert.assertTrue( trigger.getHourlyRecurrences().get( 2 ) instanceof IncrementalRecurrence );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getHourlyRecurrences().get( 2 ) ).getStartingValue(),
new Integer( 10 ) );
Assert.assertEquals( ( (IncrementalRecurrence) trigger.getHourlyRecurrences().get( 2 ) ).getIncrement(),
new Integer( 5 ) );
Assert.assertEquals( trigger.getMinuteRecurrences().size(), 1 );
Assert.assertTrue( trigger.getMinuteRecurrences().get( 0 ) instanceof RecurrenceList );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().size(), 2 );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().get( 0 ),
new Integer( 30 ) );
Assert.assertEquals( ( (RecurrenceList) trigger.getMinuteRecurrences().get( 0 ) ).getValues().get( 1 ),
new Integer( 45 ) );
}