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/16 09:20:39 UTC
svn commit: r1532660 - in /sling/trunk/bundles/extensions/event/src:
main/java/org/apache/sling/event/impl/jobs/
main/java/org/apache/sling/event/impl/jobs/console/
main/java/org/apache/sling/event/jobs/ test/java/org/apache/sling/event/it/
Author: cziegeler
Date: Wed Oct 16 07:20:38 2013
New Revision: 1532660
URL: http://svn.apache.org/r1532660
Log:
SLING-3172 : Job schedule name handling
Modified:
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobBuilderImpl.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/ScheduledJobInfoImpl.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobBuilder.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobManager.java
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/ScheduledJobInfo.java
sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/TimedJobsTest.java
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobBuilderImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobBuilderImpl.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobBuilderImpl.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobBuilderImpl.java Wed Oct 16 07:20:38 2013
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
import org.apache.sling.event.impl.support.ScheduleInfoImpl;
import org.apache.sling.event.jobs.Job;
@@ -62,6 +63,10 @@ public class JobBuilderImpl implements J
}
@Override
+ public ScheduleBuilder schedule() {
+ return new ScheduleBuilderImpl(UUID.randomUUID().toString());
+ }
+
public ScheduleBuilder schedule(final String name) {
return new ScheduleBuilderImpl(name);
}
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java Wed Oct 16 07:20:38 2013
@@ -1467,14 +1467,6 @@ public class JobManagerImpl
return this.jobScheduler.getScheduledJobs();
}
- /**
- * @see org.apache.sling.event.jobs.JobManager#getScheduledJob(java.lang.String)
- */
- @Override
- public ScheduledJobInfo getScheduledJob(final String name) {
- return this.jobScheduler.getScheduledJob(name);
- }
-
public ScheduledJobInfo addScheduledJob(final String topic,
final String jobName,
final Map<String, Object> properties,
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java Wed Oct 16 07:20:38 2013
@@ -615,7 +615,7 @@ public class JobSchedulerImpl
* Create a schedule builder for a currently scheduled job
*/
public JobBuilder.ScheduleBuilder createJobBuilder(final ScheduledJobInfoImpl info) {
- final JobBuilder builder = this.jobManager.createJob(info.getJobTopic()).properties(info.getJobProperties());
+ final JobBuilderImpl builder = (JobBuilderImpl)this.jobManager.createJob(info.getJobTopic()).properties(info.getJobProperties());
final JobBuilder.ScheduleBuilder sb = builder.schedule(info.getName());
return (info.isSuspended() ? sb.suspend() : sb);
}
@@ -633,15 +633,6 @@ public class JobSchedulerImpl
return jobs;
}
- /**
- * Get a scheduled job with the given name
- */
- public ScheduledJobInfo getScheduledJob(final String name) {
- synchronized ( this.scheduledJobs ) {
- return this.scheduledJobs.get(ResourceHelper.filterName(name));
- }
- }
-
public void setSuspended(final ScheduledJobInfoImpl info, final boolean flag) {
ResourceResolver resolver = null;
try {
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/ScheduledJobInfoImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/ScheduledJobInfoImpl.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/ScheduledJobInfoImpl.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/ScheduledJobInfoImpl.java Wed Oct 16 07:20:38 2013
@@ -65,9 +65,8 @@ public class ScheduledJobInfoImpl implem
}
/**
- * @see org.apache.sling.event.jobs.ScheduledJobInfo#getName()
+ * Get the schedule name
*/
- @Override
public String getName() {
return this.scheduleName;
}
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java Wed Oct 16 07:20:38 2013
@@ -194,7 +194,7 @@ public class InventoryPlugin implements
pw.print("No jobs currently scheduled");
} else {
for(final ScheduledJobInfo info : infos) {
- pw.printf("Schedule : %s%n", info.getName());
+ pw.println("Schedule");
pw.printf("Job Topic< : %s%n", info.getJobTopic());
pw.print("Schedules : ");
boolean first = true;
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java Wed Oct 16 07:20:38 2013
@@ -263,9 +263,10 @@ public class WebConsolePlugin extends Ht
pw.print("<tr><td colspan='5'>No jobs currently scheduled.</td></tr>");
} else {
pw.println("<tr><th>Schedule</th><th>Job Topic</th><th>Schedules</th></tr>");
+ int index = 1;
for(final ScheduledJobInfo info : infos) {
pw.printf("<tr><td><b>%s</b></td><td>%s</td><td>",
- info.getName(), info.getJobTopic());
+ String.valueOf(index), info.getJobTopic());
boolean first = true;
for(final ScheduleInfo si : info.getSchedules() ) {
if ( !first ) {
@@ -289,6 +290,7 @@ public class WebConsolePlugin extends Ht
}
}
pw.print("</td></tr>");
+ index++;
}
}
pw.println("</tbody></table>");
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobBuilder.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobBuilder.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobBuilder.java Wed Oct 16 07:20:38 2013
@@ -55,13 +55,9 @@ public interface JobBuilder {
/**
* Schedule the job
- * If a job scheduler with the same name already exists, it is updated
- * with the new information.
- * If no name is provided (empty name or null), the job can't be scheduled.
- * @param name Unique name for the scheduler.
* @return A schedule builder to schedule the jobs
*/
- ScheduleBuilder schedule(final String name);
+ ScheduleBuilder schedule();
/**
* This is a builder interface for creating schedule information
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobManager.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobManager.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/JobManager.java Wed Oct 16 07:20:38 2013
@@ -186,11 +186,6 @@ public interface JobManager {
Collection<ScheduledJobInfo> getScheduledJobs();
/**
- * @since 1.3
- */
- ScheduledJobInfo getScheduledJob(final String name);
-
- /**
* Add a new job
*
* If the topic is <code>null</code> or illegal, no job is created and <code>null</code> is returned.
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/ScheduledJobInfo.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/ScheduledJobInfo.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/ScheduledJobInfo.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/ScheduledJobInfo.java Wed Oct 16 07:20:38 2013
@@ -32,12 +32,6 @@ import aQute.bnd.annotation.ProviderType
public interface ScheduledJobInfo {
/**
- * Return the unique scheduling name.
- * @return The unique name
- */
- String getName();
-
- /**
* Get all schedules for this job
* @return A non null and non empty list of schedules.
*/
Modified: sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/TimedJobsTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/TimedJobsTest.java?rev=1532660&r1=1532659&r2=1532660&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/TimedJobsTest.java (original)
+++ sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/TimedJobsTest.java Wed Oct 16 07:20:38 2013
@@ -26,6 +26,7 @@ import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.sling.event.jobs.Job;
+import org.apache.sling.event.jobs.ScheduledJobInfo;
import org.apache.sling.event.jobs.consumer.JobConsumer;
import org.junit.Before;
import org.junit.Test;
@@ -69,12 +70,14 @@ public class TimedJobsTest extends Abstr
d.setTime(System.currentTimeMillis() + 3000); // run in 3 seconds
// create scheduled job
- assertNotNull(this.getJobManager().createJob(TOPIC).schedule("simpleTest").at(d).add());
+ final ScheduledJobInfo info = this.getJobManager().createJob(TOPIC).schedule().at(d).add();
+ assertNotNull(info);
while ( counter.get() == 0 ) {
this.sleep(1000);
}
assertEquals(1, this.getJobManager().getScheduledJobs().size()); // job is still scheduled
+ info.unschedule();
} finally {
ehReg.unregister();
}