You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by je...@apache.org on 2019/09/04 15:11:12 UTC
[sling-whiteboard] 01/02: service selection
This is an automated email from the ASF dual-hosted git repository.
jeb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
commit 30bd8b5c613fd9ad8e867ad22bf5bf16fec53d44
Author: JE Bailey <je...@apache.org>
AuthorDate: Thu Aug 29 08:17:11 2019 -0400
service selection
---
.../apache/sling/transformer/TransformationContext.java | 2 +-
.../org/apache/sling/transformer/TransformationStep.java | 9 +++++++++
.../apache/sling/transformer/impl/NonceTransformer.java | 2 +-
.../transformer/impl/TransformationContextImpl.java | 2 +-
.../transformer/impl/TransformationManagerImpl.java | 16 ++++++++++++++--
5 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java b/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java
index 245517d..621b09c 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java
@@ -39,7 +39,7 @@ public interface TransformationContext {
Map<String, Object> getState();
- void next(HtmlElement... elements);
+ void doNext(HtmlElement... elements);
Stream<HtmlElement> getElements();
diff --git a/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java b/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java
index d343ba5..3f2f565 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java
@@ -18,8 +18,17 @@ package org.apache.sling.transformer;
import org.apache.sling.commons.html.HtmlElement;
+/**
+ * Defines the service that will be used to modify the html as it's passed back
+ *
+ */
public interface TransformationStep {
+ /**
+ * Called at the beginning of the filter once the steps for a request are identified
+ *
+ * @param context
+ */
default void init(TransformationContext context) {
}
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java b/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java
index b5be4d1..a69728a 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java
@@ -46,7 +46,7 @@ public class NonceTransformer implements TransformationStep {
}
}
- context.next(element);
+ context.doNext(element);
}
}
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java
index 601348b..8676213 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java
@@ -61,7 +61,7 @@ public class TransformationContextImpl implements TransformationContext {
* the accept method of the consumer so that they may be passed on to the next
* process.
*/
- public void next(HtmlElement... elements) {
+ public void doNext(HtmlElement... elements) {
if (reset) {
list.clear();
reset = false;
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java
index 6d9970d..144c60e 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java
@@ -17,6 +17,7 @@
package org.apache.sling.transformer.impl;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -61,9 +62,20 @@ public class TransformationManagerImpl implements TransformationManager {
}
private boolean doStep(Map<String, Object> properties, SlingHttpServletRequest request) {
- properties.keySet().forEach(key -> {
+ Iterator<String> it = properties.keySet().iterator();
+ while (it.hasNext()) {
+ String key = it.next();
+ switch (key) {
+ case "path":
+ String value = (String) properties.get(key);
+ if (!request.getRequestURI().matches(value)) {
+ return false;
+ }
+ break;
+ default:
+ }
- });
+ }
return true;
}