Added: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletRequestScopeMap.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletRequestScopeMap.java?rev=405486&view=auto
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletRequestScopeMap.java
 (added)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletRequestScopeMap.java
 Tue May  9 10:55:29 2006
@@ -0,0 +1,181 @@
+/*
+ * $Id$
+ *
+ * Copyright 1999-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tiles.context.servlet;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.servlet.ServletRequest;
+import org.apache.tiles.context.MapEntry;
+
+
+/**
+ * <p>Private implementation of <code>Map</code> for servlet request
+ * attributes.</p>
+ *
+ * @version $Revision$ $Date$
+ */
+
+final class ServletRequestScopeMap implements Map {
+
+
+    public ServletRequestScopeMap(ServletRequest request) {
+        this.request = request;
+    }
+
+
+    private ServletRequest request = null;
+
+
+    public void clear() {
+        Iterator keys = keySet().iterator();
+        while (keys.hasNext()) {
+            request.removeAttribute((String) keys.next());
+        }
+    }
+
+
+    public boolean containsKey(Object key) {
+        return (request.getAttribute(key(key)) != null);
+    }
+
+
+    public boolean containsValue(Object value) {
+        if (value == null) {
+            return (false);
+        }
+        Enumeration keys = request.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            Object next = request.getAttribute((String) keys.nextElement());
+            if (next == value) {
+                return (true);
+            }
+        }
+        return (false);
+    }
+
+
+    public Set entrySet() {
+        Set set = new HashSet();
+        Enumeration keys = request.getAttributeNames();
+        String key;
+        while (keys.hasMoreElements()) {
+            key = (String) keys.nextElement();
+            set.add(new MapEntry(key, request.getAttribute(key), true));
+        }
+        return (set);
+    }
+
+
+    public boolean equals(Object o) {
+        return (request.equals(o));
+    }
+
+
+    public Object get(Object key) {
+        return (request.getAttribute(key(key)));
+    }
+
+
+    public int hashCode() {
+        return (request.hashCode());
+    }
+
+
+    public boolean isEmpty() {
+        return (size() < 1);
+    }
+
+
+    public Set keySet() {
+        Set set = new HashSet();
+        Enumeration keys = request.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            set.add(keys.nextElement());
+        }
+        return (set);
+    }
+
+
+    public Object put(Object key, Object value) {
+        if (value == null) {
+            return (remove(key));
+        }
+        String skey = key(key);
+        Object previous = request.getAttribute(skey);
+        request.setAttribute(skey, value);
+        return (previous);
+    }
+
+
+    public void putAll(Map map) {
+        Iterator keys = map.keySet().iterator();
+        while (keys.hasNext()) {
+            String key = (String) keys.next();
+            request.setAttribute(key, map.get(key));
+        }
+    }
+
+
+    public Object remove(Object key) {
+        String skey = key(key);
+        Object previous = request.getAttribute(skey);
+        request.removeAttribute(skey);
+        return (previous);
+    }
+
+
+    public int size() {
+        int n = 0;
+        Enumeration keys = request.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            keys.nextElement();
+            n++;
+        }
+        return (n);
+    }
+
+
+    public Collection values() {
+        List list = new ArrayList();
+        Enumeration keys = request.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            list.add(request.getAttribute((String) keys.nextElement()));
+        }
+        return (list);
+    }
+
+
+    private String key(Object key) {
+        if (key == null) {
+            throw new IllegalArgumentException();
+        } else if (key instanceof String) {
+            return ((String) key);
+        } else {
+            return (key.toString());
+        }
+    }
+
+
+}
\ No newline at end of file

Propchange: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletRequestScopeMap.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletRequestScopeMap.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletSessionScopeMap.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletSessionScopeMap.java?rev=405486&view=auto
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletSessionScopeMap.java
 (added)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletSessionScopeMap.java
 Tue May  9 10:55:29 2006
@@ -0,0 +1,180 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tiles.context.servlet;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.servlet.http.HttpSession;
+import org.apache.tiles.context.MapEntry;
+
+
+/**
+ * <p>Private implementation of <code>Map</code> for HTTP session
+ * attributes.</p>
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision$ $Date$
+ */
+
+final class ServletSessionScopeMap implements Map {
+
+
+    public ServletSessionScopeMap(HttpSession session) {
+        this.session = session;
+    }
+
+
+    private HttpSession session = null;
+
+
+    public void clear() {
+        Iterator keys = keySet().iterator();
+        while (keys.hasNext()) {
+            session.removeAttribute((String) keys.next());
+        }
+    }
+
+
+    public boolean containsKey(Object key) {
+        return (session.getAttribute(key(key)) != null);
+    }
+
+
+    public boolean containsValue(Object value) {
+        if (value == null) {
+            return (false);
+        }
+        Enumeration keys = session.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            Object next = session.getAttribute((String) keys.nextElement());
+            if (next == value) {
+                return (true);
+            }
+        }
+        return (false);
+    }
+
+
+    public Set entrySet() {
+        Set set = new HashSet();
+        Enumeration keys = session.getAttributeNames();
+        String key;
+        while (keys.hasMoreElements()) {
+            key = (String) keys.nextElement();
+            set.add(new MapEntry(key, session.getAttribute(key), true));
+        }
+        return (set);
+    }
+
+
+    public boolean equals(Object o) {
+        return (session.equals(o));
+    }
+
+
+    public Object get(Object key) {
+        return (session.getAttribute(key(key)));
+    }
+
+
+    public int hashCode() {
+        return (session.hashCode());
+    }
+
+
+    public boolean isEmpty() {
+        return (size() < 1);
+    }
+
+
+    public Set keySet() {
+        Set set = new HashSet();
+        Enumeration keys = session.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            set.add(keys.nextElement());
+        }
+        return (set);
+    }
+
+
+    public Object put(Object key, Object value) {
+        if (value == null) {
+            return (remove(key));
+        }
+        String skey = key(key);
+        Object previous = session.getAttribute(skey);
+        session.setAttribute(skey, value);
+        return (previous);
+    }
+
+
+    public void putAll(Map map) {
+        Iterator keys = map.keySet().iterator();
+        while (keys.hasNext()) {
+            String key = (String) keys.next();
+            session.setAttribute(key, map.get(key));
+        }
+    }
+
+
+    public Object remove(Object key) {
+        String skey = key(key);
+        Object previous = session.getAttribute(skey);
+        session.removeAttribute(skey);
+        return (previous);
+    }
+
+
+    public int size() {
+        int n = 0;
+        Enumeration keys = session.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            keys.nextElement();
+            n++;
+        }
+        return (n);
+    }
+
+
+    public Collection values() {
+        List list = new ArrayList();
+        Enumeration keys = session.getAttributeNames();
+        while (keys.hasMoreElements()) {
+            list.add(session.getAttribute((String) keys.nextElement()));
+        }
+        return (list);
+    }
+
+
+    private String key(Object key) {
+        if (key == null) {
+            throw new IllegalArgumentException();
+        } else if (key instanceof String) {
+            return ((String) key);
+        } else {
+            return (key.toString());
+        }
+    }
+
+
+}
\ No newline at end of file

Propchange: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletSessionScopeMap.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletSessionScopeMap.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Copied: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletTilesContext.java
 (from r399725, 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/ServletTilesContext.java)
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletTilesContext.java?p2=struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletTilesContext.java&p1=struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/ServletTilesContext.java&r1=399725&r2=405486&rev=405486&view=diff
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/ServletTilesContext.java
 (original)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletTilesContext.java
 Tue May  9 10:55:29 2006
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.tiles.context;
+package org.apache.tiles.context.servlet;
 
 import java.io.IOException;
 import java.net.MalformedURLException;
@@ -30,6 +30,8 @@
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import org.apache.tiles.TilesContext;
 
 /**
@@ -41,83 +43,160 @@
 
     private ServletContext servletContext;
     
-    private ServletRequest request;
+    private HttpServletRequest request;
     
-    private ServletResponse response;
+    private HttpServletResponse response;
     
+    /**
+     * <p>The lazily instantiated <code>Map</code> of application scope
+     * attributes.</p>
+     */
+    private Map applicationScope = null;
+
+    /**
+     * <p>The lazily instantiated <code>Map</code> of header name-value
+     * combinations (immutable).</p>
+     */
+    private Map header = null;
+
+
+    /**
+     * <p>The lazily instantitated <code>Map</code> of header name-values
+     * combinations (immutable).</p>
+     */
+    private Map headerValues = null;
+
+
+    /**
+     * <p>The lazily instantiated <code>Map</code> of context initialization
+     * parameters.</p>
+     */
+    private Map initParam = null;
+
+
+    /**
+     * <p>The lazily instantiated <code>Map</code> of request
+     * parameter name-value.</p>
+     */
+    private Map param = null;
+
+
+    /**
+     * <p>The lazily instantiated <code>Map</code> of request
+     * parameter name-values.</p>
+     */
+    private Map paramValues = null;
+
+     /**
+     * <p>The lazily instantiated <code>Map</code> of request scope
+     * attributes.</p>
+     */
+    private Map requestScope = null;
+    
+    /**
+     * <p>The lazily instantiated <code>Map</code> of session scope
+     * attributes.</p>
+     */
+    private Map sessionScope = null;
+
+
     /** Creates a new instance of ServletTilesContext */
     public ServletTilesContext(ServletContext servletContext) {
-        this.servletContext = servletContext;
+        initialize(servletContext, null, null);
     }
 
     /** Creates a new instance of ServletTilesContext */
-    public ServletTilesContext(ServletContext servletContext, ServletRequest 
request) {
-        this.servletContext = servletContext;
-        this.request = request;
+    public ServletTilesContext(ServletContext servletContext, 
+            HttpServletRequest request) {
+        initialize(servletContext, request, null);
     }
 
     /** Creates a new instance of ServletTilesContext */
     public ServletTilesContext(ServletContext servletContext, 
-            ServletRequest request,
-            ServletResponse response) {
-        this.servletContext = servletContext;
-        this.request = request;
-        this.response = response;
+            HttpServletRequest request,
+            HttpServletResponse response) {
+        initialize(servletContext, request, response);
     }
 
     public Map getApplicationScope() {
-        Enumeration e = servletContext.getAttributeNames();
-        Map contextMap = new HashMap();
-        while (e.hasMoreElements()) {
-            String key = (String)  e.nextElement();
-            contextMap.put(key, servletContext.getAttribute(key));
+
+        if ((applicationScope == null) && (servletContext != null)) {
+            applicationScope = new ServletApplicationScopeMap(servletContext);
         }
-        
-        return contextMap;
+        return (applicationScope);
+
     }
 
+
     public Map getHeader() {
-        return null;
+
+        if ((header == null) && (request != null)) {
+            header = new ServletHeaderMap(request);
+        }
+        return (header);
+
     }
 
+
     public Map getHeaderValues() {
-        return null;
+
+        if ((headerValues == null) && (request != null)) {
+            headerValues = new ServletHeaderValuesMap(request);
+        }
+        return (headerValues);
+
     }
 
+
     public Map getInitParams() {
-        Enumeration e = servletContext.getInitParameterNames();
-        Map paramMap = new HashMap();
-        while (e.hasMoreElements()) {
-            String key = (String) e.nextElement();
-            paramMap.put(key, servletContext.getInitParameter(key));
+
+        if ((initParam == null) && (servletContext != null)) {
+            initParam = new ServletInitParamMap(servletContext);
         }
-        
-        return paramMap;
+        return (initParam);
+
     }
 
+
     public Map getParam() {
-        return null;
+
+        if ((param == null) && (request != null)) {
+            param = new ServletParamMap(request);
+        }
+        return (param);
+
     }
 
+
     public Map getParamValues() {
-        return request.getParameterMap();
+
+        if ((paramValues == null) && (request != null)) {
+            paramValues = new ServletParamValuesMap(request);
+        }
+        return (paramValues);
+
     }
 
+
     public Map getRequestScope() {
-        Enumeration e = request.getAttributeNames();
-        Map params = new HashMap();
-        while (e.hasMoreElements()) {
-            String key = (String) e.nextElement();
-            params.put(key, request.getAttribute(key));
+
+        if ((requestScope == null) && (request != null)) {
+            requestScope = new ServletRequestScopeMap(request);
         }
-        
-        return params;
+        return (requestScope);
+
     }
 
+
     public Map getSessionScope() {
-        return null;
-    }
 
+        if ((sessionScope == null) && (request != null)) {
+            sessionScope = new ServletSessionScopeMap(request.getSession());
+        }
+        return (sessionScope);
+
+    }
+    
     public void dispatch(String path) throws IOException, Exception {
         RequestDispatcher rd = request.getRequestDispatcher(path);
         try {
@@ -143,5 +222,63 @@
     public Locale getRequestLocale() {
         return request.getLocale();
     }
+
+    public ServletContext getServletContext() {
+        return servletContext;
+    }
     
+    public ServletRequest getRequest() {
+        return request;
+    }
+    
+    public ServletResponse getResponse() {
+        return response;
+    }
+    
+    /**
+     * <p>Initialize (or reinitialize) this [EMAIL PROTECTED] 
ServletWebContext} instance
+     * for the specified Servlet API objects.</p>
+     *
+     * @param context The <code>ServletContext</code> for this web application
+     * @param request The <code>HttpServletRequest</code> for this request
+     * @param response The <code>HttpServletResponse</code> for this request
+     */
+    public void initialize(ServletContext context,
+                           HttpServletRequest request,
+                           HttpServletResponse response) {
+
+        // Save the specified Servlet API object references
+        this.servletContext = context;
+        this.request = request;
+        this.response = response;
+
+        // Perform other setup as needed
+
+    }
+
+
+    /**
+     * <p>Release references to allocated resources acquired in
+     * <code>initialize()</code> of via subsequent processing.  After this
+     * method is called, subsequent calls to any other method than
+     * <code>initialize()</code> will return undefined results.</p>
+     */
+    public void release() {
+
+        // Release references to allocated collections
+        applicationScope = null;
+        header = null;
+        headerValues = null;
+        initParam = null;
+        param = null;
+        paramValues = null;
+        requestScope = null;
+        sessionScope = null;
+
+        // Release references to Servlet API objects
+        servletContext = null;
+        request = null;
+        response = null;
+
+    }    
 }

Modified: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/filter/TilesFilter.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/filter/TilesFilter.java?rev=405486&r1=405485&r2=405486&view=diff
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/filter/TilesFilter.java
 (original)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/filter/TilesFilter.java
 Tue May  9 10:55:29 2006
@@ -67,7 +67,7 @@
         
         try {
             TilesContext tilesContext = TilesContextFactory.getInstance(
-                    request, filterConfig.getServletContext());
+                    filterConfig.getServletContext(), request);
             DefinitionsFactory factory = 
TilesUtil.getDefinitionsFactory(tilesContext);
             
             if (factory instanceof ReloadableDefinitionsFactory) {

Modified: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java?rev=405486&r1=405485&r2=405486&view=diff
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java
 (original)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java
 Tue May  9 10:55:29 2006
@@ -72,7 +72,8 @@
      * Do start tag.
      */
   public int doStartTag() throws JspException {
-      TilesContext tilesContext = TilesContextFactory.getInstance(pageContext);
+      TilesContext tilesContext = 
TilesContextFactory.getInstance(pageContext.getServletContext(),
+              pageContext.getRequest(), pageContext.getResponse());
       DefinitionsFactory factory = 
TilesUtil.getDefinitionsFactory(tilesContext);
       if(factory != null ) {
         return SKIP_BODY;

Modified: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InsertTag.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InsertTag.java?rev=405486&r1=405485&r2=405486&view=diff
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InsertTag.java
 (original)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InsertTag.java
 Tue May  9 10:55:29 2006
@@ -553,8 +553,9 @@
                throws JspException {
 
             try {
-                TilesContext tilesContext = TilesContextFactory.getInstance(
-                        pageContext);
+              TilesContext tilesContext = TilesContextFactory.getInstance(
+                      pageContext.getServletContext(),
+                      pageContext.getRequest(), pageContext.getResponse());
                 ComponentDefinition definition = TilesUtil.getDefinition(
                         name, tilesContext);
 
@@ -703,7 +704,9 @@
                throws JspException {
             
             try {
-                TilesContext tilesContext = 
TilesContextFactory.getInstance(pageContext);
+              TilesContext tilesContext = TilesContextFactory.getInstance(
+                      pageContext.getServletContext(),
+                      pageContext.getRequest(), pageContext.getResponse());
                 ComponentDefinition definition =
                         TilesUtil.getDefinition(name, tilesContext);
 
@@ -875,7 +878,9 @@
                         // Call controller if any
                         if (controller != null) {
                             try {
-                                TilesContext tilesContext = 
TilesContextFactory.getInstance(pageContext);
+                              TilesContext tilesContext = 
TilesContextFactory.getInstance(
+                                      pageContext.getServletContext(),
+                                      pageContext.getRequest(), 
pageContext.getResponse());
                                 controller.execute(tilesContext, 
subCompContext);
                             } catch (Exception e) {
                                 throw new ServletException(e);

Modified: 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java?rev=405486&r1=405485&r2=405486&view=diff
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java
 (original)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java
 Tue May  9 10:55:29 2006
@@ -172,7 +172,9 @@
      * @return Requested bean or <code>null</code> if not found.
      */
     public static Object findAttribute(String beanName, PageContext 
pageContext) {
-        TilesContext tilesContext = 
TilesContextFactory.getInstance(pageContext);
+        TilesContext tilesContext = TilesContextFactory.getInstance(
+              pageContext.getServletContext(),
+              pageContext.getRequest(), pageContext.getResponse());
         ComponentContext compContext = 
ComponentContext.getContext(tilesContext);
         
         if (compContext != null) {
@@ -196,7 +198,9 @@
      */
     public static Object getAttribute(String beanName, int scope, PageContext 
pageContext) {
         if (scope == ComponentConstants.COMPONENT_SCOPE) {
-            TilesContext tilesContext = 
TilesContextFactory.getInstance(pageContext);
+            TilesContext tilesContext = TilesContextFactory.getInstance(
+                  pageContext.getServletContext(),
+                  pageContext.getRequest(), pageContext.getResponse());
             ComponentContext compContext = 
ComponentContext.getContext(tilesContext);
             return compContext.getAttribute(beanName);
         }
@@ -340,7 +344,9 @@
         throws JspException {
             
         try {
-            TilesContext tilesContext = 
TilesContextFactory.getInstance(pageContext);
+            TilesContext tilesContext = TilesContextFactory.getInstance(
+                  pageContext.getServletContext(),
+                  pageContext.getRequest(), pageContext.getResponse());
             return TilesUtil.getDefinition(
                 name, tilesContext);
                 


Reply via email to