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:53:22 UTC

svn commit: r1532674 - in /sling/trunk/bundles/extensions/event/src: main/java/org/apache/sling/event/impl/jobs/ main/java/org/apache/sling/event/impl/jobs/queues/ main/java/org/apache/sling/event/jobs/consumer/ test/java/org/apache/sling/event/it/

Author: cziegeler
Date: Wed Oct 16 07:53:21 2013
New Revision: 1532674

URL: http://svn.apache.org/r1532674
Log:
SLING-3169 : Naming of Job related enumerations

Modified:
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionContext.java
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionResult.java
    sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/HistoryTest.java

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java?rev=1532674&r1=1532673&r2=1532674&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java Wed Oct 16 07:53:21 2013
@@ -310,7 +310,7 @@ public class JobConsumerManager {
                                         for(final Object[] listenerObjects : this.listenerMap.values()) {
                                             if ( listenerObjects[0] == oldConsumer.executor ) {
                                                 final JobExecutionContext context = (JobExecutionContext)listenerObjects[1];
-                                                context.asyncProcessingFinished(context.FAILED());
+                                                context.asyncProcessingFinished(context.result().failed());
                                                 break;
                                             }
                                         }
@@ -466,17 +466,17 @@ public class JobConsumerManager {
 
                         @Override
                         public void ok() {
-                            this.check(context.SUCCEEDED());
+                            this.check(context.result().succeeded());
                         }
 
                         @Override
                         public void failed() {
-                            this.check(context.FAILED());
+                            this.check(context.result().failed());
                         }
 
                         @Override
                         public void cancel() {
-                            this.check(context.CANCELLED());
+                            this.check(context.result().cancelled());
                         }
                     };
             ((JobImpl)job).setProperty(JobConsumer.PROPERTY_JOB_ASYNC_HANDLER, asyncHandler);
@@ -484,11 +484,11 @@ public class JobConsumerManager {
             if ( result == JobResult.ASYNC ) {
                 return null;
             } else if ( result == JobResult.FAILED) {
-                return context.FAILED();
+                return context.result().failed();
             } else if ( result == JobResult.OK) {
-                return context.SUCCEEDED();
+                return context.result().succeeded();
             }
-            return context.CANCELLED();
+            return context.result().cancelled();
         }
     }
 }

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java?rev=1532674&r1=1532673&r2=1532674&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java Wed Oct 16 07:53:21 2013
@@ -597,48 +597,41 @@ public abstract class AbstractJobQueue
                                             }
 
                                             @Override
-                                            public ResultBuilder result(final String message) {
+                                            public ResultBuilder result() {
                                                 return new ResultBuilder() {
 
+                                                    private String message;
+
                                                     private Long retryDelayInMs;
 
                                                     @Override
-                                                    public ResultBuilder retryDelay(final long retryDelayInMs) {
+                                                    public JobExecutionResult failed(final long retryDelayInMs) {
                                                         this.retryDelayInMs = retryDelayInMs;
+                                                        return new JobExecutionResultImpl(InternalJobState.FAILED, message, retryDelayInMs);
+                                                    }
+
+                                                    @Override
+                                                    public ResultBuilder message(final String message) {
+                                                        this.message = message;
                                                         return this;
                                                     }
 
                                                     @Override
-                                                    public JobExecutionResult SUCCEEDED() {
+                                                    public JobExecutionResult succeeded() {
                                                         return new JobExecutionResultImpl(InternalJobState.SUCCEEDED, message, retryDelayInMs);
                                                     }
 
                                                     @Override
-                                                    public JobExecutionResult FAILED() {
+                                                    public JobExecutionResult failed() {
                                                         return new JobExecutionResultImpl(InternalJobState.FAILED, message, retryDelayInMs);
                                                     }
 
                                                     @Override
-                                                    public JobExecutionResult CANCELLED() {
+                                                    public JobExecutionResult cancelled() {
                                                         return new JobExecutionResultImpl(InternalJobState.CANCELLED, message, retryDelayInMs);
                                                     }
                                                 };
                                             }
-
-                                            @Override
-                                            public JobExecutionResult SUCCEEDED() {
-                                                return JobExecutionResultImpl.SUCCEEDED;
-                                            }
-
-                                            @Override
-                                            public JobExecutionResult FAILED() {
-                                                return JobExecutionResultImpl.FAILED;
-                                            }
-
-                                            @Override
-                                            public JobExecutionResult CANCELLED() {
-                                                return JobExecutionResultImpl.CANCELLED;
-                                            }
                                         };
                                         result = (JobExecutionResultImpl)consumer.process(job, ctx);
                                         if ( result == null ) { // ASYNC processing

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionContext.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionContext.java?rev=1532674&r1=1532673&r2=1532674&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionContext.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionContext.java Wed Oct 16 07:53:21 2013
@@ -98,25 +98,38 @@ public interface JobExecutionContext {
      */
     void log(final String message, final Object...args);
 
-    ResultBuilder result(final String message);
+    /**
+     * Build a result for the processing.
+     */
+    ResultBuilder result();
 
-    JobExecutionResult SUCCEEDED();
+    public interface ResultBuilder {
 
-    JobExecutionResult FAILED();
+        /**
+         * Add an optional processing message.
+         * This message can be viewed using {@link org.apache.sling.event.jobs.Job#getResultMessage()}.
+         */
+        ResultBuilder message(final String message);
 
-    JobExecutionResult CANCELLED();
+        /**
+         * The job processing finished successfully.
+         */
+        JobExecutionResult succeeded();
 
-    public interface ResultBuilder {
+        /**
+         * The job processing failed and might be retried.
+         */
+        JobExecutionResult failed();
 
         /**
+         * The job processing failed and might be retried.
          * @param retryDelayInMs The new retry delay in ms.
          */
-        ResultBuilder retryDelay(final long retryDelayInMs);
-
-        JobExecutionResult SUCCEEDED();
+        JobExecutionResult failed(final long retryDelayInMs);
 
-        JobExecutionResult FAILED();
-
-        JobExecutionResult CANCELLED();
+        /**
+         * The job processing failed permanently.
+         */
+        JobExecutionResult cancelled();
     }
 }

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionResult.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionResult.java?rev=1532674&r1=1532673&r2=1532674&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionResult.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/consumer/JobExecutionResult.java Wed Oct 16 07:53:21 2013
@@ -22,21 +22,39 @@ import aQute.bnd.annotation.ProviderType
 
 /**
  * The status of a job after it has been processed by a {@link JobExecutor}.
+ * The job executor uses the {@link JobExecutionContext} to create a result object.
  *
- * A job executor can either use one of the constants {@link #SUCCEEDED}, {@link #FAILED}
- * or {@link #CANCELLED} to return a result or it can build an individual result
- * with optional parameters using the builder methods {@link #SUCCEEDED()}, {@link #FAILED()}
- * or {@link #CANCELLED()}.
+ * The result can have three states, succeeded, cancelled or failed whereas
+ * failed means that the execution is potentially retried.
  *
  * @since 1.1
  */
 @ProviderType
 public interface JobExecutionResult {
 
+    /**
+     * If this returns true the job processing finished successfully.
+     * In this case {@link #cancelled()} and {@link #failed()} return
+     * <code>false</code>
+     * @return <code>true</code> for a successful processing
+     */
     boolean succeeded();
 
+    /**
+     * If this returns true the job processing failed permanently.
+     * In this case {@link #succeeded()} and {@link #failed()} return
+     * <code>false</code>
+     * @return <code>true</code> for a permanently failed processing
+     */
     boolean cancelled();
 
+    /**
+     * If this returns true the job processing failed but might be
+     * retried..
+     * In this case {@link #cancelled()} and {@link #succeeded()} return
+     * <code>false</code>
+     * @return <code>true</code> for a failedl processing
+     */
     boolean failed();
 
     /**

Modified: sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/HistoryTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/HistoryTest.java?rev=1532674&r1=1532673&r2=1532674&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/HistoryTest.java (original)
+++ sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/HistoryTest.java Wed Oct 16 07:53:21 2013
@@ -101,9 +101,9 @@ public class HistoryTest extends Abstrac
                         sleep(5L);
                         final long count = job.getProperty(PROP_COUNTER, Long.class);
                         if ( count == 2 || count == 5 || count == 7 ) {
-                            return context.result(Job.JobState.CANCELLED.name()).CANCELLED();
+                            return context.result().message(Job.JobState.CANCELLED.name()).cancelled();
                         }
-                        return context.result(Job.JobState.SUCCEEDED.name()).SUCCEEDED();
+                        return context.result().message(Job.JobState.SUCCEEDED.name()).succeeded();
                     }
 
                 });