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 2016/05/24 14:01:52 UTC
svn commit: r1745364 - in
/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution:
common/ packaging/ packaging/impl/importer/ queue/impl/ serialization/
serialization/impl/ servlet/
Author: tommaso
Date: Tue May 24 14:01:51 2016
New Revision: 1745364
URL: http://svn.apache.org/viewvc?rev=1745364&view=rev
Log:
SLING-5711 - adjusted some more javadocs
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.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/queue/impl/CachingDistributionQueue.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueDispatchingStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java Tue May 24 14:01:51 2016
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.sling.distribution.common;
/**
* Generic checked exception for distribution
*/
public class DistributionException extends Exception {
+
public DistributionException(Throwable e) {
super(e);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java Tue May 24 14:01:51 2016
@@ -28,13 +28,13 @@ import org.apache.sling.distribution.com
import org.apache.sling.distribution.serialization.DistributionPackage;
/**
- * 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 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 POST request on another Sling instance exposing already created packages (for remotely changed resources).
+ * A {@link DistributionPackageExporter) is responsible of exporting {@link DistributionPackage}s from a local or remote
+ * Sling instance.
+ * Such packages are usually imported by a {@link DistributionPackageImporter} or put inside
+ * {@link org.apache.sling.distribution.queue.DistributionQueue}s for others to consume them.
+ * Exporting a {@link DistributionPackage} means obtaining that package by e.g. directly creating it by bundling local
+ * Sling resources, retrieving it from a remote endpoint (by executing an HTTP POST request on another Sling
+ * instance exposing packages ina queue).
*/
@ConsumerType
public interface DistributionPackageExporter {
@@ -43,11 +43,12 @@ public interface DistributionPackageExpo
* Exports the {@link DistributionPackage}s built from the
* passed {@link org.apache.sling.distribution.DistributionRequest}.
*
- * @param resourceResolver - the resource resolver used to export the packages, for example a 'local' exporter
+ * @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
+ * @param distributionRequest the request containing the needed information for content to be exported
+ * @param packageProcessor a callback to process the exported package
*/
void exportPackages(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionRequest distributionRequest,
@Nonnull DistributionPackageProcessor packageProcessor) throws DistributionException;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java Tue May 24 14:01:51 2016
@@ -28,8 +28,9 @@ import org.apache.sling.distribution.ser
import org.apache.sling.distribution.serialization.DistributionPackageInfo;
/**
- * A {@link DistributionPackageImporter} is responsible for importing
- * {@link DistributionPackage}s into the resource tree.
+ * A {@link DistributionPackageImporter} is responsible for importing {@link DistributionPackage}s into either a local
+ * or remote Sling instance.
+ * Importing a {@link DistributionPackage} means persisting its stream into a Sling instance.
*/
@ConsumerType
public interface DistributionPackageImporter {
@@ -47,9 +48,9 @@ public interface DistributionPackageImpo
* Tries to convert an {@link java.io.InputStream} to a {@link DistributionPackage} and then imports it into the underlying system
*
* @param resourceResolver - the resource resolver used to read the package
- * @param stream the {@link InputStream} of the package to be converted and installed
- * @return a {@link DistributionPackageInfo} if the stream has been successfully converted and installed
- * @throws DistributionException when the stream cannot be read as a {@link DistributionPackage} and installed
+ * @param stream the {@link InputStream} of the package to be converted and imported
+ * @return a {@link DistributionPackageInfo} if the stream has been successfully converted and imported
+ * @throws DistributionException when the stream cannot be read as a {@link DistributionPackage} and imported
*/
@Nonnull
DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionException;
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=1745364&r1=1745363&r2=1745364&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 Tue May 24 14:01:51 2016
@@ -34,7 +34,6 @@ import org.slf4j.LoggerFactory;
* {@link org.apache.sling.distribution.packaging.DistributionPackageImporter} implementation which imports a
* {@link DistributionPackage} locally.
*/
-
public class LocalDistributionPackageImporter implements DistributionPackageImporter {
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -50,20 +49,19 @@ public class LocalDistributionPackageImp
this.packageBuilder = packageBuilder;
}
+ @Override
public void importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionException {
boolean success = packageBuilder.installPackage(resourceResolver, distributionPackage);
-
if (!success) {
log.warn("could not install distribution package {}", distributionPackage.getId());
}
}
+ @Override
@Nonnull
public DistributionPackageInfo importStream(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream stream) throws DistributionException {
- DistributionPackageInfo packageInfo = packageBuilder.installPackage(resourceResolver, stream);
-
- return packageInfo;
+ return packageBuilder.installPackage(resourceResolver, stream);
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java Tue May 24 14:01:51 2016
@@ -29,6 +29,9 @@ import javax.annotation.Nonnull;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+/**
+ * {@link DistributionQueueWrapper} that caches entries for 30s.
+ */
public class CachingDistributionQueue extends DistributionQueueWrapper {
// cache status for 30 sec as it is expensive to count items
private static final int EXPIRY_QUEUE_CACHE = 30 * 1000;
@@ -42,7 +45,6 @@ public class CachingDistributionQueue ex
this.cacheKey = cacheKey;
}
-
@Nonnull
@Override
public DistributionQueueStatus getStatus() {
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueDispatchingStrategy.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueDispatchingStrategy.java Tue May 24 14:01:51 2016
@@ -51,7 +51,6 @@ public interface DistributionQueueDispat
*/
Iterable<DistributionQueueItemStatus> add(@Nonnull DistributionPackage distributionPackage, @Nonnull DistributionQueueProvider queueProvider) throws DistributionException;
-
/**
* Returns the queue names available for this strategy.
*
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java Tue May 24 14:01:51 2016
@@ -21,13 +21,15 @@ package org.apache.sling.distribution.se
import java.io.InputStream;
import java.io.OutputStream;
+import aQute.bnd.annotation.ConsumerType;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
/**
- * A content serializer used to extract and import distribution packages.
+ * A content serializer used to extract and import {@link DistributionPackage}s.
*/
+@ConsumerType
public interface DistributionContentSerializer {
/**
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java Tue May 24 14:01:51 2016
@@ -18,16 +18,21 @@
*/
package org.apache.sling.distribution.serialization;
+import javax.annotation.CheckForNull;
+
+import aQute.bnd.annotation.ProviderType;
+
/**
- * A helper interface to allow finding registered {@link org.apache.sling.distribution.serialization.DistributionPackageBuilder}s
+ * A helper interface to allow finding registered {@link DistributionPackageBuilder}s
*/
+@ProviderType
public interface DistributionPackageBuilderProvider {
/**
* Finds a package builder that has the specified package type.
* @param type the package type
- * @return a {@link org.apache.sling.distribution.serialization.DistributionPackageBuilder} if one is already registered for that type
- * or null otherwise
+ * @return a {@link DistributionPackageBuilder} if one is already registered for that type or null otherwise
*/
+ @CheckForNull
DistributionPackageBuilder getPackageBuilder(String type);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java Tue May 24 14:01:51 2016
@@ -19,14 +19,6 @@
package org.apache.sling.distribution.serialization.impl;
-import org.apache.commons.io.IOUtils;
-import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.distribution.DistributionRequest;
-import org.apache.sling.distribution.common.DistributionException;
-import org.apache.sling.distribution.serialization.DistributionContentSerializer;
-import org.apache.sling.distribution.serialization.DistributionPackage;
-import org.apache.sling.distribution.serialization.impl.vlt.VltUtils;
-
import javax.annotation.Nonnull;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -35,8 +27,18 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import org.apache.commons.io.IOUtils;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.DistributionRequest;
+import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.serialization.DistributionContentSerializer;
+import org.apache.sling.distribution.serialization.DistributionPackage;
+import org.apache.sling.distribution.serialization.impl.vlt.VltUtils;
-public class FileDistributionPackageBuilder extends AbstractDistributionPackageBuilder {
+/**
+ * A {@link org.apache.sling.distribution.serialization.DistributionPackageBuilder} based on files.
+ */
+public class FileDistributionPackageBuilder extends AbstractDistributionPackageBuilder {
private final File tempDirectory;
private final DistributionContentSerializer distributionContentSerializer;
@@ -45,7 +47,6 @@ public class FileDistributionPackageBuil
super(type);
this.distributionContentSerializer = distributionContentSerializer;
this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
-
}
@Override
@@ -54,7 +55,7 @@ public class FileDistributionPackageBuil
OutputStream outputStream = null;
try {
- File file = File.createTempFile("distrpck-create-" + System.nanoTime(), "." + getType(), tempDirectory);
+ File file = File.createTempFile("distrpck-create-" + System.nanoTime(), "." + getType(), tempDirectory);
outputStream = new BufferedOutputStream(new FileOutputStream(file));
distributionContentSerializer.exportToStream(resourceResolver, request, outputStream);
@@ -94,7 +95,7 @@ public class FileDistributionPackageBuil
}
@Override
- protected boolean installPackageInternal(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream inputStream)
+ protected boolean installPackageInternal(@Nonnull ResourceResolver resourceResolver, @Nonnull InputStream inputStream)
throws DistributionException {
try {
distributionContentSerializer.importFromStream(resourceResolver, inputStream);
@@ -105,7 +106,6 @@ public class FileDistributionPackageBuil
}
}
-
@Override
protected DistributionPackage getPackageInternal(@Nonnull ResourceResolver resourceResolver, @Nonnull String id) {
return new FileDistributionPackage(new File(id), getType());
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java?rev=1745364&r1=1745363&r2=1745364&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java Tue May 24 14:01:51 2016
@@ -50,7 +50,6 @@ public class DistributionPackageExporter
private final Logger log = LoggerFactory.getLogger(getClass());
-
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {