You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2014/11/24 12:31:16 UTC
svn commit: r1641370 - in /sling/trunk/contrib/extensions/distribution:
api/src/main/java/org/apache/sling/distribution/event/
api/src/main/java/org/apache/sling/distribution/packaging/
api/src/main/java/org/apache/sling/distribution/queue/ core/src/ma...
Author: tommaso
Date: Mon Nov 24 11:31:15 2014
New Revision: 1641370
URL: http://svn.apache.org/r1641370
Log:
SLING-4153 - Queue#remove returns the removed item, Importer#importPackage returns void
Modified:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/DistributionAgentJobConsumer.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/jobhandling/JobHandlingUtils.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.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/servlet/DistributionAgentQueueServlet.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java Mon Nov 24 11:31:15 2014
@@ -66,7 +66,7 @@ public enum DistributionEventType {
/**
* common event topic base for distribution events
*/
- public static final String EVENT_TOPIC = "org/apache/sling/distribution/event";
+ public static final String EVENT_TOPIC = "org/apache/sling/distribution";
/**
* get the event topic for this event type
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java Mon Nov 24 11:31:15 2014
@@ -66,8 +66,7 @@ public interface DistributionPackage {
* gets an additional info holder for this package.
* The additional info object contains control information rather than content information.
* For example info.origin can be used to skip distributing back to the originating endpoint.
- * It should not be be serialized between instances as its main purpose is to allow
- * inter component communication on the same instance.
+ *
* @return the associated metadata to this package
*/
@Nonnull
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java Mon Nov 24 11:31:15 2014
@@ -32,6 +32,10 @@ import org.apache.sling.distribution.com
* A {@link DistributionPackageExporter ) is responsible of exporting
* {@link DistributionPackage }s to be then imported by a {@link org.apache.sling.distribution.agent.DistributionAgent }
* (via a {@link DistributionPackageImporter }).
+ * <p/>
+ * Exporting a {@link org.apache.sling.distribution.packaging.DistributionPackage} means obtaining that package by either
+ * directly creating it by bundling local Sling resources together or retrieving it from a remote endpoint, e.g. by
+ * executing an HTTP request to another Sling instance exposing already created packages (for remotely changed resources).
*/
@ConsumerType
public interface DistributionPackageExporter extends DistributionComponent {
@@ -40,18 +44,23 @@ public interface DistributionPackageExpo
* Exports the {@link DistributionPackage}s built from the
* passed {@link org.apache.sling.distribution.communication.DistributionRequest}.
*
- * @param resourceResolver - the resource resolver used to export the packages
- * @param distributionRequest - the request containing the information about which content is to be exported
+ * @param resourceResolver - the resource resolver used to export the packages, for example a 'local' exporter
+ * will use the resource resolver to read the content and assemble the binary in a certain
+ * location in the repository while a 'remote' exporter will use the resolver just to
+ * store the binary of the remotely fetched packages in the repository.
+ * @param distributionRequest - the request containing the needed information for content to be exported
* @return a {@link java.util.List} of {@link DistributionPackage}s
*/
@Nonnull
List<DistributionPackage> exportPackages(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionRequest distributionRequest) throws DistributionPackageExportException;
/**
- * Retrieves a {@link DistributionPackage} given its 'id', if it already exists.
+ * Retrieves a {@link DistributionPackage} given its identifier, if it already exists.
+ * This will be used for example to get already created (and cached) packages that were not yet distributed to the
+ * target instance.
*
- * @param resourceResolver - the resource resolver use to obtain the package.
- * @param distributionPackageId - the id of the package to be retrieved
+ * @param resourceResolver - the resource resolver use to obtain the package.
+ * @param distributionPackageId - the {@link DistributionPackage#getId() id of the package} to be retrieved
* @return a {@link DistributionPackage} if available, {@code null} otherwise
*/
@CheckForNull
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java Mon Nov 24 11:31:15 2014
@@ -36,12 +36,11 @@ public interface DistributionPackageImpo
/**
* Imports the given distribution package into the underlying system
*
- * @param resourceResolver - the resource resolver used to import the resources
+ * @param resourceResolver - the resource resolver used to import the resources
* @param distributionPackage - the package to be imported
- * @return {@code true} if the import succeeded, {@code false} otherwise
* @throws DistributionPackageImportException if any error occurs during import
*/
- boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException;
+ void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException;
/**
* Tries to convert an {@link java.io.InputStream} to a {@link DistributionPackage} and then imports it into the underlying system
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java Mon Nov 24 11:31:15 2014
@@ -20,6 +20,7 @@ package org.apache.sling.distribution.pa
import javax.annotation.CheckForNull;
import java.net.URI;
+import java.util.Arrays;
import org.apache.sling.distribution.communication.DistributionRequestType;
@@ -102,4 +103,13 @@ public final class DistributionPackageIn
this.setRequestType(packageInfo.getRequestType());
}
}
+
+ @Override
+ public String toString() {
+ return "DistributionPackageInfo{" +
+ "origin=" + origin +
+ ", requestType=" + requestType +
+ ", paths=" + Arrays.toString(paths) +
+ '}';
+ }
}
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java Mon Nov 24 11:31:15 2014
@@ -87,6 +87,7 @@ public interface DistributionQueue {
* remove an item from the queue by specifying its id
*
* @param id an item's identifier
+ * @return the removed item, or {@code null} if no item could be removed
*/
- void remove(@Nonnull String id);
+ DistributionQueueItem remove(@Nonnull String id);
}
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java Mon Nov 24 11:31:15 2014
@@ -57,4 +57,13 @@ public class DistributionQueueItem {
public DistributionPackageInfo getPackageInfo() {
return packageInfo;
}
+
+ @Override
+ public String toString() {
+ return "DistributionQueueItem{" +
+ "id='" + id + '\'' +
+ ", type='" + type + '\'' +
+ ", packageInfo=" + packageInfo +
+ '}';
+ }
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java Mon Nov 24 11:31:15 2014
@@ -63,14 +63,15 @@ public class AgentDistributionPackageExp
List<DistributionPackage> result = new ArrayList<DistributionPackage>();
try {
- log.info("getting item from queue {}", queueName);
+ log.info("getting packages from queue {}", queueName);
DistributionQueue queue = agent.getQueue(queueName);
DistributionQueueItem info = queue.getHead();
DistributionPackage distributionPackage;
if (info != null) {
distributionPackage = packageBuilder.getPackage(resourceResolver, info.getId());
- queue.remove(info.getId());
+ DistributionQueueItem item = queue.remove(info.getId());
+ log.info("item {} fetched and removed from the queue", item);
if (distributionPackage != null) {
result.add(distributionPackage);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java Mon Nov 24 11:31:15 2014
@@ -129,15 +129,12 @@ public class AdvancedRemoteDistributionP
}
- public boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) {
- boolean result = false;
+ public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) {
try {
transportHandler.deliverPackage(resourceResolver, distributionPackage);
- result = true;
} catch (Exception e) {
log.error("failed delivery", e);
}
- return result;
}
public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java Mon Nov 24 11:31:15 2014
@@ -64,10 +64,9 @@ public class LocalDistributionPackageImp
}
- public boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
- boolean success;
+ public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
try {
- success = packageBuilder.installPackage(resourceResolver, distributionPackage);
+ boolean success = packageBuilder.installPackage(resourceResolver, distributionPackage);
if (success) {
log.info("Distribution package read and installed for path(s) {}", Arrays.toString(distributionPackage.getInfo().getPaths()));
@@ -84,17 +83,13 @@ public class LocalDistributionPackageImp
log.error("cannot import a package from the given stream of type {}", distributionPackage.getType());
throw new DistributionPackageImportException(e);
}
- return success;
}
public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
try {
DistributionPackage distributionPackage = packageBuilder.readPackage(resourceResolver, stream);
- if (importPackage(resourceResolver, distributionPackage)) {
- return distributionPackage;
- } else {
- throw new DistributionPackageImportException("could not import the package " + distributionPackage);
- }
+ importPackage(resourceResolver, distributionPackage);
+ return distributionPackage;
} catch (DistributionPackageReadingException e) {
throw new DistributionPackageImportException("cannot read a package from the given stream", e);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java Mon Nov 24 11:31:15 2014
@@ -80,8 +80,8 @@ public class LocalDistributionPackageImp
}
- public boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
- return importer.importPackage(resourceResolver, distributionPackage);
+ public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
+ importer.importPackage(resourceResolver, distributionPackage);
}
public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java Mon Nov 24 11:31:15 2014
@@ -70,10 +70,9 @@ public class RemoteDistributionPackageIm
}
- public boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
+ public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
try {
transportHandler.deliverPackage(resourceResolver, distributionPackage);
- return true;
} catch (Exception e) {
throw new DistributionPackageImportException("failed in importing package " + distributionPackage);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java Mon Nov 24 11:31:15 2014
@@ -99,8 +99,8 @@ public class RemoteDistributionPackageIm
}
- public boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
- return importer.importPackage(resourceResolver, distributionPackage);
+ public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
+ importer.importPackage(resourceResolver, distributionPackage);
}
public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporter.java Mon Nov 24 11:31:15 2014
@@ -104,8 +104,8 @@ public class RepositoryDistributionPacka
}
}
- public boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
- return false;
+ public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException {
+ // do nothing
}
public DistributionPackage importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionPackageImportException {
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java Mon Nov 24 11:31:15 2014
@@ -116,8 +116,9 @@ public class ErrorAwareQueueDispatchingS
throw new DistributionQueueException("could not move an item to the error queue");
}
}
- log.warn("item {} dropped from the default queue", firstItem);
- defaultQueue.remove(firstItem.getId());
+ if (defaultQueue.remove(firstItem.getId()) != null) {
+ log.warn("item {} dropped from the default queue", firstItem);
+ }
}
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/DistributionAgentJobConsumer.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/DistributionAgentJobConsumer.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/DistributionAgentJobConsumer.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/DistributionAgentJobConsumer.java Mon Nov 24 11:31:15 2014
@@ -41,7 +41,7 @@ class DistributionAgentJobConsumer imple
public JobResult process(Job job) {
log.debug("processing job {}", job.getId());
String queueName = JobHandlingUtils.getQueueName(job);
- DistributionQueueItem info = JobHandlingUtils.getPackage(job);
+ DistributionQueueItem info = JobHandlingUtils.getItem(job);
log.info("processing item {} in queue {}", info.getId(), queueName);
boolean processingResult = queueProcessor.process(queueName, info);
JobResult jobResult = processingResult ? JobResult.OK : JobResult.FAILED;
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=1641370&r1=1641369&r2=1641370&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 Mon Nov 24 11:31:15 2014
@@ -101,9 +101,9 @@ public class JobHandlingDistributionQueu
}
public DistributionQueueItem getHead() {
- Job firstItem = getFirstJob();
- if (firstItem != null) {
- return JobHandlingUtils.getPackage(firstItem);
+ Job firstJob = getFirstJob();
+ if (firstJob != null) {
+ return JobHandlingUtils.getItem(firstJob);
} else {
return null;
}
@@ -140,7 +140,7 @@ public class JobHandlingDistributionQueu
Collection<Job> jobs = jobManager.findJobs(QueryType.ALL, topic, actualLimit);
List<Job> result = new ArrayList<Job>();
- int i =0;
+ int i = 0;
for (Job job : jobs) {
if (i >= actualSkip) {
result.add(job);
@@ -164,19 +164,25 @@ public class JobHandlingDistributionQueu
List<DistributionQueueItem> items = new ArrayList<DistributionQueueItem>();
Collection<Job> jobs = getJobs(selector.getSkip(), selector.getLimit());
for (Job job : jobs) {
- items.add(JobHandlingUtils.getPackage(job));
+ items.add(JobHandlingUtils.getItem(job));
}
return items;
}
- public void remove(@Nonnull String id) {
+ public DistributionQueueItem remove(@Nonnull String id) {
+ boolean removed = false;
Job job = getJob(id);
+ DistributionQueueItem item = null;
+
if (job != null) {
- boolean removed = jobManager.removeJobById(job.getId());
- log.info("item with id {} removed from the queue: {}", id, removed);
+ item = JobHandlingUtils.getItem(job);
+ removed = jobManager.removeJobById(job.getId());
}
+
+ log.info("item with id {} removed from the queue: {}", id, removed);
+ return item;
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java Mon Nov 24 11:31:15 2014
@@ -39,7 +39,7 @@ public class JobHandlingUtils {
protected static final String ORIGIN = "distribution.package.origin";
- public static DistributionQueueItem getPackage(final Job job) {
+ public static DistributionQueueItem getItem(final Job job) {
DistributionPackageInfo packageInfo = new DistributionPackageInfo();
packageInfo.setOrigin((URI) job.getProperty(ORIGIN));
packageInfo.setPaths((String[]) job.getProperty(PATHS));
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java Mon Nov 24 11:31:15 2014
@@ -18,8 +18,6 @@
*/
package org.apache.sling.distribution.queue.impl.simple;
-import java.util.Arrays;
-
import org.apache.sling.distribution.queue.DistributionQueue;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.queue.DistributionQueueProcessor;
@@ -49,7 +47,9 @@ class ScheduledDistributionQueueProcesso
DistributionQueueItem item = queue.getHead();
if (item != null) {
if (queueProcessor.process(queue.getName(), item)) {
- queue.remove(item.getId());
+ if (queue.remove(item.getId()) != null) {
+ log.info("item {} processed and removed from the queue", item);
+ }
} else {
log.warn("processing of item {} failed", item.getId());
}
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=1641370&r1=1641369&r2=1641370&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 Mon Nov 24 11:31:15 2014
@@ -93,7 +93,7 @@ public class SimpleDistributionQueue imp
DistributionQueueItemState itemState = statusMap.get(element);
statusMap.put(element, new DistributionQueueItemState(itemState.getEntered(),
itemState.getItemState(),
- itemState.getAttempts()+1, name));
+ itemState.getAttempts() + 1, name));
}
return element;
}
@@ -108,8 +108,7 @@ public class SimpleDistributionQueue imp
}
-
- public void remove(@Nonnull String id) {
+ public DistributionQueueItem remove(@Nonnull String id) {
DistributionQueueItem toRemove = null;
for (DistributionQueueItem item : queue) {
if (id.equals(item.getId())) {
@@ -121,6 +120,12 @@ public class SimpleDistributionQueue imp
removed = queue.remove(toRemove);
}
log.info("item with id {} removed from the queue: {}", id, removed);
+ if (removed) {
+ return toRemove;
+ }
+ else {
+ return null;
+ }
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java Mon Nov 24 11:31:15 2014
@@ -32,6 +32,8 @@ import org.apache.sling.distribution.que
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.queue.DistributionQueueItemState;
import org.apache.sling.distribution.resources.DistributionConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Servlet to retrieve a {@link org.apache.sling.distribution.queue.DistributionQueue} status.
@@ -39,6 +41,8 @@ import org.apache.sling.distribution.res
@SlingServlet(resourceTypes = DistributionConstants.AGENT_QUEUE_RESOURCE_TYPE, methods = {"GET", "POST", "DELETE"})
public class DistributionAgentQueueServlet extends SlingAllMethodsServlet {
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
@@ -83,7 +87,14 @@ public class DistributionAgentQueueServl
while (!queue.isEmpty()) {
DistributionQueueItem queueItem = queue.getHead();
- queue.remove(queueItem.getId());
+ DistributionQueueItem removedItem = queue.remove(queueItem.getId());
+ if (removedItem != null) {
+ log.info("item {} removed from the queue {}", removedItem, queue);
+ response.setStatus(200);
+ } else {
+ log.warn("could not remove item {}Â from the queue {}", queueItem, queue);
+ response.setStatus(400);
+ }
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java Mon Nov 24 11:31:15 2014
@@ -39,7 +39,6 @@ public class LocalDistributionPackageImp
LocalDistributionPackageImporter localdistributionPackageImporter = new LocalDistributionPackageImporter(packageBuilder, eventFactory);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionPackage distributionPackage = mock(DistributionPackage.class);
- boolean success = localdistributionPackageImporter.importPackage(resourceResolver, distributionPackage);
- assertFalse(success);
+ localdistributionPackageImporter.importPackage(resourceResolver, distributionPackage);
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java Mon Nov 24 11:31:15 2014
@@ -41,8 +41,7 @@ public class RemoteDistributionPackageIm
authenticationProvider, endpoints, strategy.name());
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionPackage distributionPackage = mock(DistributionPackage.class);
- boolean success = remotedistributionPackageImporter.importPackage(resourceResolver, distributionPackage);
- assertTrue(success);
+ remotedistributionPackageImporter.importPackage(resourceResolver, distributionPackage);
}
}
}
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=1641370&r1=1641369&r2=1641370&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 Mon Nov 24 11:31:15 2014
@@ -50,7 +50,7 @@ public class SimpleDistributionQueueTest
when(pkg.getId()).thenReturn("id");
assertTrue(queue.add(pkg));
assertFalse(queue.isEmpty());
- queue.remove(pkg.getId());
+ assertNotNull(queue.remove(pkg.getId()));
assertTrue(queue.isEmpty());
DistributionQueueItemState status = queue.getStatus(pkg);
assertNotNull(status);
@@ -66,7 +66,7 @@ public class SimpleDistributionQueueTest
assertFalse(queue.isEmpty());
assertEquals(pkg, queue.getHead());
assertFalse(queue.isEmpty());
- queue.remove(pkg.getId());
+ assertNotNull(queue.remove(pkg.getId()));
assertTrue(queue.isEmpty());
DistributionQueueItemState status = queue.getStatus(pkg);
assertNotNull(status);
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java?rev=1641370&r1=1641369&r2=1641370&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java Mon Nov 24 11:31:15 2014
@@ -37,8 +37,8 @@ public class VoidDistributionPackageTest
@Test
public void testCreatedAndReadPackagesEquality() throws Exception {
DistributionRequest request = new DistributionRequest(DistributionRequestType.DELETE, "/abc");
- VoidDistributionPackage createdPackage = new VoidDistributionPackage(request);
long time = System.currentTimeMillis();
+ VoidDistributionPackage createdPackage = new VoidDistributionPackage(request);
VoidDistributionPackage readPackage = VoidDistributionPackage.fromStream(new ByteArrayInputStream(("DELETE:/abc:" + time + ":VOID").getBytes()));
assertEquals(createdPackage.getId(), readPackage.getId());
assertEquals(createdPackage.getType(), readPackage.getType());