SLING-1632 The JsonQueryServlet should support the tidy selector to provided pretty printed results
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@983310 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/JsonQueryServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/JsonQueryServlet.java
index 8f20100..9c9bf25 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/JsonQueryServlet.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/JsonQueryServlet.java
@@ -82,11 +82,23 @@
/** rep:exerpt */
private static final String REP_EXCERPT = "rep:excerpt()";
+ public static final String TIDY = "tidy";
+
private final JsonResourceWriter itemWriter;
public JsonQueryServlet() {
itemWriter = new JsonResourceWriter(null);
}
+
+ /** True if our request wants the "tidy" pretty-printed format */
+ protected boolean isTidy(SlingHttpServletRequest req) {
+ for(String selector : req.getRequestPathInfo().getSelectors()) {
+ if(TIDY.equals(selector)) {
+ return true;
+ }
+ }
+ return false;
+ }
@Override
protected void doGet(SlingHttpServletRequest req,
@@ -151,6 +163,8 @@
resp.setCharacterEncoding("UTF-8");
final JSONWriter w = new JSONWriter(resp.getWriter());
+ w.setTidy(isTidy(req));
+
w.array();
long count = -1;