001    /**
002     * Copyright (c) 2000-present 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 void pause(String groupName, StorageType storageType)
241                    throws SchedulerException {
242    
243                    getSchedulerEngineHelper().pause(groupName, storageType);
244            }
245    
246            public static void pause(
247                            String jobName, String groupName, StorageType storageType)
248                    throws SchedulerException {
249    
250                    getSchedulerEngineHelper().pause(jobName, groupName, storageType);
251            }
252    
253            public static void resume(String groupName, StorageType storageType)
254                    throws SchedulerException {
255    
256                    getSchedulerEngineHelper().resume(groupName, storageType);
257            }
258    
259            public static void resume(
260                            String jobName, String groupName, StorageType storageType)
261                    throws SchedulerException {
262    
263                    getSchedulerEngineHelper().resume(jobName, groupName, storageType);
264            }
265    
266            public static void schedule(
267                            SchedulerEntry schedulerEntry, StorageType storageType,
268                            String portletId, int exceptionsMaxSize)
269                    throws SchedulerException {
270    
271                    getSchedulerEngineHelper().schedule(
272                            schedulerEntry, storageType, portletId, exceptionsMaxSize);
273            }
274    
275            public static void schedule(
276                            Trigger trigger, StorageType storageType, String description,
277                            String destinationName, Message message, int exceptionsMaxSize)
278                    throws SchedulerException {
279    
280                    getSchedulerEngineHelper().schedule(
281                            trigger, storageType, description, destinationName, message,
282                            exceptionsMaxSize);
283            }
284    
285            public static void schedule(
286                            Trigger trigger, StorageType storageType, String description,
287                            String destinationName, Object payload, int exceptionsMaxSize)
288                    throws SchedulerException {
289    
290                    getSchedulerEngineHelper().schedule(
291                            trigger, storageType, description, destinationName, payload,
292                            exceptionsMaxSize);
293            }
294    
295            public static void shutdown() throws SchedulerException {
296                    getSchedulerEngineHelper().shutdown();
297            }
298    
299            public static void start() throws SchedulerException {
300                    getSchedulerEngineHelper().start();
301            }
302    
303            public static void suppressError(
304                            String jobName, String groupName, StorageType storageType)
305                    throws SchedulerException {
306    
307                    getSchedulerEngineHelper().suppressError(
308                            jobName, groupName, storageType);
309            }
310    
311            public static void unschedule(
312                            SchedulerEntry schedulerEntry, StorageType storageType)
313                    throws SchedulerException {
314    
315                    getSchedulerEngineHelper().unschedule(schedulerEntry, storageType);
316            }
317    
318            public static void unschedule(String groupName, StorageType storageType)
319                    throws SchedulerException {
320    
321                    getSchedulerEngineHelper().unschedule(groupName, storageType);
322            }
323    
324            public static void unschedule(
325                            String jobName, String groupName, StorageType storageType)
326                    throws SchedulerException {
327    
328                    getSchedulerEngineHelper().unschedule(jobName, groupName, storageType);
329            }
330    
331            public static void update(
332                            String jobName, String groupName, StorageType storageType,
333                            String description, String language, String script,
334                            int exceptionsMaxSize)
335                    throws SchedulerException {
336    
337                    getSchedulerEngineHelper().update(
338                            jobName, groupName, storageType, description, language, script,
339                            exceptionsMaxSize);
340            }
341    
342            public static void update(Trigger trigger, StorageType storageType)
343                    throws SchedulerException {
344    
345                    getSchedulerEngineHelper().update(trigger, storageType);
346            }
347    
348            public void setSchedulerEngineHelper(
349                    SchedulerEngineHelper schedulerEngineHelper) {
350    
351                    PortalRuntimePermission.checkSetBeanProperty(getClass());
352    
353                    _schedulerEngineHelper = schedulerEngineHelper;
354            }
355    
356            private static SchedulerEngineHelper _schedulerEngineHelper;
357    
358    }