This is an automated email from the ASF dual-hosted git repository.

tmaret pushed a commit to branch SLING-10088-fix
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-core.git

commit 1c7560cf5b88b9c7a1f8b024832b88cdfd201873
Author: tmaret <[email protected]>
AuthorDate: Sun Jan 31 03:43:21 2021 +0100

    SLING-10088 - do not escape the root slash
---
 .../distribution/serialization/impl/vlt/VltUtils.java | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
 
b/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
index 0586cfc..b18e62d 100644
--- 
a/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
+++ 
b/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
@@ -90,7 +90,7 @@ public class VltUtils {
             boolean deep = distributionRequest.isDeep(path);
             PathFilterSet nodeFilterSet = new PathFilterSet(path);
             if (!deep) {
-                nodeFilterSet.addInclude(new 
DefaultPathFilter(Pattern.quote(path)));
+                nodeFilterSet.addInclude(new DefaultPathFilter(quote(path)));
             }
             initFilterSet(nodeFilterSet, nodeFilters, patterns);
 
@@ -101,6 +101,8 @@ public class VltUtils {
             filter.add(nodeFilterSet, propertyFilterSet);
         }
 
+        log.info("filter: {}", filter);
+
         return filter;
     }
 
@@ -447,4 +449,19 @@ public class VltUtils {
 
         return result;
     }
+
+    private static String quote(String path) {
+
+        // See SLING-10088, JCRVLT-500
+
+        if (path == null) {
+            return null;
+        } else if (path.startsWith("/")) {
+            return "/" + Pattern.quote(path.substring(1));
+        } else {
+            return Pattern.quote(path);
+        }
+
+    }
+
 }

Reply via email to