[webbeans-commits] Webbeans SVN: r414 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directory.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Dec 5 07:14:16 EST 2008


Author: pete.muir at jboss.org
Date: 2008-12-05 07:14:16 -0500 (Fri, 05 Dec 2008)
New Revision: 414

Added:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java
Removed:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java
Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
Log:
Tidy up use of active

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -18,7 +18,6 @@
 package org.jboss.webbeans.contexts;
 
 import java.lang.annotation.Annotation;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.webbeans.ContextNotActiveException;
 import javax.webbeans.manager.Bean;
@@ -35,12 +34,13 @@
  * @author Pete Muir
  * 
  * @see org.jboss.webbeans.contexts.SharedContext
- * @see org.jboss.webbeans.contexts.PrivateContext
+ * @see org.jboss.webbeans.contexts.BasicContext
  */
 public abstract class AbstractContext implements Context
 {
    // The scope type
    private Class<? extends Annotation> scopeType;
+   private ThreadLocal<Boolean> active;
 
    /**
     * Constructor
@@ -50,6 +50,14 @@
    public AbstractContext(Class<? extends Annotation> scopeType)
    {
       this.scopeType = scopeType;
+      this.active = new ThreadLocal<Boolean>()
+      {
+         @Override
+         protected Boolean initialValue()
+         {
+            return Boolean.FALSE;
+         } 
+      };
    }
 
    /**
@@ -105,7 +113,7 @@
     */
    public boolean isActive()
    {
-      return getActive().get();
+      return active.get().booleanValue();
    }
 
    /**
@@ -115,7 +123,7 @@
     */
    public void setActive(boolean active)
    {
-      getActive().set(active);
+      this.active.set(Boolean.valueOf(active));
    }
 
    // TODO Do we need this
@@ -141,13 +149,6 @@
     */
    protected abstract BeanMap getBeanMap();
 
-   /**
-    * A method that should return the actual atomic boolean instance
-    * 
-    * @return The active boolean
-    */
-   protected abstract AtomicBoolean getActive();
-
    @Override
    public String toString()
    {
@@ -159,4 +160,12 @@
       return buffer.toString();
    }
 
+   /**
+    * Delegates to a ThreadLocal instance
+    */
+   protected Boolean getActive()
+   {
+      return active.get();
+   }
+
 }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -17,6 +17,8 @@
 
 package org.jboss.webbeans.contexts;
 
+import java.util.concurrent.atomic.AtomicBoolean;
+
 import javax.webbeans.ApplicationScoped;
 
 import org.jboss.webbeans.ManagerImpl;
@@ -28,10 +30,11 @@
  * 
  * @see org.jboss.webbeans.contexts.ApplicationContext
  */
-public class ApplicationContext extends SharedContext
+public class ApplicationContext extends AbstractContext
 {
 
    private BeanMap beanMap;
+   private AtomicBoolean active;
    
    public ApplicationContext()
    {
@@ -54,4 +57,16 @@
       return (ApplicationContext) ManagerImpl.instance().getBuiltInContext(ApplicationScoped.class);
    }
    
+   @Override
+   public boolean isActive()
+   {
+      return active.get();
+   }
+   
+   @Override
+   public void setActive(boolean active)
+   {
+      this.active.set(active);
+   }
+   
 }

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java (from rev 413, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.webbeans.contexts;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * The abstraction of a private context, on that operates on a ThreadLocal
+ * BeanMap and ThreadLocal active state
+ * 
+ * A private context doesn't rely on some external context to hold it's state
+ * 
+ * @author Nicklas Karlsson
+ * 
+ * @see org.jboss.webbeans.contexts.DependentContext
+ * @see org.jboss.webbeans.contexts.RequestContext
+ * @see org.jboss.webbeans.contexts.ConversationContext
+ * @see org.jboss.webbeans.contexts.SessionContext
+ */
+public abstract class BasicContext extends AbstractContext
+{
+   protected ThreadLocal<BeanMap> beans;
+
+   public BasicContext(Class<? extends Annotation> scopeType)
+   {
+      super(scopeType);
+      beans = new ThreadLocal<BeanMap>()
+      {
+         
+         @Override
+         protected BeanMap initialValue()
+         {
+            return new SimpleBeanMap();
+         }
+         
+      };
+   }
+
+   /**
+    * Delegates to a ThreadLocal instance
+    */
+   @Override
+   protected BeanMap getBeanMap()
+   {
+      return beans.get();
+   }
+
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -24,7 +24,7 @@
  * 
  * @author Nicklas Karlsson
  */
-public class ConversationContext extends PrivateContext
+public class ConversationContext extends BasicContext
 {
 
    public ConversationContext()

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -26,7 +26,7 @@
  * 
  * @author Nicklas Karlsson
  */
-public class DependentContext extends PrivateContext
+public class DependentContext extends BasicContext
 {
 
    public DependentContext()

Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,  
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.webbeans.contexts;
-
-import java.lang.annotation.Annotation;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * The abstraction of a private context, on that operates on a ThreadLocal
- * BeanMap and ThreadLocal active state
- * 
- * A private context doesn't rely on some external context to hold it's state
- * 
- * @author Nicklas Karlsson
- * 
- * @see org.jboss.webbeans.contexts.DependentContext
- * @see org.jboss.webbeans.contexts.RequestContext
- * @see org.jboss.webbeans.contexts.ConversationContext
- * @see org.jboss.webbeans.contexts.SessionContext
- */
-public class PrivateContext extends AbstractContext
-{
-   private ThreadLocal<AtomicBoolean> active;
-   protected ThreadLocal<BeanMap> beans;
-
-   public PrivateContext(Class<? extends Annotation> scopeType)
-   {
-      super(scopeType);
-      beans = new ThreadLocal<BeanMap>()
-      {
-         
-         @Override
-         protected BeanMap initialValue()
-         {
-            return new SimpleBeanMap();
-         }
-         
-      };
-      active = new ThreadLocal<AtomicBoolean>();
-      active.set(new AtomicBoolean(true));
-   }
-
-   /**
-    * Delegates to a ThreadLocal instance
-    */
-   @Override
-   protected AtomicBoolean getActive()
-   {
-      return active.get();
-   }
-
-   /**
-    * Delegates to a ThreadLocal instance
-    */
-   @Override
-   protected BeanMap getBeanMap()
-   {
-      return beans.get();
-   }
-
-}

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -26,7 +26,7 @@
  * 
  * @author Nicklas Karlsson
  */
-public class RequestContext extends PrivateContext
+public class RequestContext extends BasicContext
 {
 
    public RequestContext()

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -28,7 +28,7 @@
  * 
  * @author Nicklas Karlsson
  */
-public class SessionContext extends SharedContext
+public class SessionContext extends AbstractContext
 {
 
    private static LogProvider log = Logging.getLogProvider(SessionContext.class);
@@ -47,7 +47,6 @@
       return beanMap.get();
    }
    
-   @Override
    public void setBeanMap(BeanMap beanMap)
    {
       this.beanMap.set(beanMap);

Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,  
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.webbeans.contexts;
-
-import java.lang.annotation.Annotation;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * The abstraction of a shared context with common beans and active state state
- * 
- * @author Nicklas Karlsson
- * 
- * @see org.jboss.webbeans.contexts.ApplicationContext
- */
-public abstract class SharedContext extends AbstractContext
-{
-   private AtomicBoolean active;
-
-   public SharedContext(Class<? extends Annotation> scopeType)
-   {
-      super(scopeType);
-      active = new AtomicBoolean(true);
-   }
-
-   /**
-    * Delegates to the ThreadLocal
-    */
-   @Override
-   protected AtomicBoolean getActive()
-   {
-      return active;
-   }
-   
-   protected abstract BeanMap getBeanMap();
-   
-   public abstract void setBeanMap(BeanMap beanMap); 
-
-}
\ No newline at end of file

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java	2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java	2008-12-05 12:14:16 UTC (rev 414)
@@ -4,7 +4,7 @@
 import javax.webbeans.RequestScoped;
 import javax.webbeans.manager.Context;
 
-import org.jboss.webbeans.contexts.PrivateContext;
+import org.jboss.webbeans.contexts.AbstractContext;
 import org.jboss.webbeans.contexts.RequestContext;
 import org.testng.annotations.Test;
 
@@ -22,7 +22,7 @@
    public void testGetContextWithNoActiveContextsFails()
    {
       Context requestContext = new RequestContext();
-      ((PrivateContext)requestContext).setActive(false);
+      ((AbstractContext)requestContext).setActive(false);
       manager.setContexts(requestContext);
       manager.getContext(RequestScoped.class);
    }




More information about the weld-commits mailing list