[webbeans-commits] Webbeans SVN: r1700 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context and 6 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Wed Feb 25 02:47:44 EST 2009
Author: nickarls
Date: 2009-02-25 02:47:43 -0500 (Wed, 25 Feb 2009)
New Revision: 1700
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java
Log:
WBRI-147 + enabled test in TCK
Moving DependentInstancesStore -> RIBean
Some "bean map" -> "bean store" renames, header blocks, comments etc.
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -39,7 +39,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.context.CreationalContextImpl;
import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.MetaDataCache;
@@ -123,7 +123,7 @@
throw new RuntimeException(" Cannot cast producer type " + getAnnotatedItem().getType() + " to bean type " + (getDeclaredBeanType() == null ? " unknown " : getDeclaredBeanType()), e);
}
}
-
+
/**
* Gets the declared bean type
*
@@ -274,7 +274,7 @@
return;
}
}
-
+
@Override
protected void initSerializable()
{
@@ -288,7 +288,7 @@
*/
protected Object getReceiver(CreationalContext<?> creationalContext)
{
- // This is a bit dangerous, as it means that producer methods can end of
+ // This is a bit dangerous, as it means that producer methods can end of
// executing on partially constructed instances. Also, it's not required
// by the spec...
if (creationalContext instanceof CreationalContextImpl)
@@ -310,12 +310,12 @@
*/
public T create(CreationalContext<T> creationalContext)
{
- Object dependentCollector = new Object();
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(dependentInstancesStore, new Object());
try
{
if (getDeclaringBean().isDependent())
{
- DependentContext.INSTANCE.startCollecting(dependentCollector);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
}
DependentContext.INSTANCE.setActive(true);
T instance = produceInstance(creationalContext);
@@ -326,8 +326,8 @@
{
if (getDeclaringBean().isDependent())
{
- DependentContext.INSTANCE.stopCollecting(dependentCollector);
- DependentInstancesStore.instance().destroyDependentInstances(dependentCollector);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
+ dependentInstancesStore.destroyDependentInstances(dependentStorageRequest.getKey());
}
DependentContext.INSTANCE.setActive(false);
}
@@ -335,14 +335,10 @@
public void destroy(T instance)
{
- /*try
- {
- DependentContext.INSTANCE.setActive(true);
- }
- finally
- {
- DependentContext.INSTANCE.setActive(false);
- }*/
+ /*
+ * try { DependentContext.INSTANCE.setActive(true); } finally {
+ * DependentContext.INSTANCE.setActive(false); }
+ */
}
protected abstract T produceInstance(CreationalContext<T> creationalContext);
@@ -369,7 +365,7 @@
buffer.append(" API types " + getTypes() + ", binding types " + getBindings() + "\n");
return buffer.toString();
}
-
+
@Override
public boolean equals(Object other)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -38,6 +38,7 @@
import org.jboss.webbeans.bean.proxy.EnterpriseBeanInstance;
import org.jboss.webbeans.bean.proxy.EnterpriseBeanProxyMethodHandler;
import org.jboss.webbeans.context.DependentContext;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.introspector.AnnotatedClass;
@@ -285,6 +286,7 @@
public void postConstruct(T instance)
{
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(dependentInstancesStore, instance);
try
{
CreationalContext<T> creationalContext = new CreationalContext<T>()
@@ -293,14 +295,14 @@
public void push(T incompleteInstance) {};
};
- DependentContext.INSTANCE.startCollecting(instance);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
DependentContext.INSTANCE.setActive(true);
injectBoundFields(instance, creationalContext);
callInitializers(instance, creationalContext);
}
finally
{
- DependentContext.INSTANCE.stopCollecting(instance);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
DependentContext.INSTANCE.setActive(false);
}
@@ -308,6 +310,7 @@
public void preDestroy(T instance)
{
+ dependentInstancesStore.destroyDependentInstances(instance);
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -1,3 +1,19 @@
+/*
+ * 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.bean;
import java.util.Set;
@@ -6,40 +22,47 @@
import javax.inject.manager.Bean;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.context.DependentInstancesStore;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+/**
+ * Abstract base class with functions specific to RI built-in beans
+ *
+ * @author Pete Muir
+ */
public abstract class RIBean<T> extends Bean<T>
{
+ private final ManagerImpl manager;
+ protected final DependentInstancesStore dependentInstancesStore;
- private final ManagerImpl manager;
-
protected RIBean(ManagerImpl manager)
{
super(manager);
this.manager = manager;
+ this.dependentInstancesStore = new DependentInstancesStore();
}
-
+
@Override
protected ManagerImpl getManager()
{
return manager;
}
-
+
public abstract Class<T> getType();
-
+
public abstract boolean isSpecializing();
-
+
public boolean isDependent()
{
return getScopeType().equals(Dependent.class);
}
-
+
public abstract boolean isProxyable();
-
+
public abstract boolean isPrimitive();
-
+
public abstract Set<AnnotatedInjectionPoint<?, ?>> getInjectionPoints();
-
+
public abstract RIBean<?> getSpecializedBean();
-
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -32,7 +32,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
import org.jboss.webbeans.injection.ConstructorInjectionPoint;
import org.jboss.webbeans.injection.FieldInjectionPoint;
@@ -69,11 +69,11 @@
private AnnotatedMethod<?> postConstruct;
// The pre-destroy method
private AnnotatedMethod<?> preDestroy;
-
+
private Set<AnnotatedInjectionPoint<?, ?>> ejbInjectionPoints;
private Set<AnnotatedInjectionPoint<?, ?>> persistenceUnitInjectionPoints;
private Set<AnnotatedInjectionPoint<?, ?>> resourceInjectionPoints;
-
+
private SimpleBean<?> specializedBean;
/**
@@ -125,11 +125,13 @@
{
DependentContext.INSTANCE.setActive(true);
T instance = null;
+ DependentStorageRequest dependentStorageRequest = null;
try
{
instance = constructor.newInstance(manager, creationalContext);
creationalContext.push(instance);
- DependentContext.INSTANCE.startCollecting(instance);
+ dependentStorageRequest = DependentStorageRequest.of(dependentInstancesStore, instance);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
injectEjbAndCommonFields(instance);
injectBoundFields(instance, creationalContext);
callInitializers(instance, creationalContext);
@@ -137,7 +139,7 @@
}
finally
{
- DependentContext.INSTANCE.stopCollecting(instance);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
}
return instance;
}
@@ -158,7 +160,7 @@
{
DependentContext.INSTANCE.setActive(true);
callPreDestroy(instance);
- DependentInstancesStore.instance().destroyDependentInstances(instance);
+ dependentInstancesStore.destroyDependentInstances(instance);
}
catch (Exception e)
{
@@ -212,24 +214,24 @@
}
}
}
-
+
protected void initEjbInjectionPoints()
{
- this.ejbInjectionPoints = new HashSet<AnnotatedInjectionPoint<?,?>>();
+ this.ejbInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(manager.getEjbResolver().getEJBAnnotation()))
{
this.ejbInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
-
+
for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(manager.getEjbResolver().getEJBAnnotation()))
{
this.ejbInjectionPoints.add(MethodInjectionPoint.of(this, method));
}
}
-
+
protected void initPersistenceUnitInjectionPoints()
{
- this.persistenceUnitInjectionPoints = new HashSet<AnnotatedInjectionPoint<?,?>>();
+ this.persistenceUnitInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(manager.getEjbResolver().getPersistenceContextAnnotation()))
{
if (field.getAnnotation(PersistenceContext.class).type().equals(PersistenceContextType.EXTENDED))
@@ -238,7 +240,7 @@
}
this.persistenceUnitInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
-
+
for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(manager.getEjbResolver().getPersistenceContextAnnotation()))
{
if (method.getAnnotation(PersistenceContext.class).type().equals(PersistenceContextType.EXTENDED))
@@ -248,10 +250,10 @@
this.persistenceUnitInjectionPoints.add(MethodInjectionPoint.of(this, method));
}
}
-
+
protected void initResourceInjectionPoints()
{
- this.resourceInjectionPoints = new HashSet<AnnotatedInjectionPoint<?,?>>();
+ this.resourceInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(manager.getEjbResolver().getResourceAnnotation()))
{
this.resourceInjectionPoints.add(FieldInjectionPoint.of(this, field));
@@ -263,7 +265,7 @@
*/
protected void injectEjbAndCommonFields(T beanInstance)
{
-
+
for (AnnotatedInjectionPoint<?, ?> injectionPoint : ejbInjectionPoints)
{
Object ejbInstance = manager.getEjbResolver().resolveEjb(injectionPoint, manager.getNaming());
@@ -333,7 +335,7 @@
throw new DefinitionException("Simple bean declaring a passivating scope must have a serializable implementation class " + toString());
}
}
-
+
@Override
protected void checkBeanImplementation()
{
@@ -349,7 +351,7 @@
}
}
}
-
+
@Override
protected void preSpecialize()
{
@@ -359,7 +361,7 @@
throw new DefinitionException("Simple bean must specialize a simple bean");
}
}
-
+
@Override
protected void specialize()
{
@@ -440,7 +442,7 @@
return;
}
}
-
+
/**
* Initializes the bean type
*/
@@ -520,7 +522,7 @@
return checkInjectionPointsAreSerializable();
}
}
-
+
@Override
public SimpleBean<?> getSpecializedBean()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.jboss.webbeans.context;
import java.lang.annotation.Annotation;
@@ -26,7 +25,7 @@
*
* @author Nicklas Karlsson
* @author Pete Muir
- *
+ *
*/
public abstract class AbstractContext implements Context
{
@@ -49,7 +48,7 @@
protected Boolean initialValue()
{
return Boolean.FALSE;
- }
+ }
};
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -69,7 +69,7 @@
{
throw new ContextNotActiveException();
}
- T instance = getBeanStorage().get(contextual);
+ T instance = getBeanStore().get(contextual);
if (instance != null)
{
return instance;
@@ -79,7 +79,7 @@
instance = contextual.create(creationalContext);
if (instance != null)
{
- getBeanStorage().put(contextual, instance);
+ getBeanStore().put(contextual, instance);
}
return instance;
}
@@ -103,7 +103,7 @@
private <T> void destroy(Contextual<T> bean)
{
log.trace("Destroying " + bean);
- bean.destroy(getBeanStorage().get(bean));
+ bean.destroy(getBeanStore().get(bean));
}
/**
@@ -112,18 +112,18 @@
public void destroy()
{
log.trace("Destroying context");
- for (Contextual<? extends Object> bean : getBeanStorage().getBeans())
+ for (Contextual<? extends Object> bean : getBeanStore().getBeans())
{
destroy(bean);
}
- getBeanStorage().clear();
+ getBeanStore().clear();
}
/**
- * A method that should return the actual bean map implementation
+ * A method that returns the actual bean store implementation
*
- * @return The actual bean map
+ * @return The bean store
*/
- protected abstract BeanStore getBeanStorage();
+ protected abstract BeanStore getBeanStore();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -1,3 +1,19 @@
+/*
+ * 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.context;
import java.lang.annotation.Annotation;
@@ -4,9 +20,13 @@
import org.jboss.webbeans.context.api.BeanStore;
+/**
+ * Abstract base class for representing contexts with thread local bean storage
+ *
+ * @author Pete Muir
+ */
public abstract class AbstractThreadLocalMapContext extends AbstractMapContext
{
-
private final ThreadLocal<BeanStore> beanStore;
public AbstractThreadLocalMapContext(Class<? extends Annotation> scopeType)
@@ -16,20 +36,20 @@
}
/**
- * Gets the bean map
+ * Gets the bean store
*
- * @returns The bean map
+ * @returns The bean store
*/
@Override
- public BeanStore getBeanStorage()
+ public BeanStore getBeanStore()
{
return beanStore.get();
}
/**
- * Sets the bean map
+ * Sets the bean store
*
- * @param beanStore The bean map
+ * @param beanStore The bean store
*/
public void setBeanStore(BeanStore beanStore)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ApplicationContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -56,20 +56,20 @@
}
/**
- * Gets the bean map
+ * Gets the bean store
*
- * @return The bean map
+ * @return The bean store
*/
@Override
- public BeanStore getBeanStorage()
+ public BeanStore getBeanStore()
{
return this.beanStore;
}
/**
- * Sets the bean map
+ * Sets the bean store
*
- * @param applicationBeanStore The bean map
+ * @param applicationBeanStore The bean store
*/
public void setBeanStore(BeanStore applicationBeanStore)
{
@@ -102,7 +102,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "application context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/ConversationContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -52,7 +52,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "conversation context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -32,7 +32,7 @@
public class DependentContext extends AbstractContext
{
public static DependentContext INSTANCE;
-
+
public static DependentContext create()
{
INSTANCE = new DependentContext();
@@ -40,8 +40,8 @@
}
private ThreadLocal<AtomicInteger> reentrantActiveCount;
- // Key to collect instances under in DependentInstacesStore
- private ThreadLocal<Object> dependentsKey;
+ // A (possible null) request to store dependents created
+ private ThreadLocal<DependentStorageRequest> dependentStorageRequest;
/**
* Constructor
@@ -58,7 +58,7 @@
return new AtomicInteger(0);
}
};
- this.dependentsKey = new ThreadLocal<Object>();
+ this.dependentStorageRequest = new ThreadLocal<DependentStorageRequest>();
}
/**
@@ -76,9 +76,9 @@
if (creationalContext != null)
{
T instance = contextual.create(creationalContext);
- if (dependentsKey.get() != null)
+ if (dependentStorageRequest.get() != null)
{
- DependentInstancesStore.instance().addDependentInstance(dependentsKey.get(), ContextualInstance.of(contextual, instance));
+ dependentStorageRequest.get().getDependentInstancesStore().addDependentInstance(dependentStorageRequest.get().getKey(), ContextualInstance.of(contextual, instance));
}
return instance;
}
@@ -87,7 +87,7 @@
return null;
}
}
-
+
public <T> T get(Contextual<T> contextual)
{
return get(contextual, null);
@@ -120,31 +120,34 @@
}
/**
- * Sets the current injection instance. If there is already an instance
- * registered, nothing is done.
+ * Starts collecting dependent instances created by placing in the dependent
+ * instances store specified in the request. The request is only honored if
+ * there are no current request present.
*
- * @param dependentsKey The current injection instance to register
- * dependent objects under
+ * @param dependentStorageRequest The storage request
*/
- public void startCollecting(Object dependentsKey)
+ public void startCollectingDependents(DependentStorageRequest dependentStorageRequest)
{
- if (this.dependentsKey.get() == null)
+ if (this.dependentStorageRequest.get() == null)
{
- this.dependentsKey.set(dependentsKey);
+ this.dependentStorageRequest.set(dependentStorageRequest);
}
}
/**
- * Clears the current injection instance. Can only be done by passing in the instance
- * of the current instance.
+ * Stops collecting dependent instances created. The request is only honored
+ * if the request passed is the same that was used for starting the
+ * collection
*
- * @param dependentsKey The instance to free
+ * @param dependentStorageRequest The storage request
*/
- public void stopCollecting(Object dependentsKey)
+ public void stopCollectingDependents(DependentStorageRequest dependentStorageRequest)
{
- if (this.dependentsKey.get() == dependentsKey)
+ // Could also be null if we hit the finally block before the collection
+ // has started
+ if (this.dependentStorageRequest.get() != null && this.dependentStorageRequest.get().equals(dependentStorageRequest))
{
- this.dependentsKey.set(null);
+ this.dependentStorageRequest.set(null);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentInstancesStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -21,6 +21,9 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
+
/**
* A store for dependent instances created under a given key
*
@@ -28,29 +31,19 @@
*/
public class DependentInstancesStore
{
- private static DependentInstancesStore instance;
-
+ private static LogProvider log = Logging.getLogProvider(DependentInstancesStore.class);
+
// A object -> List of contextual instances mapping
private Map<Object, List<ContextualInstance<?>>> dependentInstances;
/**
* Creates a new DependentInstancesStore
*/
- protected DependentInstancesStore()
+ public DependentInstancesStore()
{
dependentInstances = new ConcurrentHashMap<Object, List<ContextualInstance<?>>>();
}
- static
- {
- instance = new DependentInstancesStore();
- }
-
- public static DependentInstancesStore instance()
- {
- return instance;
- }
-
/**
* Adds a dependent instance under a given key
*
@@ -65,17 +58,19 @@
instances = new CopyOnWriteArrayList<ContextualInstance<?>>();
dependentInstances.put(key, instances);
}
+ log.trace("Registered dependent instance " + contextualInstance + " under key " + key);
instances.add(contextualInstance);
}
/**
* Destroys all dependent objects associated with a particular key and remove
- * that key from the map
+ * that key from the store
*
* @param key The key to remove
*/
public void destroyDependentInstances(Object key)
{
+ log.trace("Destroying dependent instances under key " + key);
if (!dependentInstances.containsKey(key))
{
return;
@@ -86,4 +81,5 @@
}
dependentInstances.remove(key);
}
+
}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentStorageRequest.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -0,0 +1,91 @@
+/*
+ * 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.context;
+
+/**
+ * A dependent instance store and storage key combination for selecting the correct receiving
+ * store and holding key for dependent instances in the dependent context
+ *
+ * @author Nicklas Karlsson
+ */
+public class DependentStorageRequest
+{
+ // The dependent instances store to target
+ private DependentInstancesStore dependentInstancesStore;
+ // The key in the store
+ private Object key;
+
+ /**
+ * Create a new DependentStoreKey
+ *
+ * @param dependentInstancesStore The dependent instances store
+ * @param key The storage key
+ */
+ protected DependentStorageRequest(DependentInstancesStore dependentInstancesStore, Object key)
+ {
+ this.dependentInstancesStore = dependentInstancesStore;
+ this.key = key;
+ }
+
+ /**
+ * Static factory method
+ *
+ * @param scopeType The scope type of the dependent instances store
+ * @param key The storage key
+ * @return A new DependentStoreKey
+ */
+ public static DependentStorageRequest of(DependentInstancesStore dependentInstancesStore, Object key)
+ {
+ return new DependentStorageRequest(dependentInstancesStore, key);
+ }
+
+ /**
+ * Gets the store
+ *
+ * @return The store
+ */
+ public DependentInstancesStore getDependentInstancesStore()
+ {
+ return dependentInstancesStore;
+ }
+
+ /**
+ * Gets the key
+ *
+ * @return The key
+ */
+ public Object getKey()
+ {
+ return key;
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ DependentStorageRequest otherRequest = (DependentStorageRequest) other;
+ if (dependentInstancesStore != otherRequest.getDependentInstancesStore())
+ {
+ return false;
+ }
+ if (!key.equals(otherRequest.getKey()))
+ {
+ return false;
+ }
+ return true;
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/RequestContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -47,7 +47,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "request context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/SessionContext.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -52,7 +52,7 @@
public String toString()
{
String active = isActive() ? "Active " : "Inactive ";
- String beanStoreInfo = getBeanStorage() == null ? "" : getBeanStorage().toString();
+ String beanStoreInfo = getBeanStore() == null ? "" : getBeanStore().toString();
return active + "session context " + beanStoreInfo;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/AbstractBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -42,7 +42,7 @@
private static LogProvider log = Logging.getLogProvider(AbstractBeanStore.class);
/**
- * Gets a bean from the map
+ * Gets a bean from the store
*
* @param contextual The bean to get
* @return The instance
@@ -50,14 +50,14 @@
@SuppressWarnings("unchecked")
public <T> T get(Contextual<? extends T> contextual)
{
- String key = getBeanNamingScheme().getContextualKey(contextual);
+ String key = getNamingScheme().getContextualKey(contextual);
T instance = (T) getAttribute(key);
log.trace("Looked for " + key + " and got " + instance);
return instance;
}
/**
- * Removes an instance from the map
+ * Removes an instance from the store
*
* @param contextual The bean of the instance to remove
* @return The removed instance
@@ -65,14 +65,14 @@
public <T> T remove(Contextual<? extends T> contextual)
{
T instance = get(contextual);
- String key = getBeanNamingScheme().getContextualKey(contextual);
+ String key = getNamingScheme().getContextualKey(contextual);
removeAttribute(key);
log.trace("Removed bean under key " + key);
return instance;
}
/**
- * Clears the bean map
+ * Clears the bean store
*/
public void clear()
{
@@ -80,18 +80,18 @@
{
removeAttribute(attributeName);
}
- log.trace("Bean Map cleared");
+ log.trace("Bean store cleared");
}
/**
- * Returns the beans present in the map
+ * Returns the beans present in the store
*
* @return The beans
*/
public Iterable<Contextual<? extends Object>> getBeans()
{
List<Contextual<?>> contextuals = new ArrayList<Contextual<?>>();
- BeanStoreNamingScheme namingScheme = getBeanNamingScheme();
+ BeanStoreNamingScheme namingScheme = getNamingScheme();
for (String attributeName : getFilteredAttributeNames())
{
int beanIndex = namingScheme.getBeanIndexFromKey(attributeName);
@@ -102,14 +102,14 @@
}
/**
- * Gets the list of attribute names that is held by the bean map
+ * Gets the list of attribute names that is held by the bean store
*
* @return The list of attribute names
*/
private List<String> getFilteredAttributeNames()
{
List<String> attributeNames = new ArrayList<String>();
- BeanStoreNamingScheme namingScheme = getBeanNamingScheme();
+ BeanStoreNamingScheme namingScheme = getNamingScheme();
for (String attributeName : new EnumerationIterable<String>(getAttributeNames()))
{
if (namingScheme.acceptKey(attributeName))
@@ -121,7 +121,7 @@
}
/**
- * Puts an instance of a bean in the map
+ * Puts an instance of a bean in the store
*
* @param bean The key bean
* @param instance The instance
@@ -129,7 +129,7 @@
*/
public <T> void put(Contextual<? extends T> bean, T instance)
{
- String key = getBeanNamingScheme().getContextualKey(bean);
+ String key = getNamingScheme().getContextualKey(bean);
setAttribute(key, instance);
log.trace("Added bean " + bean + " under key " + key);
}
@@ -166,11 +166,11 @@
protected abstract void setAttribute(String key, Object instance);
/**
- * Gets an naming scheme for handling keys in a bean map
+ * Gets an naming scheme for handling keys in a bean store
*
* @return The naming scheme
*/
- protected abstract BeanStoreNamingScheme getBeanNamingScheme();
+ protected abstract BeanStoreNamingScheme getNamingScheme();
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/BeanStoreNamingScheme.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -27,7 +27,7 @@
public interface BeanStoreNamingScheme
{
/**
- * Checks if a key is handled by the bean map
+ * Checks if a key is handled by the bean store
*
* @param key The key to match
* @return True if match, false otherwise
@@ -35,7 +35,7 @@
public abstract boolean acceptKey(String key);
/**
- * Gets a bean map key for a contextual
+ * Gets a bean store key for a contextual
*
* @param contextual The contextual to make the key for
* @return A map key
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/PrefixBeanStoreNamingScheme.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -21,7 +21,7 @@
import org.jboss.webbeans.CurrentManager;
/**
- * Simple prefix-based implementation of a bean map naming scheme
+ * Simple prefix-based implementation of a bean store naming scheme
*
* @author Nicklas Karlsson
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/beanstore/SimpleBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -51,7 +51,7 @@
}
/**
- * Gets an instance from the map
+ * Gets an instance from the store
*
* @param The bean to look for
* @return An instance, if found
@@ -62,12 +62,12 @@
{
@SuppressWarnings("unchecked")
T instance = (T) super.get(bean);
- log.trace("Searched bean map for " + bean + " and got " + instance);
+ log.trace("Searched bean store for " + bean + " and got " + instance);
return instance;
}
/**
- * Gets the delegate for the map
+ * Gets the delegate for the store
*
* @return The delegate
*/
@@ -78,7 +78,7 @@
}
/**
- * Removed a instance from the map
+ * Removed a instance from the store
*
* @param bean the bean to remove
* @return The instance removed
@@ -89,23 +89,23 @@
{
@SuppressWarnings("unchecked")
T instance = (T) super.remove(bean);
- log.trace("Removed instace " + instance + " for bean " + bean + " from the bean map");
+ log.trace("Removed instace " + instance + " for bean " + bean + " from the bean store");
return instance;
}
/**
- * Clears the map
+ * Clears the store
*
* @see org.jboss.webbeans.context.api.BeanStore#clear()
*/
public void clear()
{
delegate.clear();
- log.trace("Bean map cleared");
+ log.trace("Bean store cleared");
}
/**
- * Returns the beans contained in the map
+ * Returns the beans contained in the store
*
* @return The beans present
*
@@ -117,7 +117,7 @@
}
/**
- * Puts a bean instance under the bean key in the map
+ * Puts a bean instance under the bean key in the store
*
* @param bean The bean
* @param instance the instance
@@ -127,7 +127,7 @@
public <T> void put(Contextual<? extends T> bean, T instance)
{
delegate.put(bean, instance);
- log.trace("Stored instance " + instance + " for bean " + bean + " in bean map");
+ log.trace("Stored instance " + instance + " for bean " + bean + " in bean store");
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -25,7 +25,14 @@
import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.context.DependentContext;
+import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
+/**
+ * An EL-resolver against the named beans
+ *
+ * @author Pete Muir
+ */
public class WebBeansELResolver extends ELResolver
{
@@ -64,13 +71,11 @@
{
if (base == null && property != null)
{
- // TODO Any other way than creating a dummy parent to collect the created dependent objects under?
- // TODO temp disabled
- Object dependentsCollector = new Object();
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(new DependentInstancesStore(), new Object());
try
{
DependentContext.INSTANCE.setActive(true);
- DependentContext.INSTANCE.startCollecting(dependentsCollector);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
Object value = CurrentManager.rootManager().getInstanceByName(property.toString());
if (value != null)
{
@@ -80,7 +85,9 @@
}
finally
{
- DependentContext.INSTANCE.stopCollecting(dependentsCollector);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
+ // TODO kinky
+ dependentStorageRequest.getDependentInstancesStore().destroyDependentInstances(dependentStorageRequest.getKey());
DependentContext.INSTANCE.setActive(false);
}
}
@@ -108,3 +115,4 @@
}
}
+
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -43,6 +43,7 @@
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.context.DependentContext;
import org.jboss.webbeans.context.DependentInstancesStore;
+import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
@@ -192,12 +193,12 @@
public void notify(final T event)
{
Object instance = null;
- Object dependentsCollector = new Object();
+ DependentStorageRequest dependentStorageRequest = DependentStorageRequest.of(new DependentInstancesStore(), new Object());
try
{
if (Dependent.class.equals(observerBean.getScopeType()) && observerBean instanceof RIBean)
{
- DependentContext.INSTANCE.startCollecting(dependentsCollector);
+ DependentContext.INSTANCE.startCollectingDependents(dependentStorageRequest);
}
// Get the most specialized instance of the component
instance = getInstance(observerBean);
@@ -218,8 +219,8 @@
{
if (Dependent.class.equals(observerBean.getScopeType()))
{
- DependentInstancesStore.instance().destroyDependentInstances(dependentsCollector);
- DependentContext.INSTANCE.stopCollecting(instance);
+ DependentContext.INSTANCE.stopCollectingDependents(dependentStorageRequest);
+ dependentStorageRequest.getDependentInstancesStore().destroyDependentInstances(dependentStorageRequest.getKey());
}
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -48,7 +48,7 @@
}
/**
- * Gets a string representation of the Map
+ * Gets a string representation of the map
*
* @return A string representation
*/
@@ -112,7 +112,7 @@
}
/**
- * Gets a string representation of the Map
+ * Gets a string representation of the map
*
* @return A string representation
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -87,7 +87,7 @@
}
@Override
- protected BeanStoreNamingScheme getBeanNamingScheme()
+ protected BeanStoreNamingScheme getNamingScheme()
{
return new PrefixBeanStoreNamingScheme(ApplicationContext.class.getName(), "#");
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ConversationBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -24,7 +24,7 @@
import org.jboss.webbeans.context.beanstore.PrefixBeanStoreNamingScheme;
/**
- * A HTTP session backed bean map for the conversational scope
+ * A HTTP session backed bean store for the conversational scope
*
* @author Nicklas Karlsson
*/
@@ -39,7 +39,7 @@
}
@Override
- protected BeanStoreNamingScheme getBeanNamingScheme()
+ protected BeanStoreNamingScheme getNamingScheme()
{
return new PrefixBeanStoreNamingScheme(ConversationContext.class.getName() + "[" + cid + "]", "#");
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/HttpSessionBeanStore.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -86,7 +86,7 @@
}
@Override
- protected BeanStoreNamingScheme getBeanNamingScheme()
+ protected BeanStoreNamingScheme getNamingScheme()
{
return new PrefixBeanStoreNamingScheme(SessionContext.class.getName(), "#");
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java 2009-02-25 01:34:45 UTC (rev 1699)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java 2009-02-25 07:47:43 UTC (rev 1700)
@@ -285,11 +285,10 @@
assert foxRun.fox != null;
}
- @Test(groups = { "contexts", "beanDestruction", "ri-broken" })
+ @Test(groups = { "contexts", "beanDestruction"})
@SpecAssertion(section = "8.3.2", id = "a")
public void testDestroyingParentDestroysDependents() throws Exception
{
- // WBRI-147
new RunInDependentContext()
{
More information about the weld-commits
mailing list