You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2013/10/17 22:01:28 UTC
svn commit: r1533236 -
/sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
Author: cziegeler
Date: Thu Oct 17 20:01:27 2013
New Revision: 1533236
URL: http://svn.apache.org/r1533236
Log:
SLING-3187 : Scheduling an invalid cron expression results in a RuntimeException
Modified:
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
Modified: sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java?rev=1533236&r1=1533235&r2=1533236&view=diff
==============================================================================
--- sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java (original)
+++ sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java Thu Oct 17 20:01:27 2013
@@ -36,6 +36,7 @@ import org.apache.sling.commons.threads.
import org.apache.sling.commons.threads.ThreadPoolManager;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
+import org.quartz.CronExpression;
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
@@ -468,7 +469,7 @@ public class QuartzScheduler implements
*/
public ScheduleOptions AT(final Date date) {
if ( date == null ) {
- throw new IllegalArgumentException("Date can't be null");
+ return new InternalScheduleOptions(new IllegalArgumentException("Date can't be null"));
}
return new InternalScheduleOptions( TriggerBuilder.newTrigger()
.startAt(date));
@@ -506,6 +507,9 @@ public class QuartzScheduler implements
if ( expression == null ) {
return new InternalScheduleOptions(new IllegalArgumentException("Expression can't be null"));
}
+ if ( !CronExpression.isValidExpression(expression) ) {
+ return new InternalScheduleOptions(new IllegalArgumentException("Expressionis invalid : " + expression));
+ }
return new InternalScheduleOptions( TriggerBuilder.newTrigger()
.withSchedule(CronScheduleBuilder.cronSchedule(expression)));
}