Author: fmeschbe
Date: Mon Dec  3 06:30:31 2007
New Revision: 600549

URL: http://svn.apache.org/viewvc?rev=600549&view=rev
Log:
SLING-109 Support Resource adapter

Modified:
    
incubator/sling/trunk/scripting/jsp-taglib/src/main/java/org/apache/sling/scripting/jsp/taglib/DefineObjectsTag.java

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=600549&r1=600548&r2=600549&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
 Mon Dec  3 06:30:31 2007
@@ -16,12 +16,11 @@
  */
 package org.apache.sling.scripting.jsp.taglib;
 
+import javax.jcr.Node;
 import javax.servlet.jsp.tagext.TagSupport;
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.api.resource.NodeProvider;
-import org.apache.sling.api.resource.ObjectProvider;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceManager;
 import org.apache.sling.scripting.jsp.util.TagUtil;
@@ -118,7 +117,7 @@
      * <li>current <code>ResourcManager</code>
      * <li>current <code>ServiceLocator</code>
      * </ul>
-     *
+     * 
      * @return always [EMAIL PROTECTED] #EVAL_PAGE}.
      */
     public int doEndTag() {
@@ -132,20 +131,19 @@
         pageContext.setAttribute(responseName, res);
         pageContext.setAttribute(resourceName, resource);
         pageContext.setAttribute(resourceManagerName, resourceManager);
-        pageContext.setAttribute(resourceManagerClass,
-            resourceManager.getClass().getName());
         pageContext.setAttribute(serviceLocatorName, req.getServiceLocator());
 
-        if (resource instanceof NodeProvider) {
-            pageContext.setAttribute(nodeName,
-                ((NodeProvider) resource).getNode());
+        Node node = resource.adaptTo(Node.class);
+        if (node != null) {
+            pageContext.setAttribute(nodeName, node);
         }
 
-        if (mappedObjectClass != null && resource instanceof ObjectProvider) {
-            Object mappedObject = ((ObjectProvider) resource).getObject();
-            pageContext.setAttribute(mappedObjectName, mappedObject);
-            pageContext.setAttribute(mappedObjectClass,
-                mappedObject.getClass().getName());
+        // only access the mappedObject if the class is set
+        if (mappedObjectClass != null) {
+            Object mappedObject = resource.adaptTo(Object.class);
+            if (mappedObject != null) {
+                pageContext.setAttribute(mappedObjectName, mappedObject);
+            }
         }
 
         return EVAL_PAGE;


Reply via email to