[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