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());