Return-Path: Delivered-To: apmail-incubator-sling-commits-archive@locus.apache.org Received: (qmail 94781 invoked from network); 23 Dec 2008 15:42:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Dec 2008 15:42:29 -0000 Received: (qmail 25202 invoked by uid 500); 23 Dec 2008 15:42:28 -0000 Delivered-To: apmail-incubator-sling-commits-archive@incubator.apache.org Received: (qmail 25149 invoked by uid 500); 23 Dec 2008 15:42:28 -0000 Mailing-List: contact sling-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: sling-dev@incubator.apache.org Delivered-To: mailing list sling-commits@incubator.apache.org Received: (qmail 25140 invoked by uid 99); 23 Dec 2008 15:42:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Dec 2008 07:42:28 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Dec 2008 15:42:26 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6C8CF23888AF; Tue, 23 Dec 2008 07:42:05 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r729005 - in /incubator/sling/trunk: ./ launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JsonRenderingTest.java servlets/get/src/main/java/org/apache/sling/servlets/get/helpers/JsonResourceWriter.java Date: Tue, 23 Dec 2008 15:42:04 -0000 To: sling-commits@incubator.apache.org From: bdelacretaz@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20081223154205.6C8CF23888AF@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bdelacretaz Date: Tue Dec 23 07:42:04 2008 New Revision: 729005 URL: http://svn.apache.org/viewvc?rev=729005&view=rev Log: SLING-795 - do not recurse into synthetic resources when generating a JSON dump Modified: incubator/sling/trunk/ (props changed) incubator/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JsonRenderingTest.java incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/helpers/JsonResourceWriter.java Propchange: incubator/sling/trunk/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Tue Dec 23 07:42:04 2008 @@ -10,3 +10,4 @@ .project .classpath .externalToolBuilders +cachedir Modified: incubator/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JsonRenderingTest.java URL: http://svn.apache.org/viewvc/incubator/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JsonRenderingTest.java?rev=729005&r1=729004&r2=729005&view=diff ============================================================================== --- incubator/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JsonRenderingTest.java (original) +++ incubator/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JsonRenderingTest.java Tue Dec 23 07:42:04 2008 @@ -28,6 +28,7 @@ /** Test creating Nodes and rendering them in JSON */ public class JsonRenderingTest extends HttpTestBase { + private final String testPath = "/" + getClass().getSimpleName(); private String postUrl; private String testText; @@ -45,7 +46,7 @@ // create the test node, under a path that's specific to this class to // allow collisions - postUrl = HTTP_BASE_URL + "/" + getClass().getSimpleName() + "_" + postUrl = HTTP_BASE_URL + testPath + "_" + System.currentTimeMillis() + SlingPostConstants.DEFAULT_CREATE_SUFFIX; final Map props = new HashMap(); @@ -212,4 +213,16 @@ assertTrue("The .tidy selector should add at least 2 EOL chars to json output (delta=" + delta + ")", delta > min); } + + public void testRootNoRecursion() throws IOException { + final String json = getContent(HTTP_BASE_URL + "/.json", CONTENT_TYPE_JSON); + assertJavascript("rep:root", json, "out.print(data['jcr:primaryType'])"); + assertJavascript("undefined", json, "out.print(typeof data['jcr:system'])"); + } + + public void testRootWithRecursion() throws IOException { + final String json = getContent(HTTP_BASE_URL + "/.1.json", CONTENT_TYPE_JSON); + assertJavascript("rep:root", json, "out.print(data['jcr:primaryType'])"); + assertJavascript("rep:system", json, "out.print(data['jcr:system']['jcr:primaryType'])"); + } } \ No newline at end of file Modified: incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/helpers/JsonResourceWriter.java URL: http://svn.apache.org/viewvc/incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/helpers/JsonResourceWriter.java?rev=729005&r1=729004&r2=729005&view=diff ============================================================================== --- incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/helpers/JsonResourceWriter.java (original) +++ incubator/sling/trunk/servlets/get/src/main/java/org/apache/sling/servlets/get/helpers/JsonResourceWriter.java Tue Dec 23 07:42:04 2008 @@ -132,7 +132,7 @@ protected void dumpSingleResource(Resource n, JSONWriter w, int currentRecursionLevel, int maxRecursionLevels) throws JSONException { - if (recursionLevelActive(currentRecursionLevel, maxRecursionLevels)) { + if (recursionLevelActive(currentRecursionLevel, maxRecursionLevels) && !ResourceUtil.isSyntheticResource(n) ) { w.key(ResourceUtil.getName(n)); dump(n, w, currentRecursionLevel + 1, maxRecursionLevels); }