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>


Reply via email to