Return-Path: Delivered-To: apmail-incubator-sling-commits-archive@locus.apache.org Received: (qmail 49622 invoked from network); 26 Sep 2008 12:37:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Sep 2008 12:37:20 -0000 Received: (qmail 75033 invoked by uid 500); 26 Sep 2008 12:37:19 -0000 Delivered-To: apmail-incubator-sling-commits-archive@incubator.apache.org Received: (qmail 74987 invoked by uid 500); 26 Sep 2008 12:37:18 -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 74978 invoked by uid 99); 26 Sep 2008 12:37:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Sep 2008 05:37:18 -0700 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; Fri, 26 Sep 2008 12:36:26 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 44E86238898F; Fri, 26 Sep 2008 05:36:30 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r699299 - /incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java Date: Fri, 26 Sep 2008 12:36:29 -0000 To: sling-commits@incubator.apache.org From: fmeschbe@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080926123630.44E86238898F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: fmeschbe Date: Fri Sep 26 05:36:29 2008 New Revision: 699299 URL: http://svn.apache.org/viewvc?rev=699299&view=rev Log: SLING-645 Use JcrResourceUtil.getResourceSuperType to resolve any super type of star resources. Modified: incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java Modified: incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java?rev=699299&r1=699298&r2=699299&view=diff ============================================================================== --- incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java (original) +++ incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/starresource/StarResource.java Fri Sep 26 05:36:29 2008 @@ -28,6 +28,7 @@ import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.SyntheticResource; import org.apache.sling.jcr.resource.JcrResourceTypeProvider; +import org.apache.sling.jcr.resource.JcrResourceUtil; /** Used to provide the equivalent of an empty Node for GET requests * to *.something (SLING-344) @@ -36,6 +37,10 @@ final static String SLASH_STAR = "/*"; public final static String DEFAULT_RESOURCE_TYPE = "sling:syntheticStarResource"; + + private static final String UNSET_RESOURCE_SUPER_TYPE = ""; + + private String resourceSuperType; @SuppressWarnings("serial") static class SyntheticStarResourceException extends SlingException { @@ -81,6 +86,8 @@ resourceType = DEFAULT_RESOURCE_TYPE; } setResourceType(resourceType); + + resourceSuperType = UNSET_RESOURCE_SUPER_TYPE; } /** adaptTo(Node) returns a Fake node, that returns empty values @@ -96,6 +103,17 @@ return null; } + /** + * Calls {@link JcrResourceUtil#getResourceSuperType(Resource)} method + * to dynamically resolve the resource super type of this star resource. + */ + public String getResourceSuperType() { + if (resourceSuperType == UNSET_RESOURCE_SUPER_TYPE) { + resourceSuperType = JcrResourceUtil.getResourceSuperType(this); + } + return resourceSuperType; + } + /** Get our ResourceMetadata for given path */ static ResourceMetadata getResourceMetadata(String path) { ResourceMetadata result = new ResourceMetadata();