[webbeans-commits] Webbeans SVN: r534 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bootstrap and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2008-12-16 13:36:27 -0500 (Tue, 16 Dec 2008)
New Revision: 534
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BirdCage.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BlueFacedParrotFinch.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FinchKeeper.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/StarFinch.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/OwlFinch.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/SweeWaxbill.java
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractFacadeBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
Log:
New test implementations and fixes for Observable event beans.
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractFacadeBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractFacadeBean.java 2008-12-16 18:09:58 UTC (rev 533)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractFacadeBean.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -18,9 +18,6 @@
package org.jboss.webbeans.bean;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-
-import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
import javax.webbeans.Production;
import javax.webbeans.Standard;
@@ -55,33 +52,6 @@
init();
}
- /**
- * Initializes the bean
- *
- * Calls super method and validates the annotated item
- */
- protected void init()
- {
- super.init();
- checkAnnotatedItem();
- }
-
- /**
- * Validates the annotated item
- */
- private void checkAnnotatedItem()
- {
- Type[] actualTypeArguments = annotatedItem.getActualTypeArguments();
- if (actualTypeArguments.length != 1)
- {
- throw new DefinitionException("Event must have type arguments");
- }
- if (!(actualTypeArguments[0] instanceof Class))
- {
- throw new DefinitionException("Event must have concrete type argument");
- }
- }
-
/*
* Gets the binding type as an array
*
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-16 18:09:58 UTC (rev 533)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -18,12 +18,16 @@
package org.jboss.webbeans.bean;
+import java.lang.reflect.Type;
+
+import javax.webbeans.DefinitionException;
import javax.webbeans.Event;
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.AnnotatedParameter;
import org.jboss.webbeans.util.Names;
/**
@@ -49,17 +53,58 @@
}
/**
+ * Initializes the bean
+ *
+ * Calls super method and validates the annotated item
+ */
+ protected void init()
+ {
+ super.init();
+ checkAnnotatedItem();
+ }
+
+ /**
+ * Validates the annotated item
+ */
+ private void checkAnnotatedItem()
+ {
+ // Only check the type arguments if this is for a field. Parameters
+ // do not have access to the type arguments in Java 6.
+ if (!(this.annotatedItem instanceof AnnotatedParameter))
+ {
+ Type[] actualTypeArguments = annotatedItem.getActualTypeArguments();
+ if (actualTypeArguments.length != 1)
+ {
+ throw new DefinitionException("Event must have type arguments");
+ }
+ if (!(actualTypeArguments[0] instanceof Class))
+ {
+ throw new DefinitionException("Event must have concrete type argument");
+ }
+ }
+ }
+
+ /**
* Creates an instance
*
* @return an event instance
*/
+ @SuppressWarnings("unchecked")
@Override
public Event<T> create()
{
try
{
DependentContext.INSTANCE.setActive(true);
- return new EventImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
+ Class eventType = null;
+ if (this.getAnnotatedItem() instanceof AnnotatedParameter)
+ {
+ eventType = Object.class;
+ } else
+ {
+ eventType = (Class<T>) getAnnotatedItem().getActualTypeArguments()[0];
+ }
+ return new EventImpl(eventType, manager, getBindingTypesArray());
}
finally
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-16 18:09:58 UTC (rev 533)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -34,6 +34,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
@@ -160,7 +161,7 @@
return beans;
}
-
+ @SuppressWarnings("unchecked")
protected void createBean(AbstractClassBean<?> bean, Set<AbstractBean<?, ?>> beans)
{
beans.add(bean);
@@ -170,6 +171,15 @@
ProducerMethodBean<?> producerMethodBean = createProducerMethodBean(producerMethod, bean, manager);
beans.add(producerMethodBean);
manager.getResolver().addInjectionPoints(producerMethodBean.getInjectionPoints());
+ for (AnnotatedItem injectionPoint : producerMethodBean.getInjectionPoints())
+ {
+ if ( injectionPoint.isAnnotationPresent(Observable.class) )
+ {
+ EventBean<Object, Method> eventBean = createEventBean(injectionPoint, manager);
+ beans.add(eventBean);
+ log.info("Web Bean: " + eventBean);
+ }
+ }
log.info("Web Bean: " + producerMethodBean);
}
for (AnnotatedField<Object> producerField : bean.getProducerFields())
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-16 18:09:58 UTC (rev 533)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -20,9 +20,14 @@
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.test.beans.BananaSpider;
+import org.jboss.webbeans.test.beans.BirdCage;
+import org.jboss.webbeans.test.beans.BlueFacedParrotFinch;
+import org.jboss.webbeans.test.beans.FinchKeeper;
import org.jboss.webbeans.test.beans.RecluseSpider;
-import org.jboss.webbeans.test.beans.SweeWaxbill;
+import org.jboss.webbeans.test.beans.StarFinch;
import org.jboss.webbeans.test.beans.TeaCupPomeranian;
+import org.jboss.webbeans.test.beans.broken.OwlFinch;
+import org.jboss.webbeans.test.beans.broken.SweeWaxbill;
import org.jboss.webbeans.test.bindings.AnimalStereotypeAnnotationLiteral;
import org.jboss.webbeans.test.bindings.RoleBinding;
import org.jboss.webbeans.test.bindings.TameAnnotationLiteral;
@@ -619,32 +624,80 @@
}
}
- @Test(groups = { "stub", "events" })
+ @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
@SpecAssertion(section = "8.6")
public void testNonBindingTypePassedToFireFails()
{
- assert false;
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(OwlFinch.class));
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ OwlFinch bean = manager.getInstanceByType(OwlFinch.class);
+ bean.methodThatFiresEvent();
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
- @Test(groups = { "stub", "events" })
+ @Test(groups = { "events" }, expectedExceptions = { IllegalArgumentException.class })
@SpecAssertion(section = "8.6")
public void testNonBindingTypePassedToObservesFails()
{
- assert false;
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(OwlFinch.class));
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ OwlFinch bean = manager.getInstanceByType(OwlFinch.class);
+ bean.methodThatRegistersObserver();
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
- @Test(groups = { "stub", "events" })
+ @Test(groups = { "events" })
@SpecAssertion(section = "8.6")
public void testObservableAnnotationOnField()
{
- assert false;
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(BlueFacedParrotFinch.class));
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+ bean.methodThatRegistersObserver();
+
+ Set<Observer<String>> observers = manager.resolveObservers("String type event");
+ assert observers.size() == 1;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
- @Test(groups = { "stub", "events" })
+ @Test(groups = { "broken", "events" })
@SpecAssertion(section = "8.6")
public void testObservableAnnotationOnParameterOfProducerMethod()
{
- assert false;
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(StarFinch.class, FinchKeeper.class, BirdCage.class));
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ StarFinch starFinch = manager.getInstanceByType(StarFinch.class);
+ FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+ BirdCage birdCage = manager.getInstanceByType(BirdCage.class);
+ assert starFinch != null;
+ assert birdCage != null;
+ assert birdCage.someMess != null;
+ assert birdKeeper.newMessDetected;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Test(groups = { "stub", "events" })
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BirdCage.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BirdCage.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BirdCage.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Current;
+import javax.webbeans.RequestScoped;
+
+import org.jboss.webbeans.test.beans.StarFinch.Mess;
+
+@RequestScoped
+public class BirdCage
+{
+ @Current
+ public Mess someMess;
+
+ public BirdCage()
+ {
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BirdCage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BlueFacedParrotFinch.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BlueFacedParrotFinch.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BlueFacedParrotFinch.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Event;
+import javax.webbeans.Observable;
+import javax.webbeans.Observer;
+
+public class BlueFacedParrotFinch
+{
+ @Observable
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event");
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+ public void notify(String event)
+ {
+ }
+ });
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/BlueFacedParrotFinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FinchKeeper.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FinchKeeper.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FinchKeeper.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Observes;
+import javax.webbeans.RequestScoped;
+
+import org.jboss.webbeans.test.beans.StarFinch.Mess;
+
+@RequestScoped
+public class FinchKeeper
+{
+ public FinchKeeper()
+ {
+ }
+
+ public boolean newMessDetected = false;
+
+ public void observesMesses(@Observes Mess aNewMess)
+ {
+ newMessDetected = true;
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FinchKeeper.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/StarFinch.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/StarFinch.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/StarFinch.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Event;
+import javax.webbeans.Observable;
+import javax.webbeans.Produces;
+import javax.webbeans.RequestScoped;
+
+@RequestScoped
+public class StarFinch
+{
+ public static class Mess
+ {
+ }
+
+ public StarFinch()
+ {
+ }
+
+ @Produces
+ public Mess producerOfMesses(@Observable Event<Mess> messEvent)
+ {
+ Mess newMess = new Mess();
+ messEvent.fire(newMess);
+ return newMess;
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/StarFinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java 2008-12-16 18:09:58 UTC (rev 533)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -1,30 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.webbeans.Event;
-import javax.webbeans.Observable;
-import javax.webbeans.Observer;
-
-import org.jboss.webbeans.test.annotations.Role;
-import org.jboss.webbeans.test.bindings.RoleBinding;
-
-public class SweeWaxbill
-{
- @Observable @Role("Admin")
- private Event<String> simpleEvent;
-
- public void methodThatFiresEvent()
- {
- simpleEvent.fire("An event", new RoleBinding("Admin"));
- }
-
- public void methodThatRegistersObserver()
- {
- simpleEvent.observe(new Observer<String>()
- {
-
- public void notify(String event)
- {
- }
- }, new RoleBinding("Admin"));
- }
-}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/OwlFinch.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/OwlFinch.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/OwlFinch.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -0,0 +1,28 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Event;
+import javax.webbeans.Observable;
+import javax.webbeans.Observer;
+
+import org.jboss.webbeans.test.bindings.AnimalStereotypeAnnotationLiteral;
+
+public class OwlFinch
+{
+ @Observable
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event", new AnimalStereotypeAnnotationLiteral());
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+ public void notify(String event)
+ {
+ }
+ }, new AnimalStereotypeAnnotationLiteral());
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/OwlFinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/SweeWaxbill.java (from rev 526, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/SweeWaxbill.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/SweeWaxbill.java 2008-12-16 18:36:27 UTC (rev 534)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Event;
+import javax.webbeans.Observable;
+import javax.webbeans.Observer;
+
+import org.jboss.webbeans.test.annotations.Role;
+import org.jboss.webbeans.test.bindings.RoleBinding;
+
+public class SweeWaxbill
+{
+ @Observable @Role("Admin")
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event", new RoleBinding("Admin"));
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+
+ public void notify(String event)
+ {
+ }
+ }, new RoleBinding("Admin"));
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/SweeWaxbill.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 6 months
[webbeans-commits] Webbeans SVN: r533 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bootstrap and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-16 13:09:58 -0500 (Tue, 16 Dec 2008)
New Revision: 533
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/BusinessInterfaceDescriptor.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
Log:
Fix Nick's weird EJB code from last night, remove all usage of EJB metadata scanning from code (comment out remove methods for now), improve structure of mock bootstrap
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -37,7 +37,6 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
import org.jboss.webbeans.contexts.DependentContext;
-import org.jboss.webbeans.ejb.EJB;
import org.jboss.webbeans.ejb.EjbDescriptorCache;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -144,7 +143,7 @@
{
return;
}
- if (!EJB.isEjb(getType().getSuperclass()))
+ if (EjbDescriptorCache.instance().containsKey(getType().getSuperclass()))
{
throw new DefinitionException("Annotation defined specializing EJB must have EJB superclass");
}
@@ -185,13 +184,13 @@
private Set<AnnotatedMethod<Object>> getNoArgsRemoveMethods()
{
Set<AnnotatedMethod<Object>> noArgsRemoveMethods = new HashSet<AnnotatedMethod<Object>>();
- for (AnnotatedMethod<Object> removeMethod : getAnnotatedItem().getAnnotatedMethods(EJB.REMOVE_ANNOTATION))
+ /*for (AnnotatedMethod<Object> removeMethod : getAnnotatedItem().getAnnotatedMethods(EJB.REMOVE_ANNOTATION))
{
if (removeMethod.getParameters().isEmpty())
{
noArgsRemoveMethods.add(removeMethod);
}
- }
+ }*/
return noArgsRemoveMethods;
}
@@ -205,10 +204,10 @@
return;
}
- if (removeMethod.isAnnotationPresent(Destructor.class) && !removeMethod.isAnnotationPresent(EJB.REMOVE_ANNOTATION))
+ /*if (removeMethod.isAnnotationPresent(Destructor.class) && !removeMethod.isAnnotationPresent(EJB.REMOVE_ANNOTATION))
{
throw new DefinitionException("Methods marked @Destructor must also be marked @Remove on " + removeMethod.getName());
- }
+ }*/
else if (removeMethod.isAnnotationPresent(Initializer.class))
{
throw new DefinitionException("Remove methods cannot be initializers on " + removeMethod.getName());
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -57,7 +57,6 @@
import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.ejb.DefaultEnterpriseBeanLookup;
-import org.jboss.webbeans.ejb.EJB;
import org.jboss.webbeans.ejb.EjbDescriptorCache;
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.introspector.AnnotatedField;
@@ -82,7 +81,7 @@
private static LogProvider log = Logging.getLogProvider(WebBeansBootstrap.class);
- private ManagerImpl manager;
+ protected ManagerImpl manager;
/**
* Constructor
@@ -107,7 +106,7 @@
*
* @param classes The classes to register
*/
- public void registerBeans(Class<?>... classes)
+ protected void registerBeans(Class<?>... classes)
{
registerBeans(new HashSet<Class<?>>(Arrays.asList(classes)));
}
@@ -117,11 +116,21 @@
*
* @param classes The classes to register as Web Beans
*/
- public void registerBeans(Iterable<Class<?>> classes)
+ protected void registerBeans(Iterable<Class<?>> classes)
{
Set<AbstractBean<?, ?>> beans = createBeans(classes);
+ beans.addAll(createStandardBeans());
manager.setBeans(beans);
}
+
+ protected Set<AbstractBean<?, ?>> createStandardBeans()
+ {
+ Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();
+ createBean(BeanFactory.createSimpleBean(Transaction.class, manager), beans);
+ createBean(BeanFactory.createSimpleBean(ManagerImpl.class, manager), beans);
+ createBean(BeanFactory.createSimpleBean(DefaultEnterpriseBeanLookup.class, manager), beans);
+ return beans;
+ }
/**
* Creates Web Beans from a set of classes
@@ -134,12 +143,12 @@
* @param classes The classes to adapt
* @return A set of adapted Web Beans
*/
- public Set<AbstractBean<?, ?>> createBeans(Iterable<Class<?>> classes)
+ protected Set<AbstractBean<?, ?>> createBeans(Iterable<Class<?>> classes)
{
Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();
for (Class<?> clazz : classes)
{
- if (EJB.isEjb(clazz))
+ if (EjbDescriptorCache.instance().containsKey(clazz))
{
createBean(createEnterpriseBean(clazz, manager), beans);
}
@@ -148,14 +157,11 @@
createBean(createSimpleBean(clazz, manager), beans);
}
}
- createBean(BeanFactory.createSimpleBean(Transaction.class, manager), beans);
- createBean(BeanFactory.createSimpleBean(ManagerImpl.class, manager), beans);
- createBean(BeanFactory.createSimpleBean(DefaultEnterpriseBeanLookup.class, manager), beans);
return beans;
}
- public void createBean(AbstractClassBean<?> bean, Set<AbstractBean<?, ?>> beans)
+ protected void createBean(AbstractClassBean<?> bean, Set<AbstractBean<?, ?>> beans)
{
beans.add(bean);
manager.getResolver().addInjectionPoints(bean.getInjectionPoints());
@@ -219,8 +225,9 @@
{
throw new IllegalStateException("No WebBeanDiscovery provider found, you need to implement the org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery interface, and tell the RI to use it by specifying -D" + WebBeansBootstrap.WEB_BEAN_DISCOVERY_PROPERTY_NAME + "=<classname>");
}
+ // Must populate EJB cache first, as we need it to detect whether a bean is an EJB!
+ EjbDescriptorCache.instance().addAll(webBeanDiscovery.discoverEjbs());
registerBeans(webBeanDiscovery.discoverWebBeanClasses());
- EjbDescriptorCache.instance().setEjbDescriptors(webBeanDiscovery.discoverEjbs());
log.info("Validing Web Bean injection points");
manager.getResolver().resolveInjectionPoints();
manager.fireEvent(manager, new InitializedBinding());
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/BusinessInterfaceDescriptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/BusinessInterfaceDescriptor.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/BusinessInterfaceDescriptor.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -0,0 +1,21 @@
+/**
+ *
+ */
+package org.jboss.webbeans.bootstrap.spi;
+
+public interface BusinessInterfaceDescriptor<T>
+{
+
+ /**
+ * Gets the business interface class
+ */
+ public Class<T> getInterface();
+
+ /**
+ * Gets the JNDI name under which the EJB is registered
+ *
+ * @return The JNDI name
+ */
+ public String getJndiName();
+
+}
\ No newline at end of file
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/BusinessInterfaceDescriptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -18,7 +18,6 @@
package org.jboss.webbeans.bootstrap.spi;
import java.lang.reflect.Method;
-import java.util.Iterator;
/**
* EJB metadata from the EJB descriptor
@@ -30,23 +29,6 @@
public interface EjbDescriptor<T>
{
- public interface BusinessInterfaceDescriptor
- {
-
- /**
- * Gets the business interface class
- */
- public Class<?> getInterface();
-
- /**
- * Gets the JNDI name under which the EJB is registered
- *
- * @return The JNDI name
- */
- public String getJndiName();
-
- }
-
/**
* Gets the EJB type
*
@@ -59,30 +41,50 @@
*
* @return An iterator over the local business interfaces
*/
- public Iterator<BusinessInterfaceDescriptor> getLocalBusinessInterfaces();
+ public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces();
/**
* Gets the remote business interfaces of the EJB
*
* @return An iterator over the remote business interfaces
*/
- public Iterator<BusinessInterfaceDescriptor> getRemoteBusinessInterfaces();
+ public Iterable<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces();
/**
* Get the remove methods of the EJB
*
* @return An iterator the remove methods
*/
- public Iterator<Method> getRemoveMethods();
+ public Iterable<Method> getRemoveMethods();
+ /**
+ * The type of EJB
+ * @return true if the bean is stateless
+ */
public boolean isStateless();
+ /**
+ * The type of EJB
+ * @return true if the bean is an EJB 3.1 singleton
+ */
public boolean isSingleton();
+ /**
+ * The type of EJB
+ * @return true if the bean is stateful
+ */
public boolean isStateful();
+ /**
+ * The type of EJB
+ * @return true if the bean is an MDB
+ */
public boolean isMessageDriven();
+ /**
+ *
+ * @return The ejbName
+ */
public String getEjbName();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -18,7 +18,6 @@
package org.jboss.webbeans.bootstrap.spi;
import java.net.URL;
-import java.util.Map;
/**
* A container should implement this interface to allow the Web Beans RI to
@@ -44,10 +43,10 @@
public Iterable<URL> discoverWebBeansXml();
/**
- * Gets a Map of EJB descriptors, keyed by the EJB bean class
+ * Gets a descriptor for each EJB in the application
*
* @return The bean class to descriptor map
*/
- public Map<String, EjbDescriptor<?>> discoverEjbs();
+ public Iterable<EjbDescriptor<?>> discoverEjbs();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -17,25 +17,16 @@
package org.jboss.webbeans.ejb;
-import java.lang.annotation.Annotation;
-
import org.jboss.webbeans.util.ApiAbstraction;
/**
- * Utility class for EJB annotations etc
+ * Utility class for EJB classes etc. EJB metadata should NOT be inspected here
*
* @author Pete Muir
*/
public class EJB extends ApiAbstraction
{
- // Annotation instances
- public static final Class<? extends Annotation> STATELESS_ANNOTATION;
- public static final Class<? extends Annotation> STATEFUL_ANNOTATION;
- public static final Class<? extends Annotation> MESSAGE_DRIVEN_ANNOTATION;
- public static final Class<? extends Annotation> FAKE_MESSAGE_DRIVEN_ANNOTATION;
- public static final Class<? extends Annotation> SINGLETON_ANNOTATION;
- public static final Class<? extends Annotation> REMOVE_ANNOTATION;
public static final Class<?> ENTERPRISE_BEAN_CLASS;
/**
@@ -43,22 +34,7 @@
*/
static
{
- STATELESS_ANNOTATION = annotationTypeForName("javax.ejb.Stateless");
- STATEFUL_ANNOTATION = annotationTypeForName("javax.ejb.Stateful");
- MESSAGE_DRIVEN_ANNOTATION = annotationTypeForName("javax.ejb.MessageDriven");
- // Fake MDB for tests
- FAKE_MESSAGE_DRIVEN_ANNOTATION = annotationTypeForName("org.jboss.webbeans.test.annotations.MessageDriven");
- // TODO Faking singleton for tests
- SINGLETON_ANNOTATION = annotationTypeForName("org.jboss.webbeans.test.annotations.Singleton");
- // SINGLETON_ANNOTATION = classForName("javax.ejb.Singleton");
- REMOVE_ANNOTATION = annotationTypeForName("javax.ejb.Remove");
ENTERPRISE_BEAN_CLASS = classForName("javax.ejb.EnterpriseBean");
}
-
- public static boolean isEjb(Class<?> clazz)
- {
- return clazz.isAnnotationPresent(STATEFUL_ANNOTATION) || clazz.isAnnotationPresent(STATELESS_ANNOTATION) || clazz.isAnnotationPresent(SINGLETON_ANNOTATION);
- }
-
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -1,14 +1,12 @@
package org.jboss.webbeans.ejb;
-import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.CopyOnWriteArraySet;
import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
-import org.jboss.webbeans.test.mock.MockEjbDescriptor;
-import org.jboss.webbeans.util.Strings;
-import com.google.common.collect.ForwardingMap;
-
public class EjbDescriptorCache
{
private static EjbDescriptorCache instance;
@@ -23,43 +21,48 @@
instance = new EjbDescriptorCache();
}
- private class EjbDescriptorMap extends ForwardingMap<String, EjbDescriptor<?>>
- {
- private Map<String, EjbDescriptor<?>> delegate;
+ private ConcurrentMap<String, EjbDescriptor<?>> ejbsByName;
+ private ConcurrentMap<Class<?>, Set<EjbDescriptor<?>>> ejbsByBeanClass;
- public EjbDescriptorMap()
- {
- delegate = new ConcurrentHashMap<String, EjbDescriptor<?>>();
- }
-
- @Override
- protected Map<String, EjbDescriptor<?>> delegate()
- {
- return delegate;
- }
-
- @Override
- public String toString()
- {
- return Strings.mapToString("EjbMetaDataMap (EJB name -> metadata): ", delegate);
- }
- }
-
- private EjbDescriptorMap ejbDescriptorMap = new EjbDescriptorMap();
-
- public void setEjbDescriptors(Map<String, EjbDescriptor<?>> ejbDescriptorMap)
+ public EjbDescriptorCache()
{
- ejbDescriptorMap.putAll(ejbDescriptorMap);
+ this.ejbsByName = new ConcurrentHashMap<String, EjbDescriptor<?>>();
+ this.ejbsByBeanClass = new ConcurrentHashMap<Class<?>, Set<EjbDescriptor<?>>>();
}
public EjbDescriptor<?> get(String ejbName)
{
- return ejbDescriptorMap.get(ejbName);
+ return ejbsByName.get(ejbName);
}
+
+ public Iterable<EjbDescriptor<?>> get(Class<?> beanClass)
+ {
+ return ejbsByBeanClass.get(beanClass);
+ }
- public void addEjbDescriptor(String ejbName, EjbDescriptor<?> ejbDescriptor)
+ public void add(EjbDescriptor<?> ejbDescriptor)
{
- ejbDescriptorMap.put(ejbName, ejbDescriptor);
+ ejbsByName.put(ejbDescriptor.getEjbName(), ejbDescriptor);
+ ejbsByBeanClass.putIfAbsent(ejbDescriptor.getType(), new CopyOnWriteArraySet<EjbDescriptor<?>>());
+ ejbsByBeanClass.get(ejbDescriptor.getType()).add(ejbDescriptor);
}
+
+ public boolean containsKey(String ejbName)
+ {
+ return ejbsByName.containsKey(ejbName);
+ }
+
+ public boolean containsKey(Class<?> beanClass)
+ {
+ return ejbsByBeanClass.containsKey(beanClass);
+ }
+
+ public void addAll(Iterable<EjbDescriptor<?>> ejbDescriptors)
+ {
+ for (EjbDescriptor<?> ejbDescriptor : ejbDescriptors)
+ {
+ add(ejbDescriptor);
+ }
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -54,9 +54,21 @@
*/
public static Class<?> classForName(String name) throws ClassNotFoundException
{
+ return classForName(name, Thread.currentThread().getContextClassLoader());
+ }
+
+ /**
+ * Creates an instance from a class name
+ *
+ * @param name The class name
+ * @return The instance
+ * @throws ClassNotFoundException If the class if not found
+ */
+ public static Class<?> classForName(String name, ClassLoader classLoader) throws ClassNotFoundException
+ {
try
{
- return Thread.currentThread().getContextClassLoader().loadClass(name);
+ return classLoader.loadClass(name);
}
catch (Exception e)
{
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -31,8 +31,8 @@
manager.addContext(SessionContext.INSTANCE);
ApplicationContext.INSTANCE.setBeanMap(new SimpleBeanMap());
manager.addContext(ApplicationContext.INSTANCE);
- // Load the build in beans
- webBeansBootstrap.registerBeans();
+ // Load the built in beans
+ webBeansBootstrap.registerStandardBeans();
init();
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -3,8 +3,8 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.webbeans.manager.Bean;
@@ -36,12 +36,16 @@
@Test(groups="bootstrap")
public void testSingleSimpleBean()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Tuna.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Tuna.class));
+ List<Bean<?>> beans = manager.getBeans();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
- Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
- for (AbstractBean<?, ?> bean : beans)
+ for (Bean<?> bean : beans)
{
- classes.put(bean.getType(), bean);
+ if (bean instanceof AbstractBean)
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
}
assert classes.containsKey(Tuna.class);
}
@@ -49,12 +53,16 @@
@Test(groups="bootstrap")
public void testSingleEnterpriseBean()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Hound.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Hound.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
- for (AbstractBean<?, ?> bean : beans)
+ for (Bean<?> bean : beans)
{
- classes.put(bean.getType(), bean);
+ if (bean instanceof AbstractBean)
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
}
assert classes.containsKey(Hound.class);
}
@@ -62,12 +70,16 @@
@Test(groups="bootstrap")
public void testMultipleSimpleBean()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Tuna.class, Salmon.class, SeaBass.class, Sole.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 4 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
- for (AbstractBean<?, ?> bean : beans)
+ for (Bean<?> bean : beans)
{
- classes.put(bean.getType(), bean);
+ if (bean instanceof AbstractBean)
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
}
assert classes.containsKey(Tuna.class);
assert classes.containsKey(Salmon.class);
@@ -83,12 +95,16 @@
@Test(groups="bootstrap")
public void testProducerMethodBean()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TarantulaProducer.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(TarantulaProducer.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 2 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
- for (AbstractBean<?, ?> bean : beans)
+ for (Bean<?> bean : beans)
{
- classes.put(bean.getType(), bean);
+ if (bean instanceof AbstractBean)
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
}
assert classes.containsKey(TarantulaProducer.class);
assert classes.containsKey(Tarantula.class);
@@ -100,12 +116,16 @@
@Test(groups="bootstrap")
public void testMultipleEnterpriseBean()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Hound.class, Elephant.class, Panther.class, Tiger.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 4 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
- for (AbstractBean<?, ?> bean : beans)
+ for (Bean<?> bean : beans)
{
- classes.put(bean.getType(), bean);
+ if (bean instanceof AbstractBean)
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
}
assert classes.containsKey(Hound.class);
assert classes.containsKey(Elephant.class);
@@ -121,12 +141,16 @@
@Test(groups="bootstrap")
public void testMultipleEnterpriseAndSimpleBean()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 8 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
- for (AbstractBean<?, ?> bean : beans)
+ for (Bean<?> bean : beans)
{
- classes.put(bean.getType(), bean);
+ if (bean instanceof AbstractBean)
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
}
assert classes.containsKey(Hound.class);
assert classes.containsKey(Elephant.class);
@@ -150,7 +174,7 @@
@Test(groups="bootstrap")
public void testRegisterProducerMethodBean()
{
- webBeansBootstrap.registerBeans(TarantulaProducer.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(TarantulaProducer.class));
assert manager.getBeans().size() == 2 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : manager.getBeans())
@@ -171,7 +195,7 @@
@Test(groups="bootstrap")
public void testRegisterMultipleEnterpriseAndSimpleBean()
{
- webBeansBootstrap.registerBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class));
assert manager.getBeans().size() == 8 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : manager.getBeans())
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -1,6 +1,7 @@
package org.jboss.webbeans.test;
import java.lang.annotation.Annotation;
+import java.util.List;
import java.util.Set;
import javax.webbeans.DefinitionException;
@@ -10,8 +11,8 @@
import javax.webbeans.Observer;
import javax.webbeans.ObserverException;
import javax.webbeans.TypeLiteral;
+import javax.webbeans.manager.Bean;
-import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.bean.SimpleBean;
@@ -35,6 +36,7 @@
import org.jboss.webbeans.test.ejb.valid.BullTerrier;
import org.jboss.webbeans.test.ejb.valid.Pomeranian;
import org.jboss.webbeans.test.mock.MockManagerImpl;
+import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
import org.testng.annotations.Test;
/**
@@ -336,7 +338,8 @@
@SpecAssertion(section = "8.5")
public void testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Pomeranian.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Pomeranian.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
Set<Observer<MockManagerImpl>> observers = manager.resolveObservers(manager, new InitializedBinding());
assert observers.size() == 2;
@@ -346,7 +349,8 @@
@SpecAssertion(section = "8.5")
public void testObserverMethodOnEnterpriseBeanNotBusinessMethodOrStaticFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TibetanTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(TibetanTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
Set<Observer<MockManagerImpl>> observers = manager.resolveObservers(manager, new InitializedBinding());
assert observers.size() == 1;
@@ -366,7 +370,8 @@
@SpecAssertion(section = { "8.5.1", "8.5.2" })
public void testObserverMethodMustHaveOnlyOneEventParameter()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(YorkshireTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(YorkshireTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -374,7 +379,8 @@
@SpecAssertion(section = "8.5.1")
public void testObserverMethodCannotObserveParameterizedEvents()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(BostonTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(BostonTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -383,7 +389,8 @@
public void testObserverMethodWithoutBindingTypesObservesEventsWithoutBindingTypes()
{
// This observer has no binding types specified
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Pomeranian.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Pomeranian.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
// Resolve registered observers with an event containing no binding types
@@ -396,7 +403,8 @@
@SpecAssertion(section = "8.5.2")
public void testObserverMethodAnnotatedProducesFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(BorderTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(BorderTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -404,7 +412,8 @@
@SpecAssertion(section = "8.5.2")
public void testObserverMethodAnnotatedInitializerFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(AustralianTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(AustralianTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -412,7 +421,8 @@
@SpecAssertion(section = "8.5.2")
public void testObserverMethodAnnotatedDestructorFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(CairnsTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(CairnsTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -420,7 +430,8 @@
@SpecAssertion(section = "8.5.2")
public void testObserverMethodWithDisposesParamFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(FoxTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(FoxTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -428,7 +439,8 @@
@SpecAssertion(section = "8.5.2")
public void testObserverMethodMayHaveMultipleBindingTypes()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(BullTerrier.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(BullTerrier.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
// If we can resolve the observer with the two binding types,
// then it worked
@@ -456,7 +468,8 @@
@SpecAssertion(section = "8.5.4")
public void testObserverMethodReceivesInjectionsOnNonObservesParameters()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(BananaSpider.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(BananaSpider.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans != null;
}
@@ -470,7 +483,7 @@
@SpecAssertion(section = "8.5.5")
public void testConditionalObserver()
{
- webBeansBootstrap.registerBeans(RecluseSpider.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(RecluseSpider.class));
manager.fireEvent("New string event");
// Should not be notified since bean is not instantiated yet
@@ -534,7 +547,8 @@
@SpecAssertion(section = "8.5.7")
public void testEnterpriseBeanObserverMethodCalledWithCallerContext()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Pomeranian.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(Pomeranian.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1;
String event = "A new event";
Set<Observer<String>> observers = manager.resolveObservers(event);
@@ -555,7 +569,8 @@
@SpecAssertion(section = "8.5.7")
public void testNonTransactionalObserverThrownNonCheckedExceptionIsRethrown()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TeaCupPomeranian.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(TeaCupPomeranian.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
manager.fireEvent("Another event");
}
@@ -564,7 +579,8 @@
@SpecAssertion(section = "8.5.7")
public void testNonTransactionalObserverThrownCheckedExceptionIsWrappedAndRethrown()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TeaCupPomeranian.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(TeaCupPomeranian.class));
+ List<Bean<?>> beans = manager.getBeans();
assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
manager.fireEvent(new Integer(1));
}
@@ -573,7 +589,7 @@
@SpecAssertion(section = "8.6")
public void testDuplicateBindingsToFireFails()
{
- webBeansBootstrap.registerBeans(SweeWaxbill.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(SweeWaxbill.class));
try
{
DependentContext.INSTANCE.setActive(true);
@@ -590,7 +606,7 @@
@SpecAssertion(section = "8.6")
public void testDuplicateBindingsToObservesFails()
{
- webBeansBootstrap.registerBeans(SweeWaxbill.class);
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(SweeWaxbill.class));
try
{
DependentContext.INSTANCE.setActive(true);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -1,14 +1,7 @@
package org.jboss.webbeans.test.mock;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bootstrap.WebBeansBootstrap;
-import org.jboss.webbeans.ejb.EJB;
-import org.jboss.webbeans.ejb.EjbDescriptorCache;
public class MockBootstrap extends WebBeansBootstrap
{
@@ -18,24 +11,9 @@
super(manager);
}
- /**
- * Discover any beans defined by the provided classes
- *
- * Beans discovered are not registered with the manager
- *
- * @param classes The classes to create Web Beans from
- * @return A set of Web Beans that represents the classes
- */
- @SuppressWarnings("unchecked")
- public Set<AbstractBean<?, ?>> createBeans(Class<?>... classes)
+ public void registerStandardBeans()
{
- for (Class<?> clazz : classes) {
- if (EJB.isEjb(clazz)) {
- String ejbName = clazz.getSimpleName() + "/local";
- EjbDescriptorCache.instance().addEjbDescriptor(ejbName, new MockEjbDescriptor(ejbName, clazz));
- }
- }
- return createBeans(new HashSet<Class<?>>(Arrays.asList(classes)));
+ manager.setBeans(createStandardBeans());
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -2,21 +2,27 @@
import java.lang.reflect.Method;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
-import java.util.Iterator;
+import javax.ejb.MessageDriven;
+import javax.ejb.Remove;
+import javax.ejb.Singleton;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+
+import org.jboss.webbeans.bootstrap.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
-import org.jboss.webbeans.ejb.EJB;
public class MockEjbDescriptor<T> implements EjbDescriptor<T>
{
private Class<T> type;
private String ejbName;
- public MockEjbDescriptor(String ejbName, Class<T> type)
+ public MockEjbDescriptor(Class<T> type)
{
- this.ejbName = ejbName;
this.type = type;
+ this.ejbName = type.getSimpleName() + "/local";
}
public String getEjbName()
@@ -24,27 +30,27 @@
return ejbName;
}
- public Iterator<BusinessInterfaceDescriptor> getLocalBusinessInterfaces()
+ public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces()
{
- return new HashSet<BusinessInterfaceDescriptor>().iterator();
+ return Collections.emptyList();
}
-
- public Iterator<BusinessInterfaceDescriptor> getRemoteBusinessInterfaces()
+
+ public Iterable<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces()
{
- return new HashSet<BusinessInterfaceDescriptor>().iterator();
+ return Collections.emptyList();
}
- public Iterator<Method> getRemoveMethods()
+ public Iterable<Method> getRemoveMethods()
{
Collection<Method> removeMethods = new HashSet<Method>();
for (Method method : type.getMethods())
{
- if (method.isAnnotationPresent(EJB.REMOVE_ANNOTATION))
+ if (method.isAnnotationPresent(Remove.class))
{
removeMethods.add(method);
}
}
- return removeMethods.iterator();
+ return removeMethods;
}
public Class<T> getType()
@@ -54,22 +60,22 @@
public boolean isMessageDriven()
{
- return type.isAnnotationPresent(EJB.MESSAGE_DRIVEN_ANNOTATION);
+ return type.isAnnotationPresent(MessageDriven.class);
}
public boolean isSingleton()
{
- return type.isAnnotationPresent(EJB.SINGLETON_ANNOTATION);
+ return type.isAnnotationPresent(Singleton.class);
}
public boolean isStateful()
{
- return type.isAnnotationPresent(EJB.STATEFUL_ANNOTATION);
+ return type.isAnnotationPresent(Stateful.class);
}
public boolean isStateless()
{
- return type.isAnnotationPresent(EJB.STATELESS_ANNOTATION);
+ return type.isAnnotationPresent(Stateless.class);
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-12-16 07:36:02 UTC (rev 532)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-12-16 18:09:58 UTC (rev 533)
@@ -1,56 +1,82 @@
package org.jboss.webbeans.test.mock;
import java.net.URL;
-import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashSet;
-import java.util.Map;
+import java.util.List;
import java.util.Set;
+import javax.ejb.MessageDriven;
+import javax.ejb.Singleton;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+
import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
public class MockWebBeanDiscovery implements WebBeanDiscovery
{
- private Set<Class<?>> webBeanClasses = new HashSet<Class<?>>();
+ private Iterable<Class<?>> webBeanClasses = new HashSet<Class<?>>();
- private Set<URL> webBeansXmlFiles = new HashSet<URL>();
+ private Iterable<URL> webBeansXmlFiles = new HashSet<URL>();
- private Map<String, EjbDescriptor<?>> ejbs = new HashMap<String, EjbDescriptor<?>>();
+ private List<EjbDescriptor<?>> ejbs = new ArrayList<EjbDescriptor<?>>();
+ /**
+ * Simple constructor that auto discovers EJBs
+ * @param webBeanClasses
+ */
+ public MockWebBeanDiscovery(Class<?>... webBeanClasses)
+ {
+ this(Arrays.asList(webBeanClasses));
+ }
+
+ public MockWebBeanDiscovery(Iterable<Class<?>> webBeanClasses)
+ {
+ this(webBeanClasses, null, discoverEjbs(webBeanClasses));
+ }
+
@SuppressWarnings("unchecked")
- public MockWebBeanDiscovery(Set<Class<?>> webBeanClasses, Set<URL> webBeansXmlFiles, Set<Class<?>> ejbs)
+ public MockWebBeanDiscovery(Iterable<Class<?>> webBeanClasses, Iterable<URL> webBeansXmlFiles, Iterable<Class<?>> ejbs)
{
super();
this.webBeanClasses = webBeanClasses;
this.webBeansXmlFiles = webBeansXmlFiles;
- this.ejbs = new HashMap<String, EjbDescriptor<?>>();
- for (Class<?> ejb : ejbs)
+ this.ejbs = new ArrayList<EjbDescriptor<?>>();
+ for (Class<?> ejbClass : ejbs)
{
- String ejbName = getEjbName(ejb);
- this.ejbs.put(ejbName, new MockEjbDescriptor(ejbName, ejb));
+ this.ejbs.add(new MockEjbDescriptor(ejbClass));
}
}
- private String getEjbName(Class<?> clazz)
- {
- return clazz.getSimpleName() + "/local";
- }
-
public Iterable<Class<?>> discoverWebBeanClasses()
{
return webBeanClasses;
}
- public Map<String, EjbDescriptor<?>> discoverEjbs()
+ public Iterable<EjbDescriptor<?>> discoverEjbs()
{
- // TODO Auto-generated method stub
- return new HashMap<String, EjbDescriptor<?>>();
+ return ejbs;
}
public Iterable<URL> discoverWebBeansXml()
{
return webBeansXmlFiles;
}
+
+ protected static Iterable<Class<?>> discoverEjbs(Iterable<Class<?>> webBeanClasses)
+ {
+ Set<Class<?>> ejbs = new HashSet<Class<?>>();
+ for (Class<?> clazz : webBeanClasses)
+ {
+ if (clazz.isAnnotationPresent(Stateless.class) || clazz.isAnnotationPresent(Stateful.class) || clazz.isAnnotationPresent(MessageDriven.class) || clazz.isAnnotationPresent(Singleton.class))
+ {
+ ejbs.add(clazz);
+ }
+ }
+ return ejbs;
+ }
}
15 years, 6 months
[webbeans-commits] Webbeans SVN: r532 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean and 8 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-12-16 02:36:02 -0500 (Tue, 16 Dec 2008)
New Revision: 532
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbMetaData.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EjbMetaDataTest.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/MetaDataCache.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Names.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
Log:
EjbMetaData -> EjbDescriptor + mock
Pete, please review for sanity:
* I added a singleton EjbDescriptorCache, they are probably best kept somewhere else(?)
* I misuse the ejb name currently, grep for "/local"
* The EnterpriseBean shouldn't pull its own metadata(?)"
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/MetaDataCache.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/MetaDataCache.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/MetaDataCache.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -20,12 +20,10 @@
import java.lang.annotation.Annotation;
import java.util.concurrent.Callable;
-import org.jboss.webbeans.ejb.EjbMetaData;
import org.jboss.webbeans.model.BindingTypeModel;
import org.jboss.webbeans.model.ScopeModel;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.util.ConcurrentCache;
-import org.jboss.webbeans.util.Strings;
/**
* Metadata singleton for holding EJB metadata, scope models etc.
@@ -59,8 +57,6 @@
private ConcurrentCache<Class<? extends Annotation>, ScopeModel<?>> scopes = new ConcurrentCache<Class<? extends Annotation>, ScopeModel<?>>();
// The binding type models
private ConcurrentCache<Class<? extends Annotation>, BindingTypeModel<?>> bindingTypes = new ConcurrentCache<Class<? extends Annotation>, BindingTypeModel<?>>();
- // EJB metadata
- private ConcurrentCache<Class<?>, EjbMetaData<?>> ejbMetaDataMap = new ConcurrentCache<Class<?>, EjbMetaData<?>>();
/**
* Gets a stereotype model
@@ -128,28 +124,6 @@
}
/**
- * Gets metadata for an EJB
- *
- * Adds the model if it is not present
- *
- * @param <T> The type
- * @param clazz The class of the EJB
- * @return The EJB metadata
- */
- public <T> EjbMetaData<T> getEjbMetaData(final Class<T> clazz)
- {
- return ejbMetaDataMap.putIfAbsent(clazz, new Callable<EjbMetaData<T>>()
- {
-
- public EjbMetaData<T> call() throws Exception
- {
- return new EjbMetaData<T>(clazz);
- }
-
- });
- }
-
- /**
* Gets a string representation
*
* @return A string representation
@@ -162,22 +136,7 @@
buffer.append("Registered binding type models: " + bindingTypes.size() + "\n");
buffer.append("Registered scope type models: " + scopes.size() + "\n");
buffer.append("Registered stereotype models: " + stereotypes.size() + "\n");
- buffer.append("Registered EJB metadata: " + ejbMetaDataMap.size() + "\n");
return buffer.toString();
}
- public String toDetailedString()
- {
- StringBuilder buffer = new StringBuilder();
- buffer.append("====================\n");
- buffer.append("Metadata cache\n");
- buffer.append("====================\n");
- buffer.append(bindingTypes.toString() + "\n");
- buffer.append(ejbMetaDataMap.toString() + "\n");
- buffer.append(scopes.toString() + "\n");
- buffer.append(Strings.mapToString("Stereotypes: ", stereotypes));
- buffer.append("====================\n");
- return buffer.toString();
- }
-
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -17,6 +17,9 @@
package org.jboss.webbeans.bean;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.webbeans.ApplicationScoped;
import javax.webbeans.Decorator;
import javax.webbeans.DefinitionException;
@@ -32,16 +35,15 @@
import javax.webbeans.manager.Manager;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.MetaDataCache;
+import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.ejb.EJB;
-import org.jboss.webbeans.ejb.EjbMetaData;
+import org.jboss.webbeans.ejb.EjbDescriptorCache;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
-import org.jboss.webbeans.util.Names;
/**
* An enterprise bean representation
@@ -52,11 +54,10 @@
*/
public class EnterpriseBean<T> extends AbstractClassBean<T>
{
-
private LogProvider log = Logging.getLogProvider(EnterpriseBean.class);
+
+ private EjbDescriptor<T> ejbDescriptor;
- private EjbMetaData<T> ejbMetaData;
-
/**
* Constructor
*
@@ -72,11 +73,12 @@
/**
* Initializes the bean and its metadata
*/
+ @SuppressWarnings("unchecked")
@Override
protected void init()
{
super.init();
- ejbMetaData = MetaDataCache.instance().getEjbMetaData(getType());
+ ejbDescriptor = (EjbDescriptor<T>) EjbDescriptorCache.instance().get(getType().getSimpleName() + "/local");
initRemoveMethod();
initInjectionPoints();
checkEnterpriseBeanTypeAllowed();
@@ -123,11 +125,11 @@
*/
protected void checkEnterpriseScopeAllowed()
{
- if (getEjbMetaData().isStateless() && !getScopeType().equals(Dependent.class))
+ if (ejbDescriptor.isStateless() && !getScopeType().equals(Dependent.class))
{
throw new DefinitionException("Scope " + getScopeType() + " is not allowed on stateless enterpise beans for " + getType() + ". Only @Dependent is allowed on stateless enterprise beans");
}
- if (getEjbMetaData().isSingleton() && (!(getScopeType().equals(Dependent.class) || getScopeType().equals(ApplicationScoped.class))))
+ if (ejbDescriptor.isSingleton() && (!(getScopeType().equals(Dependent.class) || getScopeType().equals(ApplicationScoped.class))))
{
throw new DefinitionException("Scope " + getScopeType() + " is not allowed on singleton enterpise beans for " + getType() + ". Only @Dependent or @ApplicationScoped is allowed on singleton enterprise beans");
}
@@ -142,7 +144,7 @@
{
return;
}
- if (!MetaDataCache.instance().getEjbMetaData(getAnnotatedItem().getSuperclass().getType()).isEjb())
+ if (!EJB.isEjb(getType().getSuperclass()))
{
throw new DefinitionException("Annotation defined specializing EJB must have EJB superclass");
}
@@ -153,22 +155,23 @@
*/
protected void initRemoveMethod()
{
- if (!getEjbMetaData().isStateful())
+ if (!ejbDescriptor.isStateful())
{
// Nothing to do for stateless enterprise beans;
return;
}
// >1 @Destructor
- if (getEjbMetaData().getDestructorMethods().size() > 1)
+ if (getAnnotatedItem().getAnnotatedMethods(Destructor.class).size() > 1)
{
throw new DefinitionException("Multiple @Destructor methods not allowed on " + getAnnotatedItem());
}
// <1 (0) @Destructors
- if (getEjbMetaData().getNoArgsRemoveMethods().size() == 1)
+ Set<AnnotatedMethod<Object>> noArgsRemoveMethods = getNoArgsRemoveMethods();
+ if (noArgsRemoveMethods.size() == 1)
{
- super.removeMethod = getEjbMetaData().getNoArgsRemoveMethods().get(0);
+ super.removeMethod = noArgsRemoveMethods.iterator().next();
return;
}
@@ -179,6 +182,19 @@
}
+ private Set<AnnotatedMethod<Object>> getNoArgsRemoveMethods()
+ {
+ Set<AnnotatedMethod<Object>> noArgsRemoveMethods = new HashSet<AnnotatedMethod<Object>>();
+ for (AnnotatedMethod<Object> removeMethod : getAnnotatedItem().getAnnotatedMethods(EJB.REMOVE_ANNOTATION))
+ {
+ if (removeMethod.getParameters().isEmpty())
+ {
+ noArgsRemoveMethods.add(removeMethod);
+ }
+ }
+ return noArgsRemoveMethods;
+ }
+
/**
* Validates the remove method
*/
@@ -223,7 +239,7 @@
try
{
DependentContext.INSTANCE.setActive(true);
- T instance = (T) manager.getInstanceByType(EnterpriseBeanLookup.class).lookup(ejbMetaData.getEjbName());
+ T instance = (T) manager.getInstanceByType(EnterpriseBeanLookup.class).lookup(ejbDescriptor.getEjbName());
bindDecorators();
bindInterceptors();
injectEjbAndCommonFields();
@@ -304,7 +320,7 @@
@Override
protected AbstractBean<? extends T, Class<T>> getSpecializedType()
{
- // TODO lots of validation!
+ // TODO: lots of validation!
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if (superclass != null)
{
@@ -323,23 +339,13 @@
*/
private void checkEnterpriseBeanTypeAllowed()
{
- if (getEjbMetaData().isMessageDriven())
+ if (ejbDescriptor.isMessageDriven())
{
throw new DefinitionException("Message Driven Beans can't be Web Beans");
}
}
/**
- * Gets the EJB metadata
- *
- * @return The metadata
- */
- protected EjbMetaData<T> getEjbMetaData()
- {
- return ejbMetaData;
- }
-
- /**
* Gets a string representation
*
* @return The string representation
@@ -348,7 +354,8 @@
public String toString()
{
StringBuilder buffer = new StringBuilder();
- buffer.append("Annotated " + Names.scopeTypeToString(getScopeType()) + Names.ejbTypeFromMetaData(getEjbMetaData()));
+ // buffer.append("Annotated " + Names.scopeTypeToString(getScopeType()) +
+ // Names.ejbTypeFromMetaData(getEjbMetaData()));
if (getName() == null)
{
buffer.append(" unnamed enterprise bean");
@@ -362,13 +369,4 @@
return buffer.toString();
}
- public String toDetailedString()
- {
- StringBuilder buffer = new StringBuilder();
- buffer.append("EnterpriseBean:\n");
- buffer.append(super.toString() + "\n");
- buffer.append(ejbMetaData.toString() + "\n");
- return buffer.toString();
- }
-
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -46,7 +46,6 @@
import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.bean.BeanFactory;
@@ -58,6 +57,8 @@
import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.ejb.DefaultEnterpriseBeanLookup;
+import org.jboss.webbeans.ejb.EJB;
+import org.jboss.webbeans.ejb.EjbDescriptorCache;
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedItem;
@@ -138,7 +139,7 @@
Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();
for (Class<?> clazz : classes)
{
- if (MetaDataCache.instance().getEjbMetaData(clazz).isEjb())
+ if (EJB.isEjb(clazz))
{
createBean(createEnterpriseBean(clazz, manager), beans);
}
@@ -153,6 +154,7 @@
return beans;
}
+
public void createBean(AbstractClassBean<?> bean, Set<AbstractBean<?, ?>> beans)
{
beans.add(bean);
@@ -218,6 +220,7 @@
throw new IllegalStateException("No WebBeanDiscovery provider found, you need to implement the org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery interface, and tell the RI to use it by specifying -D" + WebBeansBootstrap.WEB_BEAN_DISCOVERY_PROPERTY_NAME + "=<classname>");
}
registerBeans(webBeanDiscovery.discoverWebBeanClasses());
+ EjbDescriptorCache.instance().setEjbDescriptors(webBeanDiscovery.discoverEjbs());
log.info("Validing Web Bean injection points");
manager.getResolver().resolveInjectionPoints();
manager.fireEvent(manager, new InitializedBinding());
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/EjbDescriptor.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -67,12 +67,22 @@
* @return An iterator over the remote business interfaces
*/
public Iterator<BusinessInterfaceDescriptor> getRemoteBusinessInterfaces();
-
+
/**
* Get the remove methods of the EJB
*
* @return An iterator the remove methods
*/
public Iterator<Method> getRemoveMethods();
+
+ public boolean isStateless();
+
+ public boolean isSingleton();
+
+ public boolean isStateful();
+
+ public boolean isMessageDriven();
+
+ public String getEjbName();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -17,18 +17,13 @@
package org.jboss.webbeans.ejb;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
import javax.webbeans.CreationException;
import javax.webbeans.Standard;
import javax.webbeans.manager.EnterpriseBeanLookup;
+import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
import org.jboss.webbeans.util.JNDI;
-import org.jboss.webbeans.util.Strings;
-import com.google.common.collect.ForwardingMap;
-
/**
* Provides lookup and metadata registration services for EJBs
*
@@ -38,69 +33,22 @@
@Standard
public class DefaultEnterpriseBeanLookup implements EnterpriseBeanLookup
{
- /**
- * An EJB name -> metadata map
- */
- private class EjbMetaDataMap extends ForwardingMap<String, EjbMetaData<?>>
- {
- private Map<String, EjbMetaData<?>> delegate;
- public EjbMetaDataMap()
- {
- delegate = new ConcurrentHashMap<String, EjbMetaData<?>>();
- }
-
- @Override
- protected Map<String, EjbMetaData<?>> delegate()
- {
- return delegate;
- }
-
- @Override
- public String toString()
- {
- return Strings.mapToString("EjbMetaDataMap (EJB name -> metadata): ", delegate);
- }
- }
-
- // A map from EJB name to EJB metadata
- private EjbMetaDataMap ejbMetaDataMap = new EjbMetaDataMap();
-
- /**
- * Looks up and EJB based on the name
- *
- * Gets the EJB metadata and calls helper method
- *
- * @param ejbName The EJB name
- * @return The EJB local home interface
- * @see javax.webbeans.manager.EnterpriseBeanLookup#lookup(String)
- */
public Object lookup(String ejbName)
{
if (ejbName == null)
+ {
throw new NullPointerException("No EJB name supplied for lookup");
- return lookup(ejbMetaDataMap.get(ejbName));
+ }
+ return lookup(EjbDescriptorCache.instance().get(ejbName));
}
- /**
- * Looks up an EJB
- *
- * First tried the EJB link JNDI name, if available, then the default JNDI
- * name. Throws an CreationException if it isn't found.
- *
- * @param <T> The type of the EJB
- * @param ejbMetaData The EJB metadata
- * @return The EJB local interface
- */
- public static <T> T lookup(EjbMetaData<T> ejbMetaData)
+ @SuppressWarnings("unchecked")
+ public static <T> T lookup(EjbDescriptor<T> ejbDescriptor)
{
try
{
- if (ejbMetaData.getEjbLinkJndiName() != null)
- {
- return JNDI.lookup(ejbMetaData.getEjbLinkJndiName(), ejbMetaData.getType());
- }
- return JNDI.lookup(ejbMetaData.getDefaultJndiName(), ejbMetaData.getType());
+ return (T) JNDI.lookup(ejbDescriptor.getEjbName());
}
catch (Exception e)
{
@@ -108,17 +56,4 @@
}
}
- // TODO: this method needs to get called at startup
- /**
- * Creates and registers EJB metadata for a class
- *
- * @param clazz The EJB class
- * @return the EJB metadata
- */
- public <T> EjbMetaData<T> registerEjbMetaData(Class<T> clazz)
- {
- EjbMetaData<T> ejbMetaData = new EjbMetaData<T>(clazz);
- ejbMetaDataMap.put(ejbMetaData.getEjbName(), ejbMetaData);
- return ejbMetaData;
- }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EJB.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -54,5 +54,11 @@
REMOVE_ANNOTATION = annotationTypeForName("javax.ejb.Remove");
ENTERPRISE_BEAN_CLASS = classForName("javax.ejb.EnterpriseBean");
}
+
+ public static boolean isEjb(Class<?> clazz)
+ {
+ return clazz.isAnnotationPresent(STATEFUL_ANNOTATION) || clazz.isAnnotationPresent(STATELESS_ANNOTATION) || clazz.isAnnotationPresent(SINGLETON_ANNOTATION);
+ }
+
}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -0,0 +1,65 @@
+package org.jboss.webbeans.ejb;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
+import org.jboss.webbeans.test.mock.MockEjbDescriptor;
+import org.jboss.webbeans.util.Strings;
+
+import com.google.common.collect.ForwardingMap;
+
+public class EjbDescriptorCache
+{
+ private static EjbDescriptorCache instance;
+
+ public static EjbDescriptorCache instance()
+ {
+ return instance;
+ }
+
+ static
+ {
+ instance = new EjbDescriptorCache();
+ }
+
+ private class EjbDescriptorMap extends ForwardingMap<String, EjbDescriptor<?>>
+ {
+ private Map<String, EjbDescriptor<?>> delegate;
+
+ public EjbDescriptorMap()
+ {
+ delegate = new ConcurrentHashMap<String, EjbDescriptor<?>>();
+ }
+
+ @Override
+ protected Map<String, EjbDescriptor<?>> delegate()
+ {
+ return delegate;
+ }
+
+ @Override
+ public String toString()
+ {
+ return Strings.mapToString("EjbMetaDataMap (EJB name -> metadata): ", delegate);
+ }
+ }
+
+ private EjbDescriptorMap ejbDescriptorMap = new EjbDescriptorMap();
+
+ public void setEjbDescriptors(Map<String, EjbDescriptor<?>> ejbDescriptorMap)
+ {
+ ejbDescriptorMap.putAll(ejbDescriptorMap);
+ }
+
+ public EjbDescriptor<?> get(String ejbName)
+ {
+ return ejbDescriptorMap.get(ejbName);
+ }
+
+ public void addEjbDescriptor(String ejbName, EjbDescriptor<?> ejbDescriptor)
+ {
+ ejbDescriptorMap.put(ejbName, ejbDescriptor);
+ }
+
+}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbMetaData.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbMetaData.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbMetaData.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -1,276 +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.ejb;
-
-import static org.jboss.webbeans.ejb.EJB.FAKE_MESSAGE_DRIVEN_ANNOTATION;
-import static org.jboss.webbeans.ejb.EJB.MESSAGE_DRIVEN_ANNOTATION;
-import static org.jboss.webbeans.ejb.EJB.REMOVE_ANNOTATION;
-import static org.jboss.webbeans.ejb.EJB.SINGLETON_ANNOTATION;
-import static org.jboss.webbeans.ejb.EJB.STATEFUL_ANNOTATION;
-import static org.jboss.webbeans.ejb.EJB.STATELESS_ANNOTATION;
-import static org.jboss.webbeans.ejb.EjbMetaData.EjbType.MESSAGE_DRIVEN;
-import static org.jboss.webbeans.ejb.EjbMetaData.EjbType.SINGLETON;
-import static org.jboss.webbeans.ejb.EjbMetaData.EjbType.STATEFUL;
-import static org.jboss.webbeans.ejb.EjbMetaData.EjbType.STATELESS;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.webbeans.DefinitionException;
-import javax.webbeans.Destructor;
-
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
-import org.jboss.webbeans.util.Strings;
-
-/**
- * EJB metadata
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class EjbMetaData<T>
-{
- // The known EJB types
- public enum EjbType
- {
- STATELESS, STATEFUL, SINGLETON, MESSAGE_DRIVEN;
- }
-
- // The type of the EJB
- private EjbType ejbType;
- // The remove methods
- private List<AnnotatedMethod<Object>> removeMethods = new ArrayList<AnnotatedMethod<Object>>();
- // The destructor methods
- private List<AnnotatedMethod<Object>> destructorMethods = new ArrayList<AnnotatedMethod<Object>>();
- // The remove methods with no arguments
- private List<AnnotatedMethod<Object>> noArgsRemoveMethods = new ArrayList<AnnotatedMethod<Object>>();
-
- // TODO Populate this from web.xml
- // The EJB link jndi name
- private String ejbLinkJndiName;
-
- // TODO Initialize this based on the EJB 3.1 spec
- // The default JNDI name
- private String defaultJndiName;
-
- // TODO Initialize the ejb name
- // The EJB name
- private String ejbName;
-
- // The abstracted type
- private AnnotatedClass<T> type;
-
- /**
- * Constrcutor
- *
- * Creates a new abstracted class and delegates to another constructor
- *
- * @param type The type
- */
- public EjbMetaData(Class<T> type)
- {
- this(new AnnotatedClassImpl<T>(type));
- }
-
- /**
- * Constructor
- *
- * Initializes the class based on information from the abstracted class.
- * Detects the EJB type and remove/destructor methods
- *
- * @param type The abstracted class
- */
- public EjbMetaData(AnnotatedClass<T> type)
- {
- // TODO Merge in ejb-jar.xml
- this.type = type;
- if (type.isAnnotationPresent(STATELESS_ANNOTATION))
- {
- this.ejbType = STATELESS;
- // TODO Has to be done here? If they are not parsed, they can't be
- // detected later on (EnterpriseBean remove method init)
- if (type.getAnnotatedMethods(Destructor.class).size() > 0)
- {
- throw new DefinitionException("Stateless enterprise beans cannot have @Destructor methods");
- }
- }
- else if (type.isAnnotationPresent(STATEFUL_ANNOTATION))
- {
- this.ejbType = STATEFUL;
- for (AnnotatedMethod<Object> removeMethod : type.getAnnotatedMethods(REMOVE_ANNOTATION))
- {
- removeMethods.add(removeMethod);
- if (removeMethod.getParameters().size() == 0)
- {
- noArgsRemoveMethods.add(removeMethod);
- }
- }
- for (AnnotatedMethod<Object> destructorMethod : type.getAnnotatedMethods(Destructor.class))
- {
- destructorMethods.add(destructorMethod);
- }
- }
- else if (type.isAnnotationPresent(MESSAGE_DRIVEN_ANNOTATION) || type.isAnnotationPresent(FAKE_MESSAGE_DRIVEN_ANNOTATION))
- {
- this.ejbType = MESSAGE_DRIVEN;
- }
- else if (type.isAnnotationPresent(SINGLETON_ANNOTATION))
- {
- this.ejbType = SINGLETON;
- }
- }
-
- /**
- * Indicates if the EJB is a stateless one
- *
- * @return True if stateless, false otherwise
- */
- public boolean isStateless()
- {
- return STATELESS.equals(ejbType);
- }
-
- /**
- * Indicates if the EJB is a stateful one
- *
- * @return True if stateful, false otherwise
- */
- public boolean isStateful()
- {
- return STATEFUL.equals(ejbType);
- }
-
- /**
- * Indicates if the EJB is a MDB
- *
- * @return True if MDB, false otherwise
- */
- public boolean isMessageDriven()
- {
- return MESSAGE_DRIVEN.equals(ejbType);
- }
-
- /**
- * Indicates if the EJB is a singleton
- *
- * @return True if singleton, false otherwise
- */
- public boolean isSingleton()
- {
- return SINGLETON.equals(ejbType);
- }
-
- /**
- * Indicates if class really is of a know EJB type
- *
- * @return True if EJB, false otherwise
- */
-
- public boolean isEjb()
- {
- return ejbType != null;
- }
-
- /**
- * Gets the EJB link JNDI name
- *
- * @return The name
- */
- public String getEjbLinkJndiName()
- {
- return ejbLinkJndiName;
- }
-
- /**
- * Gets the default JNDI name
- *
- * @return The name
- */
- public String getDefaultJndiName()
- {
- return defaultJndiName;
- }
-
- /**
- * Gets the EJB name
- *
- * @return The name
- */
- public String getEjbName()
- {
- return ejbName;
- }
-
- public Class<T> getType()
- {
- return type.getType();
- }
-
- /**
- * Gets the list of remove method abstractions
- *
- * @return The list of remove methods. An empty list is returned if there are
- * none.
- */
- public List<AnnotatedMethod<Object>> getRemoveMethods()
- {
- return removeMethods;
- }
-
- /**
- * Gets a list of destructor method abstractions
- *
- * @return The list of destructor methods. An empty list is returned if there
- * are none.
- */
- public List<AnnotatedMethod<Object>> getDestructorMethods()
- {
- return destructorMethods;
- }
-
- /**
- * Gets the list of remove method abstractions that take no arguments
- *
- * @return The list of remove methods without arguments. An empty list is
- * returned if there are none.
- */
- public List<AnnotatedMethod<Object>> getNoArgsRemoveMethods()
- {
- return noArgsRemoveMethods;
- }
-
- @Override
- public String toString()
- {
- StringBuilder buffer = new StringBuilder();
- buffer.append("EJB metadata model\n");
- buffer.append("EJB name: " + ejbName + "\n");
- buffer.append("EJB type: " + ejbType + "\n");
- buffer.append("EJB link JNDI name " + ejbLinkJndiName + "\n");
- buffer.append("Default JNDI name: " + defaultJndiName + "\n");
- buffer.append("Type: " + type.toString() + "\n");
- buffer.append(Strings.collectionToString("Desctructor methods: ", getDestructorMethods()));
- buffer.append(Strings.collectionToString("Remove methods: ", getRemoveMethods()));
- buffer.append(Strings.collectionToString("No-args remove methods: ", getNoArgsRemoveMethods()));
- return buffer.toString();
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Names.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Names.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Names.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -11,8 +11,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.jboss.webbeans.ejb.EjbMetaData;
-
/**
* Utility class to produce friendly names e.g. for debugging
*
@@ -43,33 +41,6 @@
}
/**
- * Gets EJB type from metadata
- *
- * @param ejbMetaData The EJB meta data
- * @return The EJB type
- */
- public static String ejbTypeFromMetaData(EjbMetaData<?> ejbMetaData)
- {
- if (ejbMetaData.isMessageDriven())
- {
- return "message driven";
- }
- else if (ejbMetaData.isSingleton())
- {
- return "singleton";
- }
- else if (ejbMetaData.isStateful())
- {
- return "stateful";
- }
- else if (ejbMetaData.isStateless())
- {
- return "stateless";
- }
- return "unknown";
- }
-
- /**
* Counts item in an iteratble
*
* @param iterable The iteraboe
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -210,7 +210,7 @@
@Test(groups="bootstrap")
public void testDiscover()
{
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class)), null, null));
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class)), null, new HashSet<Class<?>>()));
assert manager.getBeans().size() == 8 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
@@ -244,22 +244,21 @@
public void testInitializedEvent()
{
assert !InitializedObserver.observered;
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(InitializedObserver.class)), null, new HashSet<Class<?>>()));
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(InitializedObserver.class)), null, null));
-
assert InitializedObserver.observered;
}
@Test(groups="bootstrap")
public void testRequestContextActiveDuringInitializtionEvent()
{
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(InitializedObserverWhichUsesRequestContext.class, Tuna.class)), null, null));
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(InitializedObserverWhichUsesRequestContext.class, Tuna.class)), null, new HashSet<Class<?>>()));
}
@Test(groups="bootstrap")
public void testApplicationContextActiveDuringInitializtionEvent()
{
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(InitializedObserverWhichUsesApplicationContext.class, LadybirdSpider.class)), null, null));
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(InitializedObserverWhichUsesApplicationContext.class, LadybirdSpider.class)), null, new HashSet<Class<?>>()));
}
}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EjbMetaDataTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EjbMetaDataTest.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EjbMetaDataTest.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -1,36 +0,0 @@
-package org.jboss.webbeans.test;
-
-import org.jboss.webbeans.ejb.EjbMetaData;
-import org.jboss.webbeans.test.beans.Leopard;
-import org.jboss.webbeans.test.beans.Lion;
-import org.jboss.webbeans.test.beans.Tiger;
-import org.testng.annotations.Test;
-
-public class EjbMetaDataTest
-{
-
- @Test
- public void testStateless()
- {
- EjbMetaData<Lion> lion = new EjbMetaData<Lion>(Lion.class);
- assert lion.isStateless();
- assert lion.getRemoveMethods().isEmpty();
- }
-
- @Test
- public void testStateful()
- {
- EjbMetaData<Tiger> tiger = new EjbMetaData<Tiger>(Tiger.class);
- assert tiger.isStateful();
- assert tiger.getRemoveMethods().size() == 1;
- }
-
- @Test
- public void testMessageDriven()
- {
- EjbMetaData<Leopard> leopard = new EjbMetaData<Leopard>(Leopard.class);
- assert leopard.isMessageDriven();
- assert leopard.getRemoveMethods().isEmpty();
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -1,7 +1,5 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
-
import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.HashMap;
@@ -41,6 +39,7 @@
import org.jboss.webbeans.test.mock.MockManagerImpl;
import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
import org.testng.annotations.Test;
+import static org.jboss.webbeans.bean.BeanFactory.*;
@SpecVersion("20081206")
public class SimpleBeanModelTest extends AbstractTest
@@ -88,21 +87,21 @@
@Test
public void testClassesImplementingServletInterfacesNotDiscoveredAsSimpleBeans()
{
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(FilterBean.class, HttpSessionListenerBean.class, ServletBean.class, ServletContextListenerBean.class, ServletRequestListenerBean.class)), null, null));
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(FilterBean.class, HttpSessionListenerBean.class, ServletBean.class, ServletContextListenerBean.class, ServletRequestListenerBean.class)), null, new HashSet<Class<?>>()));
assert manager.getBeans().size() == MockManagerImpl.BUILT_IN_BEANS;
}
@Test
public void testClassesImplementingEnterpriseBeanInterfaceNotDiscoveredAsSimpleBean()
{
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(EnterpriseBeanWebBean.class)), null, null));
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(EnterpriseBeanWebBean.class)), null, new HashSet<Class<?>>()));
assert manager.getBeans().size() == MockManagerImpl.BUILT_IN_BEANS;
}
@Test
public void testClassExtendingUiComponentNotDiscoveredAsSimpleBean()
{
- webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(UIComponentBean.class)), null, null));
+ webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(UIComponentBean.class)), null, new HashSet<Class<?>>()));
assert manager.getBeans().size() == MockManagerImpl.BUILT_IN_BEANS;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -1,25 +1,11 @@
package org.jboss.webbeans.test.contexts;
-import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
-
-import java.lang.reflect.Method;
-
-import javax.webbeans.ContextNotActiveException;
-import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Context;
-import org.jboss.webbeans.bean.BeanFactory;
-import org.jboss.webbeans.bean.ProducerMethodBean;
-import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.contexts.AbstractContext;
import org.jboss.webbeans.contexts.RequestContext;
import org.jboss.webbeans.test.AbstractTest;
import org.jboss.webbeans.test.SpecAssertion;
import org.jboss.webbeans.test.SpecVersion;
-import org.jboss.webbeans.test.beans.SpiderProducer;
-import org.jboss.webbeans.test.beans.Tarantula;
-import org.jboss.webbeans.test.beans.Tuna;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -28,53 +14,161 @@
* @author Nicklas Karlsson (nickarls(a)gmail.com)
* @author Pete Muir
*
- * This class tests a basic context against section 8 of the specification
- *
+ * This class tests a basic context against section 8 of the
+ * specification
+ *
*/
-@SpecVersion("PDR")
+@SpecVersion("20081206")
public class NormalContextTest extends AbstractTest
{
Context context;
-
+
@BeforeMethod
- public void initContext() {
- context = new RequestContext() {};
+ public void initContext()
+ {
+ context = new RequestContext()
+ {
+ };
}
-
- @Test(groups="contexts") @SpecAssertion(section="8.1")
- public void testGetWithCreateFalseReturnsNull() {
- Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
- assert context.get(tunaBean, false) == null;
+
+ /**
+ * return an existing instance of the given contextual type, or
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testGetReturnsExistingInstace()
+ {
+ assert false;
}
- @Test(groups="contexts") @SpecAssertion(section="8.1")
- public void testGetWithCreateTrueReturnsBean() {
- Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
- assert context.get(tunaBean, true) != null;
+ /**
+ * if the value of the create parameter is false, return a null value, or
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testGetWithCreateFalseReturnsNull()
+ {
+ assert false;
}
-
- @Test(groups="contexts", expectedExceptions=ContextNotActiveException.class) @SpecAssertion(section="8.1")
- public void testInactiveContextThrowsContextNotActiveException() {
- ((AbstractContext)context).setActive(false);
- context.get(null, false);
- assert true;
+
+ /**
+ * if the value of the create parameter is true, create a new instance of the
+ * given contextual type by calling Bean.create() and return the new
+ * instance.
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testGetWithCreateTrueReturnsNewInstance()
+ {
+ assert false;
}
-
- @Test(groups="contexts") @SpecAssertion(section="8.1")
- public void testReturnsCorrectExistingBean() {
- Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
- Tuna firstTuna = context.get(tunaBean, true);
- Tuna secondTuna = context.get(tunaBean, false);
- assert firstTuna == secondTuna;
+
+ /**
+ * The get() method may not return a null value unless the create parameter
+ * is false or Contextual.create() returns a null value
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testGetMayNotReturnNullUnlessCreateIsFalseOrContextualCreateReturnsNull()
+ {
+ assert false;
}
- @Test(groups={"contexts", "producerMethod"}) @SpecAssertion(section="8.1")
- public void testProducerMethodReturningNullOK() throws SecurityException, NoSuchMethodException {
- SimpleBean<SpiderProducer> producer = createSimpleBean(SpiderProducer.class, manager);
- manager.addBean(producer);
- Method nullProducer = SpiderProducer.class.getMethod("produceShelob");
- ProducerMethodBean<Tarantula> shelobBean = createProducerMethodBean(Tarantula.class, nullProducer, producer, manager);
- assert shelobBean.create() == null;
+ /**
+ * The get() method may not create a new instance of the given contextual
+ * type unless the create parameter is true
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testGetMayNotCreateNewInstanceUnlessCreateIsTrue()
+ {
+ assert false;
}
-
+
+ /**
+ * The Context implementation is responsible for destroying any contextual
+ * instance it creates by passing the instance to the destroy() method of the
+ * Contextual object representing the contextual type.
+ */
+ public void testContextDestroysBeansWhenDestroyed()
+ {
+ assert false;
+ }
+
+ /**
+ * A destroyed instance must not subsequently be returned by the get()
+ * method.
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testDestroyedInstanceMustNotBeReturnedByGet()
+ {
+ assert false;
+ }
+
+ /**
+ * When a scope is inactive, any invocation of the get() from the current
+ * thread upon the Context object for that scope results in a
+ * ContextNotActiveException.
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.2")
+ public void testInvokingGetOnInactiveContextFails()
+ {
+ assert false;
+ }
+
+ /**
+ * There may be no more than one mapped instance per contextual type per
+ * thread
+ */
+ @Test(groups = { "contexts", "stub" })
+ @SpecAssertion(section = "9.3")
+ public void testOnlyMappedInstancePerContextualTypePerThread()
+ {
+ assert false;
+ }
+
+ /*
+ * @Test(groups = "contexts")
+ *
+ * @SpecAssertion(section = "9.3") public void
+ * testGetWithCreateFalseReturnsNull() { Bean<Tuna> tunaBean =
+ * BeanFactory.createSimpleBean(Tuna.class, manager); assert
+ * context.get(tunaBean, false) == null; }
+ *
+ * @Test(groups = "contexts")
+ *
+ * @SpecAssertion(section = "8.1") public void
+ * testGetWithCreateTrueReturnsBean() { Bean<Tuna> tunaBean =
+ * BeanFactory.createSimpleBean(Tuna.class, manager); assert
+ * context.get(tunaBean, true) != null; }
+ *
+ * @Test(groups = "contexts", expectedExceptions =
+ * ContextNotActiveException.class)
+ *
+ * @SpecAssertion(section = "8.1") public void
+ * testInactiveContextThrowsContextNotActiveException() { ((AbstractContext)
+ * context).setActive(false); context.get(null, false); assert true; }
+ *
+ * @Test(groups = "contexts")
+ *
+ * @SpecAssertion(section = "8.1") public void
+ * testReturnsCorrectExistingBean() { Bean<Tuna> tunaBean =
+ * BeanFactory.createSimpleBean(Tuna.class, manager); Tuna firstTuna =
+ * context.get(tunaBean, true); Tuna secondTuna = context.get(tunaBean,
+ * false); assert firstTuna == secondTuna; }
+ *
+ * @Test(groups = { "contexts", "producerMethod" })
+ *
+ * @SpecAssertion(section = "8.1") public void
+ * testProducerMethodReturningNullOK() throws SecurityException,
+ * NoSuchMethodException { SimpleBean<SpiderProducer> producer =
+ * createSimpleBean(SpiderProducer.class, manager);
+ * manager.addBean(producer); Method nullProducer =
+ * SpiderProducer.class.getMethod("produceShelob");
+ * ProducerMethodBean<Tarantula> shelobBean =
+ * createProducerMethodBean(Tarantula.class, nullProducer, producer,
+ * manager); assert shelobBean.create() == null; }
+ */
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -109,7 +109,7 @@
*/
@Test(expectedExceptions = DefinitionException.class, groups = { "stub", "specialization", "enterpriseBeans" })
@SpecAssertion(section = "3.3.6")
- public void EnabledSpecializationOverridesSpecialized()
+ public void testEnabledSpecializationOverridesSpecialized()
{
assert false;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -7,6 +7,8 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bootstrap.WebBeansBootstrap;
+import org.jboss.webbeans.ejb.EJB;
+import org.jboss.webbeans.ejb.EjbDescriptorCache;
public class MockBootstrap extends WebBeansBootstrap
{
@@ -24,8 +26,15 @@
* @param classes The classes to create Web Beans from
* @return A set of Web Beans that represents the classes
*/
+ @SuppressWarnings("unchecked")
public Set<AbstractBean<?, ?>> createBeans(Class<?>... classes)
{
+ for (Class<?> clazz : classes) {
+ if (EJB.isEjb(clazz)) {
+ String ejbName = clazz.getSimpleName() + "/local";
+ EjbDescriptorCache.instance().addEjbDescriptor(ejbName, new MockEjbDescriptor(ejbName, clazz));
+ }
+ }
return createBeans(new HashSet<Class<?>>(Arrays.asList(classes)));
}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -0,0 +1,75 @@
+package org.jboss.webbeans.test.mock;
+
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+
+import org.jboss.webbeans.bootstrap.spi.EjbDescriptor;
+import org.jboss.webbeans.ejb.EJB;
+
+public class MockEjbDescriptor<T> implements EjbDescriptor<T>
+{
+ private Class<T> type;
+ private String ejbName;
+
+ public MockEjbDescriptor(String ejbName, Class<T> type)
+ {
+ this.ejbName = ejbName;
+ this.type = type;
+ }
+
+ public String getEjbName()
+ {
+ return ejbName;
+ }
+
+ public Iterator<BusinessInterfaceDescriptor> getLocalBusinessInterfaces()
+ {
+ return new HashSet<BusinessInterfaceDescriptor>().iterator();
+ }
+
+ public Iterator<BusinessInterfaceDescriptor> getRemoteBusinessInterfaces()
+ {
+ return new HashSet<BusinessInterfaceDescriptor>().iterator();
+ }
+
+ public Iterator<Method> getRemoveMethods()
+ {
+ Collection<Method> removeMethods = new HashSet<Method>();
+ for (Method method : type.getMethods())
+ {
+ if (method.isAnnotationPresent(EJB.REMOVE_ANNOTATION))
+ {
+ removeMethods.add(method);
+ }
+ }
+ return removeMethods.iterator();
+ }
+
+ public Class<T> getType()
+ {
+ return type;
+ }
+
+ public boolean isMessageDriven()
+ {
+ return type.isAnnotationPresent(EJB.MESSAGE_DRIVEN_ANNOTATION);
+ }
+
+ public boolean isSingleton()
+ {
+ return type.isAnnotationPresent(EJB.SINGLETON_ANNOTATION);
+ }
+
+ public boolean isStateful()
+ {
+ return type.isAnnotationPresent(EJB.STATEFUL_ANNOTATION);
+ }
+
+ public boolean isStateless()
+ {
+ return type.isAnnotationPresent(EJB.STATELESS_ANNOTATION);
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-12-15 13:55:26 UTC (rev 531)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-12-16 07:36:02 UTC (rev 532)
@@ -11,21 +11,32 @@
public class MockWebBeanDiscovery implements WebBeanDiscovery
{
-
+
private Set<Class<?>> webBeanClasses = new HashSet<Class<?>>();
private Set<URL> webBeansXmlFiles = new HashSet<URL>();
-
- private Map<Class<?>, EjbDescriptor<?>> ejbs = new HashMap<Class<?>, EjbDescriptor<?>>();
-
- public MockWebBeanDiscovery(Set<Class<?>> webBeanClasses, Set<URL> webBeansXmlFiles, Map<Class<?>, EjbDescriptor<?>> ejbs)
+
+ private Map<String, EjbDescriptor<?>> ejbs = new HashMap<String, EjbDescriptor<?>>();
+
+ @SuppressWarnings("unchecked")
+ public MockWebBeanDiscovery(Set<Class<?>> webBeanClasses, Set<URL> webBeansXmlFiles, Set<Class<?>> ejbs)
{
super();
this.webBeanClasses = webBeanClasses;
this.webBeansXmlFiles = webBeansXmlFiles;
- this.ejbs = ejbs;
+ this.ejbs = new HashMap<String, EjbDescriptor<?>>();
+ for (Class<?> ejb : ejbs)
+ {
+ String ejbName = getEjbName(ejb);
+ this.ejbs.put(ejbName, new MockEjbDescriptor(ejbName, ejb));
+ }
}
+ private String getEjbName(Class<?> clazz)
+ {
+ return clazz.getSimpleName() + "/local";
+ }
+
public Iterable<Class<?>> discoverWebBeanClasses()
{
return webBeanClasses;
@@ -33,13 +44,13 @@
public Map<String, EjbDescriptor<?>> discoverEjbs()
{
- // TODO Implement EJB discovery for embedded EJB
- return null;
+ // TODO Auto-generated method stub
+ return new HashMap<String, EjbDescriptor<?>>();
}
public Iterable<URL> discoverWebBeansXml()
{
return webBeansXmlFiles;
}
-
+
}
15 years, 6 months
[webbeans-commits] Webbeans SVN: r531 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bootstrap and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-15 08:55:26 -0500 (Mon, 15 Dec 2008)
New Revision: 531
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanFactory.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanDeclarationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanRemoveMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java
Log:
Move BeanFactory
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanFactory.java (from rev 527, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanFactory.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanFactory.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -0,0 +1,152 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.webbeans.bean;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+import javax.webbeans.Event;
+import javax.webbeans.Instance;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.event.ObserverImpl;
+import org.jboss.webbeans.introspector.AnnotatedField;
+import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+/**
+ * Utility class for creating Web Beans
+ *
+ * @author Pete Muir
+ */
+public class BeanFactory
+{
+ /**
+ * Creates a simple, annotation defined Web Bean
+ *
+ * @param <T> The type
+ * @param clazz The class
+ * @param manager the current manager
+ * @return A Web Bean
+ */
+ public static <T> SimpleBean<T> createSimpleBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new SimpleBean<T>(clazz, manager);
+ }
+
+ /**
+ * Creates a simple, annotation defined Enterprise Web Bean
+ *
+ * @param <T> The type
+ * @param clazz The class
+ * @param manager the current manager
+ * @return An Enterprise Web Bean
+ */
+ public static <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new EnterpriseBean<T>(clazz, manager);
+ }
+
+ /**
+ * Creates a producer method Web Bean
+ *
+ * @param <T> The type
+ * @param type The class
+ * @param method The underlying method
+ * @param declaringBean The declaring bean abstraction
+ * @param manager the current manager
+ * @return A producer Web Bean
+ */
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
+ {
+ return new ProducerMethodBean<T>(method, declaringBean, manager);
+ }
+
+ /**
+ * Creates a producer field Web Bean
+ *
+ * @param <T> The type
+ * @param type The class
+ * @param field The underlying field
+ * @param declaringBean The declaring bean abstraction
+ * @param manager the current manager
+ * @return A producer Web Bean
+ */
+ public static <T> ProducerFieldBean<T> createProducerFieldBean(Class<T> type, Field field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
+ {
+ 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> createProducerFieldBean(AnnotatedField<T> field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
+ {
+ return new ProducerFieldBean<T>(field, declaringBean, manager);
+ }
+
+ /**
+ * Creates a producer method Web Bean
+ *
+ * @param method The underlying method abstraction
+ * @param declaringBean The declaring bean abstraction
+ * @param manager the current manager
+ * @return A producer Web Bean
+ */
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
+ {
+ return new ProducerMethodBean<T>(method, declaringBean, manager);
+ }
+
+ /**
+ * Creates an event Web Bean
+ *
+ * @param field The event injection point abstraction
+ * @param manager the current manager
+ * @param declaringBean The declaring bean abstraction
+ * @return An event Web Bean
+ */
+ public static <T, S> EventBean<T, S> createEventBean(AnnotatedItem<Event<T>, S> field, ManagerImpl manager)
+ {
+ return new EventBean<T, S>(field, manager);
+ }
+
+ /**
+ * Creates an instance Web Bean
+ *
+ * @param field The instance injection point abstraction
+ * @param manager the current manager
+ * @param declaringBean The declaring bean abstraction
+ * @return An event Web Bean
+ */
+ public static <T, S> InstanceBean<T, S> createInstanceBean(AnnotatedItem<Instance<T>, S> field, ManagerImpl manager)
+ {
+ return new InstanceBean<T, S>(field, manager);
+ }
+
+ public static <T> ObserverImpl<T> createObserver(AnnotatedMethod<Object> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
+ {
+ return new ObserverImpl<T>(method, declaringBean, manager);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/BeanFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -17,6 +17,13 @@
package org.jboss.webbeans.bootstrap;
+import static org.jboss.webbeans.bean.BeanFactory.createEnterpriseBean;
+import static org.jboss.webbeans.bean.BeanFactory.createEventBean;
+import static org.jboss.webbeans.bean.BeanFactory.createInstanceBean;
+import static org.jboss.webbeans.bean.BeanFactory.createObserver;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerFieldBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import static org.jboss.webbeans.ejb.EJB.ENTERPRISE_BEAN_CLASS;
import static org.jboss.webbeans.jsf.JSF.UICOMPONENT_CLASS;
import static org.jboss.webbeans.servlet.Servlet.FILTER_CLASS;
@@ -24,13 +31,6 @@
import static org.jboss.webbeans.servlet.Servlet.SERVLET_CLASS;
import static org.jboss.webbeans.servlet.Servlet.SERVLET_CONTEXT_LISTENER_CLASS;
import static org.jboss.webbeans.servlet.Servlet.SERVLET_REQUEST_LISTENER_CLASS;
-import static org.jboss.webbeans.util.BeanFactory.createEnterpriseBean;
-import static org.jboss.webbeans.util.BeanFactory.createEventBean;
-import static org.jboss.webbeans.util.BeanFactory.createInstanceBean;
-import static org.jboss.webbeans.util.BeanFactory.createObserver;
-import static org.jboss.webbeans.util.BeanFactory.createProducerFieldBean;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
@@ -49,6 +49,7 @@
import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.AbstractClassBean;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.bean.InstanceBean;
import org.jboss.webbeans.bean.ProducerFieldBean;
@@ -64,7 +65,6 @@
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.transaction.Transaction;
-import org.jboss.webbeans.util.BeanFactory;
import org.jboss.webbeans.util.JNDI;
import org.jboss.webbeans.util.Reflections;
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,159 +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.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-import javax.webbeans.Event;
-import javax.webbeans.Instance;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.AbstractClassBean;
-import org.jboss.webbeans.bean.EnterpriseBean;
-import org.jboss.webbeans.bean.EventBean;
-import org.jboss.webbeans.bean.InstanceBean;
-import org.jboss.webbeans.bean.ProducerFieldBean;
-import org.jboss.webbeans.bean.ProducerMethodBean;
-import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.event.ObserverImpl;
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-
-/**
- * Utility class for creating Web Beans
- *
- * @author Pete Muir
- */
-public class BeanFactory
-{
- /**
- * Creates a simple, annotation defined Web Bean
- *
- * @param <T> The type
- * @param clazz The class
- * @param manager the current manager
- * @return A Web Bean
- */
- public static <T> SimpleBean<T> createSimpleBean(Class<T> clazz, ManagerImpl manager)
- {
- return new SimpleBean<T>(clazz, manager);
- }
-
- /**
- * Creates a simple, annotation defined Enterprise Web Bean
- *
- * @param <T> The type
- * @param clazz The class
- * @param manager the current manager
- * @return An Enterprise Web Bean
- */
- public static <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz, ManagerImpl manager)
- {
- return new EnterpriseBean<T>(clazz, manager);
- }
-
- /**
- * Creates a producer method Web Bean
- *
- * @param <T> The type
- * @param type The class
- * @param method The underlying method
- * @param declaringBean The declaring bean abstraction
- * @param manager the current manager
- * @return A producer Web Bean
- */
- public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- return new ProducerMethodBean<T>(method, declaringBean, manager);
- }
-
- /**
- * Creates a producer field Web Bean
- *
- * @param <T> The type
- * @param type The class
- * @param field The underlying field
- * @param declaringBean The declaring bean abstraction
- * @param manager the current manager
- * @return A producer Web Bean
- */
- public static <T> ProducerFieldBean<T> createProducerFieldBean(Class<T> type, Field field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- 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> createProducerFieldBean(AnnotatedField<T> field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- return new ProducerFieldBean<T>(field, declaringBean, manager);
- }
-
- /**
- * Creates a producer method Web Bean
- *
- * @param method The underlying method abstraction
- * @param declaringBean The declaring bean abstraction
- * @param manager the current manager
- * @return A producer Web Bean
- */
- public static <T> ProducerMethodBean<T> createProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- return new ProducerMethodBean<T>(method, declaringBean, manager);
- }
-
- /**
- * Creates an event Web Bean
- *
- * @param field The event injection point abstraction
- * @param manager the current manager
- * @param declaringBean The declaring bean abstraction
- * @return An event Web Bean
- */
- public static <T, S> EventBean<T, S> createEventBean(AnnotatedItem<Event<T>, S> field, ManagerImpl manager)
- {
- return new EventBean<T, S>(field, manager);
- }
-
- /**
- * Creates an instance Web Bean
- *
- * @param field The instance injection point abstraction
- * @param manager the current manager
- * @param declaringBean The declaring bean abstraction
- * @return An event Web Bean
- */
- public static <T, S> InstanceBean<T, S> createInstanceBean(AnnotatedItem<Instance<T>, S> field, ManagerImpl manager)
- {
- return new InstanceBean<T, S>(field, manager);
- }
-
- public static <T> ObserverImpl<T> createObserver(AnnotatedMethod<Object> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
- {
- return new ObserverImpl<T>(method, declaringBean, manager);
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -6,11 +6,11 @@
import javax.webbeans.Production;
import javax.webbeans.Standard;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
public class Tests extends AbstractTest
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -10,12 +10,12 @@
import javax.webbeans.UnproxyableDependencyException;
import javax.webbeans.manager.Bean;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.test.beans.Fox;
import org.jboss.webbeans.test.beans.Tuna;
import org.jboss.webbeans.test.beans.TunedTuna;
import org.jboss.webbeans.test.beans.broken.FinalTuna;
-import org.jboss.webbeans.util.BeanFactory;
import org.jboss.webbeans.util.Reflections;
import org.testng.annotations.Test;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.util.Arrays;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
import java.util.Arrays;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.DefinitionException;
import javax.webbeans.NonexistentMethodException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,8 +1,8 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.ContextNotActiveException;
import javax.webbeans.DefinitionException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.AmbiguousDependencyException;
import javax.webbeans.manager.Bean;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.AmbiguousDependencyException;
import javax.webbeans.AnnotationLiteral;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.ContextNotActiveException;
import javax.webbeans.RequestScoped;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.DefinitionException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -12,6 +12,7 @@
import javax.webbeans.TypeLiteral;
import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.bindings.InitializedBinding;
@@ -34,7 +35,6 @@
import org.jboss.webbeans.test.ejb.valid.BullTerrier;
import org.jboss.webbeans.test.ejb.valid.Pomeranian;
import org.jboss.webbeans.test.mock.MockManagerImpl;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
/**
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -5,6 +5,7 @@
import javax.webbeans.Observer;
import javax.webbeans.Observes;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -12,7 +13,6 @@
import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
import org.jboss.webbeans.test.annotations.Role;
import org.jboss.webbeans.test.bindings.RoleBinding;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanLifecycleTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanLifecycleTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerFieldBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerFieldBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Field;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanModelTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerFieldBeanModelTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerFieldBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerFieldBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Field;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.manager.Bean;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
import java.util.Set;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.ApplicationScoped;
import javax.webbeans.DefinitionException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import javax.webbeans.manager.Bean;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.annotation.Annotation;
import java.util.Arrays;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.util.Arrays;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.test.beans.Haddock;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test.contexts;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test.contexts;
-import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import static org.jboss.webbeans.bean.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.bean.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
@@ -9,6 +9,7 @@
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Context;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.contexts.AbstractContext;
@@ -19,7 +20,6 @@
import org.jboss.webbeans.test.beans.SpiderProducer;
import org.jboss.webbeans.test.beans.Tarantula;
import org.jboss.webbeans.test.beans.Tuna;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanDeclarationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanDeclarationTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanDeclarationTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -3,6 +3,7 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.DeploymentException;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.test.AbstractTest;
import org.jboss.webbeans.test.SpecAssertion;
@@ -21,7 +22,6 @@
import org.jboss.webbeans.test.ejb.invalid.Pug;
import org.jboss.webbeans.test.ejb.valid.Laika;
import org.jboss.webbeans.test.ejb.valid.Pitbull;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
/**
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanRemoveMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanRemoveMethodTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanRemoveMethodTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -4,6 +4,7 @@
import javax.webbeans.RequestScoped;
import javax.webbeans.UnremovedException;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.contexts.RequestContext;
import org.jboss.webbeans.test.AbstractTest;
@@ -21,7 +22,6 @@
import org.jboss.webbeans.test.ejb.valid.Koirus;
import org.jboss.webbeans.test.ejb.valid.Toller;
import org.jboss.webbeans.test.ejb.valid.WelshCorgie;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
/**
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java 2008-12-15 13:52:46 UTC (rev 530)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/EnterpriseBeanSpecializationTest.java 2008-12-15 13:55:26 UTC (rev 531)
@@ -3,6 +3,7 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.DeploymentException;
+import org.jboss.webbeans.bean.BeanFactory;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.test.AbstractTest;
import org.jboss.webbeans.test.SpecAssertion;
@@ -10,7 +11,6 @@
import org.jboss.webbeans.test.ejb.invalid.GreaterDane;
import org.jboss.webbeans.test.ejb.valid.Hound;
import org.jboss.webbeans.test.ejb.valid.HoundOfBaskerville;
-import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
/**
15 years, 6 months
[webbeans-commits] Webbeans SVN: r530 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-15 08:52:46 -0500 (Mon, 15 Dec 2008)
New Revision: 530
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
Log:
Active/inactive dependent scope as spec requires
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -49,7 +49,6 @@
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.proxy.ProxyPool;
import org.jboss.webbeans.contexts.ContextMap;
-import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.event.EventManager;
import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -445,21 +444,13 @@
*/
public <T> T getInstance(Bean<T> bean)
{
- try
+ if (MetaDataCache.instance().getScopeModel(bean.getScopeType()).isNormal())
{
- DependentContext.INSTANCE.setActive(true);
- if (MetaDataCache.instance().getScopeModel(bean.getScopeType()).isNormal())
- {
- return (T) proxyPool.getClientProxy(bean);
- }
- else
- {
- return getContext(bean.getScopeType()).get(bean, true);
- }
+ return (T) proxyPool.getClientProxy(bean);
}
- finally
+ else
{
- DependentContext.INSTANCE.setActive(false);
+ return getContext(bean.getScopeType()).get(bean, true);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -33,6 +33,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.MetaDataCache;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.ejb.EJB;
import org.jboss.webbeans.ejb.EjbMetaData;
import org.jboss.webbeans.introspector.AnnotatedField;
@@ -219,13 +220,21 @@
@Override
public T create()
{
- T instance = (T) manager.getInstanceByType(EnterpriseBeanLookup.class).lookup(ejbMetaData.getEjbName());
- bindDecorators();
- bindInterceptors();
- injectEjbAndCommonFields();
- injectBoundFields(instance, manager);
- callInitializers(instance);
- return instance;
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ T instance = (T) manager.getInstanceByType(EnterpriseBeanLookup.class).lookup(ejbMetaData.getEjbName());
+ bindDecorators();
+ bindInterceptors();
+ injectEjbAndCommonFields();
+ injectBoundFields(instance, manager);
+ callInitializers(instance);
+ return instance;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
@@ -238,12 +247,17 @@
{
try
{
+ DependentContext.INSTANCE.setActive(true);
getRemoveMethod().invoke(instance);
}
catch (Exception e)
{
log.error("Error destroying " + toString(), e);
}
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -21,6 +21,7 @@
import javax.webbeans.Event;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.util.Names;
@@ -55,13 +56,29 @@
@Override
public Event<T> create()
{
- return new EventImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ return new EventImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Override
public void destroy(Event<T> instance)
{
- // TODO Implement any EventBean destruction needed
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ // TODO Implement any EventBean destruction needed
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -22,6 +22,7 @@
import org.jboss.webbeans.InstanceImpl;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedItem;
/**
@@ -54,13 +55,29 @@
@Override
public Instance<T> create()
{
- return new InstanceImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ return new InstanceImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Override
public void destroy(Instance<T> instance)
{
- // TODO Implement any cleanup needed
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ // TODO Implement any cleanup needed
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -20,6 +20,7 @@
import java.lang.reflect.Field;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.jlr.AnnotatedFieldImpl;
import org.jboss.webbeans.util.Names;
@@ -70,15 +71,31 @@
@Override
public T create()
{
- T instance = field.get(getReceiver());
- checkReturnValue(instance);
- return instance;
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ T instance = field.get(getReceiver());
+ checkReturnValue(instance);
+ return instance;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Override
public void destroy(T instance)
{
- // TODO Implement any cleanup needed
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ // TODO Implement any cleanup needed
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -27,6 +27,7 @@
import javax.webbeans.Observes;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
@@ -78,15 +79,31 @@
@Override
public T create()
{
- T instance = method.invoke(getReceiver(), manager);
- checkReturnValue(instance);
- return instance;
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ T instance = method.invoke(getReceiver(), manager);
+ checkReturnValue(instance);
+ return instance;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Override
public void destroy(T instance)
{
- // TODO Implement any cleanup needed
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ // TODO Implement any cleanup needed
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -28,6 +28,7 @@
import javax.webbeans.manager.Manager;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -77,14 +78,22 @@
@Override
public T create()
{
- T instance = constructor.newInstance(manager);
- bindDecorators();
- bindInterceptors();
- injectEjbAndCommonFields();
- injectBoundFields(instance, manager);
- callInitializers(instance);
- callPostConstruct(instance);
- return instance;
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ T instance = constructor.newInstance(manager);
+ bindDecorators();
+ bindInterceptors();
+ injectEjbAndCommonFields();
+ injectBoundFields(instance, manager);
+ callInitializers(instance);
+ callPostConstruct(instance);
+ return instance;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
@@ -97,12 +106,17 @@
{
try
{
+ DependentContext.INSTANCE.setActive(true);
callPreDestroy(instance);
}
catch (Exception e)
{
log.error("Error destroying " + toString(), e);
}
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -17,6 +17,8 @@
package org.jboss.webbeans.contexts;
+import java.util.concurrent.atomic.AtomicInteger;
+
import javax.webbeans.ContextNotActiveException;
import javax.webbeans.Dependent;
import javax.webbeans.manager.Contextual;
@@ -33,13 +35,23 @@
public static final DependentContext INSTANCE = new DependentContext();
+ private ThreadLocal<AtomicInteger> reentrantActiveCount;
+
/**
* Constructor
*/
public DependentContext()
{
super(Dependent.class);
- setActive(false);
+ super.setActive(false);
+ this.reentrantActiveCount = new ThreadLocal<AtomicInteger>()
+ {
+ @Override
+ protected AtomicInteger initialValue()
+ {
+ return new AtomicInteger(0);
+ }
+ };
}
/**
@@ -67,4 +79,23 @@
return active + "dependent context " + count;
}
+ @Override
+ public void setActive(boolean active)
+ {
+ if (active)
+ {
+ if (reentrantActiveCount.get().incrementAndGet() == 1)
+ {
+ super.setActive(true);
+ }
+ }
+ else
+ {
+ if (reentrantActiveCount.get().decrementAndGet() == 0)
+ {
+ super.setActive(false);
+ }
+ }
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/el/WebBeansELResolver.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -24,6 +24,7 @@
import javax.el.ELResolver;
import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.contexts.DependentContext;
public class WebBeansELResolver extends ELResolver
{
@@ -63,12 +64,20 @@
{
if (base == null && property != null)
{
- Object value = CurrentManager.rootManager().getInstanceByName(property.toString());
- if (value != null)
+ try
{
- context.setPropertyResolved(true);
+ DependentContext.INSTANCE.setActive(true);
+ Object value = CurrentManager.rootManager().getInstanceByName(property.toString());
+ if (value != null)
+ {
+ context.setPropertyResolved(true);
+ }
+ return value;
}
- return value;
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
else
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -30,6 +30,7 @@
import javax.webbeans.Observer;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.transaction.UserTransaction;
import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Strings;
@@ -215,17 +216,25 @@
*/
public <T> void notifyObservers(Set<Observer<T>> observers, T event)
{
- for (Observer<T> observer : observers)
+ try
{
- if (isTransactionActive() && ((ObserverImpl<?>) observer).isTransactional())
+ DependentContext.INSTANCE.setActive(true);
+ for (Observer<T> observer : observers)
{
- deferEvent(event, observer);
+ if (isTransactionActive() && ((ObserverImpl<?>) observer).isTransactional())
+ {
+ deferEvent(event, observer);
+ }
+ else
+ {
+ observer.notify(event);
+ }
}
- else
- {
- observer.notify(event);
- }
}
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -8,6 +8,7 @@
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.test.AbstractTest;
import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
@@ -18,27 +19,35 @@
public void testGameGenerator() throws Exception {
setupGameGenerator();
- Game game1 = manager.getInstanceByType(Game.class);
- Game game2 = manager.getInstanceByType(Game.class);
- assert game1!=game2;
- assert game1.getNumber()!=game2.getNumber();
- Generator gen1 = manager.getInstanceByType(Generator.class);
- Generator gen2 = manager.getInstanceByType(Generator.class);
- assert gen1.getRandom()!=null;
- assert gen1.getRandom()==gen2.getRandom();
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ Game game1 = manager.getInstanceByType(Game.class);
+ Game game2 = manager.getInstanceByType(Game.class);
+ assert game1!=game2;
+ assert game1.getNumber()!=game2.getNumber();
+ Generator gen1 = manager.getInstanceByType(Generator.class);
+ Generator gen2 = manager.getInstanceByType(Generator.class);
+ assert gen1.getRandom()!=null;
+ assert gen1.getRandom()==gen2.getRandom();
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
private void setupGameGenerator() throws NoSuchMethodException
{
SimpleBean<Game> gameBean = BeanFactory.createSimpleBean(Game.class, manager);
- SimpleBean<Generator> generatorBean = BeanFactory.createSimpleBean(Generator.class, manager);
- Method method = Generator.class.getDeclaredMethod("next");
- method.setAccessible(true);
- ProducerMethodBean<Integer> nextBean = BeanFactory.createProducerMethodBean(int.class, method, generatorBean, manager);
+ SimpleBean<Generator> generatorBean = BeanFactory.createSimpleBean(Generator.class, manager);
+ Method method = Generator.class.getDeclaredMethod("next");
+ method.setAccessible(true);
+ ProducerMethodBean<Integer> nextBean = BeanFactory.createProducerMethodBean(int.class, method, generatorBean, manager);
- manager.addBean(gameBean);
- manager.addBean(generatorBean);
- manager.addBean(nextBean);
+ manager.addBean(gameBean);
+ manager.addBean(generatorBean);
+ manager.addBean(nextBean);
}
@Test
@@ -47,24 +56,40 @@
manager.setEnabledDeploymentTypes(Arrays.asList(Standard.class, Production.class, Mock.class));
- TextTranslator tt2 = manager.getInstanceByType(TextTranslator.class);
- assert "Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.".equals( tt2.translate("Hello world. How's tricks?") );
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ TextTranslator tt2 = manager.getInstanceByType(TextTranslator.class);
+ assert "Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.".equals( tt2.translate("Hello world. How's tricks?") );
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Test
public void testSentenceTranslator() throws Exception {
setupTextTranslator();
- TextTranslator tt1 = manager.getInstanceByType(TextTranslator.class);
- try {
- tt1.translate("hello world");
- assert false;
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ TextTranslator tt1 = manager.getInstanceByType(TextTranslator.class);
+ try
+ {
+ tt1.translate("hello world");
+ assert false;
+ }
+ catch (UnsupportedOperationException uoe)
+ {
+ //expected
+ }
}
- catch (UnsupportedOperationException uoe)
+ finally
{
- //expected
+ DependentContext.INSTANCE.setActive(false);
}
-
}
private void setupTextTranslator()
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -10,6 +10,7 @@
import javax.webbeans.UnproxyableDependencyException;
import javax.webbeans.manager.Bean;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.test.beans.Fox;
import org.jboss.webbeans.test.beans.Tuna;
import org.jboss.webbeans.test.beans.TunedTuna;
@@ -37,8 +38,16 @@
public void testClientProxyNotUsedForPseudoScope()
{
Bean<Fox> foxBean = BeanFactory.createSimpleBean(Fox.class, manager);
- Fox fox = manager.getInstance(foxBean);
- assert !Reflections.isProxy(fox);
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ Fox fox = manager.getInstance(foxBean);
+ assert !Reflections.isProxy(fox);
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
private byte[] serializeBean(Object instance) throws IOException {
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -5,6 +5,7 @@
import javax.webbeans.AmbiguousDependencyException;
import javax.webbeans.manager.Bean;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
@@ -71,7 +72,15 @@
manager.addBean(seaBassBean);
manager.addBean(plaiceBean);
- assert manager.getInstanceByName("salmon") instanceof Salmon;
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ assert manager.getInstanceByName("salmon") instanceof Salmon;
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Test(groups={"stub", "resolution", "el"}) @SpecAssertion(section="4.10")
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -15,6 +15,7 @@
import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.bindings.InitializedBinding;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.test.beans.BananaSpider;
import org.jboss.webbeans.test.beans.RecluseSpider;
@@ -573,8 +574,16 @@
public void testDuplicateBindingsToFireFails()
{
webBeansBootstrap.registerBeans(SweeWaxbill.class);
- SweeWaxbill bean = manager.getInstanceByType(SweeWaxbill.class);
- bean.methodThatFiresEvent();
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ SweeWaxbill bean = manager.getInstanceByType(SweeWaxbill.class);
+ bean.methodThatFiresEvent();
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Test(groups = { "events" }, expectedExceptions={ DuplicateBindingTypeException.class })
@@ -582,8 +591,16 @@
public void testDuplicateBindingsToObservesFails()
{
webBeansBootstrap.registerBeans(SweeWaxbill.class);
- SweeWaxbill bean = manager.getInstanceByType(SweeWaxbill.class);
- bean.methodThatRegistersObserver();
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ SweeWaxbill bean = manager.getInstanceByType(SweeWaxbill.class);
+ bean.methodThatRegistersObserver();
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
}
@Test(groups = { "stub", "events" })
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-15 12:43:39 UTC (rev 529)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-15 13:52:46 UTC (rev 530)
@@ -6,6 +6,7 @@
import javax.webbeans.Observes;
import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
@@ -76,7 +77,16 @@
{
SampleEvent event = new SampleEvent();
notified = false;
- observer.notify(event);
+ // The Dependent context isn't automatically activated when calling ObserverImpl.notify, only when through the EventManager
+ try
+ {
+ DependentContext.INSTANCE.setActive(true);
+ observer.notify(event);
+ }
+ finally
+ {
+ DependentContext.INSTANCE.setActive(false);
+ }
assert notified == true;
}
15 years, 6 months
[webbeans-commits] Webbeans SVN: r529 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-15 07:43:39 -0500 (Mon, 15 Dec 2008)
New Revision: 529
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
Log:
Move destroy() to concrete bean classes
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -327,19 +327,6 @@
}
/**
- * Destroys a bean instance
- *
- * @param instance The instance to destroy
- *
- * @see javax.webbeans.manager.Bean#destroy(Object)
- */
- @Override
- public void destroy(T instance)
- {
- // TODO Auto-generated method stub
- }
-
- /**
* Binds the decorators to the proxy
*/
protected void bindDecorators()
@@ -579,4 +566,5 @@
buffer.append(mergedStereotypes.toString() + "\n");
return buffer.toString();
}
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -38,6 +38,8 @@
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.util.Names;
/**
@@ -49,6 +51,8 @@
*/
public class EnterpriseBean<T> extends AbstractClassBean<T>
{
+
+ private LogProvider log = Logging.getLogProvider(EnterpriseBean.class);
private EjbMetaData<T> ejbMetaData;
@@ -225,14 +229,21 @@
}
/**
- * Destroys an instance of a bean
+ * Destroys an instance of the bean
*
* @param instance The instance
*/
@Override
public void destroy(T instance)
{
- super.destroy(instance);
+ try
+ {
+ getRemoveMethod().invoke(instance);
+ }
+ catch (Exception e)
+ {
+ log.error("Error destroying " + toString(), e);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -58,6 +58,12 @@
return new EventImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
}
+ @Override
+ public void destroy(Event<T> instance)
+ {
+ // TODO Implement any EventBean destruction needed
+ }
+
/**
* Returns a string representation
*
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/InstanceBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -56,5 +56,11 @@
{
return new InstanceImpl<T>(getTypeParameter(), manager, getBindingTypesArray());
}
+
+ @Override
+ public void destroy(Instance<T> instance)
+ {
+ // TODO Implement any cleanup needed
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -74,6 +74,12 @@
checkReturnValue(instance);
return instance;
}
+
+ @Override
+ public void destroy(T instance)
+ {
+ // TODO Implement any cleanup needed
+ }
/**
* Gets the annotated item representing the field
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -82,6 +82,12 @@
checkReturnValue(instance);
return instance;
}
+
+ @Override
+ public void destroy(T instance)
+ {
+ // TODO Implement any cleanup needed
+ }
/**
* Initializes the bean and its metadata
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-15 12:35:50 UTC (rev 528)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-15 12:43:39 UTC (rev 529)
@@ -95,7 +95,14 @@
@Override
public void destroy(T instance)
{
- callPreDestroy(instance);
+ try
+ {
+ callPreDestroy(instance);
+ }
+ catch (Exception e)
+ {
+ log.error("Error destroying " + toString(), e);
+ }
}
/**
15 years, 6 months
[webbeans-commits] Webbeans SVN: r528 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean and 8 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-15 07:35:50 -0500 (Mon, 15 Dec 2008)
New Revision: 528
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockHttpSession.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockServletContext.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Resolver.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/Transaction.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/EnumerationIterator.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/JNDI.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/FilterBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/HttpSessionListenerBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletContextListenerBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletRequestListenerBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
Log:
Some tidy up
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -673,25 +673,25 @@
public Manager parse(InputStream xmlStream)
{
- // TODO Auto-generated method stub
+ // TODO Implement XML parsing
return null;
}
public Manager validate()
{
- // TODO Auto-generated method stub
+ // TODO Implement XML parsing
return null;
}
public Manager createChildManager()
{
- // TODO Auto-generated method stub
+ // TODO Implement hierarchical managers
return null;
}
public Manager setCurrent()
{
- // TODO Auto-generated method stub
+ // TODO Implement hierarchical managers
return null;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Resolver.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Resolver.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Resolver.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -57,7 +57,6 @@
@Override
public boolean equals(Object other)
{
- // TODO Do we need to check the other direction too?
if (other instanceof AnnotatedItem)
{
AnnotatedItem<?, ?> that = (AnnotatedItem<?, ?>) other;
@@ -204,7 +203,6 @@
if (element.getType().equals(Object.class))
{
- // TODO Fix this cast
beans = new HashSet<Bean<T>>((List) manager.getBeans());
}
else
@@ -347,7 +345,7 @@
*/
public List<Decorator> resolveDecorators(Set<Class<?>> types, Annotation[] bindingTypes)
{
- // TODO Auto-generated method stub
+ // TODO Implement decorators
return null;
}
@@ -360,7 +358,7 @@
*/
public List<Interceptor> resolveInterceptors(InterceptionType type, Annotation[] interceptorBindings)
{
- // TODO Auto-generated method stub
+ // TODO Implement interceptors
return null;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -547,7 +547,7 @@
@Override
public boolean isSerializable()
{
- // TODO Auto-generated method stub
+ // TODO Implement passivating scopes
return false;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -279,7 +279,7 @@
@Override
protected AbstractBean<? extends T, Class<T>> getSpecializedType()
{
- // TODO: lots of validation!
+ // TODO lots of validation!
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if (superclass != null)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -263,9 +263,7 @@
log.trace("Found " + postConstructMethods + " constructors annotated with @Initializer for " + getType());
if (postConstructMethods.size() > 1)
{
- // TODO: actually this is wrong, in EJB you can have @PostConstruct
- // methods on the superclass,
- // though the Web Beans spec is silent on the issue
+ // TODO actually this is wrong, in EJB you can have @PostConstruct methods on the superclass, though the Web Beans spec is silent on the issue
throw new DefinitionException("Cannot have more than one post construct method annotated with @PostConstruct for " + getType());
}
else if (postConstructMethods.size() == 1)
@@ -285,9 +283,7 @@
log.trace("Found " + preDestroyMethods + " constructors annotated with @Initializer for " + getType());
if (preDestroyMethods.size() > 1)
{
- // TODO: actually this is wrong, in EJB you can have @PreDestroy
- // methods on the superclass,
- // though the Web Beans spec is silent on the issue
+ // TODO actually this is wrong, in EJB you can have @PreDestroy methods on the superclass, though the Web Beans spec is silent on the issue
throw new DefinitionException("Cannot have more than one pre destroy method annotated with @PreDestroy for " + getType());
}
else if (preDestroyMethods.size() == 1)
@@ -316,7 +312,7 @@
@SuppressWarnings("unchecked")
protected AbstractBean<? extends T, Class<T>> getSpecializedType()
{
- // TODO: lots of validation!
+ // TODO lots of validation!
Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
if (superclass != null)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -70,7 +70,7 @@
*/
public Object invoke(Object self, Method method, Method proceed, Object[] args) throws Throwable
{
- //TODO: account for child managers
+ //TODO account for child managers
if (bean == null)
{
bean = CurrentManager.rootManager().getBeans().get(beanIndex);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -84,8 +84,6 @@
{
return null;
}
-
- // TODO should bean creation be synchronized?
instance = bean.create();
getBeanMap().put(bean, instance);
return instance;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -88,7 +88,6 @@
public List<Context> getContext(Class<? extends Annotation> scopeType)
{
boolean interrupted = false;
- // TODO Why can we request any scopetype and the cast it to dependent?
try
{
while (true)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -39,7 +39,6 @@
public DependentContext()
{
super(Dependent.class);
- // TODO starts as non-active?
setActive(false);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -169,7 +169,6 @@
Object instance = getInstance(isConditional());
if (instance != null)
{
- // TODO replace event parameter
try
{
observerMethod.invokeWithSpecialValue(instance, Observes.class, event, manager);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/Transaction.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/Transaction.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/Transaction.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -18,13 +18,11 @@
public void begin() throws NotSupportedException, SystemException
{
- // TODO Auto-generated method stub
}
public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException
{
- // TODO Auto-generated method stub
}
@@ -35,19 +33,16 @@
public void rollback() throws IllegalStateException, SecurityException, SystemException
{
- // TODO Auto-generated method stub
}
public void setRollbackOnly() throws IllegalStateException, SystemException
{
- // TODO Auto-generated method stub
}
public void setTransactionTimeout(int arg0) throws SystemException
{
- // TODO Auto-generated method stub
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/EnumerationIterator.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/EnumerationIterator.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/EnumerationIterator.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -3,7 +3,7 @@
import java.util.Enumeration;
import java.util.Iterator;
-public class EnumerationIterator<T> implements Iterator<T>, Iterable<T>
+public class EnumerationIterator<T> implements Iterator<T>
{
private Enumeration e;
@@ -26,12 +26,5 @@
{
throw new UnsupportedOperationException();
}
-
- public Iterator<T> iterator()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/JNDI.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/JNDI.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/JNDI.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -52,7 +52,7 @@
public static void set(String key, Object value)
{
- // TODO stub
+ // TODO Implement JNDI lookup
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -275,6 +275,8 @@
manager.addBean(salmonBean);
manager.addBean(soleBean);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+
assert manager.resolveByType(Object.class).size() == 3 + MockManagerImpl.BUILT_IN_BEANS;
assert manager.resolveByType(Object.class).contains(plaiceBean);
assert manager.resolveByType(Object.class).contains(salmonBean);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/FilterBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/FilterBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/FilterBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -14,19 +14,16 @@
public void destroy()
{
- // TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException
{
- // TODO Auto-generated method stub
}
public void init(FilterConfig arg0) throws ServletException
{
- // TODO Auto-generated method stub
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/HttpSessionListenerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/HttpSessionListenerBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/HttpSessionListenerBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -7,13 +7,11 @@
public void sessionCreated(HttpSessionEvent arg0)
{
- // TODO Auto-generated method stub
}
public void sessionDestroyed(HttpSessionEvent arg0)
{
- // TODO Auto-generated method stub
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -13,31 +13,26 @@
public void destroy()
{
- // TODO Auto-generated method stub
}
public ServletConfig getServletConfig()
{
- // TODO Auto-generated method stub
return null;
}
public String getServletInfo()
{
- // TODO Auto-generated method stub
return null;
}
public void init(ServletConfig arg0) throws ServletException
{
- // TODO Auto-generated method stub
}
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException
{
- // TODO Auto-generated method stub
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletContextListenerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletContextListenerBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletContextListenerBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -8,13 +8,11 @@
public void contextDestroyed(ServletContextEvent arg0)
{
- // TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent arg0)
{
- // TODO Auto-generated method stub
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletRequestListenerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletRequestListenerBean.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/ServletRequestListenerBean.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -8,13 +8,11 @@
public void requestDestroyed(ServletRequestEvent arg0)
{
- // TODO Auto-generated method stub
}
public void requestInitialized(ServletRequestEvent arg0)
{
- // TODO Auto-generated method stub
}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockHttpSession.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockHttpSession.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockHttpSession.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -1,152 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionContext;
-
-@SuppressWarnings("deprecation")
-public class MockHttpSession implements HttpSession
-{
- private Map<String, Object> attributes = new HashMap<String, Object>();
- private boolean isInvalid;
- private ServletContext servletContext;
-
- @SuppressWarnings("unchecked")
- public class IteratorEnumeration implements Enumeration
- {
-
- private Iterator iterator;
-
- public IteratorEnumeration(Iterator iterator)
- {
- this.iterator = iterator;
- }
-
- public boolean hasMoreElements()
- {
- return iterator.hasNext();
- }
-
- public Object nextElement()
- {
- return iterator.next();
- }
-
- }
-
- public MockHttpSession(ServletContext servletContext)
- {
- this.servletContext = servletContext;
- }
-
- public boolean isInvalid()
- {
- return isInvalid;
- }
-
- public long getCreationTime()
- {
- return 0;
- }
-
- public String getId()
- {
- return null;
- }
-
- public long getLastAccessedTime()
- {
- return 0;
- }
-
- private int maxInactiveInterval;
-
- public void setMaxInactiveInterval(int max)
- {
- maxInactiveInterval = max;
- }
-
- public int getMaxInactiveInterval()
- {
- return maxInactiveInterval;
- }
-
- public HttpSessionContext getSessionContext()
- {
- throw new UnsupportedOperationException();
- }
-
- public Object getAttribute(String att)
- {
- return attributes.get(att);
- }
-
- public Object getValue(String att)
- {
- return getAttribute(att);
- }
-
- public Enumeration getAttributeNames()
- {
- return new IteratorEnumeration( attributes.keySet().iterator() );
- }
-
- public String[] getValueNames()
- {
- return attributes.keySet().toArray( new String[0] );
- }
-
- public void setAttribute(String att, Object value)
- {
- if (value==null)
- {
- attributes.remove(att);
- }
- else
- {
- attributes.put(att, value);
- }
- }
-
- public void putValue(String att, Object value)
- {
- setAttribute(att, value);
- }
-
- public void removeAttribute(String att)
- {
- attributes.remove(att);
- }
-
- public void removeValue(String att)
- {
- removeAttribute(att);
- }
-
- public void invalidate()
- {
- attributes.clear();
- isInvalid = true;
- }
-
- public boolean isNew()
- {
- return false;
- }
-
- public Map<String, Object> getAttributes()
- {
- return attributes;
- }
-
- public ServletContext getServletContext()
- {
- return servletContext;
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockServletContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockServletContext.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockServletContext.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -1,167 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Set;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-
-public class MockServletContext implements ServletContext
-{
-
- public Object getAttribute(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Enumeration getAttributeNames()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public ServletContext getContext(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getContextPath()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getInitParameter(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Enumeration getInitParameterNames()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public int getMajorVersion()
- {
- // TODO Auto-generated method stub
- return 0;
- }
-
- public String getMimeType(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public int getMinorVersion()
- {
- // TODO Auto-generated method stub
- return 0;
- }
-
- public RequestDispatcher getNamedDispatcher(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getRealPath(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public RequestDispatcher getRequestDispatcher(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public URL getResource(String arg0) throws MalformedURLException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public InputStream getResourceAsStream(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Set getResourcePaths(String arg0)
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getServerInfo()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Servlet getServlet(String arg0) throws ServletException
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getServletContextName()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Enumeration getServletNames()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Enumeration getServlets()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void log(String arg0)
- {
- // TODO Auto-generated method stub
-
- }
-
- public void log(Exception arg0, String arg1)
- {
- // TODO Auto-generated method stub
-
- }
-
- public void log(String arg0, Throwable arg1)
- {
- // TODO Auto-generated method stub
-
- }
-
- public void removeAttribute(String arg0)
- {
- // TODO Auto-generated method stub
-
- }
-
- public void setAttribute(String arg0, Object arg1)
- {
- // TODO Auto-generated method stub
-
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-12-15 12:13:59 UTC (rev 527)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-12-15 12:35:50 UTC (rev 528)
@@ -33,7 +33,7 @@
public Map<String, EjbDescriptor<?>> discoverEjbs()
{
- // TODO Auto-generated method stub
+ // TODO Implement EJB discovery for embedded EJB
return null;
}
15 years, 6 months
[webbeans-commits] Webbeans SVN: r527 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-15 07:13:59 -0500 (Mon, 15 Dec 2008)
New Revision: 527
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/UIComponentBean.java
Log:
Minor
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/UIComponentBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/UIComponentBean.java 2008-12-14 22:45:47 UTC (rev 526)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/nonBeans/UIComponentBean.java 2008-12-15 12:13:59 UTC (rev 527)
@@ -19,276 +19,236 @@
@Override
protected void addFacesListener(FacesListener arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void broadcast(FacesEvent arg0) throws AbortProcessingException
{
- // TODO Auto-generated method stub
}
@Override
public void decode(FacesContext arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void encodeBegin(FacesContext arg0) throws IOException
{
- // TODO Auto-generated method stub
}
@Override
public void encodeChildren(FacesContext arg0) throws IOException
{
- // TODO Auto-generated method stub
}
@Override
public void encodeEnd(FacesContext arg0) throws IOException
{
- // TODO Auto-generated method stub
}
@Override
public UIComponent findComponent(String arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
public Map<String, Object> getAttributes()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public int getChildCount()
{
- // TODO Auto-generated method stub
return 0;
}
@Override
public List<UIComponent> getChildren()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public String getClientId(FacesContext arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
protected FacesContext getFacesContext()
{
- // TODO Auto-generated method stub
return null;
}
@Override
protected FacesListener[] getFacesListeners(Class arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
public UIComponent getFacet(String arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
public Map<String, UIComponent> getFacets()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public Iterator<UIComponent> getFacetsAndChildren()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public String getFamily()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public String getId()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public UIComponent getParent()
{
- // TODO Auto-generated method stub
return null;
}
@Override
protected Renderer getRenderer(FacesContext arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
public String getRendererType()
{
- // TODO Auto-generated method stub
return null;
}
@Override
public boolean getRendersChildren()
{
- // TODO Auto-generated method stub
return false;
}
@Override
public ValueBinding getValueBinding(String arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
public boolean isRendered()
{
- // TODO Auto-generated method stub
return false;
}
@Override
public void processDecodes(FacesContext arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void processRestoreState(FacesContext arg0, Object arg1)
{
- // TODO Auto-generated method stub
}
@Override
public Object processSaveState(FacesContext arg0)
{
- // TODO Auto-generated method stub
return null;
}
@Override
public void processUpdates(FacesContext arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void processValidators(FacesContext arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void queueEvent(FacesEvent arg0)
{
- // TODO Auto-generated method stub
}
@Override
protected void removeFacesListener(FacesListener arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void setId(String arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void setParent(UIComponent arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void setRendered(boolean arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void setRendererType(String arg0)
{
- // TODO Auto-generated method stub
}
@Override
public void setValueBinding(String arg0, ValueBinding arg1)
{
- // TODO Auto-generated method stub
}
public boolean isTransient()
{
- // TODO Auto-generated method stub
return false;
}
public void restoreState(FacesContext arg0, Object arg1)
{
- // TODO Auto-generated method stub
}
public Object saveState(FacesContext arg0)
{
- // TODO Auto-generated method stub
return null;
}
public void setTransient(boolean arg0)
{
- // TODO Auto-generated method stub
}
15 years, 6 months
[webbeans-commits] Webbeans SVN: r526 - in ri/trunk: webbeans-ri/src/main/java/org/jboss/webbeans and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2008-12-14 17:45:47 -0500 (Sun, 14 Dec 2008)
New Revision: 526
Modified:
ri/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/Role.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java
Log:
A couple more tests now work for Observables.
Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java 2008-12-14 22:24:20 UTC (rev 525)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/Observable.java 2008-12-14 22:45:47 UTC (rev 526)
@@ -28,10 +28,10 @@
/**
* Annotates a variable to be injected with an Event object that can be fired and
- * observed by observer methods.
+ * observed by observer methods
*
* @author David Allen
- * @author Gvin King
+ * @author Gavin King
*/
@BindingType
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-14 22:24:20 UTC (rev 525)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-14 22:45:47 UTC (rev 526)
@@ -95,7 +95,6 @@
* @param enabledDeploymentTypes any enabled deployment types, an empty set
* if none are specified
*/
- @SuppressWarnings("unchecked")
public ManagerImpl()
{
this.beans = new CopyOnWriteArrayList<Bean<?>>();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-14 22:24:20 UTC (rev 525)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-14 22:45:47 UTC (rev 526)
@@ -35,7 +35,7 @@
*
* @author David Allen
*
- * @param <T>
+ * @param <T> The type of event being wrapped
* @see javax.webbeans.Event
*/
public class EventImpl<T> extends FacadeImpl<T> implements Event<T>
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-14 22:24:20 UTC (rev 525)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-14 22:45:47 UTC (rev 526)
@@ -568,23 +568,21 @@
manager.fireEvent(new Integer(1));
}
- @Test(groups = { "broken", "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @Test(groups = { "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
@SpecAssertion(section = "8.6")
public void testDuplicateBindingsToFireFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(SweeWaxbill.class);
- assert beans.size() == 1;
- SweeWaxbill bean = (SweeWaxbill)beans.iterator().next().create();
+ webBeansBootstrap.registerBeans(SweeWaxbill.class);
+ SweeWaxbill bean = manager.getInstanceByType(SweeWaxbill.class);
bean.methodThatFiresEvent();
}
- @Test(groups = { "broken", "events" })
+ @Test(groups = { "events" }, expectedExceptions={ DuplicateBindingTypeException.class })
@SpecAssertion(section = "8.6")
public void testDuplicateBindingsToObservesFails()
{
- Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(SweeWaxbill.class);
- assert beans.size() == 1;
- SweeWaxbill bean = (SweeWaxbill)beans.iterator().next().create();
+ webBeansBootstrap.registerBeans(SweeWaxbill.class);
+ SweeWaxbill bean = manager.getInstanceByType(SweeWaxbill.class);
bean.methodThatRegistersObserver();
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/Role.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/Role.java 2008-12-14 22:24:20 UTC (rev 525)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/annotations/Role.java 2008-12-14 22:45:47 UTC (rev 526)
@@ -1,8 +1,13 @@
package org.jboss.webbeans.test.annotations;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
import javax.webbeans.BindingType;
@BindingType
+@Retention(RUNTIME)
public @interface Role
{
String value();
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java 2008-12-14 22:24:20 UTC (rev 525)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/SweeWaxbill.java 2008-12-14 22:45:47 UTC (rev 526)
@@ -9,8 +9,7 @@
public class SweeWaxbill
{
- @Observable
- @Role("Admin")
+ @Observable @Role("Admin")
private Event<String> simpleEvent;
public void methodThatFiresEvent()
15 years, 6 months
[webbeans-commits] Webbeans SVN: r525 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean and 8 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-14 17:24:20 -0500 (Sun, 14 Dec 2008)
New Revision: 525
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ManagerBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Baboon.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Orangutan.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TameOrangutan.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Chimpanzee.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Gibbon.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/AbstractUserTransaction.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/UserTransaction.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
Log:
Better way to register Manager, fix broken build and tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -46,6 +46,7 @@
import javax.webbeans.manager.Interceptor;
import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.proxy.ProxyPool;
import org.jboss.webbeans.contexts.ContextMap;
import org.jboss.webbeans.contexts.DependentContext;
@@ -65,6 +66,7 @@
* @author Pete Muir
*
*/
+@Standard
public class ManagerImpl implements Manager
{
// The JNDI key to place the manager under
@@ -97,12 +99,12 @@
public ManagerImpl()
{
this.beans = new CopyOnWriteArrayList<Bean<?>>();
- this.eventManager = new EventManager(this);
this.resolver = new Resolver(this);
this.proxyPool = new ProxyPool();
this.decorators = new HashSet<Decorator>();
this.interceptors = new HashSet<Interceptor>();
this.contextMap = new ContextMap();
+ this.eventManager = new EventManager(this);
List<Class<? extends Annotation>> defaultEnabledDeploymentTypes = new ArrayList<Class<? extends Annotation>>();
defaultEnabledDeploymentTypes.add(0, Standard.class);
@@ -264,7 +266,7 @@
* @param beans The set of beans to add
* @return A reference to the manager
*/
- public void setBeans(Set<Bean<?>> beans)
+ public void setBeans(Set<AbstractBean<?, ?>> beans)
{
synchronized (beans)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -62,7 +62,7 @@
{
@SuppressWarnings("unchecked")
- private static Set<Class<?>> STANDARD_WEB_BEAN_CLASSES = new HashSet<Class<?>>(Arrays.asList(DefaultEnterpriseBeanLookup.class, Event.class));
+ private static Set<Class<?>> STANDARD_WEB_BEAN_CLASSES = new HashSet<Class<?>>(Arrays.asList(DefaultEnterpriseBeanLookup.class, Event.class, ManagerImpl.class));
/**
* Helper class for getting deployment type
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ManagerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ManagerBean.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ManagerBean.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,153 +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.bean;
-
-import java.lang.annotation.Annotation;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.webbeans.Dependent;
-import javax.webbeans.Standard;
-import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
-
-import org.jboss.webbeans.bindings.CurrentBinding;
-import org.jboss.webbeans.util.Reflections;
-
-/**
- * Helper bean for accessing the Manager
- *
- * @author Pete Muir
- *
- */
-public class ManagerBean extends Bean<Manager>
-{
- // The API types of the manager
- private static Set<Class<?>> types = Reflections.getTypeHierachy(Manager.class);
- // The binding types of the manager
- private static final Set<Annotation> BINDING = new HashSet<Annotation>(Arrays.asList(new CurrentBinding()));
-
- /**
- * Constructor
- *
- * @param manager The Web Beans manager
- */
- public ManagerBean(Manager manager)
- {
- super(manager);
- }
-
- /**
- * Creates an instance of the manager
- *
- * @return An instance
- */
- @Override
- public Manager create()
- {
- return getManager();
- }
-
- /**
- * Destroys the manager (not)
- */
- @Override
- public void destroy(Manager instance)
- {
- // No -op
- }
-
- /**
- * Gets the binding types
- *
- * @return A set containing Current
- */
- @Override
- public Set<Annotation> getBindingTypes()
- {
- return BINDING;
- }
-
- /**
- * Gets the deployment types
- *
- * @return Standard
- */
- @Override
- public Class<? extends Annotation> getDeploymentType()
- {
- return Standard.class;
- }
-
- /**
- * Gets the name
- *
- * @return null
- */
- @Override
- public String getName()
- {
- return null;
- }
-
- /**
- * Gets the scope type
- *
- * @return Dependent
- */
- @Override
- public Class<? extends Annotation> getScopeType()
- {
- return Dependent.class;
- }
-
- /**
- * Gets the API types
- *
- * @return The API types
- */
- @Override
- public Set<Class<?>> getTypes()
- {
- return types;
- }
-
- /**
- * Indicates if the bean is nullable
- *
- * @return true
- */
- @Override
- public boolean isNullable()
- {
- return true;
- }
-
- /**
- * Indicates if the bean is serializable
- *
- * @return false
- */
- @Override
- public boolean isSerializable()
- {
- return false;
- }
-
-}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -43,7 +43,6 @@
import javax.webbeans.Observer;
import javax.webbeans.Observes;
import javax.webbeans.Obtainable;
-import javax.webbeans.manager.Bean;
import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.ManagerImpl;
@@ -52,7 +51,6 @@
import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.bean.InstanceBean;
-import org.jboss.webbeans.bean.ManagerBean;
import org.jboss.webbeans.bean.ProducerFieldBean;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bindings.InitializedBinding;
@@ -120,8 +118,7 @@
*/
public void registerBeans(Iterable<Class<?>> classes)
{
- Set<Bean<?>> beans = (Set) createBeans(classes);
- beans.add(new ManagerBean(manager));
+ Set<AbstractBean<?, ?>> beans = createBeans(classes);
manager.setBeans(beans);
}
@@ -151,6 +148,7 @@
}
}
createBean(BeanFactory.createSimpleBean(Transaction.class, manager), beans);
+ createBean(BeanFactory.createSimpleBean(ManagerImpl.class, manager), beans);
createBean(BeanFactory.createSimpleBean(DefaultEnterpriseBeanLookup.class, manager), beans);
return beans;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -135,9 +135,8 @@
// The map of registered observers for a give
private final RegisteredObserversMap registeredObservers;
- // The current UserTransaction
- private UserTransaction userTransaction;
+
/**
* Initializes a new instance of the EventManager.
*
@@ -147,7 +146,6 @@
{
this.manager = manager;
registeredObservers = new RegisteredObserversMap();
- userTransaction = manager.getInstanceByType(UserTransaction.class);
}
/**
@@ -196,6 +194,7 @@
*/
private boolean isTransactionActive()
{
+ UserTransaction userTransaction = manager.getInstanceByType(UserTransaction.class);
try
{
return userTransaction!=null && userTransaction.getStatus() == Status.STATUS_ACTIVE;
@@ -240,6 +239,7 @@
*/
private <T> void deferEvent(T event, Observer<T> observer)
{
+ UserTransaction userTransaction = manager.getInstanceByType(UserTransaction.class);
DeferredEventNotification<T> deferredEvent = new DeferredEventNotification<T>(event, observer);
userTransaction.registerSynchronization(deferredEvent);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -205,24 +205,23 @@
{
try
{
- // TODO: more details in the exceptions
return getDelegate().newInstance(getParameterValues(parameters, manager));
}
catch (IllegalArgumentException e)
{
- throw new ExecutionException(e);
+ throw new ExecutionException("Error instantiating " + toString, e);
}
catch (InstantiationException e)
{
- throw new ExecutionException(e);
+ throw new ExecutionException("Error instantiating " + toString, e);
}
catch (IllegalAccessException e)
{
- throw new ExecutionException(e);
+ throw new ExecutionException("Error instantiating " + toString, e);
}
catch (InvocationTargetException e)
{
- throw new ExecutionException(e);
+ throw new ExecutionException("Error instantiating " + toString, e);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/AbstractUserTransaction.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/AbstractUserTransaction.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/AbstractUserTransaction.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -6,7 +6,6 @@
import static javax.transaction.Status.STATUS_NO_TRANSACTION;
import static javax.transaction.Status.STATUS_ROLLEDBACK;
-import javax.persistence.EntityManager;
import javax.transaction.Synchronization;
import javax.transaction.SystemException;
@@ -63,12 +62,12 @@
public abstract void registerSynchronization(Synchronization sync);
- public void enlist(EntityManager entityManager) throws SystemException
+ /*public void enlist(EntityManager entityManager) throws SystemException
{
if ( isActiveOrMarkedRollback() )
{
entityManager.joinTransaction();
}
- }
+ }*/
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/UserTransaction.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/UserTransaction.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/transaction/UserTransaction.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,6 +1,5 @@
package org.jboss.webbeans.transaction;
-import javax.persistence.EntityManager;
import javax.transaction.Synchronization;
import javax.transaction.SystemException;
@@ -25,5 +24,5 @@
public boolean isConversationContextRequired();
public abstract void registerSynchronization(Synchronization sync);
- public void enlist(EntityManager entityManager) throws SystemException;
+ // public void enlist(EntityManager entityManager) throws SystemException;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -37,23 +37,33 @@
public void testSingleSimpleBean()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Tuna.class);
- assert beans.size() == 1;
- assert beans.iterator().next().getType().equals(Tuna.class);
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (AbstractBean<?, ?> bean : beans)
+ {
+ classes.put(bean.getType(), bean);
+ }
+ assert classes.containsKey(Tuna.class);
}
@Test(groups="bootstrap")
public void testSingleEnterpriseBean()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Hound.class);
- assert beans.size() == 1;
- assert beans.iterator().next().getType().equals(Hound.class);
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (AbstractBean<?, ?> bean : beans)
+ {
+ classes.put(bean.getType(), bean);
+ }
+ assert classes.containsKey(Hound.class);
}
@Test(groups="bootstrap")
public void testMultipleSimpleBean()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
- assert beans.size() == 4;
+ assert beans.size() == 4 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
@@ -74,7 +84,7 @@
public void testProducerMethodBean()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TarantulaProducer.class);
- assert beans.size() == 2;
+ assert beans.size() == 2 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
@@ -91,7 +101,7 @@
public void testMultipleEnterpriseBean()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
- assert beans.size() == 4;
+ assert beans.size() == 4 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
@@ -112,7 +122,7 @@
public void testMultipleEnterpriseAndSimpleBean()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
- assert beans.size() == 8;
+ assert beans.size() == 8 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
@@ -141,7 +151,7 @@
public void testRegisterProducerMethodBean()
{
webBeansBootstrap.registerBeans(TarantulaProducer.class);
- assert manager.getBeans().size() == 4;
+ assert manager.getBeans().size() == 2 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : manager.getBeans())
{
@@ -202,7 +212,7 @@
{
webBeansBootstrap.boot(new MockWebBeanDiscovery(new HashSet<Class<?>>(Arrays.asList(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class)), null, null));
- assert manager.getBeans().size() == 10;
+ assert manager.getBeans().size() == 8 + MockManagerImpl.BUILT_IN_BEANS;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : manager.getBeans())
{
@@ -211,7 +221,6 @@
classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
}
}
- assert classes.containsKey(DefaultEnterpriseBeanLookup.class);
assert classes.containsKey(Hound.class);
assert classes.containsKey(Elephant.class);
assert classes.containsKey(Panther.class);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -336,7 +336,7 @@
public void testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Pomeranian.class);
- assert beans.size() == 1;
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
Set<Observer<MockManagerImpl>> observers = manager.resolveObservers(manager, new InitializedBinding());
assert observers.size() == 2;
}
@@ -346,7 +346,7 @@
public void testObserverMethodOnEnterpriseBeanNotBusinessMethodOrStaticFails()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TibetanTerrier.class);
- assert beans.size() == 1;
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
Set<Observer<MockManagerImpl>> observers = manager.resolveObservers(manager, new InitializedBinding());
assert observers.size() == 1;
}
@@ -383,7 +383,7 @@
{
// This observer has no binding types specified
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(Pomeranian.class);
- assert beans.size() == 1;
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
// Resolve registered observers with an event containing no binding types
Set<Observer<String>> resolvedObservers = manager.resolveObservers("A new event");
@@ -555,7 +555,7 @@
public void testNonTransactionalObserverThrownNonCheckedExceptionIsRethrown()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TeaCupPomeranian.class);
- assert beans.size() == 1;
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
manager.fireEvent("Another event");
}
@@ -564,7 +564,7 @@
public void testNonTransactionalObserverThrownCheckedExceptionIsWrappedAndRethrown()
{
Set<AbstractBean<?, ?>> beans = webBeansBootstrap.createBeans(TeaCupPomeranian.class);
- assert beans.size() == 1;
+ assert beans.size() == 1 + MockManagerImpl.BUILT_IN_BEANS;
manager.fireEvent(new Integer(1));
}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Baboon.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Baboon.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Baboon.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,12 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.ejb.Remote;
-import javax.webbeans.Production;
-
-@Remote
-@Production
-// TODO @BoundTo("/beans/baboon")
-public interface Baboon extends Animal
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Orangutan.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Orangutan.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Orangutan.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,18 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.ejb.Remote;
-import javax.webbeans.Destructor;
-import javax.webbeans.Named;
-import javax.webbeans.Production;
-
-@Remote
-@Production
-//TODO @BoundTo("/beans/orangutan")
-@Named
-public interface Orangutan extends Animal
-{
-
- @Destructor
- public void removeOrangutan();
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TameOrangutan.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TameOrangutan.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TameOrangutan.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,17 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.ejb.Remote;
-import javax.webbeans.Named;
-import javax.webbeans.Production;
-
-import org.jboss.webbeans.test.annotations.Tame;
-
-@Remote
-@Production
-// TODO @BoundTo("/beans/tame/orangutan")
-@Tame
-@Named
-public interface TameOrangutan extends Orangutan
-{
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Chimpanzee.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Chimpanzee.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Chimpanzee.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,16 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remote;
-import javax.webbeans.Destructor;
-import javax.webbeans.Production;
-
-@Remote
-// TODO @BoundTo("/beans/Chimpanzee")
-@Production
-public interface Chimpanzee
-{
-
- @Destructor
- public void remove(String foo);
-
-}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Gibbon.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Gibbon.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Gibbon.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -1,19 +0,0 @@
-package org.jboss.webbeans.test.beans.broken;
-
-import javax.ejb.Remote;
-import javax.webbeans.Destructor;
-import javax.webbeans.Production;
-
-@Remote
-// TODO @BoundTo("/beans/Chimpanzee")
-@Production
-public interface Gibbon
-{
-
- @Destructor
- public void remove();
-
- @Destructor
- public void removeAgain();
-
-}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java 2008-12-14 21:52:56 UTC (rev 524)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java 2008-12-14 22:24:20 UTC (rev 525)
@@ -13,7 +13,7 @@
public class MockManagerImpl extends ManagerImpl
{
- public static int BUILT_IN_BEANS = 2;
+ public static int BUILT_IN_BEANS = 4;
private Object event = null;
private Annotation[] eventBindings = null;
15 years, 6 months