private void setLastDayNameOfMonthNameRecurrence(String[] recurrenceTokens) {
   setTemporalState(TemporalValue.YEARLY);
   yearlyEditor.setNthDayNameOfMonthName();
   yearlyEditor.setMonthOfYear1(MonthOfYear.get(Integer.parseInt(recurrenceTokens[5]) - 1));
   yearlyEditor.setWeekOfMonth(WeekOfMonth.LAST);
   yearlyEditor.setDayOfWeek(DayOfWeek.get(Integer.parseInt(recurrenceTokens[4]) - 1));
 }
 public WeekOfMonth getSelectedWeekOfMonth() {
   WeekOfMonth selectedWeekOfMonth = null;
   if ((temporalState == TemporalValue.MONTHLY) && monthlyEditor.isNthDayNameOfMonth()) {
     selectedWeekOfMonth = monthlyEditor.getWeekOfMonth();
   } else if ((temporalState == TemporalValue.YEARLY) && yearlyEditor.isNthDayNameOfMonthName()) {
     selectedWeekOfMonth = yearlyEditor.getWeekOfMonth();
   }
   return selectedWeekOfMonth;
 }
 public MonthOfYear getSelectedMonth() {
   MonthOfYear selectedMonth = null;
   if ((temporalState == TemporalValue.YEARLY) && yearlyEditor.isNthDayNameOfMonthName()) {
     selectedMonth = yearlyEditor.getMonthOfYear1();
   } else if ((temporalState == TemporalValue.YEARLY) && yearlyEditor.isEveryMonthOnNthDay()) {
     selectedMonth = yearlyEditor.getMonthOfYear0();
   }
   return selectedMonth;
 }
 protected String getYearlyCronString() throws RuntimeException {
   String cronStr;
   StringBuilder recurrenceSb = new StringBuilder();
   if (yearlyEditor.isEveryMonthOnNthDay()) {
     String monthOfYear = Integer.toString(yearlyEditor.getMonthOfYear0().value() + 1);
     recurrenceSb
         .append(RecurrenceType.EveryMonthNameN)
         .append(SPACE)
         .append(getTimeOfRecurrence())
         .append(SPACE)
         .append(yearlyEditor.getDayOfMonth())
         .append(SPACE)
         .append(monthOfYear);
   } else if (yearlyEditor.isNthDayNameOfMonthName()) {
     if (yearlyEditor.getWeekOfMonth() != WeekOfMonth.LAST) {
       String monthOfYear = Integer.toString(yearlyEditor.getMonthOfYear1().value() + 1);
       String dayOfWeek = Integer.toString(yearlyEditor.getDayOfWeek().value() + 1);
       String weekOfMonth = Integer.toString(yearlyEditor.getWeekOfMonth().value() + 1);
       recurrenceSb
           .append(RecurrenceType.NthDayNameOfMonthName)
           .append(SPACE)
           .append(getTimeOfRecurrence())
           .append(SPACE)
           .append(dayOfWeek)
           .append(SPACE)
           .append(weekOfMonth)
           .append(SPACE)
           .append(monthOfYear);
     } else {
       String monthOfYear = Integer.toString(yearlyEditor.getMonthOfYear1().value() + 1);
       String dayOfWeek = Integer.toString(yearlyEditor.getDayOfWeek().value() + 1);
       recurrenceSb
           .append(RecurrenceType.LastDayNameOfMonthName)
           .append(SPACE)
           .append(getTimeOfRecurrence())
           .append(SPACE)
           .append(dayOfWeek)
           .append(SPACE)
           .append(monthOfYear);
     }
   } else {
     throw new RuntimeException(Messages.getString("schedule.noRadioBtnsSelected"));
   }
   try {
     cronStr = CronParser.recurrenceStringToCronString(recurrenceSb.toString());
   } catch (CronParseException e) {
     throw new RuntimeException(
         Messages.getString("schedule.invalidRecurrenceString", recurrenceSb.toString()));
   }
   return cronStr;
 }
 public Integer getSelectedDayOfMonth() {
   Integer selectedDayOfMonth = null;
   if ((temporalState == TemporalValue.MONTHLY) && monthlyEditor.isDayNOfMonth()) {
     try {
       selectedDayOfMonth = Integer.parseInt(monthlyEditor.getDayOfMonth());
     } catch (Exception ex) {
       // ignored
     }
   } else if ((temporalState == TemporalValue.YEARLY) && yearlyEditor.isEveryMonthOnNthDay()) {
     try {
       selectedDayOfMonth = Integer.parseInt(yearlyEditor.getDayOfMonth());
     } catch (Exception ex) {
       // ignored
     }
   }
   return selectedDayOfMonth;
 }
 public List<DayOfWeek> getSelectedDaysOfWeek() {
   ArrayList<DayOfWeek> selectedDaysOfWeek = new ArrayList<DayOfWeek>();
   if ((temporalState == TemporalValue.DAILY) && !dailyEditor.isEveryNDays()) {
     selectedDaysOfWeek.add(DayOfWeek.MON);
     selectedDaysOfWeek.add(DayOfWeek.TUE);
     selectedDaysOfWeek.add(DayOfWeek.WED);
     selectedDaysOfWeek.add(DayOfWeek.THU);
     selectedDaysOfWeek.add(DayOfWeek.FRI);
   } else if (temporalState == TemporalValue.WEEKLY) {
     selectedDaysOfWeek.addAll(weeklyEditor.getCheckedDays());
   } else if ((temporalState == TemporalValue.MONTHLY) && monthlyEditor.isNthDayNameOfMonth()) {
     selectedDaysOfWeek.add(monthlyEditor.getDayOfWeek());
   } else if ((temporalState == TemporalValue.YEARLY) && yearlyEditor.isNthDayNameOfMonthName()) {
     selectedDaysOfWeek.add(yearlyEditor.getDayOfWeek());
   }
   return selectedDaysOfWeek;
 }
  public void reset(Date d) {

    startTimePicker.setHour("12"); // $NON-NLS-1$
    startTimePicker.setMinute("00"); // $NON-NLS-1$
    startTimePicker.setTimeOfDay(TimeUtil.TimeOfDay.AM);

    dateRangeEditor.reset(d);

    secondlyEditor.reset();
    minutelyEditor.reset();
    hourlyEditor.reset();
    dailyEditor.reset();
    weeklyEditor.reset();
    monthlyEditor.reset();
    yearlyEditor.reset();
  }
  private void configureOnChangeHandler() {
    final RecurrenceEditor localThis = this;

    ICallback<IChangeHandler> handler =
        new ICallback<IChangeHandler>() {
          public void onHandle(IChangeHandler o) {
            localThis.changeHandler();
          }
        };

    startTimePicker.setOnChangeHandler(handler);
    dateRangeEditor.setOnChangeHandler(handler);

    secondlyEditor.setOnChangeHandler(handler);
    minutelyEditor.setOnChangeHandler(handler);
    hourlyEditor.setOnChangeHandler(handler);
    dailyEditor.setOnChangeHandler(handler);
    weeklyEditor.setOnChangeHandler(handler);
    monthlyEditor.setOnChangeHandler(handler);
    yearlyEditor.setOnChangeHandler(handler);
  }
 private void setEveryMonthNameNRecurrence(String[] recurrenceTokens) {
   setTemporalState(TemporalValue.YEARLY);
   yearlyEditor.setEveryMonthOnNthDay();
   yearlyEditor.setDayOfMonth(recurrenceTokens[4]);
   yearlyEditor.setMonthOfYear0(MonthOfYear.get(Integer.parseInt(recurrenceTokens[5]) - 1));
 }