You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2020/04/22 05:24:10 UTC
[sling-org-apache-sling-engine] branch master updated: SLING-9378 -
When internalRedirect and sling:match maps are added,
filterPattern doesn't work
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-engine.git
The following commit(s) were added to refs/heads/master by this push:
new 06c326f SLING-9378 - When internalRedirect and sling:match maps are added, filterPattern doesn't work
new e91d094 Merge pull request #8 from ankitaagar/SLING-9378
06c326f is described below
commit 06c326fef3d62fff9490d69ca9e9d4ff0d3c5419
Author: ankitaag <an...@adobe.com>
AuthorDate: Thu Apr 16 19:22:48 2020 +0530
SLING-9378 - When internalRedirect and sling:match maps are added, filterPattern doesn't work
---
.../java/org/apache/sling/engine/impl/filter/FilterPredicate.java | 4 +++-
.../java/org/apache/sling/engine/impl/filter/AbstractFilterTest.java | 2 ++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sling/engine/impl/filter/FilterPredicate.java b/src/main/java/org/apache/sling/engine/impl/filter/FilterPredicate.java
index 6af6630..61afd96 100644
--- a/src/main/java/org/apache/sling/engine/impl/filter/FilterPredicate.java
+++ b/src/main/java/org/apache/sling/engine/impl/filter/FilterPredicate.java
@@ -131,11 +131,13 @@ public class FilterPredicate {
LOG.debug("starting filter test against {} request", req);
RequestPathInfo requestPathInfo = req.getRequestPathInfo();
String path = requestPathInfo.getResourcePath();
+ String uri = req.getPathInfo();
boolean select = anyElementMatches(methods, req.getMethod())
&& anyElementMatches(selectors, requestPathInfo.getSelectors())
&& anyElementMatches(extensions, requestPathInfo.getExtension())
&& anyResourceTypeMatches(resourceTypes, req)
- && patternMatches(pathRegex, path == null || path.isEmpty() ? "/" : path)
+ && (patternMatches(pathRegex, path == null || path.isEmpty() ? "/" : path)
+ || patternMatches(pathRegex, uri == null || uri.isEmpty() ? "/" : uri))
&& patternMatches(suffixRegex, requestPathInfo.getSuffix());
LOG.debug("selection of {} returned {}", this, select);
return select;
diff --git a/src/test/java/org/apache/sling/engine/impl/filter/AbstractFilterTest.java b/src/test/java/org/apache/sling/engine/impl/filter/AbstractFilterTest.java
index ec36ca0..fe83fec 100644
--- a/src/test/java/org/apache/sling/engine/impl/filter/AbstractFilterTest.java
+++ b/src/test/java/org/apache/sling/engine/impl/filter/AbstractFilterTest.java
@@ -99,6 +99,8 @@ public abstract class AbstractFilterTest {
will(returnValue(info));
allowing(req).getMethod();
will(returnValue(method));
+ allowing(req).getPathInfo();
+ will(returnValue(path));
}});
return req;
}