logo       

[picocontainer-scm] [picocontainer] [3135] java/nanocontainer-nanowar/trunk: msg#00039

java.picocontainer.cvs

Subject: [picocontainer-scm] [picocontainer] [3135] java/nanocontainer-nanowar/trunk/nanowar/src/java/org/nanocontainer/nanowar/ServletRequestContainerLauncher.java: Fixes for potentially null session.

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

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise