SLING-2616 Enable tidy output from acl servlets
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1395846 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.java
index 4c0f868..8e87e7f 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractGetAclServlet.java
@@ -23,8 +23,8 @@
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.Map.Entry;
+import java.util.Set;
import javax.jcr.AccessDeniedException;
import javax.jcr.Item;
@@ -69,7 +69,21 @@
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
- acl.write(response.getWriter());
+ boolean isTidy = false;
+ final String[] selectors = request.getRequestPathInfo().getSelectors();
+ if (selectors != null && selectors.length > 0) {
+ for (final String level : selectors) {
+ if("tidy".equals(level)) {
+ isTidy = true;
+ }
+ }
+ }
+
+ if (isTidy) {
+ response.getWriter().append(acl.toString(2));
+ } else {
+ acl.write(response.getWriter());
+ }
} catch (AccessDeniedException ade) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
} catch (ResourceNotFoundException rnfe) {
diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
index 550c788..2b8b772 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
@@ -115,7 +115,10 @@
@Property (name="sling.servlet.methods",
value="GET"),
@Property (name="sling.servlet.selectors",
- value="acl"),
+ value={
+ "acl",
+ "tidy.acl"
+ }),
@Property (name="sling.servlet.extensions",
value="json")
})
diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java
index 583180f..23d0a30 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetEffectiveAclServlet.java
@@ -115,7 +115,10 @@
@Property (name="sling.servlet.methods",
value="GET"),
@Property (name="sling.servlet.selectors",
- value="eacl"),
+ value={
+ "eacl",
+ "tidy.eacl"
+ }),
@Property (name="sling.servlet.extensions",
value="json")
})