[webbeans-commits] Webbeans SVN: r1804 - ri/trunk/impl/src/main/java/org/jboss/webbeans/bean and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-07 13:50:45 -0500 (Sat, 07 Mar 2009)
New Revision: 1804
Modified:
examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InjectionPointBean.java
ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java
ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java
ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewSimpleBeanTest.java
ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/BeansImpl.java
Log:
tidy up
Modified: examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -63,7 +63,7 @@
return remainingGuesses;
}
- public String check()
+ public String check() throws InterruptedException
{
if (guess>number)
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -43,7 +43,6 @@
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.util.Proxies;
@@ -74,11 +73,6 @@
* @param manager the current manager
* @return An Enterprise Web Bean
*/
- public static <T> EnterpriseBean<T> of(Class<T> clazz, ManagerImpl manager)
- {
- return of(AnnotatedClassImpl.of(clazz), manager);
- }
-
public static <T> EnterpriseBean<T> of(AnnotatedClass<T> clazz, ManagerImpl manager)
{
return new EnterpriseBean<T>(clazz, manager);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -26,7 +26,6 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.literal.NewLiteral;
/**
@@ -51,18 +50,6 @@
}
/**
- * Creates an instance of a NewEnterpriseBean from a class
- *
- * @param clazz The class
- * @param manager The Web Beans manager
- * @return a new NewEnterpriseBean instance
- */
- public static <T> NewEnterpriseBean<T> of(Class<T> clazz, ManagerImpl manager)
- {
- return of(AnnotatedClassImpl.of(clazz), manager);
- }
-
- /**
* Protected constructor
*
* @param type An annotated class
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -27,7 +27,6 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.literal.NewLiteral;
/**
@@ -52,18 +51,6 @@
}
/**
- * Creates an instance of a NewSimpleBean from a class
- *
- * @param clazz The class
- * @param manager The Web Beans manager
- * @return a new NewSimpleBean instance
- */
- public static <T> NewSimpleBean<T> of(Class<T> clazz, ManagerImpl manager)
- {
- return of(AnnotatedClassImpl.of(clazz), manager);
- }
-
- /**
* Protected constructor
*
* @param type An annotated class
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -23,7 +23,6 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.jlr.AnnotatedFieldImpl;
import org.jboss.webbeans.util.Names;
/**
@@ -50,19 +49,6 @@
{
return new ProducerFieldBean<T>(field, declaringBean, manager);
}
-
- /**
- * Creates a producer field Web Bean
- *
- * @param field The underlying method abstraction
- * @param declaringBean The declaring bean abstraction
- * @param manager the current manager
- * @return A producer Web Bean
- */
- public static <T> ProducerFieldBean<T> of(Field field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- return new ProducerFieldBean<T>(new AnnotatedFieldImpl<T>(field, declaringBean.getAnnotatedItem()), declaringBean, manager);
- }
/**
* Constructor
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -32,7 +32,6 @@
import org.jboss.webbeans.injection.ParameterInjectionPoint;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
import org.jboss.webbeans.metadata.MetaDataCache;
import org.jboss.webbeans.util.Names;
@@ -64,11 +63,6 @@
{
return new ProducerMethodBean<T>(method, declaringBean, manager);
}
-
- public static <T> ProducerMethodBean<T> of(Method method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- return of(AnnotatedMethodImpl.<T>of(method, declaringBean.getAnnotatedItem()), declaringBean, manager);
- }
protected ProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -84,6 +84,7 @@
* @param manager the current manager
* @return A Web Bean
*/
+ @Deprecated
public static <T> SimpleBean<T> of(Class<T> clazz, ManagerImpl manager)
{
return of(AnnotatedClassImpl.of(clazz), manager);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InjectionPointBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InjectionPointBean.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InjectionPointBean.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -27,8 +27,6 @@
import javax.inject.manager.InjectionPoint;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.literal.CurrentLiteral;
/**
@@ -56,10 +54,10 @@
*/
public static InjectionPointBean of(ManagerImpl manager)
{
- return new InjectionPointBean(AnnotatedClassImpl.of(InjectionPoint.class), manager);
+ return new InjectionPointBean(manager);
}
- protected InjectionPointBean(AnnotatedClass<InjectionPoint> clazz, ManagerImpl manager)
+ protected InjectionPointBean(ManagerImpl manager)
{
super(manager);
}
Modified: ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java
===================================================================
--- ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -2,8 +2,6 @@
import java.io.IOException;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
@@ -12,15 +10,7 @@
import javax.inject.Standard;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.AbstractClassBean;
-import org.jboss.webbeans.bean.EnterpriseBean;
-import org.jboss.webbeans.bean.NewEnterpriseBean;
-import org.jboss.webbeans.bean.NewSimpleBean;
-import org.jboss.webbeans.bean.ProducerFieldBean;
-import org.jboss.webbeans.bean.ProducerMethodBean;
-import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.mock.MockEjbDescriptor;
import org.jboss.webbeans.mock.MockLifecycle;
import org.jboss.webbeans.mock.MockWebBeanDiscovery;
import org.jboss.webbeans.util.EnumerationIterable;
@@ -35,12 +25,12 @@
protected void setup()
{
- AbstractTest.activateDependentContext();
+ DependentContext.INSTANCE.setActive(true);
}
protected void cleanup()
{
- AbstractTest.deactivateDependentContext();
+ DependentContext.INSTANCE.setActive(false);
}
public final void run() throws Exception
@@ -99,48 +89,6 @@
return Arrays.asList(Standard.class, Production.class);
}
- protected <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz)
- {
- manager.getEjbDescriptorCache().add(MockEjbDescriptor.of(clazz));
- return EnterpriseBean.of(clazz, manager);
- }
-
- protected <T> NewEnterpriseBean<T> createNewEnterpriseBean(Class<T> clazz)
- {
- manager.getEjbDescriptorCache().add(MockEjbDescriptor.of(clazz));
- return NewEnterpriseBean.of(clazz, manager);
- }
-
- protected <T> NewSimpleBean<T> createNewSimpleBean(Class<T> clazz)
- {
- return NewSimpleBean.of(clazz, manager);
- }
-
- protected <T> SimpleBean<T> createSimpleBean(Class<T> clazz)
- {
- return SimpleBean.of(clazz, manager);
- }
-
- protected <T> ProducerMethodBean<T> createProducerMethod(Method method, AbstractClassBean<?> declaringBean)
- {
- return ProducerMethodBean.of(method, declaringBean, manager);
- }
-
- protected <T> ProducerFieldBean<T> createProducerField(Field field, AbstractClassBean<?> declaringBean)
- {
- return ProducerFieldBean.of(field, declaringBean, manager);
- }
-
- private static void activateDependentContext()
- {
- DependentContext.INSTANCE.setActive(true);
- }
-
- private static void deactivateDependentContext()
- {
- DependentContext.INSTANCE.setActive(false);
- }
-
protected void deployBeans(Class<?>... classes)
{
discovery.setWebBeanClasses(Arrays.asList(classes));
Modified: ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java
===================================================================
--- ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -3,9 +3,12 @@
import java.lang.annotation.Annotation;
import java.util.Set;
+import javax.inject.New;
+
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.NewEnterpriseBean;
import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.literal.NewLiteral;
import org.jboss.webbeans.test.unit.AbstractTest;
import org.jboss.webbeans.util.Proxies.TypeInfo;
import org.testng.annotations.BeforeMethod;
@@ -13,15 +16,24 @@
public class NewEnterpriseBeanTest extends AbstractTest
{
+
+ private static final New NEW_LITERAL = new NewLiteral();
+
private EnterpriseBean<WrappedEnterpriseBean> wrappedEnterpriseBean;
private NewEnterpriseBean<WrappedEnterpriseBean> newEnterpriseBean;
@BeforeMethod
public void initNewBean() {
- wrappedEnterpriseBean = createEnterpriseBean(WrappedEnterpriseBean.class);
- manager.addBean(wrappedEnterpriseBean);
- newEnterpriseBean = createNewEnterpriseBean(WrappedEnterpriseBean.class);
- manager.addBean(newEnterpriseBean);
+ deployBeans(WrappedEnterpriseBean.class);
+
+ assert manager.resolveByType(WrappedEnterpriseBean.class).size() == 1;
+ assert manager.resolveByType(WrappedEnterpriseBean.class).iterator().next() instanceof EnterpriseBean;
+ wrappedEnterpriseBean = (EnterpriseBean<WrappedEnterpriseBean>) manager.resolveByType(WrappedEnterpriseBean.class).iterator().next();
+
+ assert manager.resolveByType(WrappedEnterpriseBean.class, NEW_LITERAL).size() == 1;
+ assert manager.resolveByType(WrappedEnterpriseBean.class, NEW_LITERAL).iterator().next() instanceof NewEnterpriseBean;
+ newEnterpriseBean = (NewEnterpriseBean<WrappedEnterpriseBean>) manager.resolveByType(WrappedEnterpriseBean.class, NEW_LITERAL).iterator().next();
+
}
@Test(groups = { "new", "broken" })
Modified: ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewSimpleBeanTest.java
===================================================================
--- ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewSimpleBeanTest.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/implementation/NewSimpleBeanTest.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -2,9 +2,12 @@
import java.util.Set;
+import javax.inject.New;
+
import org.jboss.webbeans.bean.NewSimpleBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.literal.NewLiteral;
import org.jboss.webbeans.test.unit.AbstractTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -14,12 +17,19 @@
private SimpleBean<WrappedSimpleBean> wrappedSimpleBean;
private NewSimpleBean<WrappedSimpleBean> newSimpleBean;
+ private static final New NEW_LITERAL = new NewLiteral();
+
@BeforeMethod
public void initNewBean() {
- wrappedSimpleBean = createSimpleBean(WrappedSimpleBean.class);
- manager.addBean(wrappedSimpleBean);
- newSimpleBean = createNewSimpleBean(WrappedSimpleBean.class);
- manager.addBean(newSimpleBean);
+ deployBeans(WrappedSimpleBean.class);
+
+ assert manager.resolveByType(WrappedSimpleBean.class).size() == 1;
+ assert manager.resolveByType(WrappedSimpleBean.class).iterator().next() instanceof SimpleBean;
+ wrappedSimpleBean = (SimpleBean<WrappedSimpleBean>) manager.resolveByType(WrappedSimpleBean.class).iterator().next();
+
+ assert manager.resolveByType(WrappedSimpleBean.class, NEW_LITERAL).size() == 1;
+ assert manager.resolveByType(WrappedSimpleBean.class, NEW_LITERAL).iterator().next() instanceof NewSimpleBean;
+ newSimpleBean = (NewSimpleBean<WrappedSimpleBean>) manager.resolveByType(WrappedSimpleBean.class, NEW_LITERAL).iterator().next();
}
@Test(groups = { "new" })
Modified: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/BeansImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/BeansImpl.java 2009-03-07 16:26:56 UTC (rev 1803)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/BeansImpl.java 2009-03-07 18:50:45 UTC (rev 1804)
@@ -1,19 +1,8 @@
package org.jboss.webbeans.tck;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-import javax.inject.manager.Bean;
-
import org.jboss.jsr299.tck.spi.Beans;
import org.jboss.webbeans.CurrentManager;
-import org.jboss.webbeans.bean.AbstractClassBean;
-import org.jboss.webbeans.bean.EnterpriseBean;
-import org.jboss.webbeans.bean.ProducerFieldBean;
-import org.jboss.webbeans.bean.ProducerMethodBean;
-import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-import org.jboss.webbeans.mock.MockEjbDescriptor;
import org.jboss.webbeans.util.Reflections;
/**
@@ -24,45 +13,9 @@
* @author David Allen
*
*/
-@Deprecated
public class BeansImpl implements Beans
{
- public <T> Bean<T> createSimpleBean(Class<T> clazz)
- {
- return SimpleBean.of(clazz, CurrentManager.rootManager());
- }
-
- public <T> Bean<T> createProducerMethodBean(Method method, Bean<?> declaringBean)
- {
- if (declaringBean instanceof AbstractClassBean)
- {
- return ProducerMethodBean.of(method, (AbstractClassBean<?>) declaringBean, CurrentManager.rootManager());
- }
- else
- {
- throw new IllegalStateException("Cannot create a producer method from a bean that wasn't created by the RI " + declaringBean);
- }
- }
-
- public <T> Bean<T> createProducerFieldBean(Field field, Bean<?> declaringBean)
- {
- if (declaringBean instanceof AbstractClassBean)
- {
- return ProducerFieldBean.of(field, (AbstractClassBean<?>) declaringBean, CurrentManager.rootManager());
- }
- else
- {
- throw new IllegalStateException("Cannot create a producer field from a bean that wasn't created by the RI " + declaringBean);
- }
- }
-
- public <T> Bean<T> createEnterpriseBean(Class<T> clazz)
- {
- CurrentManager.rootManager().getEjbDescriptorCache().add(MockEjbDescriptor.of(clazz));
- return EnterpriseBean.of(clazz, CurrentManager.rootManager());
- }
-
public boolean isEnterpriseBean(Class<?> clazz)
{
return CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz);
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1803 - ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy and 7 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-07 11:26:56 -0500 (Sat, 07 Mar 2009)
New Revision: 1803
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/InactiveContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MockCreationalContext.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/DependentContextEjbTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Farm.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FarmLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Fox.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRun.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRunLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Horse.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/House.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/HouseLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Room.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/RoomLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Stable.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Table.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/TableLocal.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/servlet/
Removed:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextIntegrationTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MyCreationalContext.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/EnterpriseBeanInstance.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockEjBResolver.java
ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EjbResolver.java
ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbResolver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/ContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Farm.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Fox.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/FoxRun.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/HorseStable.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/OtherSpiderProducer.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/SpiderProducer.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Tarantula.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
Tidy up dependentcontext tests and start on the ejb remove stuff
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -235,18 +235,21 @@
}
}
- /**
- * Destroys an instance of the bean
- *
- * @param instance The instance
- */
public void destroy(T instance)
{
+ if (instance == null)
+ {
+ throw new IllegalArgumentException("instance to destroy cannot be null");
+ }
EnterpriseBeanInstance enterpiseBeanInstance = (EnterpriseBeanInstance) instance;
if (enterpiseBeanInstance.isDestroyed())
{
return;
}
+ else
+ {
+ // TODO getManager().getEjbResolver().removeEjb(enterpiseBeanInstance.getUnproxiedInstances());
+ }
}
/**
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/EnterpriseBeanInstance.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/EnterpriseBeanInstance.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/EnterpriseBeanInstance.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -16,6 +16,8 @@
*/
package org.jboss.webbeans.bean.proxy;
+import java.util.Collection;
+
/**
* Interface implemented by all enterprise bean proxies to determine if
* the enterprise bean has already had a remove method called by the application
@@ -33,4 +35,10 @@
*/
public boolean isDestroyed();
+ /**
+ * The unproxied version of this object
+ * @return
+ */
+ public Collection<Object> getUnproxiedInstances();
+
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockEjBResolver.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockEjBResolver.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockEjBResolver.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -4,6 +4,7 @@
package org.jboss.webbeans.mock;
import java.lang.annotation.Annotation;
+import java.util.Collection;
import javax.annotation.Resource;
import javax.ejb.EJB;
@@ -44,4 +45,9 @@
{
return null;
}
+
+ public void removeEjb(Collection<Object> instance)
+ {
+ // No-op
+ }
}
\ No newline at end of file
Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EjbResolver.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EjbResolver.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EjbResolver.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -10,6 +10,8 @@
* A container should implement this interface to allow the Web Beans RI to
* resolve EJBs, Resources and JPA persistence units
*
+ * TODO This probably needs renaming to EjbLifecycle
+ *
* @author Pete Muir
*
*/
@@ -21,10 +23,11 @@
/**
* Resolve the value for the given @EJB injection point
*
- * @param injectionPoint the injection point metadata
+ * @param injectionPoint
+ * the injection point metadata
* @return an instance of the EJB
* @throws IllegalArgumentException
- * if the injection point is not annotated with @EJB, or, if the
+ * if the injection point is not annotated with @EJB, or, if the
* injection point is a method that doesn't follow JavaBean
* conventions
* @throws IllegalStateException
@@ -32,16 +35,25 @@
*/
public Object resolveEjb(InjectionPoint injectionPoint, NamingContext namingContext);
+// /**
+// * Request the EJB container remove an EJB
+// *
+// * @param instances all objects retrieved from the container for this EJB
+// */
+// public void removeEjb(Collection<Object> instances);
+
/**
* Resolve the value for the given @PersistenceContext injection point
*
- * @param injectionPoint the injection point metadata
- * @param namingContext the pluggable Web Beans JNDI lookup facility
+ * @param injectionPoint
+ * the injection point metadata
+ * @param namingContext
+ * the pluggable Web Beans JNDI lookup facility
* @return an instance of the persistence unit
* @throws IllegalArgumentException
- * if the injection point is not annotated with
- * @PersistenceContext, or, if the injection point is a method
- * that doesn't follow JavaBean conventions
+ * if the injection point is not annotated with
+ * @PersistenceContext, or, if the injection point is a method that doesn't
+ * follow JavaBean conventions
* @throws IllegalStateException
* if no suitable persistence units can be resolved for injection
*/
@@ -50,12 +62,14 @@
/**
* Resolve the value for the given @Resource injection point
*
- * @param injectionPoint the injection point metadata
- * @param namingContext the pluggable Web Beans JNDI lookup facility
+ * @param injectionPoint
+ * the injection point metadata
+ * @param namingContext
+ * the pluggable Web Beans JNDI lookup facility
* @return an instance of the resource
* @throws IllegalArgumentException
- * if the injection point is not annotated with @Resource, or, if
- * the injection point is a method that doesn't follow JavaBean
+ * if the injection point is not annotated with @Resource, or, if
+ * the injection point is a method that doesn't follow JavaBean
* conventions
* @throws IllegalStateException
* if no resource can be resolved for injection
@@ -83,5 +97,4 @@
*/
public Class<? extends Annotation> getResourceAnnotation();
-
}
Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbResolver.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbResolver.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbResolver.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -51,6 +51,11 @@
{
return delegate().resolveResource(injectionPoint, namingContext);
}
+//
+// public void removeEjb(Collection<Object> instance)
+// {
+// delegate().removeEjb(instance);
+// }
@Override
public boolean equals(Object obj)
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/ContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/ContextTest.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/ContextTest.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -55,14 +55,6 @@
}
}
- @Test(expectedExceptions = { ContextNotActiveException.class }, groups = { "manager" })
- @SpecAssertion(section = "8.6", id = "c")
- public void testGetContextWithNoActiveContextsFails()
- {
- getCurrentConfiguration().getContexts().setInactive(getCurrentConfiguration().getContexts().getRequestContext());
- getCurrentManager().getContext(RequestScoped.class);
- }
-
@Test(expectedExceptions = { IllegalStateException.class }, groups = { "manager" })
@SpecAssertion(section = "8.6", id = "d")
public void testGetContextWithTooManyActiveContextsFails()
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/InactiveContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/InactiveContextTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/InactiveContextTest.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,24 @@
+package org.jboss.jsr299.tck.tests.context;
+
+import javax.context.ContextNotActiveException;
+import javax.context.RequestScoped;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.testng.annotations.Test;
+
+@Artifact
+public class InactiveContextTest extends AbstractDeclarativeTest
+{
+
+
+ @Test(expectedExceptions = { ContextNotActiveException.class }, groups = { "manager" })
+ @SpecAssertion(section = "8.6", id = "c")
+ public void testGetContextWithNoActiveContextsFails()
+ {
+ getCurrentConfiguration().getContexts().setInactive(getCurrentConfiguration().getContexts().getRequestContext());
+ getCurrentManager().getContext(RequestScoped.class);
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/InactiveContextTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextIntegrationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextIntegrationTest.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextIntegrationTest.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,79 +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.jsr299.tck.tests.context.dependent;
-
-import org.hibernate.tck.annotations.SpecAssertion;
-import org.testng.annotations.Test;
-
-/**
- * Spec version: Public Release Draft 2
- */
-public class DependentContextIntegrationTest
-{
- @Test(groups = { "contexts", "injection", "stub", "ejb3", "integration" })
- @SpecAssertion(section = "8.3", id = "k")
- public void testContextIsActiveDuringEJBDependencyInjection()
- {
- assert false;
- }
-
- @Test(groups = { "contexts", "postconstruct", "stub", "ejb3", "integration" })
- @SpecAssertion(section = "8.3", id = "l")
- public void testContextIsActiveDuringEJBPostConstruct()
- {
- assert false;
- }
-
-
- @Test(groups = { "contexts", "injection", "stub", "servlet", "integration" })
- @SpecAssertion(section = "8.3", id = "m")
- public void testContextIsActiveDuringServletDependencyInjection()
- {
- assert false;
- }
-
- @Test(groups = { "stub", "contexts", "ejb3", "integration" })
- @SpecAssertion(section = "8.3.1", id = "a")
- public void testEjbBeanMayCreateInstanceWheneverScopeActive()
- {
- assert false;
- }
-
-
- @Test(groups = { "stub", "contexts", "servlet", "integration" })
- @SpecAssertion(section = "8.3.1", id = "a")
- public void testServletBeanMayCreateInstanceWheneverScopeIsActive()
- {
- assert false;
- }
-
- @Test(groups = { "stub", "contexts", "ejb3", "integration" })
- @SpecAssertion(section = "8.3.2", id = "b")
- public void testDestroyingEjbDestroysDependents()
- {
- assert false;
- }
-
- @Test(groups = { "stub", "contexts", "servlet", "integration" })
- @SpecAssertion(section = "8.3.2", id = "b")
- public void testDestroyingServletDestroysDependents()
- {
- assert false;
- }
-
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextTest.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextTest.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -10,6 +10,7 @@
import javax.inject.manager.Bean;
import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
import org.jboss.jsr299.tck.AbstractDeclarativeTest;
import org.jboss.jsr299.tck.impl.packaging.Artifact;
import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
@@ -34,20 +35,10 @@
Set<Bean<FoxRun>> foxRunBeans = getCurrentManager().resolveByType(FoxRun.class);
assert foxRunBeans.size() == 1;
Bean<FoxRun> foxRunBean = foxRunBeans.iterator().next();
- FoxRun foxRun = foxRunBean.create(new MyCreationalContext<FoxRun>());
+ FoxRun foxRun = foxRunBean.create(new MockCreationalContext<FoxRun>());
assert !foxRun.fox.equals(foxRun.anotherFox);
}
- @Test(groups = { "contexts", "stub" })
- @SpecAssertion(section = "8.3", id = "b")
- public void testDependentBeansBoundToLifecycleOfContainingBean() throws Exception
- {
- // Once injected, dependent beans will be destroyed when the
- // containing bean is destroyed. This other test should
- // satisfy this assertion.
- testDestroyingParentDestroysDependents();
- }
-
@Test(groups = { "contexts", "el" })
@SpecAssertion(section = "8.3", id = "c")
public void testInstanceUsedForElEvaluationNotShared() throws Exception
@@ -72,8 +63,8 @@
public void testInstanceUsedForProducerMethodNotShared() throws Exception
{
Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
- Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
- Tarantula tarantula2 = tarantulaBean.create(new MyCreationalContext<Tarantula>());
+ Tarantula tarantula = tarantulaBean.create(new MockCreationalContext<Tarantula>());
+ Tarantula tarantula2 = tarantulaBean.create(new MockCreationalContext<Tarantula>());
assert tarantula != null;
assert tarantula2 != null;
assert tarantula != tarantula2;
@@ -84,8 +75,8 @@
public void testInstanceUsedForProducerFieldNotShared() throws Exception
{
Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class, TAME_LITERAL).iterator().next();
- Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
- Tarantula tarantula2 = tarantulaBean.create(new MyCreationalContext<Tarantula>());
+ Tarantula tarantula = tarantulaBean.create(new MockCreationalContext<Tarantula>());
+ Tarantula tarantula2 = tarantulaBean.create(new MockCreationalContext<Tarantula>());
assert tarantula != null;
assert tarantula2 != null;
assert tarantula != tarantula2;
@@ -112,6 +103,7 @@
// }
//
// }.run();
+ assert false;
}
@Test(groups = { "contexts", "observerMethod" })
@@ -147,8 +139,8 @@
assert foxBeans.size() == 1;
Bean<Fox> foxBean = foxBeans.iterator().next();
Context context = getCurrentManager().getContext(Dependent.class);
- assert context.get(foxBean, new MyCreationalContext<Fox>()) != null;
- assert context.get(foxBean, new MyCreationalContext<Fox>()) instanceof Fox;
+ assert context.get(foxBean, new MockCreationalContext<Fox>()) != null;
+ assert context.get(foxBean, new MockCreationalContext<Fox>()) instanceof Fox;
}
}.run();
@@ -179,7 +171,7 @@
public void testContextIsInactive()
{
// The RI test harness is broken here, it just enables the dependent context blindly
- //getCurrentManager().getContext(Dependent.class);
+ getCurrentManager().getContext(Dependent.class);
}
@Test(groups = { "contexts", "producerMethod" })
@@ -187,22 +179,26 @@
public void testContextIsActiveWhenInvokingProducerMethod()
{
Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
- Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
+ Tarantula tarantula = tarantulaBean.create(new MockCreationalContext<Tarantula>());
assert tarantula != null;
assert SpiderProducer.isDependentContextActive();
}
- @Test(groups = { "stub", "contexts", "producerField", "underInvestigation" })
+ @Test(groups = { "contexts", "producerField"})
@SpecAssertion(section = "8.3", id = "g")
public void testContextIsActiveWhenInvokingProducerField()
{
- // TODO Rather difficult to detect anything when a producer field is
- // accessed
- assert false;
+ // Reset test class
+ Tarantula.setDependentContextActive(false);
+ getCurrentManager().getInstanceByType(Tarantula.class, TAME_LITERAL);
+ assert Tarantula.isDependentContextActive();
}
@Test(groups = { "broken", "contexts", "disposalMethod" })
- @SpecAssertion(section = "8.3", id = "g")
+ @SpecAssertions({
+ @SpecAssertion(section = "8.3", id = "g"),
+ @SpecAssertion(section = "8.3", id = "j")
+ })
public void testContextIsActiveWhenInvokingDisposalMethod()
{
// deployBeans(SpiderProducer.class);
@@ -212,6 +208,7 @@
// SpiderProducer.setDependentContextActive(false);
// tarantulaBean.destroy(tarantula);
// assert SpiderProducer.isDependentContextActive();
+ assert false;
}
@Test(groups = { "contexts", "observerMethod" })
@@ -266,28 +263,21 @@
}.run();
}
- @Test(groups = { "broken", "contexts", "beanDestruction" })
- @SpecAssertion(section = "8.3", id = "j")
- public void testContextIsActiveDuringBeanDestruction()
- {
- // Since the only way to check the context during bean
- // destruction is to have a disposal method, we'll use
- // that test to verify this behavior.
- this.testContextIsActiveWhenInvokingDisposalMethod();
- }
-
@Test(groups = { "contexts", "injection" })
@SpecAssertion(section = "8.3", id = "j")
public void testContextIsActiveDuringInjection()
{
Bean<FoxRun> foxRunBean = getCurrentManager().resolveByType(FoxRun.class).iterator().next();
- FoxRun foxRun = foxRunBean.create(new MyCreationalContext<FoxRun>());
+ FoxRun foxRun = foxRunBean.create(new MockCreationalContext<FoxRun>());
assert foxRun.fox != null;
}
@Test(groups = { "contexts", "beanDestruction"})
- @SpecAssertion(section = "8.3.2", id = "a")
- public void testDestroyingParentDestroysDependents() throws Exception
+ @SpecAssertions({
+ @SpecAssertion(section = "8.3.2", id = "a"),
+ @SpecAssertion(section = "8.3", id = "b")
+ })
+ public void testDestroyingSimpleParentDestroysDependents() throws Exception
{
new RunInDependentContext()
{
@@ -307,7 +297,37 @@
}.run();
}
+
+ @Test(groups = { "contexts", "beanDestruction", "ri-broken"})
+ @SpecAssertions({
+ @SpecAssertion(section = "8.3.2", id = "a"),
+ @SpecAssertion(section = "8.3", id = "b")
+ })
+ public void testDestroyingSimpleParentDestroysDependentsOfSameBean() throws Exception
+ {
+ // WBRI-158
+ new RunInDependentContext()
+ {
+ @Override
+ protected void execute() throws Exception
+ {
+ // Reset test class
+ Fox.setDestroyed(false);
+ Fox.setDestroyCount(0);
+
+ assert getCurrentManager().resolveByType(FoxRun.class).size() == 1;
+ Bean<FoxRun> bean = getCurrentManager().resolveByType(FoxRun.class).iterator().next();
+ FoxRun instance = getCurrentManager().getInstanceByType(FoxRun.class);
+ assert instance.fox != instance.anotherFox;
+ bean.destroy(instance);
+ assert Fox.isDestroyed();
+ assert Fox.getDestroyCount() == 2;
+ }
+
+ }.run();
+ }
+
@Test(groups = { "contexts", "el"})
@SpecAssertion(section = "8.3.2", id = "c")
public void testDependentsDestroyedWhenElEvaluationCompletes() throws Exception
@@ -317,19 +337,19 @@
@Override
protected void execute() throws Exception
{
- Set<Bean<Fox>> foxBeans = getCurrentManager().resolveByType(Fox.class);
- assert foxBeans.size() == 1;
- Bean<Fox> foxBean = foxBeans.iterator().next();
-
- Fox fox1 = getCurrentConfiguration().getEl().evaluateValueExpression("#{fox}", Fox.class);
- assert fox1 != null;
- assert getCurrentManager().getContext(Dependent.class).get(foxBean) == null;
+ // Reset test class
+ Fox.setDestroyed(false);
+ FoxRun.setDestroyed(false);
+
+ getCurrentConfiguration().getEl().evaluateValueExpression("#{foxRun}", FoxRun.class);
+ assert FoxRun.isDestroyed();
+ assert Fox.isDestroyed();
}
}.run();
}
@Test(groups = { "contexts", "producerMethod" })
- @SpecAssertion(section = "8.3.2", id = "d")
+ @SpecAssertion(section = "8.3.2", id = "da")
public void testDependentsDestroyedWhenProducerMethodCompletes() throws Exception
{
new RunInDependentContext()
@@ -338,24 +358,18 @@
@Override
protected void execute() throws Exception
{
- Bean<SpiderProducer> spiderProducer = getCurrentManager().resolveByType(SpiderProducer.class).iterator().next();
- Context dependentContext = getCurrentManager().getContext(Dependent.class);
- SpiderProducer currentSpiderProducerInstance = dependentContext.get(spiderProducer);
- // Should not have any instance of this bean yet
- assert currentSpiderProducerInstance == null;
+ // Reset the test class
+ SpiderProducer.setDestroyed(false);
Tarantula spiderInstance = getCurrentManager().getInstanceByType(Tarantula.class);
assert spiderInstance != null;
- currentSpiderProducerInstance = dependentContext.get(spiderProducer);
- // Still should not have any instance of this bean (already
- // destroyed)
- assert currentSpiderProducerInstance == null;
+ assert SpiderProducer.isDestroyed();
}
}.run();
}
@Test(groups = { "contexts", "producerField" })
- @SpecAssertion(section = "8.3.2", id = "d")
+ @SpecAssertion(section = "8.3.2", id = "db")
public void testDependentsDestroyedWhenProducerFieldCompletes() throws Exception
{
new RunInDependentContext()
@@ -364,24 +378,20 @@
@Override
protected void execute() throws Exception
{
- Bean<OtherSpiderProducer> spiderProducer = getCurrentManager().resolveByType(OtherSpiderProducer.class).iterator().next();
- Context dependentContext = getCurrentManager().getContext(Dependent.class);
- OtherSpiderProducer currentSpiderProducerInstance = dependentContext.get(spiderProducer);
- // Should not have any instance of this bean yet
- assert currentSpiderProducerInstance == null;
+ // Reset the test class
+ OtherSpiderProducer.setDestroyed(false);
+
Tarantula spiderInstance = getCurrentManager().getInstanceByType(Tarantula.class, TAME_LITERAL);
assert spiderInstance != null;
- currentSpiderProducerInstance = dependentContext.get(spiderProducer);
- // Still should not have any instance of this bean (already
- // destroyed)
- assert currentSpiderProducerInstance == null;
+ assert OtherSpiderProducer.isDestroyed();
+
}
}.run();
}
- @Test(groups = { "contexts", "disposalMethod" })
- @SpecAssertion(section = "8.3.2", id = "d")
+ @Test(groups = { "contexts", "disposalMethod", "ri-broken" })
+ @SpecAssertion(section = "8.3.2", id = "dc")
public void testDependentsDestroyedWhenDisposalMethodCompletes() throws Exception
{
new RunInDependentContext()
@@ -390,20 +400,22 @@
@Override
protected void execute() throws Exception
{
- Bean<SpiderProducer> spiderProducerBean = getCurrentManager().resolveByType(SpiderProducer.class).iterator().next();
Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
- Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
+ Tarantula tarantula = tarantulaBean.create(new MockCreationalContext<Tarantula>());
assert tarantula != null;
+
+ // Reset test class state
+ SpiderProducer.setDestroyed(false);
+
tarantulaBean.destroy(tarantula);
- // No instance of this bean should exist
- assert getCurrentManager().getContext(Dependent.class).get(spiderProducerBean) == null;
+ assert SpiderProducer.isDestroyed();
}
}.run();
}
@Test(groups = { "contexts", "observerMethod" })
- @SpecAssertion(section = "8.3.2", id = "d")
+ @SpecAssertion(section = "8.3.2", id = "dd")
public void testDependentsDestroyedWhenObserverMethodEvaluationCompletes() throws Exception
{
new RunInDependentContext()
@@ -412,12 +424,13 @@
@Override
protected void execute() throws Exception
{
- Bean<HorseStable> horseStableBean = getCurrentManager().resolveByType(HorseStable.class).iterator().next();
+ // Reset test class state...
+ HorseStable.setInstanceThatObservedEvent(null);
+ HorseStable.setDestroyed(false);
+
getCurrentManager().fireEvent(new HorseInStableEvent());
assert HorseStable.getInstanceThatObservedEvent() != null;
- HorseStable stableInstance = getCurrentManager().getContext(Dependent.class).get(horseStableBean);
- // The instance used for the event should be destroyed
- assert stableInstance == null;
+ assert HorseStable.isDestroyed();
}
}.run();
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Farm.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Farm.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Farm.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -4,7 +4,7 @@
import javax.inject.Current;
@RequestScoped
-public class Farm
+class Farm
{
@Current Stable stable;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Fox.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Fox.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Fox.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,12 +1,44 @@
package org.jboss.jsr299.tck.tests.context.dependent;
import javax.annotation.Named;
+import javax.annotation.PreDestroy;
import javax.context.Dependent;
@Dependent @Named
class Fox
{
+ private static boolean destroyed = false;
+
+ private static int destroyCount = 0;
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ Fox.destroyed = destroyed;
+ }
+
+ public static void setDestroyCount(int destroyCount)
+ {
+ Fox.destroyCount = destroyCount;
+ }
+
+ public static int getDestroyCount()
+ {
+ return destroyCount;
+ }
+
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ destroyCount++;
+ }
+
public String getName()
{
return "gavin";
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/FoxRun.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/FoxRun.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/FoxRun.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,14 +1,35 @@
package org.jboss.jsr299.tck.tests.context.dependent;
+import javax.annotation.Named;
+import javax.annotation.PreDestroy;
import javax.inject.Current;
+@Named("foxRun")
class FoxRun
{
+ private static boolean destroyed = false;
+
@Current
public Fox fox;
@Current
public Fox anotherFox;
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ FoxRun.destroyed = destroyed;
+ }
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/HorseStable.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/HorseStable.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/HorseStable.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,5 +1,6 @@
package org.jboss.jsr299.tck.tests.context.dependent;
+import javax.annotation.PreDestroy;
import javax.context.Dependent;
import javax.event.Observes;
import javax.inject.Current;
@@ -11,6 +12,7 @@
{
private static boolean dependentContextActive = false;
private static HorseStable instanceThatObservedEvent = null;
+ private static boolean destroyed = false;
@Initializer
public HorseStable(@Current Manager manager)
@@ -25,10 +27,16 @@
{
instanceThatObservedEvent = this;
}
+
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ }
public static boolean isDependentContextActive()
{
- return HorseStable.dependentContextActive;
+ return dependentContextActive;
}
public static void setDependentContextActive(boolean dependentContextActive)
@@ -40,4 +48,19 @@
{
return instanceThatObservedEvent;
}
+
+ public static void setInstanceThatObservedEvent(HorseStable instanceThatObservedEvent)
+ {
+ HorseStable.instanceThatObservedEvent = instanceThatObservedEvent;
+ }
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ HorseStable.destroyed = destroyed;
+ }
}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MockCreationalContext.java (from rev 1791, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MyCreationalContext.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MockCreationalContext.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MockCreationalContext.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.context.dependent;
+
+import javax.context.CreationalContext;
+
+public class MockCreationalContext<T> implements CreationalContext<T>
+{
+
+ public void push(T incompleteInstance)
+ {
+
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MockCreationalContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MyCreationalContext.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MyCreationalContext.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/MyCreationalContext.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,13 +0,0 @@
-package org.jboss.jsr299.tck.tests.context.dependent;
-
-import javax.context.CreationalContext;
-
-public class MyCreationalContext<T> implements CreationalContext<T>
-{
-
- public void push(T incompleteInstance)
- {
-
- }
-
-}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/OtherSpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/OtherSpiderProducer.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/OtherSpiderProducer.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,9 +1,29 @@
package org.jboss.jsr299.tck.tests.context.dependent;
+import javax.annotation.PreDestroy;
import javax.inject.Produces;
@AnotherDeploymentType
class OtherSpiderProducer
{
+
+ private static boolean destroyed = false;
+
@Produces @Tame public Tarantula produceTarantula = new Tarantula();
+
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ }
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ OtherSpiderProducer.destroyed = destroyed;
+ }
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/SpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/SpiderProducer.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/SpiderProducer.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,5 +1,6 @@
package org.jboss.jsr299.tck.tests.context.dependent;
+import javax.annotation.PreDestroy;
import javax.context.Dependent;
import javax.inject.Current;
import javax.inject.Disposes;
@@ -13,9 +14,10 @@
private Manager manager;
private static boolean dependentContextActive = false;
-
+ private static boolean destroyed = false;
private static SpiderProducer instanceUsedForDisposal = null;
+
@Produces public Tarantula produceTarantula()
{
if (manager.getContext(Dependent.class).isActive())
@@ -48,4 +50,20 @@
{
return instanceUsedForDisposal;
}
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ SpiderProducer.destroyed = destroyed;
+ }
+
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ }
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Tarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Tarantula.java 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/Tarantula.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -1,6 +1,26 @@
package org.jboss.jsr299.tck.tests.context.dependent;
+import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+
class Tarantula extends Spider implements DeadlySpider
{
+ private static boolean dependentContextActive = false;
+
+ public Tarantula()
+ {
+ dependentContextActive = ConfigurationImpl.get().getContexts().getDependentContext().isActive();
+ }
+
+ public static boolean isDependentContextActive()
+ {
+ return dependentContextActive;
+ }
+
+ public static void setDependentContextActive(boolean dependentContextActive)
+ {
+ Tarantula.dependentContextActive = dependentContextActive;
+ }
+
+
}
Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/DependentContextEjbTest.java (from rev 1791, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/DependentContextIntegrationTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/DependentContextEjbTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/DependentContextEjbTest.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,116 @@
+/*
+ * 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.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.context.CreationalContext;
+import javax.context.RequestScoped;
+import javax.inject.manager.Bean;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.jboss.jsr299.tck.impl.packaging.IntegrationTest;
+import org.jboss.jsr299.tck.impl.packaging.Packaging;
+import org.jboss.jsr299.tck.impl.packaging.PackagingType;
+import org.testng.annotations.Test;
+
+/**
+ * Spec version: Public Release Draft 2
+ */
+@IntegrationTest
+(a)Packaging(PackagingType.EAR)
+@Artifact
+public class DependentContextEjbTest extends AbstractDeclarativeTest
+{
+ @Test(groups = { "contexts", "injection", "ejb3", "integration" })
+ @SpecAssertion(section = "8.3", id = "k")
+ public void testContextIsActiveDuringEJBDependencyInjection()
+ {
+ Bean<FoxRunLocal> foxRunBean = getCurrentManager().resolveByType(FoxRunLocal.class).iterator().next();
+ FoxRunLocal foxRun = foxRunBean.create(new CreationalContext<FoxRunLocal>(){
+
+ public void push(FoxRunLocal incompleteInstance) {}
+
+ });
+ assert foxRun.getFox() != null;
+ }
+
+ @Test(groups = { "contexts", "postconstruct", "ejb3", "integration" })
+ @SpecAssertion(section = "8.3", id = "l")
+ public void testContextIsActiveDuringEJBPostConstruct()
+ {
+ Fox.setDependentContextActiveDuringPostConstruct(false);
+ getCurrentManager().getInstanceByType(FoxLocal.class).getName();
+ assert Fox.isDependentContextActiveDuringPostConstruct();
+ }
+
+ @Test(groups = { "contexts", "ejb3", "integration", "ri-broken" })
+ @SpecAssertion(section = "8.3.2", id = "ba")
+ public void testDestroyingEjbDestroysDependents() throws Exception
+ {
+ new RunInDependentContext()
+ {
+
+ @Override
+ protected void execute() throws Exception
+ {
+ assert getCurrentManager().resolveByType(HouseLocal.class).size() == 1;
+ Bean<HouseLocal> bean = getCurrentManager().resolveByType(HouseLocal.class).iterator().next();
+ HouseLocal instance = getCurrentManager().getContext(RequestScoped.class).get(bean, new CreationalContext<HouseLocal>(){
+
+ public void push(HouseLocal incompleteInstance) {}
+
+ });
+ Room.destroyed = false;
+ Table.destroyed = false;
+ bean.destroy(instance);
+ assert Room.destroyed;
+ assert Table.destroyed;
+ }
+
+ }.run();
+ }
+
+ @Test(groups = { "contexts", "ejb3", "integration","ri-broken" })
+ @SpecAssertion(section = "8.3.2", id = "ba")
+ public void testDestroyingEjbDestroysDependentSimples() throws Exception
+ {
+ new RunInDependentContext()
+ {
+
+ @Override
+ protected void execute() throws Exception
+ {
+ assert getCurrentManager().resolveByType(FarmLocal.class).size() == 1;
+ Bean<FarmLocal> farmBean = getCurrentManager().resolveByType(FarmLocal.class).iterator().next();
+ FarmLocal farm = getCurrentManager().getContext(RequestScoped.class).get(farmBean, new CreationalContext<FarmLocal>(){
+
+ public void push(FarmLocal incompleteInstance) {}
+
+ });
+ Horse.destroyed = false;
+ Stable.destroyed = false;
+ farmBean.destroy(farm);
+ assert Horse.destroyed;
+ assert Stable.destroyed;
+ }
+
+ }.run();
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/DependentContextEjbTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Farm.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Farm.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Farm.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.context.RequestScoped;
+import javax.ejb.Stateful;
+import javax.inject.Current;
+
+
+@RequestScoped @Stateful
+public class Farm implements FarmLocal
+{
+
+ @Current Stable stable;
+
+ public void open() {};
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Farm.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FarmLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FarmLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FarmLocal.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+public interface FarmLocal
+{
+
+ public void open();
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FarmLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Fox.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Fox.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Fox.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,86 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.annotation.Named;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.context.ContextNotActiveException;
+import javax.context.Dependent;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Current;
+import javax.inject.manager.Manager;
+
+@Dependent @Named @Stateful
+public class Fox implements FoxLocal
+{
+
+ private static boolean destroyed = false;
+ private static int destroyCount = 0;
+ private static boolean dependentContextActiveDuringPostConstruct = false;
+
+ @Current
+ private Manager manager;
+
+ @PostConstruct
+ public void construct()
+ {
+ try
+ {
+ dependentContextActiveDuringPostConstruct = manager.getContext(Dependent.class).isActive();
+ }
+ catch (ContextNotActiveException e)
+ {
+ dependentContextActiveDuringPostConstruct = false;
+ }
+ }
+
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ Fox.destroyed = destroyed;
+ }
+
+ public static void setDestroyCount(int destroyCount)
+ {
+ Fox.destroyCount = destroyCount;
+ }
+
+ public static int getDestroyCount()
+ {
+ return destroyCount;
+ }
+
+ public static boolean isDependentContextActiveDuringPostConstruct()
+ {
+ return dependentContextActiveDuringPostConstruct;
+ }
+
+ public static void setDependentContextActiveDuringPostConstruct(boolean dependentContextActiveDuringPostConstruct)
+ {
+ Fox.dependentContextActiveDuringPostConstruct = dependentContextActiveDuringPostConstruct;
+ }
+
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ destroyCount++;
+ }
+
+ public String getName()
+ {
+ return "gavin";
+ }
+
+ @Remove
+ public void remove()
+ {
+
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Fox.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxLocal.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.ejb.Local;
+
+@Local
+public interface FoxLocal
+{
+
+ public String getName();
+
+}
\ No newline at end of file
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRun.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRun.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRun.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,48 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.annotation.Named;
+import javax.annotation.PreDestroy;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.inject.Current;
+
+@Named("foxRun") @Stateful
+public class FoxRun implements FoxRunLocal
+{
+
+ private static boolean destroyed = false;
+
+ @Current
+ public FoxLocal fox;
+
+ @Current
+ public FoxLocal anotherFox;
+
+ @PreDestroy
+ public void destroy()
+ {
+ destroyed = true;
+ }
+
+ public static void setDestroyed(boolean destroyed)
+ {
+ FoxRun.destroyed = destroyed;
+ }
+
+ public static boolean isDestroyed()
+ {
+ return destroyed;
+ }
+
+ public FoxLocal getFox()
+ {
+ return fox;
+ }
+
+ @Remove
+ public void remove()
+ {
+
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRun.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRunLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRunLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRunLocal.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.ejb.Local;
+
+@Local
+public interface FoxRunLocal
+{
+
+ public FoxLocal getFox();
+
+}
\ No newline at end of file
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/FoxRunLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Horse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Horse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Horse.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import java.io.Serializable;
+
+import javax.annotation.PreDestroy;
+
+class Horse implements Serializable
+{
+
+ public static boolean destroyed;
+
+ @PreDestroy
+ public void preDestroy()
+ {
+ destroyed = true;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Horse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/House.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/House.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/House.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.context.RequestScoped;
+import javax.ejb.Stateful;
+import javax.inject.Current;
+
+@RequestScoped @Stateful
+class House implements HouseLocal
+{
+
+ @Current RoomLocal room;
+
+ public void open() {};
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/House.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/HouseLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/HouseLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/HouseLocal.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.ejb.Local;
+
+@Local
+public interface HouseLocal
+{
+
+ public void open();
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/HouseLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Room.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Room.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Room.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.annotation.PreDestroy;
+import javax.ejb.Stateful;
+import javax.inject.Current;
+
+@Stateful
+class Room implements RoomLocal
+{
+
+ @Current TableLocal table;
+
+ public static boolean destroyed;
+
+ @PreDestroy
+ public void preDestroy()
+ {
+ destroyed = true;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Room.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/RoomLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/RoomLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/RoomLocal.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.ejb.Local;
+
+@Local
+public interface RoomLocal
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/RoomLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Stable.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Stable.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Stable.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,21 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import java.io.Serializable;
+
+import javax.annotation.PreDestroy;
+import javax.inject.Current;
+
+class Stable implements Serializable
+{
+
+ @Current Horse horse;
+
+ public static boolean destroyed;
+
+ @PreDestroy
+ public void preDestroy()
+ {
+ destroyed = true;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Stable.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Table.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Table.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Table.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.annotation.PreDestroy;
+import javax.ejb.Stateful;
+
+@Stateful
+class Table implements TableLocal
+{
+
+ public static boolean destroyed;
+
+ @PreDestroy
+ public void preDestroy()
+ {
+ destroyed = true;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/Table.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/TableLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/TableLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/TableLocal.java 2009-03-07 16:26:56 UTC (rev 1803)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.context.dependent.ejb;
+
+import javax.ejb.Local;
+
+@Local
+public interface TableLocal
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/ejb/TableLocal.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-03-07 16:13:45 UTC (rev 1802)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-03-07 16:26:56 UTC (rev 1803)
@@ -4630,8 +4630,9 @@
</section>
<section id="8.3.1" title="Dependent objects">
- <assertion id="a">
+ <assertion id="a" testable="false">
<text>A bean, EJB or servlet may obtain an instance of a bean with scope @Dependent via dependency injection or by calling Manager.getInstance(), Manager.getInstanceByType() or Instance.get() when the @Dependent scope is active</text>
+ <note>A statement of intent</note>
</assertion>
<assertion id="b">
@@ -4645,18 +4646,34 @@
<text>The container must destroy all dependent objects of a contextual bean instance when the instance is destroyed</text>
</assertion>
- <assertion id="b">
- <text>The container must destroy all dependent objects of an EJB or servlet when the EJB or servlet is destroyed</text>
+ <assertion id="ba">
+ <text>The container must destroy all dependent objects of an EJB ~or servlet~ when the EJB ~or servlet~ is destroyed</text>
</assertion>
+ <assertion id="bb">
+ <text>The container must destroy all dependent objects of a~n EJB or~ servlet when the ~EJB or~ servlet is destroyed</text>
+ </assertion>
+
<assertion id="c">
<text>The container must destroy all @Dependent scoped contextual instances created during an EL expression evaluation when the evaluation completes</text>
</assertion>
- <assertion id="d">
- <text>The container must destroy any @Dependent scoped contextual instance created to receive a producer method, producer field, disposal method or observer method invocation when the invocation completes</text>
+ <assertion id="da">
+ <text>The container must destroy any @Dependent scoped contextual instance created to receive a producer method~, producer field, disposal method or observer method~ invocation when the invocation completes</text>
</assertion>
+ <assertion id="db">
+ <text>The container must destroy any @Dependent scoped contextual instance created to receive a ~producer method,~ producer field~, disposal method or observer method~ invocation when the invocation completes</text>
+ </assertion>
+
+ <assertion id="dc">
+ <text>The container must destroy any @Dependent scoped contextual instance created to receive a ~producer method, producer field,~ disposal method ~or observer method~ invocation when the invocation completes</text>
+ </assertion>
+
+ <assertion id="dd">
+ <text>The container must destroy any @Dependent scoped contextual instance created to receive a ~producer method, producer field, disposal method or~ observer method invocation when the invocation completes</text>
+ </assertion>
+
<assertion id="e" testable="false">
<text>The container is permitted to destroy any @Dependent scoped contextual instance at any time if the instance is no Scopes and contexts longer referenced by the application (excluding weak, soft and phantom references)</text>
<note>In other words this is unspecified</note>
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1802 - doc/trunk/reference/en-US.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-07 11:13:45 -0500 (Sat, 07 Mar 2009)
New Revision: 1802
Modified:
doc/trunk/reference/en-US/ri-spi.xml
Log:
WBRI-152
Modified: doc/trunk/reference/en-US/ri-spi.xml
===================================================================
--- doc/trunk/reference/en-US/ri-spi.xml 2009-03-07 14:44:18 UTC (rev 1801)
+++ doc/trunk/reference/en-US/ri-spi.xml 2009-03-07 16:13:45 UTC (rev 1802)
@@ -180,6 +180,16 @@
in use for each resolution request.
</para>
+<!-- <para>-->
+<!-- JSR-299 also requires that when the <literal>Bean.destroy()</literal>-->
+<!-- is called on a session bean that the container removes the stateful-->
+<!-- session bean. As there is no specified way of doing this, the-->
+<!-- <literal>EjbResolver.removeEjb()</literal> method is used by Web -->
+<!-- Beans to request the EJB container remove a stateful session bean.-->
+<!-- Web Beans assumes that the EJB container will invoke any-->
+<!-- <literal>@PreDestroy</literal> lifecycle callbacks.-->
+<!-- </para>-->
+
</section>
<section>
@@ -402,6 +412,13 @@
automatically, or through user configuration, for each Web
Beans application which uses enterprise beans.
</para>
+
+ <important>
+ <para>
+ You must register the <literal>SessionBeanInterceptor</literal>
+ as the inner most interceptor in the stack for all EJBs.
+ </para>
+ </important>
</listitem>
</varlistentry>
<varlistentry>
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1801 - tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-07 09:44:18 -0500 (Sat, 07 Mar 2009)
New Revision: 1801
Modified:
tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java
Log:
Remove spurious deprecation
Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java 2009-03-06 16:18:43 UTC (rev 1800)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java 2009-03-07 14:44:18 UTC (rev 1801)
@@ -136,13 +136,11 @@
public void setRunIntegrationTests(boolean runIntegrationTests);
- @Deprecated
public void setEl(EL el);
/**
* The implementation of {@link EL} in use.
*/
- @Deprecated
public EL getEl();
/**
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1800 - ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-06 11:18:43 -0500 (Fri, 06 Mar 2009)
New Revision: 1800
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeansXmlParser.java
Log:
WBRI-154
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeansXmlParser.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeansXmlParser.java 2009-03-06 16:16:41 UTC (rev 1799)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeansXmlParser.java 2009-03-06 16:18:43 UTC (rev 1800)
@@ -9,6 +9,7 @@
import java.util.List;
import java.util.Map;
+import javax.inject.DefinitionException;
import javax.inject.DeploymentException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -174,7 +175,7 @@
{
if (child instanceof Element)
{
- String className = getAsClassName(child.getNodeName(), deployElement.getNamespaces());
+ String className = getAsClassName(child.getNodeName(), deployElement.getNamespaces(), deployElement.getFile());
if (className != null)
{
enabledDeploymentTypes.add(resourceLoader.classForName(className).asSubclass(Annotation.class));
@@ -184,7 +185,7 @@
}
}
- private static String getAsClassName(String nodeName, Map<String, String> namespaces)
+ private static String getAsClassName(String nodeName, Map<String, String> namespaces, URL file)
{
String namespacePrefix;
String simpleClassName;
@@ -199,6 +200,10 @@
simpleClassName = nodeName;
}
String namespace = namespaces.get(namespacePrefix);
+ if (namespace == null)
+ {
+ throw new DefinitionException("Prefix " + namespacePrefix + " has no namespace mapped in " + file.getPath());
+ }
String packageName;
if (namespace.startsWith("urn:java:ee"))
{
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1799 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-06 11:16:41 -0500 (Fri, 06 Mar 2009)
New Revision: 1799
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java
Log:
mark test broken
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java 2009-03-06 16:06:55 UTC (rev 1798)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java 2009-03-06 16:16:41 UTC (rev 1799)
@@ -90,7 +90,7 @@
assert dog.isCorrectTransactionState();
}
- @Test(groups = { "events", "integration" })
+ @Test(groups = { "events", "integration", "broken" })
@SpecAssertions( { @SpecAssertion(section = "7.5.6", id = "e"), @SpecAssertion(section = "7.5.6", id = "k") })
public void testAfterTransactionFailureObserver()
{
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1798 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-06 11:06:55 -0500 (Fri, 06 Mar 2009)
New Revision: 1798
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java
Log:
match tests
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java 2009-03-06 15:58:47 UTC (rev 1797)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/transactionalObservers/EventTest.java 2009-03-06 16:06:55 UTC (rev 1798)
@@ -153,21 +153,9 @@
{
assert false;
}
-
- /**
- * Otherwise, the observer method is called in the same transaction context,
- * client security context and lifecycle contexts as the invocation of
- * Event.fire().
- */
- @Test(groups = { "events", "integration", "stub" })
- @SpecAssertion(section = "7.5.8", id = "unknown")
- public void testEnterpriseBeanObserverMethodCalledWithCallerContext()
- {
- assert false;
- }
-
+
@Test(groups = { "stub", "events", "integration" })
- @SpecAssertion(section = "7.5.8", id = "unknown")
+ @SpecAssertion(section = "7.5.8", id = "p")
public void testTransactionalObserverThrownExceptionIsCaughtAndLogged()
{
assert false;
@@ -179,7 +167,7 @@
* Event.fire().
*/
@Test(groups = { "stub", "events", "integration" })
- @SpecAssertion(section = "7.5.9", id = "unknown")
+ @SpecAssertion(section = "7.5.9", id = "d")
public void testObserverMethodCalledInSameContexts()
{
assert false;
@@ -192,7 +180,7 @@
* context and lifecycle contexts.
*/
@Test(groups = { "stub", "events", "integration" })
- @SpecAssertion(section = "7.5.9", id = "unknown")
+ @SpecAssertion(section = "7.5.9", id = "b")
public void testBeforeTransactionCompletionObserverMethodContexts()
{
assert false;
@@ -205,7 +193,7 @@
* transaction that just completed.
*/
@Test(groups = { "stub", "events", "integration" })
- @SpecAssertion(section = "7.5.9", id = "unknown")
+ @SpecAssertion(section = "7.5.9", id = "c")
public void testOtherTransactionalObserverMethodContexts()
{
assert false;
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1797 - in ri/trunk/impl/src: main/java/org/jboss/webbeans/servlet and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-06 10:58:47 -0500 (Fri, 06 Mar 2009)
New Revision: 1797
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ConversationPropagationFilter.java
ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/context/ContextTest.java
Removed:
ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockLifecycle.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
Log:
WBRI-155
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockLifecycle.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockLifecycle.java 2009-03-06 15:27:47 UTC (rev 1796)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/mock/MockLifecycle.java 2009-03-06 15:58:47 UTC (rev 1797)
@@ -99,7 +99,7 @@
public void beginSession()
{
- super.beginSession("Mock", sessionBeanStore);
+ super.restoreSession("Mock", sessionBeanStore);
}
public void endSession()
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java 2009-03-06 15:27:47 UTC (rev 1796)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/AbstractLifecycle.java 2009-03-06 15:58:47 UTC (rev 1797)
@@ -34,9 +34,9 @@
private static LogProvider log = Logging.getLogProvider(AbstractLifecycle.class);
- protected void beginSession(String id, BeanStore sessionBeanStore)
+ protected void restoreSession(String id, BeanStore sessionBeanStore)
{
- log.trace("Starting session " + id);
+ log.trace("Restoring session " + id);
SessionContext.INSTANCE.setBeanStore(sessionBeanStore);
SessionContext.INSTANCE.setActive(true);
}
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ConversationPropagationFilter.java (from rev 1791, ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ConversationPropagationFilter.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ConversationPropagationFilter.java 2009-03-06 15:58:47 UTC (rev 1797)
@@ -0,0 +1,128 @@
+/*
+ * 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.servlet;
+
+import java.io.IOException;
+
+import javax.context.Conversation;
+import javax.faces.context.FacesContext;
+import javax.inject.AnnotationLiteral;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.conversation.bindings.ConversationIdName;
+
+/**
+ * Filter for handling conversation propagation over redirects
+ *
+ * @author Nicklas Karlsson
+ *
+ */
+public class ConversationPropagationFilter implements Filter
+{
+
+ /**
+ * Helper class for handling URLs
+ *
+ * @author Nicklas Karlsson
+ */
+ private class UrlTransformer
+ {
+ private String URL;
+ private FacesContext context;
+
+ private boolean isUrlAbsolute()
+ {
+ // TODO: any API call to do this?
+ return URL.startsWith("http://") || URL.startsWith("https://");
+ }
+
+ public UrlTransformer(String URL)
+ {
+ this.URL = URL;
+ context = FacesContext.getCurrentInstance();
+ }
+
+ public UrlTransformer appendConversation(String cid)
+ {
+ String cidName = CurrentManager.rootManager().getInstanceByType(String.class, new AnnotationLiteral<ConversationIdName>()
+ {
+ });
+ URL = URL + (URL.indexOf("?") > 0 ? "&" : "?") + cidName + "=" + cid;
+ return this;
+ }
+
+ public UrlTransformer getRedirectView()
+ {
+ if (isUrlAbsolute())
+ {
+ String requestPath = context.getExternalContext().getRequestContextPath();
+ URL = URL.substring(URL.indexOf(requestPath) + requestPath.length());
+ }
+ return this;
+ }
+
+ public UrlTransformer getActionUrl()
+ {
+ URL = context.getApplication().getViewHandler().getActionURL(context, URL);
+ return this;
+ }
+
+ public String encode()
+ {
+ return context.getExternalContext().encodeActionURL(URL);
+ }
+ }
+
+ public void destroy()
+ {
+ }
+
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
+ {
+ chain.doFilter(request, wrapResponse((HttpServletResponse) response));
+ }
+
+ private ServletResponse wrapResponse(HttpServletResponse response)
+ {
+ return new HttpServletResponseWrapper(response)
+ {
+ @Override
+ public void sendRedirect(String path) throws IOException
+ {
+ Conversation conversation = CurrentManager.rootManager().getInstanceByType(Conversation.class);
+ if (conversation.isLongRunning())
+ {
+ path = new UrlTransformer(path).getRedirectView().getActionUrl().appendConversation(conversation.getId()).encode();
+ }
+ super.sendRedirect(path);
+ }
+ };
+ }
+
+ public void init(FilterConfig config) throws ServletException
+ {
+ }
+
+}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2009-03-06 15:27:47 UTC (rev 1796)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2009-03-06 15:58:47 UTC (rev 1797)
@@ -59,7 +59,6 @@
*/
public void beginSession(HttpSession session)
{
- super.beginSession(session.getId(), null);
}
/**
@@ -85,7 +84,7 @@
protected BeanStore restoreSessionContext(HttpSession session)
{
BeanStore sessionBeanStore = new HttpSessionBeanStore(session);
- SessionContext.INSTANCE.setBeanStore(sessionBeanStore);
+ super.restoreSession(session.getId(), sessionBeanStore);
CurrentManager.rootManager().getInstanceByType(HttpSessionManager.class).setSession(session);
return sessionBeanStore;
}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java 2009-03-06 15:27:47 UTC (rev 1796)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/servlet/WebBeansServletFilter.java 2009-03-06 15:58:47 UTC (rev 1797)
@@ -1,128 +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.servlet;
-
-import java.io.IOException;
-
-import javax.context.Conversation;
-import javax.faces.context.FacesContext;
-import javax.inject.AnnotationLiteral;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-
-import org.jboss.webbeans.CurrentManager;
-import org.jboss.webbeans.conversation.bindings.ConversationIdName;
-
-/**
- * Filter for handling conversation propagation over redirects
- *
- * @author Nicklas Karlsson
- *
- */
-public class WebBeansServletFilter implements Filter
-{
-
- /**
- * Helper class for handling URLs
- *
- * @author Nicklas Karlsson
- */
- private class UrlTransformer
- {
- private String URL;
- private FacesContext context;
-
- private boolean isUrlAbsolute()
- {
- // TODO: any API call to do this?
- return URL.startsWith("http://") || URL.startsWith("https://");
- }
-
- public UrlTransformer(String URL)
- {
- this.URL = URL;
- context = FacesContext.getCurrentInstance();
- }
-
- public UrlTransformer appendConversation(String cid)
- {
- String cidName = CurrentManager.rootManager().getInstanceByType(String.class, new AnnotationLiteral<ConversationIdName>()
- {
- });
- URL = URL + (URL.indexOf("?") > 0 ? "&" : "?") + cidName + "=" + cid;
- return this;
- }
-
- public UrlTransformer getRedirectView()
- {
- if (isUrlAbsolute())
- {
- String requestPath = context.getExternalContext().getRequestContextPath();
- URL = URL.substring(URL.indexOf(requestPath) + requestPath.length());
- }
- return this;
- }
-
- public UrlTransformer getActionUrl()
- {
- URL = context.getApplication().getViewHandler().getActionURL(context, URL);
- return this;
- }
-
- public String encode()
- {
- return context.getExternalContext().encodeActionURL(URL);
- }
- }
-
- public void destroy()
- {
- }
-
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
- {
- chain.doFilter(request, wrapResponse((HttpServletResponse) response));
- }
-
- private ServletResponse wrapResponse(HttpServletResponse response)
- {
- return new HttpServletResponseWrapper(response)
- {
- @Override
- public void sendRedirect(String path) throws IOException
- {
- Conversation conversation = CurrentManager.rootManager().getInstanceByType(Conversation.class);
- if (conversation.isLongRunning())
- {
- path = new UrlTransformer(path).getRedirectView().getActionUrl().appendConversation(conversation.getId()).encode();
- }
- super.sendRedirect(path);
- }
- };
- }
-
- public void init(FilterConfig config) throws ServletException
- {
- }
-
-}
Added: ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/context/ContextTest.java
===================================================================
--- ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/context/ContextTest.java (rev 0)
+++ ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/context/ContextTest.java 2009-03-06 15:58:47 UTC (rev 1797)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.test.unit.context;
+
+import org.jboss.webbeans.test.unit.AbstractTest;
+import org.testng.annotations.Test;
+
+public class ContextTest extends AbstractTest
+{
+ // WBRI-155
+ @Test(groups="stub")
+ public void testSessionContextActiveForMultipleSimultaneousThreads()
+ {
+ assert false;
+ // TODO Implement this test
+ }
+
+}
Property changes on: ri/trunk/impl/src/test/java/org/jboss/webbeans/test/unit/context/ContextTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1796 - in ri/trunk: impl/src/main/java/org/jboss/webbeans/bean/proxy and 12 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-06 10:27:47 -0500 (Fri, 06 Mar 2009)
New Revision: 1796
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ConcurrentCache.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingCollection.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingMap.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingObject.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingSet.java
Removed:
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/ConcurrentCache.java
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/FileSystemContainersImpl.java
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java
Modified:
ri/trunk/impl/pom.xml
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyProvider.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ContextMap.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/Resolver.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ServletInjector.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/MetaDataCache.java
ri/trunk/jboss-tck-runner/pom.xml
ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java
ri/trunk/spi/pom.xml
ri/trunk/version-matrix/pom.xml
Log:
remove google collections dependency
Modified: ri/trunk/impl/pom.xml
===================================================================
--- ri/trunk/impl/pom.xml 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/pom.xml 2009-03-06 15:27:47 UTC (rev 1796)
@@ -105,11 +105,6 @@
<optional>true</optional>
</dependency>
- <dependency>
- <groupId>com.google.collections</groupId>
- <artifactId>google-collections</artifactId>
- </dependency>
-
</dependencies>
<build>
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyProvider.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyProvider.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyProvider.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -29,8 +29,8 @@
import javax.inject.manager.Bean;
import org.jboss.webbeans.CurrentManager;
-import org.jboss.webbeans.util.ConcurrentCache;
import org.jboss.webbeans.util.Proxies;
+import org.jboss.webbeans.util.collections.ConcurrentCache;
/**
* A proxy pool for holding scope adaptors (client proxies)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -22,6 +22,7 @@
import javax.context.ContextNotActiveException;
import javax.context.Contextual;
import javax.context.CreationalContext;
+import javax.inject.manager.Bean;
import org.jboss.webbeans.context.api.BeanStore;
import org.jboss.webbeans.log.LogProvider;
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ContextMap.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ContextMap.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ContextMap.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -26,7 +26,7 @@
import javax.context.Context;
-import com.google.common.collect.ForwardingMap;
+import org.jboss.webbeans.util.collections.ForwardingMap;
/**
* A map from a scope to a list of contexts
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -30,9 +30,8 @@
import org.jboss.webbeans.context.DependentContext;
import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Strings;
+import org.jboss.webbeans.util.collections.ForwardingMap;
-import com.google.common.collect.ForwardingMap;
-
/**
* The event bus is where observers are registered and events are fired.
*
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/Resolver.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/Resolver.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/Resolver.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -35,8 +35,8 @@
import org.jboss.webbeans.introspector.ForwardingAnnotatedItem;
import org.jboss.webbeans.metadata.BindingTypeModel;
import org.jboss.webbeans.metadata.MetaDataCache;
-import org.jboss.webbeans.util.ConcurrentCache;
import org.jboss.webbeans.util.ListComparator;
+import org.jboss.webbeans.util.collections.ConcurrentCache;
/**
* Implementation of Web Beans type safe and name based bean resolution
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ServletInjector.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ServletInjector.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ServletInjector.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -8,7 +8,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.util.Beans;
-import org.jboss.webbeans.util.ConcurrentCache;
+import org.jboss.webbeans.util.collections.ConcurrentCache;
public class ServletInjector
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -19,6 +19,8 @@
import java.lang.reflect.Field;
+import javax.inject.manager.Manager;
+
/**
* AnnotatedField provides a uniform access to the annotations on an annotated
* field
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -15,9 +15,8 @@
import org.jboss.webbeans.literal.CurrentLiteral;
import org.jboss.webbeans.util.Strings;
+import org.jboss.webbeans.util.collections.ForwardingMap;
-import com.google.common.collect.ForwardingMap;
-
public class AnnotationStore
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -34,9 +34,8 @@
import org.jboss.webbeans.introspector.ForwardingAnnotatedMember;
import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Strings;
+import org.jboss.webbeans.util.collections.ForwardingMap;
-import com.google.common.collect.ForwardingMap;
-
/**
* Represents an abstract annotated memeber (field, method or constructor)
*
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -30,9 +30,8 @@
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotationStore;
import org.jboss.webbeans.util.Strings;
+import org.jboss.webbeans.util.collections.ForwardingMap;
-import com.google.common.collect.ForwardingMap;
-
/**
* Represents an annotated annotation
*
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -39,9 +39,8 @@
import org.jboss.webbeans.util.Names;
import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Strings;
+import org.jboss.webbeans.util.collections.ForwardingMap;
-import com.google.common.collect.ForwardingMap;
-
/**
* Represents an annotated class
*
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -26,6 +26,7 @@
import java.util.List;
import java.util.Set;
+import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
import org.jboss.webbeans.introspector.AnnotatedParameter;
import org.jboss.webbeans.introspector.AnnotatedType;
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/MetaDataCache.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/MetaDataCache.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/MetaDataCache.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -20,7 +20,7 @@
import java.lang.annotation.Annotation;
import java.util.concurrent.Callable;
-import org.jboss.webbeans.util.ConcurrentCache;
+import org.jboss.webbeans.util.collections.ConcurrentCache;
/**
* Metadata singleton for holding EJB metadata, scope models etc.
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/ConcurrentCache.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/ConcurrentCache.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/ConcurrentCache.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -1,188 +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.util;
-
-import java.util.Map;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.FutureTask;
-
-import com.google.common.collect.ForwardingMap;
-
-/**
- * Represents a thread safe map
- *
- * @author Pete Muir
- */
-public class ConcurrentCache<K, V> extends ForwardingMap<K, Future<V>>
-{
-
- // The backing map with the value wrapped in a Future instance
- private ConcurrentHashMap<K, Future<V>> map;
-
- /**
- * Constructor
- */
- public ConcurrentCache()
- {
- map = new ConcurrentHashMap<K, Future<V>>();
- }
-
- /**
- * Gets the Future value from the map
- *
- * @param key The key to look for
- * @return The Future instance of the value
- */
-
- public <T extends V> Future<T> getFuture(K key)
- {
- @SuppressWarnings("unchecked")
- Future<T> future = (Future<T>) super.get(key);
- return future;
- }
-
- /**
- * Gets a value from the map. Blocks until it is available
- *
- * @param key The key to look for
- * @return The value
- */
- public <T extends V> T getValue(K key)
- {
- @SuppressWarnings("unchecked")
- Future<T> value = (Future<T>) map.get(key);
- if (value != null)
- {
- boolean interrupted = false;
- try
- {
- while (true)
- {
- try
- {
- return value.get();
- }
- catch (InterruptedException e)
- {
- interrupted = true;
- }
- catch (ExecutionException e)
- {
- rethrow(e);
- }
- }
- }
- finally
- {
- if (interrupted)
- {
- Thread.currentThread().interrupt();
- }
- }
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Adds an item to the map if it's not already there
-
- * @param key The key to place the item under
- * @param callable The item, wrapped in a Callable instance
- * @return The item added
- */
- public <E> E putIfAbsent(K key, Callable<E> callable)
- {
- @SuppressWarnings("unchecked")
- Future<E> future = (Future<E>) map.get(key);
- Future<E> value = future;
- if (value == null)
- {
- FutureTask<E> task = new FutureTask<E>(callable);
- value = task;
- @SuppressWarnings("unchecked")
- Future<V> t = (Future<V>) task;
- map.put(key, t);
- task.run();
- }
- boolean interrupted = false;
- try
- {
- while (true)
- {
- try
- {
- return value.get();
- }
- catch (InterruptedException e)
- {
- interrupted = true;
- }
- catch (ExecutionException e)
- {
- rethrow(e);
- }
- }
- }
- finally
- {
- if (interrupted)
- {
- Thread.currentThread().interrupt();
- }
- }
- }
-
- /**
- * Gets the delegate map
- *
- * @return The backing map
- */
- @Override
- protected Map<K, Future<V>> delegate()
- {
- return map;
- }
-
- /**
- * Examines and re-throws an exception
- *
- * @param e The exception that happened during execution
- */
- protected void rethrow(ExecutionException e)
- {
- if (e.getCause() instanceof RuntimeException)
- {
- throw (RuntimeException) e.getCause();
- }
- else if (e.getCause() instanceof Error)
- {
- throw (Error) e.getCause();
- }
- else
- {
- throw new IllegalStateException(e.getCause());
- }
- }
-
-}
\ No newline at end of file
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ConcurrentCache.java (from rev 1791, ri/trunk/impl/src/main/java/org/jboss/webbeans/util/ConcurrentCache.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ConcurrentCache.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ConcurrentCache.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -0,0 +1,187 @@
+/*
+ * 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.util.collections;
+
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+import java.util.concurrent.FutureTask;
+
+
+/**
+ * Represents a thread safe map
+ *
+ * @author Pete Muir
+ */
+public class ConcurrentCache<K, V> extends ForwardingMap<K, Future<V>>
+{
+
+ // The backing map with the value wrapped in a Future instance
+ private ConcurrentHashMap<K, Future<V>> map;
+
+ /**
+ * Constructor
+ */
+ public ConcurrentCache()
+ {
+ map = new ConcurrentHashMap<K, Future<V>>();
+ }
+
+ /**
+ * Gets the Future value from the map
+ *
+ * @param key The key to look for
+ * @return The Future instance of the value
+ */
+
+ public <T extends V> Future<T> getFuture(K key)
+ {
+ @SuppressWarnings("unchecked")
+ Future<T> future = (Future<T>) super.get(key);
+ return future;
+ }
+
+ /**
+ * Gets a value from the map. Blocks until it is available
+ *
+ * @param key The key to look for
+ * @return The value
+ */
+ public <T extends V> T getValue(K key)
+ {
+ @SuppressWarnings("unchecked")
+ Future<T> value = (Future<T>) map.get(key);
+ if (value != null)
+ {
+ boolean interrupted = false;
+ try
+ {
+ while (true)
+ {
+ try
+ {
+ return value.get();
+ }
+ catch (InterruptedException e)
+ {
+ interrupted = true;
+ }
+ catch (ExecutionException e)
+ {
+ rethrow(e);
+ }
+ }
+ }
+ finally
+ {
+ if (interrupted)
+ {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Adds an item to the map if it's not already there
+
+ * @param key The key to place the item under
+ * @param callable The item, wrapped in a Callable instance
+ * @return The item added
+ */
+ public <E> E putIfAbsent(K key, Callable<E> callable)
+ {
+ @SuppressWarnings("unchecked")
+ Future<E> future = (Future<E>) map.get(key);
+ Future<E> value = future;
+ if (value == null)
+ {
+ FutureTask<E> task = new FutureTask<E>(callable);
+ value = task;
+ @SuppressWarnings("unchecked")
+ Future<V> t = (Future<V>) task;
+ map.put(key, t);
+ task.run();
+ }
+ boolean interrupted = false;
+ try
+ {
+ while (true)
+ {
+ try
+ {
+ return value.get();
+ }
+ catch (InterruptedException e)
+ {
+ interrupted = true;
+ }
+ catch (ExecutionException e)
+ {
+ rethrow(e);
+ }
+ }
+ }
+ finally
+ {
+ if (interrupted)
+ {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+
+ /**
+ * Gets the delegate map
+ *
+ * @return The backing map
+ */
+ @Override
+ protected Map<K, Future<V>> delegate()
+ {
+ return map;
+ }
+
+ /**
+ * Examines and re-throws an exception
+ *
+ * @param e The exception that happened during execution
+ */
+ protected void rethrow(ExecutionException e)
+ {
+ if (e.getCause() instanceof RuntimeException)
+ {
+ throw (RuntimeException) e.getCause();
+ }
+ else if (e.getCause() instanceof Error)
+ {
+ throw (Error) e.getCause();
+ }
+ else
+ {
+ throw new IllegalStateException(e.getCause());
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ConcurrentCache.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingCollection.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingCollection.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingCollection.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2007 Google Inc.
+ *
+ * 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.util.collections;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * A collection which forwards all its method calls to another collection.
+ * Subclasses should override one or more methods to modify the behavior of the
+ * backing collection as desired per the <a
+ * href="http://en.wikipedia.org/wiki/Decorator_pattern">decorator pattern</a>.
+ *
+ * @see ForwardingObject
+ * @author Kevin Bourrillion
+ * @author Pete Muir
+ */
+public abstract class ForwardingCollection<E> extends ForwardingObject implements Collection<E>
+{
+
+ @Override
+ protected abstract Collection<E> delegate();
+
+ public Iterator<E> iterator()
+ {
+ return delegate().iterator();
+ }
+
+ public int size()
+ {
+ return delegate().size();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * This method always throws a {@link NullPointerException} when {@code
+ * collection} is null.
+ */
+ public boolean removeAll(Collection<?> collection)
+ {
+ return delegate().removeAll(checkNotNull(collection));
+ }
+
+ public boolean isEmpty()
+ {
+ return delegate().isEmpty();
+ }
+
+ public boolean contains(Object object)
+ {
+ return delegate().contains(object);
+ }
+
+ public Object[] toArray()
+ {
+ return delegate().toArray();
+ }
+
+ public <T> T[] toArray(T[] array)
+ {
+ return delegate().toArray(array);
+ }
+
+ public boolean add(E element)
+ {
+ return delegate().add(element);
+ }
+
+ public boolean remove(Object object)
+ {
+ return delegate().remove(object);
+ }
+
+ public boolean containsAll(Collection<?> collection)
+ {
+ return delegate().containsAll(collection);
+ }
+
+ public boolean addAll(Collection<? extends E> collection)
+ {
+ return delegate().addAll(collection);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * This method always throws a {@link NullPointerException} when {@code
+ * collection} is null.
+ */
+ public boolean retainAll(Collection<?> collection)
+ {
+ return delegate().retainAll(checkNotNull(collection));
+ }
+
+ public void clear()
+ {
+ delegate().clear();
+ }
+
+ /**
+ * Ensures that an object reference passed as a parameter to the calling
+ * method is not null.
+ *
+ * @param reference
+ * an object reference
+ * @return the non-null reference that was validated
+ * @throws NullPointerException
+ * if {@code reference} is null
+ */
+ public static <T> T checkNotNull(T reference)
+ {
+ if (reference == null)
+ {
+ throw new NullPointerException();
+ }
+ return reference;
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingCollection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingMap.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingMap.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingMap.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -0,0 +1,212 @@
+/*
+ * Copyright (C) 2007 Google Inc.
+ *
+ * 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.util.collections;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A map which forwards all its method calls to another map. Subclasses should
+ * override one or more methods to modify the behavior of the backing map as
+ * desired per the <a
+ * href="http://en.wikipedia.org/wiki/Decorator_pattern">decorator pattern</a>.
+ *
+ * @see ForwardingObject
+ * @author Kevin Bourrillion
+ * @author Jared Levy
+ */
+public abstract class ForwardingMap<K, V> extends ForwardingObject implements Map<K, V>
+{
+
+ @Override
+ protected abstract Map<K, V> delegate();
+
+ public int size()
+ {
+ return delegate().size();
+ }
+
+ public boolean isEmpty()
+ {
+ return delegate().isEmpty();
+ }
+
+ public V remove(Object object)
+ {
+ return delegate().remove(object);
+ }
+
+ public void clear()
+ {
+ delegate().clear();
+ }
+
+ public boolean containsKey(Object key)
+ {
+ return delegate().containsKey(key);
+ }
+
+ public boolean containsValue(Object value)
+ {
+ return delegate().containsValue(value);
+ }
+
+ public V get(Object key)
+ {
+ return delegate().get(key);
+ }
+
+ public V put(K key, V value)
+ {
+ return delegate().put(key, value);
+ }
+
+ public void putAll(Map<? extends K, ? extends V> map)
+ {
+ delegate().putAll(map);
+ }
+
+ private transient Set<K> keySet;
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * The returned set's {@code removeAll} and {@code retainAll} methods always
+ * throw a {@link NullPointerException} when given a null collection.
+ */
+ public Set<K> keySet()
+ {
+ return (keySet == null) ? keySet = createKeySet() : keySet;
+ }
+
+ /**
+ * Generates a {@link Set} for use by {@link #keySet()}.
+ *
+ * <p>
+ * ForwardingMap's implementation of keySet() calls this method to generate a
+ * collection of values, and then reuses that Set for subsequent invocations.
+ * By default, this Set is essentially the result of invoking keySet() on the
+ * delegate. Override this method if you want to provide another
+ * implementation.
+ *
+ * @return A set for use by keySet().
+ */
+ protected Set<K> createKeySet()
+ {
+ final Set<K> delegate = delegate().keySet();
+ return new ForwardingSet<K>()
+ {
+ @Override
+ protected Set<K> delegate()
+ {
+ return delegate;
+ }
+ };
+ }
+
+ private transient Collection<V> values;
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * The returned collection's {@code removeAll} and {@code retainAll} methods
+ * always throw a {@link NullPointerException} when given a null collection.
+ */
+ public Collection<V> values()
+ {
+ return (values == null) ? values = createValues() : values;
+ }
+
+ /**
+ * Generates a {@link Collection} for use by {@link #values()}.
+ *
+ * <p>
+ * ForwardingMap's implementation of {@code values()} calls this method to
+ * generate a collection of values, and then reuses that collection for
+ * subsequent invocations. By default, this collection is essentially the
+ * result of invoking values() on the delegate. Override this method if you
+ * want to provide another implementation.
+ *
+ * @return A set for use by values().
+ */
+ protected Collection<V> createValues()
+ {
+ final Collection<V> delegate = delegate().values();
+ return new ForwardingCollection<V>()
+ {
+ @Override
+ protected Collection<V> delegate()
+ {
+ return delegate;
+ }
+ };
+ }
+
+ private transient Set<Entry<K, V>> entrySet;
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * The returned set's {@code removeAll} and {@code retainAll} methods always
+ * throw a {@link NullPointerException} when given a null collection.
+ */
+ public Set<Entry<K, V>> entrySet()
+ {
+ return (entrySet == null) ? entrySet = createEntrySet() : entrySet;
+ }
+
+ /**
+ * Generates a {@link Set} for use by {@link #entrySet()}.
+ *
+ * <p>
+ * ForwardingMap's implementation of entrySet() calls this method to generate
+ * a set of entries, and then reuses that set for subsequent invocations. By
+ * default, this set is essentially the result of invoking entrySet() on the
+ * delegate. Override this method if you want to provide another
+ * implementation.
+ *
+ * @return A set for use by entrySet().
+ */
+ protected Set<Entry<K, V>> createEntrySet()
+ {
+ final Set<Entry<K, V>> delegate = delegate().entrySet();
+ return new ForwardingSet<Entry<K, V>>()
+ {
+ @Override
+ protected Set<Entry<K, V>> delegate()
+ {
+ return delegate;
+ }
+ };
+ }
+
+ @Override
+ public boolean equals(Object object)
+ {
+ return object == this || delegate().equals(object);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return delegate().hashCode();
+ }
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingMap.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingObject.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingObject.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingObject.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2007 Google Inc.
+ *
+ * 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.util.collections;
+
+import java.io.Serializable;
+
+/**
+ * An abstract base class for implementing the <a
+ * href="http://en.wikipedia.org/wiki/Decorator_pattern">decorator pattern</a>.
+ * The {@link #delegate()} method must be overridden to return the instance
+ * being decorated.
+ *
+ * This class does <i>not</i> forward the {@code hashCode} and {@code equals}
+ * methods through to the backing object, but relies on {@code Object}'s
+ * implementation. This is necessary to preserve the symmetry of {@code equals}.
+ * Custom definitions of equality are usually based on an interface, such as
+ * {@code Set} or {@code List}, so that the implementation of {@code equals} can
+ * cast the object being tested for equality to the custom interface. {@code
+ * ForwardingObject} implements no such custom interfaces directly; they are
+ * implemented only in subclasses. Therefore, forwarding {@code equals} would
+ * break symmetry, as the forwarding object might consider itself equal to the
+ * object being tested, but the reverse could not be true. This behavior is
+ * consistent with the JDK's collection wrappers, such as
+ * {@link java.util.Collections#unmodifiableCollection}. Use an
+ * interface-specific subclass of {@code ForwardingObject}, such as
+ * {@link ForwardingList}, to preserve equality behavior, or override {@code
+ * equals} directly.
+ *
+ * <p>
+ * The {@code toString} method is forwarded to the delegate. Although this class
+ * does not implement {@link Serializable}, a serializable subclass may be
+ * created since this class has a parameter-less constructor.
+ *
+ * @author Mike Bostock
+ */
+public abstract class ForwardingObject
+{
+
+ /** Sole constructor. */
+ protected ForwardingObject()
+ {
+ }
+
+ /**
+ * Returns the backing delegate instance that methods are forwarded to.
+ * Abstract subclasses generally override the {@link ForwardingObject} method
+ * with an abstract method that has a more specific return type, such as
+ * {@link ForwardingSet#delegate}. Concrete subclasses override this method
+ * to supply the instance being decorated.
+ */
+ protected abstract Object delegate();
+
+ /**
+ * Returns the string representation generated by the delegate's {@code
+ * toString} method.
+ */
+ @Override
+ public String toString()
+ {
+ return delegate().toString();
+ }
+
+ /* No equals or hashCode. See class comments for details. */
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingObject.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingSet.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingSet.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingSet.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2007 Google Inc.
+ *
+ * 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.util.collections;
+
+import java.util.Set;
+
+/**
+ * A set which forwards all its method calls to another set. Subclasses should
+ * override one or more methods to modify the behavior of the backing set as
+ * desired per the <a
+ * href="http://en.wikipedia.org/wiki/Decorator_pattern">decorator pattern</a>.
+ *
+ * @see ForwardingObject
+ * @author Kevin Bourrillion
+ */
+public abstract class ForwardingSet<E> extends ForwardingCollection<E> implements Set<E>
+{
+
+ @Override
+ protected abstract Set<E> delegate();
+
+ @Override
+ public boolean equals(Object object)
+ {
+ return object == this || delegate().equals(object);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return delegate().hashCode();
+ }
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/collections/ForwardingSet.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/jboss-tck-runner/pom.xml
===================================================================
--- ri/trunk/jboss-tck-runner/pom.xml 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/jboss-tck-runner/pom.xml 2009-03-06 15:27:47 UTC (rev 1796)
@@ -28,11 +28,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.test</groupId>
- <artifactId>jboss-test</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<classifier>jdk15</classifier>
@@ -43,13 +38,42 @@
<artifactId>jsr299-tck-impl</artifactId>
</dependency>
+<!-- <dependency>-->
+<!-- <groupId>org.jboss.naming</groupId>-->
+<!-- <artifactId>jnp-client</artifactId>-->
+<!-- <scope>runtime</scope>-->
+<!-- </dependency>-->
+<!-- -->
+<!-- <dependency>-->
+<!-- <groupId>org.jboss.aspects</groupId>-->
+<!-- <artifactId>jboss-security-aspects</artifactId>-->
+<!-- <scope>runtime</scope>-->
+<!-- </dependency>-->
+<!-- -->
+<!-- <dependency>-->
+<!-- <groupId>org.jboss.aspects</groupId>-->
+<!-- <artifactId>jboss-remoting-aspects</artifactId>-->
+<!-- <scope>runtime</scope>-->
+<!-- </dependency>-->
+<!-- -->
+<!-- <dependency>-->
+<!-- <groupId>oswego-concurrent</groupId>-->
+<!-- <artifactId>concurrent</artifactId>-->
+<!-- <scope>runtime</scope>-->
+<!-- </dependency>-->
+<!---->
<dependency>
+ <groupId>org.jboss.integration</groupId>
+ <artifactId>jboss-profileservice-spi</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-client</artifactId>
<type>pom</type>
+ <scope>runtime</scope>
</dependency>
-
</dependencies>
<build>
Deleted: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/FileSystemContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/FileSystemContainersImpl.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/FileSystemContainersImpl.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -1,52 +0,0 @@
-package org.jboss.webbeans.tck.integration.jbossas;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.log4j.Logger;
-
-
-public class FileSystemContainersImpl extends AbstractContainersImpl
-{
-
- private static Logger log = Logger.getLogger(FileSystemContainersImpl.class);
-
- private File deployDir;
-
- public FileSystemContainersImpl() throws IOException
- {
- deployDir = new File(jbossHome, "server/default/deploy");
- if (!deployDir.isDirectory())
- {
- throw new IllegalArgumentException(deployDir.getPath() + " is not a directory");
- }
- log.info("Deploying TCK artifacts to " + deployDir.getPath());
- }
-
- public void deploy(InputStream archive, String name) throws IOException
- {
- File file = new File(deployDir, name);
- log.info("Deploying test " + name);
- file.createNewFile();
- copy(archive, file);
- }
-
- public void undeploy(String name) throws IOException
- {
- File file = new File(deployDir, name);
- if (file.exists())
- {
- file.delete();
- }
- try
- {
- // Give the app a chance to undeploy
- Thread.sleep(1000);
- }
- catch (InterruptedException e)
- {
- Thread.currentThread().interrupt();
- }
- }
-
-}
Deleted: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/JBossTestServicesContainersImpl.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -1,64 +0,0 @@
-package org.jboss.webbeans.tck.integration.jbossas;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.log4j.Logger;
-import org.jboss.jsr299.tck.api.DeploymentException;
-import org.jboss.test.JBossTestServices;
-
-
-public class JBossTestServicesContainersImpl extends AbstractContainersImpl
-{
-
- private Logger log = Logger.getLogger(JBossTestServicesContainersImpl.class);
-
- private final JBossTestServices testServices;
- private final File tmpdir;
-
- public JBossTestServicesContainersImpl() throws Exception
- {
- this.testServices = new JBossTestServices(JBossTestServicesContainersImpl.class);
- testServices.setUpLogging();
- testServices.init();
- tmpdir = new File(System.getProperty("java.io.tmpdir"), "org.jboss.webbeans.tck.integration.jbossas");
- tmpdir.mkdir();
- tmpdir.deleteOnExit();
- }
-
- public void deploy(InputStream archiveStream, String name) throws DeploymentException, IOException
- {
- File archive = new File(tmpdir, name);
- archive.deleteOnExit();
- copy(archiveStream, archive);
- try
- {
- testServices.deploy(getTmpArchiveName(name));
- }
- catch (Exception e)
- {
- throw new DeploymentException("Error deploying " + name, e);
- }
- }
-
- public void undeploy(String name) throws IOException
- {
- try
- {
- testServices.undeploy(getTmpArchiveName(name));
- }
- catch (Exception e)
- {
- IOException ioe = new IOException("Error undeploying " + name);
- ioe.initCause(e);
- throw ioe;
- }
- }
-
- private String getTmpArchiveName(String name)
- {
- File file = new File(tmpdir, name);
- return file.toURI().toString();
- }
-
-}
Modified: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ProfileServiceContainersImpl.java 2009-03-06 15:27:47 UTC (rev 1796)
@@ -18,7 +18,6 @@
import org.jboss.managed.api.ManagedDeployment.DeploymentPhase;
import org.jboss.profileservice.spi.ProfileKey;
import org.jboss.profileservice.spi.ProfileService;
-import org.jboss.test.JBossTestServices;
import org.jboss.virtual.VFS;
public class ProfileServiceContainersImpl extends AbstractContainersImpl
@@ -29,15 +28,11 @@
private final List<String> failedUndeployments;
private DeploymentManager deploymentManager;
- private JBossTestServices testServices;
private final File tmpdir;
public ProfileServiceContainersImpl() throws Exception
{
- this.testServices = new JBossTestServices(JBossTestServicesContainersImpl.class);
- this.testServices.setUpLogging();
- this.testServices.init();
tmpdir = new File(System.getProperty("java.io.tmpdir"), "org.jboss.webbeans.tck.integration.jbossas");
tmpdir.mkdir();
tmpdir.deleteOnExit();
@@ -136,7 +131,7 @@
protected void initDeploymentManager() throws Exception
{
String profileName = "default";
- InitialContext ctx = testServices.getInitialContext();
+ InitialContext ctx = new InitialContext();
ProfileService ps = (ProfileService) ctx.lookup("ProfileService");
deploymentManager = ps.getDeploymentManager();
ProfileKey defaultKey = new ProfileKey(profileName);
Modified: ri/trunk/spi/pom.xml
===================================================================
--- ri/trunk/spi/pom.xml 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/spi/pom.xml 2009-03-06 15:27:47 UTC (rev 1796)
@@ -35,11 +35,6 @@
</dependency>
<dependency>
- <groupId>com.google.collections</groupId>
- <artifactId>google-collections</artifactId>
- </dependency>
-
- <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<optional>true</optional>
Modified: ri/trunk/version-matrix/pom.xml
===================================================================
--- ri/trunk/version-matrix/pom.xml 2009-03-06 14:53:51 UTC (rev 1795)
+++ ri/trunk/version-matrix/pom.xml 2009-03-06 15:27:47 UTC (rev 1796)
@@ -126,12 +126,6 @@
<artifactId>jsf-api</artifactId>
<version>1.2_10</version>
</dependency>
-
- <dependency>
- <groupId>com.google.collections</groupId>
- <artifactId>google-collections</artifactId>
- <version>0.8</version>
- </dependency>
<dependency>
<groupId>org.jboss.ejb3</groupId>
@@ -237,53 +231,45 @@
<version>${jsr299.tck.version}</version>
</dependency>
+<!-- <dependency>-->
+<!-- <groupId>org.jboss.naming</groupId>-->
+<!-- <artifactId>jnp-client</artifactId>-->
+<!-- <version>5.0.1.GA</version>-->
+<!-- </dependency>-->
+<!-- -->
+<!-- <dependency>-->
+<!-- <groupId>org.jboss.aspects</groupId>-->
+<!-- <artifactId>jboss-security-aspects</artifactId>-->
+<!-- <version>1.0.0.GA</version>-->
+<!-- </dependency>-->
+<!-- -->
+<!-- <dependency>-->
+<!-- <groupId>org.jboss.aspects</groupId>-->
+<!-- <artifactId>jboss-remoting-aspects</artifactId>-->
+<!-- <version>1.0.1.GA</version>-->
+<!-- </dependency>-->
+<!-- -->
+<!-- -->
+<!-- <dependency>-->
+<!-- <groupId>oswego-concurrent</groupId>-->
+<!-- <artifactId>concurrent</artifactId>-->
+<!-- <version>1.3.4-jboss-update1</version>-->
+<!-- </dependency>-->
+
<dependency>
- <groupId>org.jboss.test</groupId>
- <artifactId>jboss-test</artifactId>
- <version>1.1.3.GA</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-server-manager</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>apache-log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- </exclusions>
+ <groupId>org.jboss.integration</groupId>
+ <artifactId>jboss-profileservice-spi</artifactId>
+ <version>5.0.3.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-client</artifactId>
- <version>5.0.0.GA</version>
+ <version>5.0.1.GA</version>
<type>pom</type>
</dependency>
+
</dependencies>
</dependencyManagement>
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1795 - examples/trunk/conversations.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-03-06 09:53:51 -0500 (Fri, 06 Mar 2009)
New Revision: 1795
Modified:
examples/trunk/conversations/
Log:
ignores
Property changes on: examples/trunk/conversations
___________________________________________________________________
Name: svn:ignore
- .settings
.classpath
.project
+ .settings
.classpath
.project
target
15 years, 3 months