Author: cziegeler
Date: Fri Dec  7 03:32:31 2007
New Revision: 602072

URL: http://svn.apache.org/viewvc?rev=602072&view=rev
Log:
Readding resource manager to taglib.

Modified:
    
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTEI.java
    
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTag.java
    
incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/taglib.tld
    
incubator/sling/trunk/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/util/TagUtil.java
    
incubator/sling/trunk/sling/sample/src/main/scripts/sling/scripts/org/apache/sling/sample/html.jsp

Modified: 
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTEI.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTEI.java?rev=602072&r1=602071&r2=602072&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTEI.java
 (original)
+++ 
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTEI.java
 Fri Dec  7 03:32:31 2007
@@ -29,6 +29,7 @@
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceManager;
 import org.apache.sling.api.services.ServiceLocator;
 
 /**
@@ -79,12 +80,20 @@
      */
     public static final String ATTR_SERVICE_LOCATOR_NAME = 
"serviceLocatorName";
 
+    /**
+     * The name of the tag attribute used to define the name of the
+     * ResourceManager scripting variable (value is "resourceManagerName").
+     */
+    public static final String ATTR_RESOURCE_MANAGER_NAME = 
"resourceManagerName";
+
     private static final String RENDER_REQUEST_CLASS = 
SlingHttpServletRequest.class.getName();
 
     private static final String RENDER_RESPONSE_CLASS = 
SlingHttpServletResponse.class.getName();
 
     private static final String RESOURCE_CLASS = Resource.class.getName();
 
+    private static final String RESOURCE_MANAGER_CLASS = 
ResourceManager.class.getName();
+
     private static final String NODE_CLASS = Node.class.getName();
 
     private static final String SERVICE_LOCATOR_CLASS = 
ServiceLocator.class.getName();
@@ -112,6 +121,9 @@
             null);
         addVar(varInfos, data, ATTR_MAPPED_OBJECT_NAME,
             DEFAULT_MAPPED_OBJECT_NAME, mappedObjectClass);
+
+        addVar(varInfos, data, ATTR_RESOURCE_MANAGER_NAME,
+            DEFAULT_RESOURCE_MANAGER_NAME, RESOURCE_MANAGER_CLASS);
 
         addVar(varInfos, data, ATTR_SERVICE_LOCATOR_NAME,
             DEFAULT_SERVICE_LOCATOR_NAME, SERVICE_LOCATOR_CLASS);

Modified: 
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTag.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTag.java?rev=602072&r1=602071&r2=602072&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTag.java
 (original)
+++ 
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTag.java
 Fri Dec  7 03:32:31 2007
@@ -22,6 +22,7 @@
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceManager;
 import org.apache.sling.scripting.jsp.util.TagUtil;
 
 /**
@@ -65,6 +66,12 @@
 
     /**
      * Default name for the scripting variable referencing the current
+     * <code>ResourceManager</code> (value is "resourceManager").
+     */
+    public static final String DEFAULT_RESOURCE_MANAGER_NAME = 
"resourceManager";
+
+    /**
+     * Default name for the scripting variable referencing the current
      * <code>ServiceLocator</code> (value is "serviceLocator").
      */
     public static final String DEFAULT_SERVICE_LOCATOR_NAME = "serviceLocator";
@@ -81,6 +88,8 @@
 
     private String mappedObjectClass = null;
 
+    private String resourceManagerName = DEFAULT_RESOURCE_MANAGER_NAME;
+
     private String serviceLocatorName = DEFAULT_SERVICE_LOCATOR_NAME;
 
     /**
@@ -96,6 +105,7 @@
      * <li><code>SlingHttpServletResponse</code>
      * <li>current <code>Resource</code>
      * <li>current <code>Node</code> (if resource is a NodeProvider)
+     * <li>current <code>ResourceManager</code>
      * <li>current <code>ServiceLocator</code>
      * </ul>
      *
@@ -106,10 +116,12 @@
         SlingHttpServletRequest req = TagUtil.getRequest(pageContext);
         SlingHttpServletResponse res = TagUtil.getResponse(pageContext);
         Resource resource = req.getResource();
+        ResourceManager resourceManager = 
TagUtil.getResourceManager(pageContext);
 
         pageContext.setAttribute(requestName, req);
         pageContext.setAttribute(responseName, res);
         pageContext.setAttribute(resourceName, resource);
+        pageContext.setAttribute(resourceManagerName, resourceManager);
         pageContext.setAttribute(serviceLocatorName, req.getServiceLocator());
 
         Node node = resource.adaptTo(Node.class);
@@ -152,6 +164,10 @@
 
     public void setMappedObjectClass(String name) {
         this.mappedObjectClass = name;
+    }
+
+    public void setResourceManagerName(String name) {
+        this.resourceManagerName = name;
     }
 
     public void setServiceLocatorName(String name) {

Modified: 
incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/taglib.tld
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/taglib.tld?rev=602072&r1=602071&r2=602072&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/taglib.tld
 (original)
+++ 
incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/taglib.tld
 Fri Dec  7 03:32:31 2007
@@ -129,6 +129,11 @@
             <rtexprvalue>false</rtexprvalue>
         </attribute>
         <attribute>
+            <name>resourceManagerName</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
             <name>serviceLocatorName</name>
             <required>false</required>
             <rtexprvalue>false</rtexprvalue>

Modified: 
incubator/sling/trunk/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/util/TagUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/util/TagUtil.java?rev=602072&r1=602071&r2=602072&view=diff
==============================================================================
--- 
incubator/sling/trunk/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/util/TagUtil.java
 (original)
+++ 
incubator/sling/trunk/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/util/TagUtil.java
 Fri Dec  7 03:32:31 2007
@@ -25,6 +25,7 @@
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.ResourceManager;
 import org.slf4j.Logger;
 
 /**
@@ -110,5 +111,14 @@
         }
 
         return (SlingHttpServletResponse) req;
+    }
+
+    public static ResourceManager getResourceManager(PageContext pageContext) {
+        try {
+            SlingHttpServletRequest request = getRequest(pageContext);
+            return (ResourceManager) request.getResourceResolver();
+        } catch (ClassCastException cce) {
+            throw new IllegalStateException("resource resolver wrong class");
+        }
     }
 }

Modified: 
incubator/sling/trunk/sling/sample/src/main/scripts/sling/scripts/org/apache/sling/sample/html.jsp
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/sample/src/main/scripts/sling/scripts/org/apache/sling/sample/html.jsp?rev=602072&r1=602071&r2=602072&view=diff
==============================================================================
--- 
incubator/sling/trunk/sling/sample/src/main/scripts/sling/scripts/org/apache/sling/sample/html.jsp
 (original)
+++ 
incubator/sling/trunk/sling/sample/src/main/scripts/sling/scripts/org/apache/sling/sample/html.jsp
 Fri Dec  7 03:32:31 2007
@@ -29,7 +29,7 @@
 <p><%= sampleContent.getText() %></p>
 <table border="1" cellpadding="3" cellspacing="0">
 <%
-       Iterator<Resource> ci = 
slingRequest.getResourceResolver().listChildren(resource);
+       Iterator<Resource> ci = resourceManager.listChildren(resource);
        while (ci.hasNext()) {
                Resource child = ci.next();
                %><tr><td><sling:include resource="<%= child %>" /></td></tr><%


Reply via email to