[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
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 @@
* under the License.
*/
+import org.quartz.JobDetail;
import org.quartz.JobKey;
import org.quartz.JobListener;
import org.quartz.Matcher;
@@ -47,18 +48,19 @@
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 @@
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 @@
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 @@
* under the License.
*/
+import org.quartz.JobDetail;
import org.quartz.JobListener;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
@@ -30,7 +31,7 @@
public interface Scheduler
{
- void scheduleJob( JobDetailImpl jobDetail, Trigger trigger )
+ void scheduleJob( JobDetail jobDetail, Trigger trigger )
throws SchedulerException;
/**