Author: tommaso
Date: Mon Dec 15 16:22:43 2014
New Revision: 1645689

URL: http://svn.apache.org/r1645689
Log:
SLING-4153 - fixed request states, removed useless asStream method in transport 
secret

Modified:
    
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java
    
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java
    
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
    
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
    
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/SimpleDistributionResponse.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
    
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java
 Mon Dec 15 16:22:43 2014
@@ -22,33 +22,33 @@ package org.apache.sling.distribution.co
  * The different states a {@link 
org.apache.sling.distribution.communication.DistributionRequest} can have 
during its lifecycle.
  * Allowed transitions of {@link 
org.apache.sling.distribution.communication.DistributionRequestState} for a 
certain
  * {@link org.apache.sling.distribution.communication.DistributionRequest} are:
- * {@code #SUCCEEDED} -> ø
- * {@code #FAILED} -> ø
- * {@code #ACCEPTED} -> {@code #FAILED}
- * {@code #ACCEPTED} -> {@code #SUCCEEDED}
+ * {@code #DISTRIBUTED} -> ø
+ * {@code #DROPPED} -> ø
+ * {@code #ACCEPTED} -> {@code #DROPPED}
+ * {@code #ACCEPTED} -> {@code #DISTRIBUTED}
  * <p/>
- * {@link org.apache.sling.distribution.communication.DistributionRequest}s 
against synchronous {@link 
org.apache.sling.distribution.agent.DistributionAgent}s
- * will only results in {@code #SUCCEEDED} or {@code #FAILED} {@link 
org.apache.sling.distribution.communication.DistributionRequestState}s
- * while requests against asynchronous agents can result in any of {@code 
#SUCCEEDED}, {@code #FAILED} or {@code #ACCEPTED} states.
+ * {@link org.apache.sling.distribution.communication.DistributionRequest}s 
executed synchronously
+ * will only results in {@code #DISTRIBUTED} or {@code #DROPPED} {@link 
org.apache.sling.distribution.communication.DistributionRequestState}s
+ * while requests executed asynchronously can result in any of {@code 
#DISTRIBUTED}, {@code #DROPPED} or {@code #ACCEPTED} states.
  */
 public enum DistributionRequestState {
 
     /**
-     * A {@link 
org.apache.sling.distribution.communication.DistributionRequest} has succeeded 
when the content has been
-     * successfully distributed (created, transported and persisted) from the 
source instance to the target instance.
+     * The request has completed and the content has been successfully 
distributed
+     * (created, transported and persisted) from the source instance to the 
target instance.
      */
-    SUCCEEDED,
+    DISTRIBUTED,
 
     /**
-     * A {@link 
org.apache.sling.distribution.communication.DistributionRequest} has failed 
when the content cannot be
-     * successfully distributed from the source instance to target instance, 
this means the request execution failed during
-     * one of: creation, transport, persistence.
+     * The request has been dropped and the content could not be successfully
+     * distributed from the source to target instance, this means the request
+     * execution failed during one of: creation, queueing, transport, 
persistence.
      */
-    FAILED,
+    DROPPED,
 
     /**
-     * A {@link 
org.apache.sling.distribution.communication.DistributionRequest} has been 
accepted when the content to be
-     * distributed has been successfully created, but not yet either 
transported or persisted correctly to the target instance.
+     * The request has been accepted, as a consequence the content to be 
distributed
+     * has been created and queued (and it will be eventually processed 
asynchronously).
      */
     ACCEPTED
 

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java
 Mon Dec 15 16:22:43 2014
@@ -53,7 +53,8 @@ public interface DistributionResponse {
 
     /**
      * returns a verbose message of the response
-     * @return
+     * @return a message associated with this response holding information 
about
+     * e.g. why distribution execution failed, etc.
      */
     @CheckForNull
     String getMessage();

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
 Mon Dec 15 16:22:43 2014
@@ -48,7 +48,8 @@ public interface Distributor {
      * @return a {@link 
org.apache.sling.distribution.communication.DistributionResponse}
      */
     @Nonnull
-    DistributionResponse distribute(@Nonnull String agentName, @Nonnull 
ResourceResolver resourceResolver, @Nonnull DistributionRequest 
distributionRequest);
+    DistributionResponse distribute(@Nonnull String agentName, @Nonnull 
ResourceResolver resourceResolver,
+                                    @Nonnull DistributionRequest 
distributionRequest);
 
 
 }

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
 Mon Dec 15 16:22:43 2014
@@ -58,6 +58,7 @@ public final class SimpleDistributionReq
      *
      * @return the type of the request as a {@link DistributionRequestType}
      */
+    @Nonnull
     public DistributionRequestType getRequestType() {
         return requestType;
     }
@@ -76,7 +77,7 @@ public final class SimpleDistributionReq
      * Returns whether the a path is covering the entire subtree (deep) or 
just the specified nodes (shallow)
      * @return <code>true</code> if the path is deep
      */
-    public boolean isDeep(String path) {
+    public boolean isDeep(@Nonnull String path) {
         return deep;
     }
 

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
 Mon Dec 15 16:22:43 2014
@@ -43,13 +43,4 @@ public interface DistributionTransportSe
     @CheckForNull
     Map<String, String> asCredentialsMap();
 
-    /**
-     * Get the secrete as a raw {@link java.io.InputStream binary}.
-     * Note that each call to this method will create a new stream, so the 
caller will be responsible of closing it.
-     *
-     * @return the secret as an {@link java.io.InputStream}, or {@code null} 
if such a secret cannot represented as a stream.
-     */
-    @CheckForNull
-    InputStream asStream();
-
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
 Mon Dec 15 16:22:43 2014
@@ -196,7 +196,7 @@ public class SimpleDistributionAgent imp
             
distributionEventFactory.generateAgentPackageEvent(DistributionEventType.AGENT_PACKAGE_QUEUED,
 name, distributionPackage.getInfo());
         } catch (Exception e) {
             log.error("an error happened during dispatching items to the 
queue(s)", e);
-            distributionResponses.add(new 
SimpleDistributionResponse(DistributionRequestState.FAILED, e.toString()));
+            distributionResponses.add(new 
SimpleDistributionResponse(DistributionRequestState.DROPPED, e.toString()));
         }
 
         return distributionResponses;
@@ -213,22 +213,22 @@ public class SimpleDistributionAgent imp
                 requestState = DistributionRequestState.ACCEPTED;
                 break;
             case SUCCEEDED:
-                requestState = DistributionRequestState.SUCCEEDED;
+                requestState = DistributionRequestState.DISTRIBUTED;
                 break;
             case STOPPED:
-                requestState = DistributionRequestState.FAILED;
+                requestState = DistributionRequestState.DROPPED;
                 break;
             case GIVEN_UP:
-                requestState = DistributionRequestState.FAILED;
+                requestState = DistributionRequestState.DROPPED;
                 break;
             case ERROR:
-                requestState = DistributionRequestState.FAILED;
+                requestState = DistributionRequestState.DROPPED;
                 break;
             case DROPPED:
-                requestState = DistributionRequestState.FAILED;
+                requestState = DistributionRequestState.DROPPED;
                 break;
             default:
-                requestState = DistributionRequestState.FAILED;
+                requestState = DistributionRequestState.DROPPED;
                 break;
         }
         return requestState;
@@ -439,12 +439,12 @@ public class SimpleDistributionAgent imp
         private String message;
 
         public CompositeDistributionResponse(List<DistributionResponse> 
distributionResponses) {
-            super(DistributionRequestState.FAILED, null);
+            super(DistributionRequestState.DROPPED, null);
             if (distributionResponses.isEmpty()) {
-                state = DistributionRequestState.FAILED;
+                state = DistributionRequestState.DROPPED;
                 message = "empty response";
             } else {
-                state = DistributionRequestState.SUCCEEDED;
+                state = DistributionRequestState.DISTRIBUTED;
                 StringBuilder messageBuilder = new StringBuilder("[");
                 for (DistributionResponse response : distributionResponses) {
                     state = aggregatedState(state, response.getState());
@@ -458,9 +458,10 @@ public class SimpleDistributionAgent imp
 
         @Override
         public boolean isSuccessful() {
-            return !DistributionRequestState.FAILED.equals(state);
+            return !DistributionRequestState.DROPPED.equals(state);
         }
 
+        @Nonnull
         @Override
         public DistributionRequestState getState() {
             return state;
@@ -476,21 +477,21 @@ public class SimpleDistributionAgent imp
     private DistributionRequestState aggregatedState(DistributionRequestState 
first, DistributionRequestState second) {
         DistributionRequestState aggregatedState;
         switch (second) {
-            case SUCCEEDED:
+            case DISTRIBUTED:
                 aggregatedState = first;
                 break;
-            case FAILED:
-                aggregatedState = DistributionRequestState.FAILED;
+            case DROPPED:
+                aggregatedState = DistributionRequestState.DISTRIBUTED;
                 break;
             case ACCEPTED:
-                if (first.equals(DistributionRequestState.SUCCEEDED)) {
+                if (first.equals(DistributionRequestState.DISTRIBUTED)) {
                     aggregatedState = DistributionRequestState.ACCEPTED;
                 } else {
                     aggregatedState = first;
                 }
                 break;
             default:
-                aggregatedState = DistributionRequestState.FAILED;
+                aggregatedState = DistributionRequestState.DROPPED;
         }
         return aggregatedState;
     }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
 Mon Dec 15 16:22:43 2014
@@ -51,18 +51,19 @@ public class DefaultDistributor implemen
     @Reference
     DefaultDistributionComponentProvider componentProvider;
 
+    @Nonnull
     public DistributionResponse distribute(@Nonnull String agentName, @Nonnull 
ResourceResolver resourceResolver, @Nonnull DistributionRequest 
distributionRequest) {
        DistributionAgent agent = 
componentProvider.getComponent(DistributionAgent.class, agentName);
 
-        if (agentName == null) {
-            return new 
SimpleDistributionResponse(DistributionRequestState.FAILED, "Agent is not 
available");
+        if (agent == null) {
+            return new 
SimpleDistributionResponse(DistributionRequestState.DROPPED, "Agent is not 
available");
         }
 
         try {
             return agent.execute(resourceResolver, distributionRequest);
         } catch (DistributionAgentException e) {
             log.error("cannot execute", e);
-            return new 
SimpleDistributionResponse(DistributionRequestState.FAILED, "Cannot execute 
request");
+            return new 
SimpleDistributionResponse(DistributionRequestState.DROPPED, "Cannot execute 
request");
         }
     }
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/SimpleDistributionResponse.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/SimpleDistributionResponse.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/SimpleDistributionResponse.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/SimpleDistributionResponse.java
 Mon Dec 15 16:22:43 2014
@@ -19,6 +19,8 @@
 
 package org.apache.sling.distribution.communication.impl;
 
+import javax.annotation.Nonnull;
+
 import org.apache.sling.distribution.communication.DistributionRequestState;
 import org.apache.sling.distribution.communication.DistributionResponse;
 
@@ -38,9 +40,10 @@ public class SimpleDistributionResponse
     }
 
     public boolean isSuccessful() {
-        return !DistributionRequestState.FAILED.equals(state);
+        return !DistributionRequestState.DROPPED.equals(state);
     }
 
+    @Nonnull
     public DistributionRequestState getState() {
         return state;
     }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java
 Mon Dec 15 16:22:43 2014
@@ -61,10 +61,10 @@ public class DistributionAgentServlet ex
             try {
                 DistributionResponse distributionResponse = 
agent.execute(resourceResolver, distributionRequest);
                 switch (distributionResponse.getState()) {
-                    case SUCCEEDED:
+                    case DISTRIBUTED:
                         response.setStatus(200);
                         break;
-                    case FAILED:
+                    case DROPPED:
                         response.setStatus(400);
                         break;
                     case ACCEPTED:

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
 Mon Dec 15 16:22:43 2014
@@ -73,10 +73,6 @@ public class UserCredentialsDistribution
                 return null;
             }
 
-            public InputStream asStream() {
-                return null;
-            }
-
             public Map<String, String> asCredentialsMap() {
                 Map<String, String> map = new HashMap<String, String>();
                 map.put(USERNAME, username);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java?rev=1645689&r1=1645688&r2=1645689&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
 Mon Dec 15 16:22:43 2014
@@ -23,6 +23,7 @@ import java.util.Arrays;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.distribution.communication.DistributionRequest;
+import org.apache.sling.distribution.communication.DistributionRequestState;
 import org.apache.sling.distribution.communication.DistributionRequestType;
 import org.apache.sling.distribution.communication.DistributionResponse;
 import org.apache.sling.distribution.communication.SimpleDistributionRequest;
@@ -80,6 +81,7 @@ public class SimpleDistributionAgentTest
         DistributionResponse response = agent.execute(resourceResolver, 
request);
         assertNotNull(response);
         assertEquals("ERROR", response.getMessage());
+        assertEquals(DistributionRequestState.DROPPED, response.getState());
     }
 
     @Test
@@ -112,6 +114,7 @@ public class SimpleDistributionAgentTest
         DistributionResponse response = agent.execute(resourceResolver, 
request);
         assertNotNull(response);
         assertEquals("QUEUED", response.getMessage());
+        assertEquals(DistributionRequestState.ACCEPTED, response.getState());
     }
 
     @Test


Reply via email to