This is an automated email from the ASF dual-hosted git repository. martin_s pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/archiva-redback-components-spring-quartz.git
commit 1b8657190874c1f9770c265afdaf0b8780adcd86 Author: Olivier Lamy <ol...@apache.org> AuthorDate: Sat Jul 28 20:56:25 2012 +0000 [REDBACK-296] interface Scheduler the method schedulJob takes an implementation, not a interface Submitted by Adrien Lecharpentier. git-svn-id: https://svn.apache.org/repos/asf/archiva/redback/redback-components/trunk@1366772 13f79535-47bb-0310-9956-ffa450edef68 --- .../components/scheduler/DefaultScheduler.java | 23 +++++++++++++++------- .../redback/components/scheduler/Scheduler.java | 3 ++- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/apache/archiva/redback/components/scheduler/DefaultScheduler.java b/src/main/java/org/apache/archiva/redback/components/scheduler/DefaultScheduler.java index d2f8553..ddf71e6 100644 --- a/src/main/java/org/apache/archiva/redback/components/scheduler/DefaultScheduler.java +++ b/src/main/java/org/apache/archiva/redback/components/scheduler/DefaultScheduler.java @@ -19,6 +19,7 @@ package org.apache.archiva.redback.components.scheduler; * under the License. */ +import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.JobListener; import org.quartz.Matcher; @@ -47,18 +48,19 @@ public class DefaultScheduler private StdScheduler scheduler; - public void scheduleJob( JobDetailImpl jobDetail, Trigger trigger ) + public void scheduleJob( JobDetail jobDetail, Trigger trigger ) throws SchedulerException { - if ( jobDetail == null || jobDetail.getName() == null ) + + if ( jobDetail == null || jobDetail.getKey() == null || jobDetail.getKey().getName() == null ) { throw new SchedulerException( "No job or no job name - cannot schedule this job" ); } - if ( jobExists( jobDetail.getName(), jobDetail.getGroup() ) ) + if ( jobExists( jobDetail.getKey() ) ) { - log.warn( "Will not schedule this job as a job {" + jobDetail.getName() + ":" + jobDetail.getGroup() - + "} already exists." ); + log.warn( "Will not schedule this job as a job {" + jobDetail.getKey().getName() + ":" + + jobDetail.getKey().getGroup() + "} already exists." ); return; } @@ -89,7 +91,8 @@ public class DefaultScheduler scheduler.getListenerManager().addTriggerListener( listener, new AllMatch() ); } - private static class AllMatch<R extends Key<?>> implements Matcher<R> + private static class AllMatch<R extends Key<?>> + implements Matcher<R> { public boolean isMatch( R key ) { @@ -153,7 +156,13 @@ public class DefaultScheduler throws SchedulerException { - return ( scheduler.getJobDetail( new JobKey( jobName, jobGroup ) ) != null ); + return jobExists( new JobKey( jobName, jobGroup ) ); + } + + private boolean jobExists( JobKey jobKey ) + throws SchedulerException + { + return scheduler.getJobDetail( jobKey ) != null; } public void shutdown( boolean waitForJobsToComplete ) diff --git a/src/main/java/org/apache/archiva/redback/components/scheduler/Scheduler.java b/src/main/java/org/apache/archiva/redback/components/scheduler/Scheduler.java index 58dd6e8..722c405 100644 --- a/src/main/java/org/apache/archiva/redback/components/scheduler/Scheduler.java +++ b/src/main/java/org/apache/archiva/redback/components/scheduler/Scheduler.java @@ -19,6 +19,7 @@ package org.apache.archiva.redback.components.scheduler; * under the License. */ +import org.quartz.JobDetail; import org.quartz.JobListener; import org.quartz.SchedulerException; import org.quartz.Trigger; @@ -30,7 +31,7 @@ import java.util.Properties; public interface Scheduler { - void scheduleJob( JobDetailImpl jobDetail, Trigger trigger ) + void scheduleJob( JobDetail jobDetail, Trigger trigger ) throws SchedulerException; /** -- To stop receiving notification emails like this one, please contact marti...@apache.org.