Author: tommaso Date: Mon Aug 11 14:21:54 2014 New Revision: 1617292 URL: http://svn.apache.org/r1617292 Log: SLING-3833 - fixed agent exporter offering null package, minor fixes
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/exporter/AgentReplicationPackageExporter.java sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackage.java sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java sling/trunk/contrib/extensions/replication/it/pom.xml Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/exporter/AgentReplicationPackageExporter.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/exporter/AgentReplicationPackageExporter.java?rev=1617292&r1=1617291&r2=1617292&view=diff ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/exporter/AgentReplicationPackageExporter.java (original) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/exporter/AgentReplicationPackageExporter.java Mon Aug 11 14:21:54 2014 @@ -77,9 +77,11 @@ public class AgentReplicationPackageExpo if (info != null) { queue.removeHead(); replicationPackage = replicationPackageBuilder.getPackage(info.getId()); + if (replicationPackage != null) { + result.add(replicationPackage); + } } - result.add(replicationPackage); } catch (Exception ex) { if (log.isErrorEnabled()) { log.error("Error exporting package", ex); Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackage.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackage.java?rev=1617292&r1=1617291&r2=1617292&view=diff ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackage.java (original) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackage.java Mon Aug 11 14:21:54 2014 @@ -27,6 +27,7 @@ import java.util.List; import org.apache.jackrabbit.vault.fs.api.PathFilterSet; import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter; +import org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter; import org.apache.jackrabbit.vault.fs.config.MetaInf; import org.apache.jackrabbit.vault.packaging.VaultPackage; import org.apache.sling.replication.communication.ReplicationActionType; @@ -53,12 +54,13 @@ public class FileVaultReplicationPackage String[] paths = new String[0]; if (metaInf != null) { WorkspaceFilter filter = metaInf.getFilter(); - if (filter != null) { - List<PathFilterSet> filterSets = filter.getFilterSets(); - paths = new String[filterSets.size()]; - for (int i = 0; i < paths.length; i++) { - paths[i] = filterSets.get(i).getRoot(); - } + if (filter == null) { + filter = new DefaultWorkspaceFilter(); + } + List<PathFilterSet> filterSets = filter.getFilterSets(); + paths = new String[filterSets.size()]; + for (int i = 0; i < paths.length; i++) { + paths[i] = filterSets.get(i).getRoot(); } } this.paths = paths; Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java?rev=1617292&r1=1617291&r2=1617292&view=diff ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java (original) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java Mon Aug 11 14:21:54 2014 @@ -18,6 +18,12 @@ */ package org.apache.sling.replication.servlet; +import javax.servlet.Servlet; +import javax.servlet.ServletException; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; + import org.apache.commons.io.IOUtils; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Properties; @@ -27,22 +33,12 @@ import org.apache.http.entity.ContentTyp import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingAllMethodsServlet; -import org.apache.sling.replication.agent.ReplicationAgent; -import org.apache.sling.replication.communication.ReplicationHeader; -import org.apache.sling.replication.communication.ReplicationParameter; import org.apache.sling.replication.resources.ReplicationConstants; import org.apache.sling.replication.serialization.ReplicationPackage; import org.apache.sling.replication.serialization.ReplicationPackageExporter; -import org.apache.sling.replication.serialization.ReplicationPackageImporter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.Servlet; -import javax.servlet.ServletException; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - /** * Servlet to handle reception of replication content. */ @@ -69,13 +65,14 @@ public class ReplicationPackageExporterS response.setContentType(ContentType.APPLICATION_OCTET_STREAM.toString()); - try { // get first item List<ReplicationPackage> replicationPackages = replicationPackageExporter.exportPackage(null); if (replicationPackages.size() > 0) { - log.info("{} package(s) available for fetching, the first will be delivered", replicationPackages.size()); + if (log.isInfoEnabled()) { + log.info("{} package(s) available for fetching, the first will be delivered", replicationPackages.size()); + } ReplicationPackage replicationPackage = replicationPackages.get(0); if (replicationPackage != null) { @@ -84,8 +81,7 @@ public class ReplicationPackageExporterS try { inputStream = replicationPackage.createInputStream(); bytesCopied = IOUtils.copy(inputStream, response.getOutputStream()); - } - finally { + } finally { IOUtils.closeQuietly(inputStream); } @@ -94,20 +90,33 @@ public class ReplicationPackageExporterS // everything ok response.setStatus(200); - log.info("{} bytes written into the response", bytesCopied); + if (log.isInfoEnabled()) { + log.info("{} bytes written into the response", bytesCopied); + } + success = true; } - } else { + else { + if (log.isWarnEnabled()) { + log.warn("fetched a null package"); + } + } + } else { response.setStatus(204); - log.info("nothing to fetch"); + if (log.isInfoEnabled()) { + log.info("nothing to fetch"); + } } } catch (Exception e) { response.setStatus(503); - log.error("error while reverse replicating from agent", e); - } - finally { + if (log.isErrorEnabled()) { + log.error("error while reverse replicating from agent", e); + } + } finally { final long end = System.currentTimeMillis(); - log.info("Processed replication export request in {}ms: : {}", new Object[]{end - start, success}); + if (log.isInfoEnabled()) { + log.info("Processed replication export request in {}ms: : {}", new Object[]{end - start, success}); + } } } Modified: sling/trunk/contrib/extensions/replication/it/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/it/pom.xml?rev=1617292&r1=1617291&r2=1617292&view=diff ============================================================================== --- sling/trunk/contrib/extensions/replication/it/pom.xml (original) +++ sling/trunk/contrib/extensions/replication/it/pom.xml Mon Aug 11 14:21:54 2014 @@ -332,7 +332,7 @@ <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.launchpad</artifactId> <classifier>standalone</classifier> - <version>7-SNAPSHOT</version> + <version>6</version> </dependency> <dependency> <groupId>org.slf4j</groupId>