From 84beca8577c95e84dbb7e60affa128d155904c84 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 11 Feb 2014 23:16:33 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 58328: Merged V4.2-BUG-FIX (4.2.1) to HEAD-BUG-FIX (Cloud/4.3) 58318: Merged V4.1-BUG-FIX (4.1.8) to V4.2-BUG-FIX (4.2.1) 58240: Merged DEV to V4.1-BUG-FIX (4.1.8) with correction 57458: MNT-9860: Recurrent events are incorrectly displayed if recurrence doesn't recur every one day - Remove code that works with Calendar internal time to avoid dayligth issues. Used Calendar.add() method instead. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@61965 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../cmr/calendar/CalendarRecurrenceHelper.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/java/org/alfresco/service/cmr/calendar/CalendarRecurrenceHelper.java b/source/java/org/alfresco/service/cmr/calendar/CalendarRecurrenceHelper.java index 922d9eb55b..2ed8323cdb 100644 --- a/source/java/org/alfresco/service/cmr/calendar/CalendarRecurrenceHelper.java +++ b/source/java/org/alfresco/service/cmr/calendar/CalendarRecurrenceHelper.java @@ -367,7 +367,7 @@ public class CalendarRecurrenceHelper currentDate.add(Calendar.DATE, interval); } - currentDate.setTime(new Date(currentDate.getTime().getTime() - DAY_IN_MS * interval * 2)); + currentDate.add(Calendar.DATE, -1 * interval * 2); Date currentEventEnd = new Date(currentDate.getTimeInMillis() + duration); while(currentEventEnd.before(onOrAfter)) { @@ -429,7 +429,7 @@ public class CalendarRecurrenceHelper boolean going = true; boolean valid = false; Date origDate = currentDate.getTime(); - currentDate.setTime(new Date(currentDate.getTime().getTime() - WEEK_IN_MS * interval * 2)); + currentDate.add(Calendar.DATE, -1 * interval * 7 * 2); while (going) { // Check each day @@ -489,7 +489,7 @@ public class CalendarRecurrenceHelper if (params.get("BYMONTHDAY") != null) { - currentDate.setTime(new Date(currentDate.getTime().getTime() - MONTH_IN_MS * monthInterval * 2)); + currentDate.add(Calendar.MONTH, -1 * monthInterval * 2); // eg the 15th of each month int dayOfMonth = Integer.parseInt(params.get("BYMONTHDAY")); if (currentDate.get(Calendar.DAY_OF_MONTH) > dayOfMonth) @@ -556,7 +556,7 @@ public class CalendarRecurrenceHelper // Move to the date in this month Date origDate = currentDate.getTime(); - currentDate.setTime(new Date(currentDate.getTime().getTime() - MONTH_IN_MS * monthInterval * 2)); + currentDate.add(Calendar.MONTH, -1 * monthInterval * 2); toDayOfWeekInMonth(currentDate, dayOfWeek, instanceInMonth); Date currentEventEnd = new Date(currentDate.getTimeInMillis() + duration); @@ -611,7 +611,7 @@ public class CalendarRecurrenceHelper if (params.get("BYMONTHDAY") != null) { - currentDate.setTime(new Date(currentDate.getTime().getTime() - YEAR_IN_MS * interval *2)); + currentDate.add(Calendar.YEAR, -1 * interval * 2); // eg the 2nd of March every year int dayOfMonth = Integer.parseInt(params.get("BYMONTHDAY")); @@ -685,7 +685,7 @@ public class CalendarRecurrenceHelper instanceInMonth = 1; } - currentDate.setTime(new Date(currentDate.getTime().getTime() - YEAR_IN_MS * interval *2)); + currentDate.add(Calendar.YEAR, -1 * interval * 2); // Find when it is this year Date origDate = currentDate.getTime(); currentDate.set(Calendar.MONTH, month);