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);
}