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;
}