- Revision
- 3135
- Author
- rimovm
- Date
- 2006-12-19 18:53:05 -0600 (Tue, 19 Dec 2006)
Log Message
Fixes for potentially null session. (As required in test cases)
Modified Paths
Diff
Modified: java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/ServletRequestContainerLauncher.java (3134 => 3135)
--- java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/ServletRequestContainerLauncher.java 2006-12-20 00:41:48 UTC (rev 3134)
+++ java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/ServletRequestContainerLauncher.java 2006-12-20 00:53:05 UTC (rev 3135)
@@ -23,13 +23,15 @@
private ContainerBuilder containerBuilder;
private ObjectReference containerRef;
- private HttpServletRequest request;
+ private final HttpServletRequest request;
+ private final ServletContext context;
public ServletRequestContainerLauncher(ServletContext context, HttpServletRequest request) {
ObjectReference builderRef = new ApplicationScopeObjectReference(context, KeyConstants.BUILDER);
containerRef = new RequestScopeObjectReference(request, KeyConstants.REQUEST_CONTAINER);
containerBuilder = (ContainerBuilder) builderRef.get();
this.request = request;
+ this.context = context;
}
public void startContainer() throws ServletException {
@@ -44,11 +46,11 @@
//with null session container. in which case we have old behavior instead.
//
ObjectReference containerReferenceToUse;
- if (session.getAttribute(KeyConstants.SESSION_CONTAINER) == null) {
- containerReferenceToUse = new ApplicationScopeObjectReference(session.getServletContext(), KeyConstants.APPLICATION_CONTAINER);
+ if (session == null || session.getAttribute(KeyConstants.SESSION_CONTAINER) == null) {
+ containerReferenceToUse = new ApplicationScopeObjectReference(context, KeyConstants.APPLICATION_CONTAINER);
} else {
containerReferenceToUse = new SessionScopeObjectReference(session, KeyConstants.SESSION_CONTAINER);
- }
+ }
containerBuilder.buildContainer(containerRef, containerReferenceToUse, request, false);
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
|