1
22
23 package com.liferay.portlet.calendar.model.impl;
24
25 import com.liferay.portal.SystemException;
26 import com.liferay.portal.kernel.cal.DayAndPosition;
27 import com.liferay.portal.kernel.cal.Duration;
28 import com.liferay.portal.kernel.cal.Recurrence;
29 import com.liferay.portal.kernel.util.Base64;
30 import com.liferay.portal.kernel.util.Time;
31 import com.liferay.portal.kernel.util.Validator;
32 import com.liferay.portal.util.PortalUtil;
33 import com.liferay.portal.util.PropsKeys;
34 import com.liferay.portal.util.PropsUtil;
35 import com.liferay.portlet.calendar.model.CalEvent;
36
37
43 public class CalEventImpl extends CalEventModelImpl implements CalEvent {
44
45 public static final String[] TYPES =
46 PropsUtil.getArray(PropsKeys.CALENDAR_EVENT_TYPES);
47
48 public static final String BIRTHDAY = "birthday";
49
50 public static final String REMIND_BY_NONE = "none";
51
52 public static final String REMIND_BY_EMAIL = "email";
53
54 public static final String REMIND_BY_SMS = "sms";
55
56 public static final String REMIND_BY_AIM = "aim";
57
58 public static final String REMIND_BY_ICQ = "icq";
59
60 public static final String REMIND_BY_MSN = "msn";
61
62 public static final String REMIND_BY_YM = "ym";
63
64 public static final long[] REMINDERS = {
65 Time.MINUTE * 5, Time.MINUTE * 15, Time.MINUTE * 30, Time.HOUR,
66 Time.HOUR * 2, Time.HOUR * 3, Time.HOUR * 6, Time.HOUR * 12, Time.DAY,
67 Time.DAY * 2, Time.DAY * 3, Time.DAY * 4, Time.DAY * 5, Time.DAY * 6,
68 Time.DAY * 7, Time.DAY * 8, Time.DAY * 9, Time.DAY * 10, Time.DAY * 11,
69 Time.DAY * 12, Time.DAY * 13, Time.DAY * 14
70 };
71
72 public CalEventImpl() {
73 }
74
75 public String getUserUuid() throws SystemException {
76 return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
77 }
78
79 public void setUserUuid(String userUuid) {
80 _userUuid = userUuid;
81 }
82
83 public void setRecurrence(String recurrence) {
84 _recurrenceObj = null;
85
86 super.setRecurrence(recurrence);
87 }
88
89
92 public Recurrence getRecurrenceObj() {
93 if (_recurrenceObj == null) {
94 String recurrence = getRecurrence();
95
96 if (Validator.isNotNull(recurrence)) {
97 Object obj = Base64.stringToObject(recurrence);
98
99 if (obj instanceof Recurrence) {
100 _recurrenceObj = (Recurrence)obj;
101 }
102 else if (obj instanceof com.liferay.util.cal.Recurrence) {
103 com.liferay.util.cal.Recurrence oldRecurrence =
104 (com.liferay.util.cal.Recurrence)obj;
105
106 com.liferay.util.cal.Duration oldDuration =
107 oldRecurrence.getDuration();
108
109 Duration duration = new Duration(
110 oldDuration.getDays(), oldDuration.getHours(),
111 oldDuration.getMinutes(), oldDuration.getSeconds());
112
113 duration.setWeeks(oldDuration.getWeeks());
114 duration.setInterval(oldDuration.getInterval());
115
116 _recurrenceObj = new Recurrence(
117 oldRecurrence.getDtStart(), duration,
118 oldRecurrence.getFrequency());
119
120 com.liferay.util.cal.DayAndPosition[] oldDayPos =
121 oldRecurrence.getByDay();
122
123 DayAndPosition[] dayPos = null;
124
125 if (oldDayPos != null) {
126 dayPos = new DayAndPosition[oldDayPos.length];
127
128 for (int i = 0; i < oldDayPos.length; i++) {
129 dayPos[i] = new DayAndPosition(
130 oldDayPos[i].getDayOfWeek(),
131 oldDayPos[i].getDayPosition());
132 }
133 }
134
135 _recurrenceObj.setByDay(dayPos);
136 _recurrenceObj.setByMonth(oldRecurrence.getByMonth());
137 _recurrenceObj.setByMonthDay(oldRecurrence.getByMonthDay());
138 _recurrenceObj.setInterval(oldRecurrence.getInterval());
139 _recurrenceObj.setOccurrence(oldRecurrence.getOccurrence());
140 _recurrenceObj.setWeekStart(oldRecurrence.getWeekStart());
141 _recurrenceObj.setUntil(oldRecurrence.getUntil());
142 }
143 }
144 }
145
146 return _recurrenceObj;
147 }
148
149 public void setRecurrenceObj(Recurrence recurrenceObj) {
150 _recurrenceObj = recurrenceObj;
151
152 super.setRecurrence(Base64.objectToString(recurrenceObj));
153 }
154
155 private String _userUuid;
156 private Recurrence _recurrenceObj = null;
157
158 }