Author: kylem
Date: Tue Feb  1 15:36:41 2005
New Revision: 149463

URL: http://svn.apache.org/viewcvs?view=rev&rev=149463
Log:
Resolved ServletBeanContext serialization issues, ensuring that it can be 
stored in session state.
(JIRA-194)

Modified:
    
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/servlet/ServletBeanContext.java

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/servlet/ServletBeanContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/servlet/ServletBeanContext.java?view=diff&r1=149462&r2=149463
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/servlet/ServletBeanContext.java
 (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/servlet/ServletBeanContext.java
 Tue Feb  1 15:36:41 2005
@@ -89,13 +89,21 @@
         popRequestContext();
     }
 
+    private Stack<RequestContext> getRequestStack()
+    {
+        if (_reqStack == null)
+            _reqStack = new Stack<RequestContext>();
+
+        return _reqStack;
+    }
+
     /**
      * Pushes the current request context onto the stack
      */
     private synchronized void pushRequestContext(ServletContext context, 
ServletRequest req, 
                                                  ServletResponse resp)
     {
-        _reqStack.push(new RequestContext(context, req, resp));
+        getRequestStack().push(new RequestContext(context, req, resp));
     }
 
     /**
@@ -103,7 +111,7 @@
      */
     private synchronized void popRequestContext()
     {
-        _reqStack.pop();
+        getRequestStack().pop();
     }
 
     /**
@@ -111,10 +119,11 @@
      */
     private synchronized RequestContext peekRequestContext()
     {
-        if (_reqStack.empty())
+        Stack<RequestContext> reqStack = getRequestStack();
+        if (reqStack.empty())
             return null;
 
-        return _reqStack.peek();
+        return reqStack.peek();
     }
 
     /**
@@ -168,5 +177,5 @@
     protected boolean useWrappers() { return _useWrappers; }
 
     private boolean _useWrappers = true;
-    private Stack<RequestContext> _reqStack = new Stack<RequestContext>();
+    transient private Stack<RequestContext> _reqStack;
 }


Reply via email to