Hi David,

In article <[EMAIL PROTECTED]>,
Wed, 22 Aug 2007 19:41:24 +0900 (JST),
Kazuhito SUGURI <[EMAIL PROTECTED]> wrote: 
suguri> I think I can provide a patch if you can build Cactus jars from code,
suguri> although I don't have enough time to commit it to the code-base.

Please find the patch attached.

For your use case, you should write test case as follows:
        import org.apache.cactus.server.ServletContextWrapper;
        ...
        public void setUp() {
            tag = new HelloWorldTag();
            ServletContextWrapper context = (ServletContextWrapper) 
pageContext.getServletContext();
            cofntext.setInitParameter("test", "test-value at context");
            tag.setPageContext(pageContext);
        }

Hope this helps,
----
Kazuhito SUGURI
Index: 
framework/src/java/share-12-13-14/org/apache/cactus/server/AbstractPageContextWrapper.java
===================================================================
--- 
framework/src/java/share-12-13-14/org/apache/cactus/server/AbstractPageContextWrapper.java
  (revision 568555)
+++ 
framework/src/java/share-12-13-14/org/apache/cactus/server/AbstractPageContextWrapper.java
  (working copy)
@@ -56,6 +56,11 @@
     protected ServletURL url;
 
     /**
+     * The wrapped ServletContext for this PageContext.
+     */
+    private ServletContextWrapper servletContext = null;
+
+    /**
      * Construct an <code>PageContext</code> instance that delegates
      * it's method calls to the page context object passed as parameter and
      * that uses the URL passed as parameter to simulate a URL from which
@@ -110,8 +115,12 @@
      */
     public ServletContext getServletContext()
     {
-        return new ServletContextWrapper(
-            this.originalPageContext.getServletContext());
+        if (this.servletContext == null)
+        {
+            this.servletContext = new ServletContextWrapper(
+                this.originalPageContext.getServletContext());
+        }
+        return this.servletContext;
     }
 
     // Unmodified overridden methods -----------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to