You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2015/11/27 15:36:28 UTC

svn commit: r1716879 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/main/java/org/apache/sling/distribution/agent/impl/ src/main/java/org/apache/sling/distribution/queue/ src/main/java/org/apache/sling/distribution/queue/impl/ src/main/...

Author: mpetria
Date: Fri Nov 27 14:36:28 2015
New Revision: 1716879

URL: http://svn.apache.org/viewvc?rev=1716879&view=rev
Log:
SLING-5336: always return the created distribution queue entry

Modified:
    sling/trunk/contrib/extensions/distribution/core/pom.xml
    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/queue/DistributionQueue.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorQueueDispatchingStrategy.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/SingleQueueDistributionStrategyTest.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Nov 27 14:36:28 2015
@@ -32,7 +32,7 @@
     <!-- P R O J E C T                                                           -->
     <!-- ======================================================================= -->
     <artifactId>org.apache.sling.distribution.core</artifactId>
-    <version>0.1.11-SNAPSHOT</version>
+    <version>0.1.11-r1716851</version>
     <packaging>bundle</packaging>
 
     <name>Apache Sling Distribution Core</name>

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=1716879&r1=1716878&r2=1716879&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 Fri Nov 27 14:36:28 2015
@@ -579,7 +579,7 @@ public class SimpleDistributionAgent imp
                 try {
                     agent.execute(resourceResolver, request);
                 } catch (Throwable t) {
-                    log.error("Error executing handler", t);
+                    log.error("Error executing handler {}", request, t);
                 }
             } else {
                 ResourceResolver agentResourceResolver = null;
@@ -589,7 +589,7 @@ public class SimpleDistributionAgent imp
 
                     agent.execute(agentResourceResolver, request);
                 } catch (Throwable e) {
-                    log.error("Error executing handler", e);
+                    log.error("Error executing handler {}", request, e);
                 } finally {
                     ungetAgentResourceResolver(agentResourceResolver);
                 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java Fri Nov 27 14:36:28 2015
@@ -50,10 +50,9 @@ public interface DistributionQueue {
      *
      * @param item a distribution item, typically representing a {@link DistributionPackage}
      *             to distribute
-     * @return {@code true} if the item was added correctly to the queue,
-     * {@code false} otherwise
+     * @return the queue entry created for this item or {@code noll} if none is created
      */
-    boolean add(@Nonnull DistributionQueueItem item);
+    DistributionQueueEntry add(@Nonnull DistributionQueueItem item);
 
 
     /**

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorQueueDispatchingStrategy.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorQueueDispatchingStrategy.java Fri Nov 27 14:36:28 2015
@@ -67,8 +67,9 @@ public class ErrorQueueDispatchingStrate
         DistributionQueueItemStatus status = new DistributionQueueItemStatus(DistributionQueueItemState.ERROR, errorQueueName);
 
         DistributionQueueItem queueItem = DistributionPackageUtils.toQueueItem(distributionPackage);
+        DistributionQueueEntry queueEntry = errorQueue.add(queueItem);
 
-        if (errorQueue.add(queueItem)) {
+        if (queueEntry != null) {
             DistributionPackageUtils.acquire(distributionPackage, errorQueueName);
 
             DistributionQueueEntry entry = errorQueue.getItem(queueItem.getId());

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java Fri Nov 27 14:36:28 2015
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.UUID;
 
 import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.queue.DistributionQueueEntry;
 import org.apache.sling.distribution.serialization.DistributionPackage;
 import org.apache.sling.distribution.packaging.SharedDistributionPackage;
 import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
@@ -69,8 +70,10 @@ public class MultipleQueueDispatchingStr
                 DistributionQueueItemStatus status = new DistributionQueueItemStatus(DistributionQueueItemState.ERROR, queue.getName());
 
                 DistributionPackageUtils.acquire(distributionPackage, queueName);
-                if (queue.add(queueItem)) {
-                    status = queue.getItem(queueItem.getId()).getStatus();
+                DistributionQueueEntry queueEntry = queue.add(queueItem);
+
+                if (queueEntry != null) {
+                    status = queueEntry.getStatus();
                 } else {
                     DistributionPackageUtils.releaseOrDelete(distributionPackage, queueName);
                 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java Fri Nov 27 14:36:28 2015
@@ -66,18 +66,18 @@ public class JobHandlingDistributionQueu
         return name;
     }
 
-    public boolean add(@Nonnull DistributionQueueItem item) {
-        boolean result = true;
+    public DistributionQueueEntry add(@Nonnull DistributionQueueItem item) {
         try {
             Map<String, Object> properties = JobHandlingUtils.createFullProperties(item);
 
             Job job = jobManager.createJob(topic).properties(properties).add();
             log.info("job {} added for item {}", job.getId(), item.getId());
+
+            return JobHandlingUtils.getEntry(job);
         } catch (Exception e) {
             log.error("could not add an item to the queue", e);
-            result = false;
+            return null;
         }
-        return result;
     }
 
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java Fri Nov 27 14:36:28 2015
@@ -68,7 +68,7 @@ public class SimpleDistributionQueue imp
         return name;
     }
 
-    public boolean add(@Nonnull DistributionQueueItem item) {
+    public DistributionQueueEntry add(@Nonnull DistributionQueueItem item) {
         DistributionQueueItemState itemState = DistributionQueueItemState.ERROR;
         boolean result = false;
         try {
@@ -79,7 +79,12 @@ public class SimpleDistributionQueue imp
         } finally {
             statusMap.put(item, new DistributionQueueItemStatus(Calendar.getInstance(), itemState, 0, name));
         }
-        return result;
+
+        if (result) {
+            return new DistributionQueueEntry(item, statusMap.get(item));
+        }
+
+        return null;
     }
 
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java Fri Nov 27 14:36:28 2015
@@ -84,7 +84,7 @@ public class ResourceSharedDistributionP
         String packagePath = getPathFromName(packageName);
         DistributionPackage sharedDistributionPackage = new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
 
-        log.info("created shared package {} for {}", sharedDistributionPackage.getId(), distributionPackage.getId());
+        log.debug("created shared package {} for {}", sharedDistributionPackage.getId(), distributionPackage.getId());
         return sharedDistributionPackage;
 
     }
@@ -111,7 +111,7 @@ public class ResourceSharedDistributionP
 
         DistributionPackage sharedDistributionPackage = new ResourceSharedDistributionPackage(repolock, resourceResolver, packageName, packagePath, distributionPackage);
 
-        log.info("created shared package {} for {}", sharedDistributionPackage.getId(), distributionPackage.getId());
+        log.debug("created shared package {} for {}", sharedDistributionPackage.getId(), distributionPackage.getId());
         return sharedDistributionPackage;
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/SingleQueueDistributionStrategyTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/SingleQueueDistributionStrategyTest.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/SingleQueueDistributionStrategyTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/SingleQueueDistributionStrategyTest.java Fri Nov 27 14:36:28 2015
@@ -46,9 +46,8 @@ public class SingleQueueDistributionStra
         DistributionQueueProvider queueProvider = mock(DistributionQueueProvider.class);
         DistributionQueue queue = mock(DistributionQueue.class);
         when(queueProvider.getQueue(DistributionQueueDispatchingStrategy.DEFAULT_QUEUE_NAME)).thenReturn(queue);
-        when(queue.add(any(DistributionQueueItem.class))).thenReturn(true);
         DistributionQueueItemStatus state = mock(DistributionQueueItemStatus.class);
-        when(queue.getItem(any(String.class))).thenReturn(new DistributionQueueEntry(null, state));
+        when(queue.add(any(DistributionQueueItem.class))).thenReturn(new DistributionQueueEntry(null, state));
 
         Iterable<DistributionQueueItemStatus> returnedStates = singleQueueDistributionStrategy.add(distributionPackage, queueProvider);
         assertNotNull(returnedStates);
@@ -66,9 +65,8 @@ public class SingleQueueDistributionStra
         DistributionQueue queue = mock(DistributionQueue.class);
         DistributionQueueItem queueItem = mock(DistributionQueueItem.class);
         when(queueProvider.getQueue(DistributionQueueDispatchingStrategy.DEFAULT_QUEUE_NAME)).thenReturn(queue);
-        when(queue.add(queueItem)).thenReturn(true);
         DistributionQueueItemStatus state = mock(DistributionQueueItemStatus.class);
-        when(queue.getItem(any(String.class))).thenReturn(new DistributionQueueEntry(queueItem, state));
+        when(queue.add(queueItem)).thenReturn(new DistributionQueueEntry(queueItem, state));
         Iterable<DistributionQueueItemStatus> returnedStates = singleQueueDistributionStrategy.add(distributionPackage, queueProvider);
         assertNotNull(returnedStates);
         Iterator<DistributionQueueItemStatus> iterator = returnedStates.iterator();
@@ -84,9 +82,9 @@ public class SingleQueueDistributionStra
         DistributionQueueProvider queueProvider = mock(DistributionQueueProvider.class);
         DistributionQueue queue = mock(DistributionQueue.class);
         when(queueProvider.getQueue(DistributionQueueDispatchingStrategy.DEFAULT_QUEUE_NAME)).thenReturn(queue);
-        when(queue.add(any(DistributionQueueItem.class))).thenReturn(true);
         DistributionQueueItemStatus state = mock(DistributionQueueItemStatus.class);
-        when(queue.getItem(any(String.class))).thenReturn(new DistributionQueueEntry(null, state));
+
+        when(queue.add(any(DistributionQueueItem.class))).thenReturn(new DistributionQueueEntry(null, state));
 
         Iterable<DistributionQueueItemStatus> returnedStates = singleQueueDistributionStrategy.add(distributionPackage, queueProvider);
         assertNotNull(returnedStates);

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java Fri Nov 27 14:36:28 2015
@@ -66,7 +66,7 @@ public class JobHandlingDistributionQueu
         packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, DistributionRequestType.ADD);
 
         DistributionQueueItem distributionQueueItem = new DistributionQueueItem("an-id", packageInfo);
-        assertTrue(queue.add(distributionQueueItem));
+        assertNotNull(queue.add(distributionQueueItem));
     }
 
     @SuppressWarnings("unchecked")
@@ -87,7 +87,7 @@ public class JobHandlingDistributionQueu
         packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_PATHS, new String[]{"/foo"});
         packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, DistributionRequestType.ADD);
         DistributionQueueItem distributionQueueItem = new DistributionQueueItem("an-id", packageInfo);
-        assertTrue(queue.add(distributionQueueItem));
+        assertNotNull(queue.add(distributionQueueItem));
         DistributionQueueItemStatus status = queue.getItem(distributionQueueItem.getId()).getStatus();
         assertNotNull(status);
         assertEquals(DistributionQueueItemState.QUEUED, status.getItemState());

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java?rev=1716879&r1=1716878&r2=1716879&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java Fri Nov 27 14:36:28 2015
@@ -41,7 +41,7 @@ public class SimpleDistributionQueueTest
     public void testPackageAddition() throws Exception {
         DistributionQueue queue = new SimpleDistributionQueue("agentName", "default");
         DistributionQueueItem pkg = mock(DistributionQueueItem.class);
-        assertTrue(queue.add(pkg));
+        assertNotNull(queue.add(pkg));
         assertFalse(queue.getStatus().isEmpty());
     }
 
@@ -50,7 +50,7 @@ public class SimpleDistributionQueueTest
         DistributionQueue queue = new SimpleDistributionQueue("agentName", "default");
         DistributionQueueItem pkg = mock(DistributionQueueItem.class);
         when(pkg.getId()).thenReturn("id");
-        assertTrue(queue.add(pkg));
+        assertNotNull(queue.add(pkg));
         assertFalse(queue.getStatus().isEmpty());
         assertNotNull(queue.remove(pkg.getId()));
         assertTrue(queue.getStatus().isEmpty());
@@ -63,7 +63,7 @@ public class SimpleDistributionQueueTest
         DistributionQueue queue = new SimpleDistributionQueue("agentName", "default");
         DistributionQueueItem pkg = mock(DistributionQueueItem.class);
         when(pkg.getId()).thenReturn("id");
-        assertTrue(queue.add(pkg));
+        assertNotNull(queue.add(pkg));
         assertFalse(queue.getStatus().isEmpty());
         assertEquals(pkg, queue.getHead().getItem());
         assertFalse(queue.getStatus().isEmpty());