- [Issues 3842/3770] validate recurring task day against the actual maximum of a given calendar instance.
| | |
| | | } |
| | | day = getNextTimeSlice(daysArray, |
| | | calendar.get(GregorianCalendar.DAY_OF_MONTH)); |
| | | if (day == -1) { |
| | | if ((day == -1) || (day > calendar.getActualMaximum( |
| | | GregorianCalendar.DAY_OF_MONTH))) |
| | | { |
| | | calendar.set(GregorianCalendar.DAY_OF_MONTH, 1); |
| | | calendar.add(GregorianCalendar.MONTH, 1); |
| | | } else { |
| | |
| | | { "* 0 * * *", true }, |
| | | { "* 0-23 * * *", true }, |
| | | { "* 0,23 * * *", true }, |
| | | // { "* * 31 * *", true }, *** FIXME: this should work *** |
| | | { "* * 31 * *", true }, |
| | | { "* * 1 * *", true }, |
| | | { "* * 1-31 * *", true }, |
| | | // { "* * 1,31 * *", true }, *** FIXME: this should work *** |
| | | { "* * 1,31 * *", true }, |
| | | { "* * * 12 *", true }, |
| | | { "* * * 1 *", true }, |
| | | { "* * * 1-12 *", true }, |
| | |
| | | { "* * * * 6", true }, |
| | | { "* * * * 0", true }, |
| | | { "* * * * 0-6", true }, |
| | | { "* * * * 0,6", true }, |
| | | { "* * * * 0,6", true } |
| | | }; |
| | | } |
| | | |