1
14
15 package com.liferay.portal.scheduler;
16
17 import com.liferay.portal.kernel.exception.SystemException;
18 import com.liferay.portal.kernel.messaging.MessageListener;
19 import com.liferay.portal.kernel.scheduler.CronTrigger;
20 import com.liferay.portal.kernel.scheduler.IntervalTrigger;
21 import com.liferay.portal.kernel.scheduler.SchedulerEntry;
22 import com.liferay.portal.kernel.scheduler.Trigger;
23 import com.liferay.portal.kernel.scheduler.TriggerType;
24 import com.liferay.portal.kernel.util.GetterUtil;
25 import com.liferay.portal.kernel.util.Time;
26 import com.liferay.portal.util.PrefsPropsUtil;
27
28
33 public class SchedulerEntryImpl implements SchedulerEntry {
34
35 public String getDescription() {
36 return _description;
37 }
38
39 public MessageListener getEventListener() {
40 return _eventListener;
41 }
42
43 public String getEventListenerClass() {
44 return _eventListenerClass;
45 }
46
47 public String getTimeUnit() {
48 return _timeUnit;
49 }
50
51 public Trigger getTrigger() throws SystemException {
52 if (_trigger != null) {
53 return _trigger;
54 }
55
56 String triggerValue = _triggerValue;
57
58 if (_readProperty) {
59 triggerValue = PrefsPropsUtil.getString(triggerValue);
60 }
61
62 if (_triggerType == TriggerType.CRON) {
63 _trigger = new CronTrigger(
64 _eventListenerClass, _eventListenerClass, triggerValue);
65 }
66 else if (_triggerType == TriggerType.SIMPLE) {
67 long intervalTime = GetterUtil.getLong(triggerValue);
68
69 if (_timeUnit.equalsIgnoreCase("DAY")) {
70 intervalTime = intervalTime * Time.DAY;
71 }
72 else if (_timeUnit.equalsIgnoreCase("HOUR")) {
73 intervalTime = intervalTime * Time.HOUR;
74 }
75 else if (_timeUnit.equalsIgnoreCase("MINUTE")) {
76 intervalTime = intervalTime * Time.MINUTE;
77 }
78 else if (_timeUnit.equalsIgnoreCase("WEEK")) {
79 intervalTime = intervalTime * Time.WEEK;
80 }
81 else {
82 intervalTime = intervalTime * Time.SECOND;
83 }
84
85 _trigger = new IntervalTrigger(
86 _eventListenerClass, _eventListenerClass, intervalTime);
87 }
88 else {
89 throw new SystemException("Unsupport trigger type " + _triggerType);
90 }
91
92 return _trigger;
93 }
94
95 public TriggerType getTriggerType() {
96 return _triggerType;
97 }
98
99 public String getTriggerValue() {
100 return _triggerValue;
101 }
102
103 public boolean isReadProperty() {
104 return _readProperty;
105 }
106
107 public void setDescription(String description) {
108 _description = description;
109 }
110
111 public void setEventListener(MessageListener eventListener) {
112 _eventListener = eventListener;
113 }
114
115 public void setEventListenerClass(String eventListenerClass) {
116 _eventListenerClass = eventListenerClass;
117 }
118
119 public void setReadProperty(boolean readProperty) {
120 _readProperty = readProperty;
121 }
122
123 public void setTimeUnit(String timeUnit) {
124 _timeUnit = timeUnit;
125 }
126
127 public void setTriggerType(TriggerType triggerType) {
128 _triggerType = triggerType;
129 }
130
131 public void setTriggerValue(String triggerValue) {
132 _triggerValue = triggerValue;
133 }
134
135 public String toString() {
136 StringBuilder sb = new StringBuilder();
137
138 sb.append("{description=");
139 sb.append(_description);
140 sb.append(", eventListener=");
141 sb.append(_eventListener);
142 sb.append(", eventListenerClass=");
143 sb.append(_eventListenerClass);
144 sb.append(", readProperty=");
145 sb.append(_readProperty);
146 sb.append(", timeUnit=");
147 sb.append(_timeUnit);
148 sb.append(", trigger=");
149 sb.append(_trigger);
150 sb.append(", triggerType=");
151 sb.append(_triggerType);
152 sb.append(", triggerValue=");
153 sb.append(_triggerValue);
154 sb.append("}");
155
156 return sb.toString();
157 }
158
159 private String _description;
160 private MessageListener _eventListener;
161 private String _eventListenerClass;
162 private boolean _readProperty;
163 private String _timeUnit;
164 private Trigger _trigger;
165 private TriggerType _triggerType;
166 private String _triggerValue;
167
168 }