[weld-commits] Weld SVN: r5998 - in core/trunk/impl/src/main: java/org/jboss/weld/logging/messages and 3 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Thu Mar 4 06:50:58 EST 2010


Author: nickarls
Date: 2010-03-04 06:50:57 -0500 (Thu, 04 Mar 2010)
New Revision: 5998

Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java
   core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/ConversationMessage.java
   core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationBeanStore.java
   core/trunk/impl/src/main/java/org/jboss/weld/servlet/HttpSessionManager.java
   core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java
   core/trunk/impl/src/main/resources/org/jboss/weld/messages/conversation_en.properties
Log:
Direct usage of HttpSessionManager

Modified: core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java	2010-03-04 08:55:17 UTC (rev 5997)
+++ core/trunk/impl/src/main/java/org/jboss/weld/conversation/ServletConversationManager.java	2010-03-04 11:50:57 UTC (rev 5998)
@@ -25,6 +25,7 @@
 
 import org.jboss.weld.context.api.BeanStore;
 import org.jboss.weld.servlet.ConversationBeanStore;
+import org.jboss.weld.servlet.HttpSessionManager;
 
 @SessionScoped
 public class ServletConversationManager extends AbstractConversationManager implements Serializable
@@ -38,7 +39,7 @@
    private boolean sessionInvalidated;
 
    @Inject
-   private HttpSession httpSession;
+   private HttpSessionManager httpSessionManager;
    
    @Produces
    @ConversationInactivityTimeout
@@ -64,6 +65,7 @@
    @Override
    protected BeanStore getBeanStore(String cid)
    {
+      HttpSession httpSession = httpSessionManager.getSession();
       return ConversationBeanStore.of(httpSession, sessionInvalidated, cid);
    }
 

Modified: core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/ConversationMessage.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/ConversationMessage.java	2010-03-04 08:55:17 UTC (rev 5997)
+++ core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/ConversationMessage.java	2010-03-04 11:50:57 UTC (rev 5998)
@@ -56,6 +56,8 @@
    @MessageId("000318") DEMOTED_LRC,
    @MessageId("000319") SWITCHED_CONVERSATION,
    @MessageId("000214") BEGIN_CALLED_ON_LONG_RUNNING_CONVERSATION,
-   @MessageId("000215") END_CALLED_ON_TRANSIENT_CONVERSATION;
+   @MessageId("000215") END_CALLED_ON_TRANSIENT_CONVERSATION,
+   @MessageId("000216") NULL_HTTP_SESSION;
+   ;
 
 }

Modified: core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationBeanStore.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationBeanStore.java	2010-03-04 08:55:17 UTC (rev 5997)
+++ core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationBeanStore.java	2010-03-04 11:50:57 UTC (rev 5998)
@@ -21,7 +21,10 @@
 import org.jboss.weld.context.ConversationContext;
 import org.jboss.weld.context.api.BeanStore;
 import org.jboss.weld.context.beanstore.NamingScheme;
+import org.jboss.weld.exceptions.ForbiddenArgumentException;
 
+import static org.jboss.weld.logging.messages.ConversationMessage.NULL_HTTP_SESSION;
+
 /**
  * A HTTP session backed bean store for the conversational scope
  * 
@@ -33,6 +36,10 @@
 
    protected ConversationBeanStore(HttpSession session, boolean sessionInvalidated, String cid)
    {
+      if (session == null)
+      {
+         throw new ForbiddenArgumentException(NULL_HTTP_SESSION);
+      }
       this.namingScheme = new NamingScheme(ConversationContext.class.getName() + "[" + cid + "]", "#");
       if (sessionInvalidated)
       {

Modified: core/trunk/impl/src/main/java/org/jboss/weld/servlet/HttpSessionManager.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/servlet/HttpSessionManager.java	2010-03-04 08:55:17 UTC (rev 5997)
+++ core/trunk/impl/src/main/java/org/jboss/weld/servlet/HttpSessionManager.java	2010-03-04 11:50:57 UTC (rev 5998)
@@ -17,7 +17,6 @@
 package org.jboss.weld.servlet;
 
 import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Produces;
 import javax.servlet.http.HttpSession;
 
 @RequestScoped
@@ -30,8 +29,6 @@
       this.session = session;
    }
 
-   @Produces
-   @RequestScoped
    public HttpSession getSession()
    {
       return session;

Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java	2010-03-04 08:55:17 UTC (rev 5997)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java	2010-03-04 11:50:57 UTC (rev 5998)
@@ -83,9 +83,13 @@
          return interfaces.toArray(EMPTY_CLASSES);
       }
 
+      /**
+       * @return
+       */
       public ProxyFactory createProxyFactory()
       {
          ProxyFactory proxyFactory = new ProxyFactory();
+         ProxyFactory.useCache = false;
          Class<?> superClass = getSuperClass();
          if(superClass != null && superClass != Object.class)
          {

Modified: core/trunk/impl/src/main/resources/org/jboss/weld/messages/conversation_en.properties
===================================================================
--- core/trunk/impl/src/main/resources/org/jboss/weld/messages/conversation_en.properties	2010-03-04 08:55:17 UTC (rev 5997)
+++ core/trunk/impl/src/main/resources/org/jboss/weld/messages/conversation_en.properties	2010-03-04 11:50:57 UTC (rev 5998)
@@ -20,3 +20,4 @@
 SWITCHED_CONVERSATION=Switched conversation from {0} to {1}
 BEGIN_CALLED_ON_LONG_RUNNING_CONVERSATION=Attempt to call begin() on a long-running conversation
 END_CALLED_ON_TRANSIENT_CONVERSATION=Attempt to call end() on a transient conversation
+NULL_HTTP_SESSION=Cannot create ConversationBeanStore with a null HTTP session



More information about the weld-commits mailing list