From 496a2e38f75326d4ebf5363621b9e6e2a9077b2a Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Thu, 16 Apr 2009 15:13:59 +0000
Subject: [PATCH] - [Issues 3842/3770] validate recurring task day against the actual maximum of a given calendar instance.
---
opends/src/server/org/opends/server/backends/task/RecurringTask.java | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/task/RecurringTask.java b/opends/src/server/org/opends/server/backends/task/RecurringTask.java
index bffe9db..7f8888c 100644
--- a/opends/src/server/org/opends/server/backends/task/RecurringTask.java
+++ b/opends/src/server/org/opends/server/backends/task/RecurringTask.java
@@ -640,7 +640,9 @@
}
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 {
--
Gitblit v1.10.0