001
014
015 package com.liferay.portal.kernel.scheduler;
016
017 import com.liferay.portal.kernel.messaging.Message;
018 import com.liferay.portal.kernel.scheduler.messaging.SchedulerResponse;
019 import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
020 import com.liferay.portal.kernel.util.ObjectValuePair;
021 import com.liferay.registry.Registry;
022 import com.liferay.registry.RegistryUtil;
023 import com.liferay.registry.ServiceTracker;
024
025 import java.util.Calendar;
026 import java.util.Date;
027 import java.util.List;
028
029 import javax.portlet.PortletRequest;
030
031
034 public class SchedulerEngineHelperUtil {
035
036 public static void addJob(
037 Trigger trigger, StorageType storageType, String description,
038 String destinationName, Message message,
039 String messageListenerClassName, String portletId,
040 int exceptionsMaxSize)
041 throws SchedulerException {
042
043 getSchedulerEngineHelper().addJob(
044 trigger, storageType, description, destinationName, message,
045 messageListenerClassName, portletId, exceptionsMaxSize);
046 }
047
048 public static void addJob(
049 Trigger trigger, StorageType storageType, String description,
050 String destinationName, Object payload,
051 String messageListenerClassName, String portletId,
052 int exceptionsMaxSize)
053 throws SchedulerException {
054
055 getSchedulerEngineHelper().addJob(
056 trigger, storageType, description, destinationName, payload,
057 messageListenerClassName, portletId, exceptionsMaxSize);
058 }
059
060 public static void addScriptingJob(
061 Trigger trigger, StorageType storageType, String description,
062 String language, String script, int exceptionsMaxSize)
063 throws SchedulerException {
064
065 getSchedulerEngineHelper().addScriptingJob(
066 trigger, storageType, description, language, script,
067 exceptionsMaxSize);
068 }
069
070 public static void auditSchedulerJobs(
071 Message message, TriggerState triggerState)
072 throws SchedulerException {
073
074 getSchedulerEngineHelper().auditSchedulerJobs(message, triggerState);
075 }
076
077 public static void delete(
078 SchedulerEntry schedulerEntry, StorageType storageType)
079 throws SchedulerException {
080
081 getSchedulerEngineHelper().delete(schedulerEntry, storageType);
082 }
083
084 public static void delete(String groupName, StorageType storageType)
085 throws SchedulerException {
086
087 getSchedulerEngineHelper().delete(groupName, storageType);
088 }
089
090 public static void delete(
091 String jobName, String groupName, StorageType storageType)
092 throws SchedulerException {
093
094 getSchedulerEngineHelper().delete(jobName, groupName, storageType);
095 }
096
097 public static String getCronText(
098 Calendar calendar, boolean timeZoneSensitive) {
099
100 return getSchedulerEngineHelper().getCronText(
101 calendar, timeZoneSensitive);
102 }
103
104 public static String getCronText(
105 PortletRequest portletRequest, Calendar calendar,
106 boolean timeZoneSensitive, int recurrenceType) {
107
108 return getSchedulerEngineHelper().getCronText(
109 portletRequest, calendar, timeZoneSensitive, recurrenceType);
110 }
111
112 public static Date getEndTime(SchedulerResponse schedulerResponse) {
113 return getSchedulerEngineHelper().getEndTime(schedulerResponse);
114 }
115
116 public static Date getEndTime(
117 String jobName, String groupName, StorageType storageType)
118 throws SchedulerException {
119
120 return getSchedulerEngineHelper().getEndTime(
121 jobName, groupName, storageType);
122 }
123
124 public static Date getFinalFireTime(SchedulerResponse schedulerResponse) {
125 return getSchedulerEngineHelper().getFinalFireTime(schedulerResponse);
126 }
127
128 public static Date getFinalFireTime(
129 String jobName, String groupName, StorageType storageType)
130 throws SchedulerException {
131
132 return getSchedulerEngineHelper().getFinalFireTime(
133 jobName, groupName, storageType);
134 }
135
136 public static ObjectValuePair<Exception, Date>[] getJobExceptions(
137 SchedulerResponse schedulerResponse) {
138
139 return getSchedulerEngineHelper().getJobExceptions(schedulerResponse);
140 }
141
142 public static ObjectValuePair<Exception, Date>[] getJobExceptions(
143 String jobName, String groupName, StorageType storageType)
144 throws SchedulerException {
145
146 return getSchedulerEngineHelper().getJobExceptions(
147 jobName, groupName, storageType);
148 }
149
150 public static TriggerState getJobState(
151 SchedulerResponse schedulerResponse) {
152
153 return getSchedulerEngineHelper().getJobState(schedulerResponse);
154 }
155
156 public static TriggerState getJobState(
157 String jobName, String groupName, StorageType storageType)
158 throws SchedulerException {
159
160 return getSchedulerEngineHelper().getJobState(
161 jobName, groupName, storageType);
162 }
163
164 public static Date getNextFireTime(SchedulerResponse schedulerResponse) {
165 return getSchedulerEngineHelper().getNextFireTime(schedulerResponse);
166 }
167
168 public static Date getNextFireTime(
169 String jobName, String groupName, StorageType storageType)
170 throws SchedulerException {
171
172 return getSchedulerEngineHelper().getNextFireTime(
173 jobName, groupName, storageType);
174 }
175
176 public static Date getPreviousFireTime(
177 SchedulerResponse schedulerResponse) {
178
179 return getSchedulerEngineHelper().getPreviousFireTime(
180 schedulerResponse);
181 }
182
183 public static Date getPreviousFireTime(
184 String jobName, String groupName, StorageType storageType)
185 throws SchedulerException {
186
187 return getSchedulerEngineHelper().getPreviousFireTime(
188 jobName, groupName, storageType);
189 }
190
191 public static SchedulerResponse getScheduledJob(
192 String jobName, String groupName, StorageType storageType)
193 throws SchedulerException {
194
195 return getSchedulerEngineHelper().getScheduledJob(
196 jobName, groupName, storageType);
197 }
198
199 public static List<SchedulerResponse> getScheduledJobs()
200 throws SchedulerException {
201
202 return getSchedulerEngineHelper().getScheduledJobs();
203 }
204
205 public static List<SchedulerResponse> getScheduledJobs(
206 StorageType storageType)
207 throws SchedulerException {
208
209 return getSchedulerEngineHelper().getScheduledJobs(storageType);
210 }
211
212 public static List<SchedulerResponse> getScheduledJobs(
213 String groupName, StorageType storageType)
214 throws SchedulerException {
215
216 return getSchedulerEngineHelper().getScheduledJobs(
217 groupName, storageType);
218 }
219
220 public static SchedulerEngineHelper getSchedulerEngineHelper() {
221 PortalRuntimePermission.checkGetBeanProperty(
222 SchedulerEngineHelperUtil.class);
223
224 return _instance._serviceTracker.getService();
225 }
226
227 public static Date getStartTime(SchedulerResponse schedulerResponse) {
228 return getSchedulerEngineHelper().getStartTime(schedulerResponse);
229 }
230
231 public static Date getStartTime(
232 String jobName, String groupName, StorageType storageType)
233 throws SchedulerException {
234
235 return getSchedulerEngineHelper().getStartTime(
236 jobName, groupName, storageType);
237 }
238
239 public static boolean isClusteredSchedulerEngine() {
240 return getSchedulerEngineHelper().isClusteredSchedulerEngine();
241 }
242
243 public static void pause(String groupName, StorageType storageType)
244 throws SchedulerException {
245
246 getSchedulerEngineHelper().pause(groupName, storageType);
247 }
248
249 public static void pause(
250 String jobName, String groupName, StorageType storageType)
251 throws SchedulerException {
252
253 getSchedulerEngineHelper().pause(jobName, groupName, storageType);
254 }
255
256 public static void resume(String groupName, StorageType storageType)
257 throws SchedulerException {
258
259 getSchedulerEngineHelper().resume(groupName, storageType);
260 }
261
262 public static void resume(
263 String jobName, String groupName, StorageType storageType)
264 throws SchedulerException {
265
266 getSchedulerEngineHelper().resume(jobName, groupName, storageType);
267 }
268
269 public static void schedule(
270 SchedulerEntry schedulerEntry, StorageType storageType,
271 String portletId, int exceptionsMaxSize)
272 throws SchedulerException {
273
274 getSchedulerEngineHelper().schedule(
275 schedulerEntry, storageType, portletId, exceptionsMaxSize);
276 }
277
278 public static void schedule(
279 Trigger trigger, StorageType storageType, String description,
280 String destinationName, Message message, int exceptionsMaxSize)
281 throws SchedulerException {
282
283 getSchedulerEngineHelper().schedule(
284 trigger, storageType, description, destinationName, message,
285 exceptionsMaxSize);
286 }
287
288 public static void schedule(
289 Trigger trigger, StorageType storageType, String description,
290 String destinationName, Object payload, int exceptionsMaxSize)
291 throws SchedulerException {
292
293 getSchedulerEngineHelper().schedule(
294 trigger, storageType, description, destinationName, payload,
295 exceptionsMaxSize);
296 }
297
298 public static void shutdown() throws SchedulerException {
299 getSchedulerEngineHelper().shutdown();
300 }
301
302 public static void start() throws SchedulerException {
303 getSchedulerEngineHelper().start();
304 }
305
306 public static void suppressError(
307 String jobName, String groupName, StorageType storageType)
308 throws SchedulerException {
309
310 getSchedulerEngineHelper().suppressError(
311 jobName, groupName, storageType);
312 }
313
314 public static void unschedule(
315 SchedulerEntry schedulerEntry, StorageType storageType)
316 throws SchedulerException {
317
318 getSchedulerEngineHelper().unschedule(schedulerEntry, storageType);
319 }
320
321 public static void unschedule(String groupName, StorageType storageType)
322 throws SchedulerException {
323
324 getSchedulerEngineHelper().unschedule(groupName, storageType);
325 }
326
327 public static void unschedule(
328 String jobName, String groupName, StorageType storageType)
329 throws SchedulerException {
330
331 getSchedulerEngineHelper().unschedule(jobName, groupName, storageType);
332 }
333
334 public static void update(
335 String jobName, String groupName, StorageType storageType,
336 String description, String language, String script,
337 int exceptionsMaxSize)
338 throws SchedulerException {
339
340 getSchedulerEngineHelper().update(
341 jobName, groupName, storageType, description, language, script,
342 exceptionsMaxSize);
343 }
344
345 public static void update(Trigger trigger, StorageType storageType)
346 throws SchedulerException {
347
348 getSchedulerEngineHelper().update(trigger, storageType);
349 }
350
351 private SchedulerEngineHelperUtil() {
352 Registry registry = RegistryUtil.getRegistry();
353
354 _serviceTracker = registry.trackServices(SchedulerEngineHelper.class);
355
356 _serviceTracker.open();
357 }
358
359 private static final SchedulerEngineHelperUtil _instance =
360 new SchedulerEngineHelperUtil();
361
362 private final ServiceTracker<SchedulerEngineHelper, SchedulerEngineHelper>
363 _serviceTracker;
364
365 }