incubator-sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fmesc...@apache.org
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 GMT
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 = "<unset>";
+
+    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();



Mime
View raw message