001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
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    
022    import java.util.Calendar;
023    import java.util.Date;
024    import java.util.List;
025    
026    import javax.portlet.PortletRequest;
027    
028    /**
029     * @author Michael C. Han
030     */
031    public class SchedulerEngineHelperUtil {
032    
033            public static void addJob(
034                            Trigger trigger, StorageType storageType, String description,
035                            String destinationName, Message message,
036                            String messageListenerClassName, String portletId,
037                            int exceptionsMaxSize)
038                    throws SchedulerException {
039    
040                    getSchedulerEngineHelper().addJob(
041                            trigger, storageType, description, destinationName, message,
042                            messageListenerClassName, portletId, exceptionsMaxSize);
043            }
044    
045            public static void addJob(
046                            Trigger trigger, StorageType storageType, String description,
047                            String destinationName, Object payload,
048                            String messageListenerClassName, String portletId,
049                            int exceptionsMaxSize)
050                    throws SchedulerException {
051    
052                    getSchedulerEngineHelper().addJob(
053                            trigger, storageType, description, destinationName, payload,
054                            messageListenerClassName, portletId, exceptionsMaxSize);
055            }
056    
057            public static void addScriptingJob(
058                            Trigger trigger, StorageType storageType, String description,
059                            String language, String script, int exceptionsMaxSize)
060                    throws SchedulerException {
061    
062                    getSchedulerEngineHelper().addScriptingJob(
063                            trigger, storageType, description, language, script,
064                            exceptionsMaxSize);
065            }
066    
067            public static void auditSchedulerJobs(
068                            Message message, TriggerState triggerState)
069                    throws SchedulerException {
070    
071                    getSchedulerEngineHelper().auditSchedulerJobs(message, triggerState);
072            }
073    
074            public static void delete(
075                            SchedulerEntry schedulerEntry, StorageType storageType)
076                    throws SchedulerException {
077    
078                    getSchedulerEngineHelper().delete(schedulerEntry, storageType);
079            }
080    
081            public static void delete(String groupName, StorageType storageType)
082                    throws SchedulerException {
083    
084                    getSchedulerEngineHelper().delete(groupName, storageType);
085            }
086    
087            public static void delete(
088                            String jobName, String groupName, StorageType storageType)
089                    throws SchedulerException {
090    
091                    getSchedulerEngineHelper().delete(jobName, groupName, storageType);
092            }
093    
094            public static String getCronText(
095                    Calendar calendar, boolean timeZoneSensitive) {
096    
097                    return getSchedulerEngineHelper().getCronText(
098                            calendar, timeZoneSensitive);
099            }
100    
101            public static String getCronText(
102                    PortletRequest portletRequest, Calendar calendar,
103                    boolean timeZoneSensitive, int recurrenceType) {
104    
105                    return getSchedulerEngineHelper().getCronText(
106                            portletRequest, calendar, timeZoneSensitive, recurrenceType);
107            }
108    
109            public static Date getEndTime(SchedulerResponse schedulerResponse) {
110                    return getSchedulerEngineHelper().getEndTime(schedulerResponse);
111            }
112    
113            public static Date getEndTime(
114                            String jobName, String groupName, StorageType storageType)
115                    throws SchedulerException {
116    
117                    return getSchedulerEngineHelper().getEndTime(
118                            jobName, groupName, storageType);
119            }
120    
121            public static Date getFinalFireTime(SchedulerResponse schedulerResponse) {
122                    return getSchedulerEngineHelper().getFinalFireTime(schedulerResponse);
123            }
124    
125            public static Date getFinalFireTime(
126                            String jobName, String groupName, StorageType storageType)
127                    throws SchedulerException {
128    
129                    return getSchedulerEngineHelper().getFinalFireTime(
130                            jobName, groupName, storageType);
131            }
132    
133            public static ObjectValuePair<Exception, Date>[] getJobExceptions(
134                    SchedulerResponse schedulerResponse) {
135    
136                    return getSchedulerEngineHelper().getJobExceptions(schedulerResponse);
137            }
138    
139            public static ObjectValuePair<Exception, Date>[] getJobExceptions(
140                            String jobName, String groupName, StorageType storageType)
141                    throws SchedulerException {
142    
143                    return getSchedulerEngineHelper().getJobExceptions(
144                            jobName, groupName, storageType);
145            }
146    
147            public static TriggerState getJobState(
148                    SchedulerResponse schedulerResponse) {
149    
150                    return getSchedulerEngineHelper().getJobState(schedulerResponse);
151            }
152    
153            public static TriggerState getJobState(
154                            String jobName, String groupName, StorageType storageType)
155                    throws SchedulerException {
156    
157                    return getSchedulerEngineHelper().getJobState(
158                            jobName, groupName, storageType);
159            }
160    
161            public static Date getNextFireTime(SchedulerResponse schedulerResponse) {
162                    return getSchedulerEngineHelper().getNextFireTime(schedulerResponse);
163            }
164    
165            public static Date getNextFireTime(
166                            String jobName, String groupName, StorageType storageType)
167                    throws SchedulerException {
168    
169                    return getSchedulerEngineHelper().getNextFireTime(
170                            jobName, groupName, storageType);
171            }
172    
173            public static Date getPreviousFireTime(
174                    SchedulerResponse schedulerResponse) {
175    
176                    return getSchedulerEngineHelper().getPreviousFireTime(
177                            schedulerResponse);
178            }
179    
180            public static Date getPreviousFireTime(
181                            String jobName, String groupName, StorageType storageType)
182                    throws SchedulerException {
183    
184                    return getSchedulerEngineHelper().getPreviousFireTime(
185                            jobName, groupName, storageType);
186            }
187    
188            public static SchedulerResponse getScheduledJob(
189                            String jobName, String groupName, StorageType storageType)
190                    throws SchedulerException {
191    
192                    return getSchedulerEngineHelper().getScheduledJob(
193                            jobName, groupName, storageType);
194            }
195    
196            public static List<SchedulerResponse> getScheduledJobs()
197                    throws SchedulerException {
198    
199                    return getSchedulerEngineHelper().getScheduledJobs();
200            }
201    
202            public static List<SchedulerResponse> getScheduledJobs(
203                            StorageType storageType)
204                    throws SchedulerException {
205    
206                    return getSchedulerEngineHelper().getScheduledJobs(storageType);
207            }
208    
209            public static List<SchedulerResponse> getScheduledJobs(
210                            String groupName, StorageType storageType)
211                    throws SchedulerException {
212    
213                    return getSchedulerEngineHelper().getScheduledJobs(
214                            groupName, storageType);
215            }
216    
217            public static SchedulerEngineHelper getSchedulerEngineHelper() {
218                    PortalRuntimePermission.checkGetBeanProperty(
219                            SchedulerEngineHelperUtil.class);
220    
221                    return _schedulerEngineHelper;
222            }
223    
224            public static Date getStartTime(SchedulerResponse schedulerResponse) {
225                    return getSchedulerEngineHelper().getStartTime(schedulerResponse);
226            }
227    
228            public static Date getStartTime(
229                            String jobName, String groupName, StorageType storageType)
230                    throws SchedulerException {
231    
232                    return getSchedulerEngineHelper().getStartTime(
233                            jobName, groupName, storageType);
234            }
235    
236            public static void initialize() throws SchedulerException {
237                    getSchedulerEngineHelper().initialize();
238            }
239    
240            public static String namespaceGroupName(
241                    String groupName, StorageType storageType) {
242    
243                    return getSchedulerEngineHelper().namespaceGroupName(
244                            groupName, storageType);
245            }
246    
247            public static void pause(String groupName, StorageType storageType)
248                    throws SchedulerException {
249    
250                    getSchedulerEngineHelper().pause(groupName, storageType);
251            }
252    
253            public static void pause(
254                            String jobName, String groupName, StorageType storageType)
255                    throws SchedulerException {
256    
257                    getSchedulerEngineHelper().pause(jobName, groupName, storageType);
258            }
259    
260            public static void resume(String groupName, StorageType storageType)
261                    throws SchedulerException {
262    
263                    getSchedulerEngineHelper().resume(groupName, storageType);
264            }
265    
266            public static void resume(
267                            String jobName, String groupName, StorageType storageType)
268                    throws SchedulerException {
269    
270                    getSchedulerEngineHelper().resume(jobName, groupName, storageType);
271            }
272    
273            public static void schedule(
274                            SchedulerEntry schedulerEntry, StorageType storageType,
275                            String portletId, int exceptionsMaxSize)
276                    throws SchedulerException {
277    
278                    getSchedulerEngineHelper().schedule(
279                            schedulerEntry, storageType, portletId, exceptionsMaxSize);
280            }
281    
282            public static void schedule(
283                            Trigger trigger, StorageType storageType, String description,
284                            String destinationName, Message message, int exceptionsMaxSize)
285                    throws SchedulerException {
286    
287                    getSchedulerEngineHelper().schedule(
288                            trigger, storageType, description, destinationName, message,
289                            exceptionsMaxSize);
290            }
291    
292            public static void schedule(
293                            Trigger trigger, StorageType storageType, String description,
294                            String destinationName, Object payload, int exceptionsMaxSize)
295                    throws SchedulerException {
296    
297                    getSchedulerEngineHelper().schedule(
298                            trigger, storageType, description, destinationName, payload,
299                            exceptionsMaxSize);
300            }
301    
302            public static void shutdown() throws SchedulerException {
303                    getSchedulerEngineHelper().shutdown();
304            }
305    
306            public static void start() throws SchedulerException {
307                    getSchedulerEngineHelper().start();
308            }
309    
310            public static void suppressError(
311                            String jobName, String groupName, StorageType storageType)
312                    throws SchedulerException {
313    
314                    getSchedulerEngineHelper().suppressError(
315                            jobName, groupName, storageType);
316            }
317    
318            public static void unschedule(
319                            SchedulerEntry schedulerEntry, StorageType storageType)
320                    throws SchedulerException {
321    
322                    getSchedulerEngineHelper().unschedule(schedulerEntry, storageType);
323            }
324    
325            public static void unschedule(String groupName, StorageType storageType)
326                    throws SchedulerException {
327    
328                    getSchedulerEngineHelper().unschedule(groupName, storageType);
329            }
330    
331            public static void unschedule(
332                            String jobName, String groupName, StorageType storageType)
333                    throws SchedulerException {
334    
335                    getSchedulerEngineHelper().unschedule(jobName, groupName, storageType);
336            }
337    
338            public static void update(
339                            String jobName, String groupName, StorageType storageType,
340                            String description, String language, String script,
341                            int exceptionsMaxSize)
342                    throws SchedulerException {
343    
344                    getSchedulerEngineHelper().update(
345                            jobName, groupName, storageType, description, language, script,
346                            exceptionsMaxSize);
347            }
348    
349            public static void update(Trigger trigger, StorageType storageType)
350                    throws SchedulerException {
351    
352                    getSchedulerEngineHelper().update(trigger, storageType);
353            }
354    
355            public static void updateMemorySchedulerClusterMaster()
356                    throws SchedulerException {
357    
358                    getSchedulerEngineHelper().updateMemorySchedulerClusterMaster();
359            }
360    
361            public void setSchedulerEngineHelper(
362                    SchedulerEngineHelper schedulerEngineHelper) {
363    
364                    PortalRuntimePermission.checkSetBeanProperty(getClass());
365    
366                    _schedulerEngineHelper = schedulerEngineHelper;
367            }
368    
369            private static SchedulerEngineHelper _schedulerEngineHelper;
370    
371    }