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;