Author: mpetria
Date: Tue May 12 15:02:33 2015
New Revision: 1678968

URL: http://svn.apache.org/r1678968
Log:
Distribute entire rep:policy node on a change

Modified:
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java?rev=1678968&r1=1678967&r2=1678968&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
 Tue May 12 15:02:33 2015
@@ -111,13 +111,13 @@ public class VaultDistributionPackageBui
         packageRoots = SettingsUtils.removeEmptyEntries(packageRoots);
 
         ImportMode importMode = null;
-        if (importModeString != null) {
-            importMode = ImportMode.valueOf(importModeString);
+        if (importModeString != null && importModeString.trim().length() > 0) {
+            importMode = ImportMode.valueOf(importModeString.trim());
         }
 
         AccessControlHandling aclHandling = null;
-        if (aclHandlingString != null) {
-            aclHandling= AccessControlHandling.valueOf(aclHandlingString);
+        if (aclHandlingString != null && aclHandlingString.trim().length() > 
0) {
+            aclHandling= 
AccessControlHandling.valueOf(aclHandlingString.trim());
         }
         if ("filevlt".equals(type)) {
             packageBuilder = new ResourceSharedDistributionPackageBuilder(new 
FileVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, 
packageRoots));

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java?rev=1678968&r1=1678967&r2=1678968&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 Tue May 12 15:02:33 2015
@@ -28,6 +28,8 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.sling.distribution.DistributionRequest;
@@ -131,7 +133,7 @@ public abstract class AbstractJcrEventTr
         if (lastRequest == null || lastRequest.getRequestType() == null || 
!lastRequest.getRequestType().equals(request.getRequestType())) {
             requestList.add(request);
         } else {
-            List<String> allPaths = new ArrayList<String>();
+            Set<String> allPaths = new TreeSet<String>();
             allPaths.addAll(Arrays.asList(lastRequest.getPaths()));
             allPaths.addAll(Arrays.asList(request.getPaths()));
             lastRequest = new 
SimpleDistributionRequest(lastRequest.getRequestType(), allPaths.toArray(new 
String[0]));

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java?rev=1678968&r1=1678967&r2=1678968&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
 Tue May 12 15:02:33 2015
@@ -49,8 +49,17 @@ public class JcrEventDistributionTrigger
         String replicatingPath = getNodePathFromEvent(event);
         if (!isIgnoredPath(replicatingPath)) {
 
-            distributionRequest = new 
SimpleDistributionRequest(Event.NODE_REMOVED == event.getType() ?
-                    DistributionRequestType.DELETE : 
DistributionRequestType.ADD, replicatingPath);
+            if (replicatingPath.contains("/rep:policy/")) {
+                int idx = replicatingPath.indexOf("/rep:policy/");
+                replicatingPath = replicatingPath.substring(0, idx) + 
"/rep:policy";
+
+                distributionRequest = new 
SimpleDistributionRequest(DistributionRequestType.ADD, replicatingPath);
+            }
+            else {
+                distributionRequest = new 
SimpleDistributionRequest(Event.NODE_REMOVED == event.getType() ?
+                        DistributionRequestType.DELETE : 
DistributionRequestType.ADD, replicatingPath);
+            }
+
             log.info("distributing {}", distributionRequest);
 
         }


Reply via email to