Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: No Longer Reproducible
-
Affects Version/s: 5.2.9 EE, 6.0.12 EE, 6.1.0 CE GA1
-
Fix Version/s: --Sprint 11/12, 6.2.0 CE M2
-
Component/s: Calendar, Collaboration
-
Labels:
-
Similar Issues:
Description
The implementation in method com.liferay.portal.kernel.cal.Recurrence.isInRecurrence(Calendar, boolean) seems to be incomplete/buggy.
In some border cases repeating events are not displayed in calendar, because border cases are not taken into account. There are only timestamp checks for ">" and "<" but not for timestamp "==" timestamp. See attached JUnit Test Case. It will fail. May be such test should be added to the portal test cases.
Key code statements are:
Line 562:
if (myCurrent.getTime().getTime()
< dtStart.getTime().getTime() + duration.getInterval()) {
Line 578:
while (candidate.getTime().getTime() + duration.getInterval()
> myCurrent.getTime().getTime()) {
In both statements "==" is not considered. We have multiple calendar entries where this condition occurs. The entries are not displayed.
Should be changed to "<=" and ">="?

Closing issue as 'No Longer Can Reproduce'. Hitoshi Ozawa has assigned this the 'community-verifier' label and has assigned this issue to 'Support QA' indicating it is no longer reproducible. Closing issue. If you are still experiencing this issue please open a new issue.
Thank you.