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
This commit is contained in:
Alan Davis
2014-02-11 23:16:33 +00:00
parent eadda12eb8
commit 84beca8577

View File

@@ -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);