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/05/13 11:57:24 UTC

svn commit: r1594178 - in /sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication: agent/ rule/impl/ serialization/impl/ transport/impl/

Author: tommaso
Date: Tue May 13 09:57:23 2014
New Revision: 1594178

URL: http://svn.apache.org/r1594178
Log:
SLING-3553 - fixed encoding and mutable arrays related bugs

Modified:
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationAgentConfiguration.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/impl/ReplicateOnQueueEventRule.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackage.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackageBuilder.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/HttpTransportHandler.java

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationAgentConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationAgentConfiguration.java?rev=1594178&r1=1594177&r2=1594178&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationAgentConfiguration.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationAgentConfiguration.java Tue May 13 09:57:23 2014
@@ -18,9 +18,8 @@
  */
 package org.apache.sling.replication.agent;
 
-import java.util.Arrays;
-import java.util.Dictionary;
-import java.util.Enumeration;
+import java.util.*;
+
 import org.apache.sling.commons.osgi.PropertiesUtil;
 
 /**
@@ -51,7 +50,7 @@ public class ReplicationAgentConfigurati
 
     public static final String USE_AGGREGATE_PATHS = "useAggregatePaths";
 
-    public static final String[] COMPONENTS = {TRANSPORT, PACKAGING};
+    public static final Collection<String> COMPONENTS = Collections.unmodifiableList(Arrays.asList(TRANSPORT, PACKAGING));
 
     public static final String RUNMODES = "runModes";
 

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/impl/ReplicateOnQueueEventRule.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/impl/ReplicateOnQueueEventRule.java?rev=1594178&r1=1594177&r2=1594178&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/impl/ReplicateOnQueueEventRule.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/impl/ReplicateOnQueueEventRule.java Tue May 13 09:57:23 2014
@@ -237,6 +237,8 @@ public class ReplicateOnQueueEventRule i
                         log.info("request finished");
                     }
                 }
+            } catch (RuntimeException e) {
+                throw e;
             } catch (Exception e) {
                 log.error("cannot execute event based replication");
             }

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java?rev=1594178&r1=1594177&r2=1594178&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java Tue May 13 09:57:23 2014
@@ -22,6 +22,7 @@ import java.io.BufferedInputStream;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.Charset;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import org.apache.sling.replication.communication.ReplicationActionType;
@@ -70,7 +71,7 @@ public abstract class AbstractReplicatio
             byte[] buffer = new byte[6];
             int bytesRead = stream.read(buffer, 0, 6);
             stream.reset();
-            String s = new String(buffer);
+            String s = new String(buffer, "UTF-8");
             if (log.isInfoEnabled()) {
                 log.info("read {} bytes as {}", bytesRead, s);
             }
@@ -116,7 +117,7 @@ public abstract class AbstractReplicatio
     public ReplicationPackage getPackage(String id) {
         ReplicationPackage replicationPackage = null;
         try {
-            replicationPackage = VoidReplicationPackage.fromStream(new ByteArrayInputStream(id.getBytes()));
+            replicationPackage = VoidReplicationPackage.fromStream(new ByteArrayInputStream(id.getBytes("UTF-8")));
         }
         catch (IOException ex){
             // not a void package

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackage.java?rev=1594178&r1=1594177&r2=1594178&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackage.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackage.java Tue May 13 09:57:23 2014
@@ -21,6 +21,7 @@ package org.apache.sling.replication.ser
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.nio.charset.Charset;
 import java.util.Arrays;
 import org.apache.commons.io.IOUtils;
@@ -91,12 +92,15 @@ public class VoidReplicationPackage impl
     }
 
     public long getLength() {
-        return id.getBytes().length;
+        try {
+            return id.getBytes("UTF-8").length;
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException("Unsupported UTF-8 encoding");
+        }
     }
 
-
     public InputStream createInputStream() throws IOException {
-        return new ByteArrayInputStream(id.getBytes());
+        return new ByteArrayInputStream(id.getBytes("UTF-8"));
     }
 
     public String getId() {

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackageBuilder.java?rev=1594178&r1=1594177&r2=1594178&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackageBuilder.java Tue May 13 09:57:23 2014
@@ -51,7 +51,7 @@ public class VoidReplicationPackageBuild
 
     public ReplicationPackage getPackage(String id) {
         try {
-            return VoidReplicationPackage.fromStream(new ByteArrayInputStream(id.getBytes()));
+            return VoidReplicationPackage.fromStream(new ByteArrayInputStream(id.getBytes("UTF-8")));
         }
         catch (IOException ex){
             return null;

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/HttpTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/HttpTransportHandler.java?rev=1594178&r1=1594177&r2=1594178&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/HttpTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/HttpTransportHandler.java Tue May 13 09:57:23 2014
@@ -159,7 +159,7 @@ public class HttpTransportHandler extend
         try{
             if (useCustomBody) {
                 String body = customBody == null ? "" : customBody;
-                inputStream = new ByteArrayInputStream(body.getBytes());
+                inputStream = new ByteArrayInputStream(body.getBytes("UTF-8"));
             }
             else {
                 inputStream = replicationPackage.createInputStream();