[webbeans-commits] Webbeans SVN: r420 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/event and 4 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Fri Dec 5 16:50:03 EST 2008
Author: gavin.king at jboss.com
Date: 2008-12-05 16:50:03 -0500 (Fri, 05 Dec 2008)
New Revision: 420
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
Log:
Make the event bus finally work :-)
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-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -212,7 +212,7 @@
*/
public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings)
{
- return eventManager.getObservers(event, bindings);
+ return eventManager.getObservers(metaDataCache, event, bindings);
}
/**
@@ -536,6 +536,12 @@
{
return getInstanceByType(new AnnotatedClassImpl<T>(type, type, bindings), bindings);
}
+
+ public <T> T getMostSpecializedInstance(Bean<T> bean, boolean create)
+ {
+ //TODO!!!!!
+ return getInstance(bean);
+ }
/**
* Returns an instance by type literal and binding types
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-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -31,6 +31,7 @@
import javax.webbeans.Observer;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.transaction.TransactionListener;
import org.jboss.webbeans.util.JNDI;
import org.jboss.webbeans.util.Strings;
@@ -170,12 +171,12 @@
* matches.
*/
@SuppressWarnings("unchecked")
- public <T> Set<Observer<T>> getObservers(T event, Annotation... bindings)
+ public <T> Set<Observer<T>> getObservers(MetaDataCache mdc, T event, Annotation... bindings)
{
Set<Observer<T>> interestedObservers = new HashSet<Observer<T>>();
for (EventObserver<?> observer : registeredObservers.get(event.getClass()))
{
- if (observer.isObserverInterested(bindings))
+ if (observer.isObserverInterested(mdc, bindings))
{
interestedObservers.add((Observer<T>) observer.getObserver());
}
@@ -192,7 +193,7 @@
{
try
{
- return userTransaction.getStatus() == Status.STATUS_ACTIVE;
+ return userTransaction!=null && userTransaction.getStatus() == Status.STATUS_ACTIVE;
}
catch (SystemException e)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -23,6 +23,8 @@
import javax.webbeans.Observer;
+import org.jboss.webbeans.MetaDataCache;
+
/**
* <p>
* EventObserver wraps various {@link Observer} objects created by application
@@ -88,17 +90,30 @@
* @param bindings The event bindings
* @return true only if all required bindings match
*/
- public boolean isObserverInterested(Annotation... bindings)
+ public boolean isObserverInterested(MetaDataCache mdc, Annotation... bindings)
{
// Simply check that all event bindings specified by the observer are
// in the list provided.
- List<Annotation> bindingsArray = Arrays.asList(bindings);
- boolean result = true;
- if (!this.eventBindings.isEmpty())
+ if (this.eventBindings.isEmpty())
{
- result = bindingsArray.containsAll(this.eventBindings);
+ return true;
}
- return result;
+ else
+ {
+ //List<Annotation> bindingsArray = Arrays.asList(bindings);
+ //return bindingsArray.containsAll(this.eventBindings);
+ for (Annotation x: eventBindings) {
+ boolean found = false;
+ for (Annotation y: bindings)
+ {
+ if ( mdc.getBindingTypeModel(x.annotationType()).isEqual(x, y) ) {
+ found = true;
+ }
+ }
+ if (!found) return false;
+ }
+ return true;
+ }
}
/*
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-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -17,7 +17,12 @@
package org.jboss.webbeans.event;
-import java.lang.annotation.Annotation;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_COMPLETION;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_FAILURE;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_SUCCESS;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.BEFORE_COMPLETION;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.NONE;
+
import java.util.ArrayList;
import java.util.List;
@@ -28,16 +33,11 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.IfExists;
import javax.webbeans.Observer;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Bean;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.event.EventManager.TransactionObservationPhase;
-
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_COMPLETION;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_FAILURE;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_SUCCESS;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.BEFORE_COMPLETION;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.NONE;
import org.jboss.webbeans.introspector.AnnotatedMethod;
/**
@@ -53,7 +53,7 @@
*/
public class ObserverImpl<T> implements Observer<T>
{
- private EventBean<T> eventBean;
+ private Bean<?> observerBean;
private final AnnotatedMethod<Object> observerMethod;
private final Class<T> eventType;
private TransactionObservationPhase transactionObservationPhase;
@@ -71,9 +71,9 @@
* @param observer The observer method to notify
* @param eventType The type of event being observed
*/
- public ObserverImpl(final EventBean<T> eventBean, final AnnotatedMethod<Object> observer, final Class<T> eventType)
+ public ObserverImpl(final Bean<?> observerBean, final AnnotatedMethod<Object> observer, final Class<T> eventType)
{
- this.eventBean = eventBean;
+ this.observerBean = observerBean;
this.observerMethod = observer;
this.eventType = eventType;
initTransactionObservationPhase();
@@ -83,19 +83,19 @@
private void initTransactionObservationPhase()
{
List<TransactionObservationPhase> observationPhases = new ArrayList<TransactionObservationPhase>();
- if (observerMethod.getAnnotatedParameters(BeforeTransactionCompletion.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(BeforeTransactionCompletion.class).isEmpty())
{
observationPhases.add(BEFORE_COMPLETION);
}
- if (observerMethod.getAnnotatedParameters(AfterTransactionCompletion.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(AfterTransactionCompletion.class).isEmpty())
{
observationPhases.add(AFTER_COMPLETION);
}
- if (observerMethod.getAnnotatedParameters(AfterTransactionFailure.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(AfterTransactionFailure.class).isEmpty())
{
observationPhases.add(AFTER_FAILURE);
}
- if (observerMethod.getAnnotatedParameters(AfterTransactionSuccess.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(AfterTransactionSuccess.class).isEmpty())
{
observationPhases.add(AFTER_SUCCESS);
}
@@ -113,22 +113,11 @@
}
}
- /*
- * (non-Javadoc)
- *
- * @see javax.webbeans.Observer#getEventType()
- */
public Class<T> getEventType()
{
return eventType;
}
- /*
- * (non-Javadoc)
- *
- * @see javax.webbeans.Observer#notify(javax.webbeans.Container,
- * java.lang.Object)
- */
public void notify(final T event)
{
// Get the most specialized instance of the component
@@ -136,7 +125,7 @@
if (instance != null)
{
// TODO replace event parameter
- observerMethod.invoke(instance);
+ observerMethod.invokeWithSpecialValue(instance, Observes.class, event);
}
}
@@ -152,7 +141,7 @@
protected Object getInstance(boolean conditional)
{
// Return the most specialized instance of the component
- return ManagerImpl.instance().getInstanceByType(eventBean.getType(), eventBean.getBindingTypes().toArray(new Annotation[0]));
+ return ManagerImpl.instance().getMostSpecializedInstance(observerBean, conditional);
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -57,6 +57,15 @@
public T invoke(Object instance);
/**
+ * Invokes the observer method
+ *
+ * @param instance The instance to invoke
+ * @param event the event object
+ * @return A reference to the instance
+ */
+ public T invokeWithSpecialValue(Object instance, Class<? extends Annotation> specialParam, Object specialVal);
+
+ /**
* Invokes the method
*
* @param instance The instance to invoke
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -194,7 +194,7 @@
}
return annotationMap;
}
-
+
/**
* Static helper method for getting the current parameter values from a list
* of annotated parameters.
@@ -205,11 +205,32 @@
*/
protected static Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters)
{
+ return getParameterValues(parameters, null, null);
+ }
+
+ /**
+ * Static helper method for getting the current parameter values from a list
+ * of annotated parameters.
+ *
+ * @param parameters The list of annotated parameter to look up
+ * @return The object array of looked up values
+ *
+ */
+ protected static Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters, Object specialVal, Class<? extends Annotation> specialParam)
+ {
Object[] parameterValues = new Object[parameters.size()];
Iterator<AnnotatedParameter<Object>> iterator = parameters.iterator();
for (int i = 0; i < parameterValues.length; i++)
{
- parameterValues[i] = iterator.next().getValue();
+ AnnotatedParameter<Object> param = iterator.next();
+ if ( specialParam!=null && param.isAnnotationPresent(specialParam))
+ {
+ parameterValues[i] = specialVal;
+ }
+ else
+ {
+ parameterValues[i] = param.getValue();
+ }
}
return parameterValues;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -241,6 +241,12 @@
return (T) Reflections.invokeAndWrap(getDelegate(), instance, getParameterValues(parameters));
}
+ @SuppressWarnings("unchecked")
+ public T invokeWithSpecialValue(Object instance, Class<? extends Annotation> specialParam, Object specialVal)
+ {
+ return (T) Reflections.invokeAndWrap(getDelegate(), instance, getParameterValues(parameters, specialVal, specialParam));
+ }
+
/**
* Invokes the method on an instance with given parameters
*
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -5,6 +5,7 @@
import javax.transaction.Synchronization;
import javax.webbeans.Observer;
+import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.event.DeferredEventNotification;
import org.jboss.webbeans.event.EventManager;
import org.jboss.webbeans.test.beans.DangerCall;
@@ -41,16 +42,16 @@
eventManager.addObserver(observer, DangerCall.class);
DangerCall event = new DangerCall();
- Set<Observer<DangerCall>> observerSet = eventManager.getObservers(event);
+ Set<Observer<DangerCall>> observerSet = eventManager.getObservers(new MetaDataCache(), event);
assert observerSet.size() == 1;
assert observerSet.iterator().next().equals(observer);
// Add another observer for the same event, but with an event binding
observer = new AnObserver<DangerCall>();
eventManager.addObserver(observer, DangerCall.class, new TameAnnotationLiteral());
- observerSet = eventManager.getObservers(event);
+ observerSet = eventManager.getObservers(new MetaDataCache(), event);
assert observerSet.size() == 1;
- observerSet = eventManager.getObservers(event, new TameAnnotationLiteral());
+ observerSet = eventManager.getObservers(new MetaDataCache(), event, new TameAnnotationLiteral());
assert observerSet.size() == 2;
}
@@ -66,7 +67,7 @@
eventManager.addObserver(observer, DangerCall.class);
eventManager.removeObserver(observer, DangerCall.class);
// FIXME CopyOnWrite broke remove, have to check later
- assert eventManager.getObservers(new DangerCall()).isEmpty();
+ assert eventManager.getObservers(new MetaDataCache(), new DangerCall()).isEmpty();
}
/**
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -2,6 +2,7 @@
import javax.webbeans.Observer;
+import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.event.EventObserver;
import org.jboss.webbeans.test.beans.DangerCall;
import org.jboss.webbeans.test.bindings.AnimalStereotypeAnnotationLiteral;
@@ -39,15 +40,15 @@
Observer<DangerCall> observer = new AnObserver<DangerCall>();
EventObserver<DangerCall> wrappedObserver = new EventObserver<DangerCall>(observer, DangerCall.class, new TameAnnotationLiteral());
assert wrappedObserver.getEventBindings().size() == 1;
- assert wrappedObserver.isObserverInterested(new TameAnnotationLiteral());
- assert !wrappedObserver.isObserverInterested(new AnimalStereotypeAnnotationLiteral());
- assert !wrappedObserver.isObserverInterested();
- assert wrappedObserver.isObserverInterested(new TameAnnotationLiteral(), new RoleBinding("Admin"));
+ assert wrappedObserver.isObserverInterested(new MetaDataCache(), new TameAnnotationLiteral());
+ assert !wrappedObserver.isObserverInterested(new MetaDataCache(), new AnimalStereotypeAnnotationLiteral());
+ assert !wrappedObserver.isObserverInterested(new MetaDataCache());
+ assert wrappedObserver.isObserverInterested(new MetaDataCache(), new TameAnnotationLiteral(), new RoleBinding("Admin"));
// Perform some tests with binding values (7.7.1)
wrappedObserver = new EventObserver<DangerCall>(observer, DangerCall.class, new RoleBinding("Admin"));
assert wrappedObserver.getEventBindings().size() == 1;
- assert wrappedObserver.isObserverInterested(new RoleBinding("Admin"));
- assert !wrappedObserver.isObserverInterested(new RoleBinding("User"));
+ assert wrappedObserver.isObserverInterested(new MetaDataCache(), new RoleBinding("Admin"));
+ assert !wrappedObserver.isObserverInterested(new MetaDataCache(), new RoleBinding("User"));
}
}
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-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -1,21 +1,19 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
-
import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.List;
+import java.lang.reflect.Method;
+import javax.webbeans.AnnotationLiteral;
+import javax.webbeans.Observer;
import javax.webbeans.Observes;
-import javax.webbeans.Standard;
import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
-import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Asynchronous;
-import org.jboss.webbeans.test.beans.Tuna;
import org.jboss.webbeans.test.mock.MockManagerImpl;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -29,42 +27,43 @@
public class ObserverTest
{
private MockManagerImpl manager;
- private SimpleBean<Tuna> tuna;
+ //private SimpleBean<Tuna> tuna;
+ private SimpleBean<SampleObserver> ob;
private AnnotatedMethod<Object> om;
+ Observer<SampleEvent> observer;
- public class SampleEvent
+ private static boolean notified = false;
+
+ public static class SampleEvent
{
// Simple class used for testing
}
- public class AnObserver
+ public static class SampleObserver
{
- protected boolean notified = false;
public void observe(@Observes @Asynchronous SampleEvent e)
{
// An observer method
- this.notified = true;
+ notified = true;
}
+
}
+
+ public static @interface Foo {}
@BeforeMethod
public void before() throws Exception
{
- List<Class<? extends Annotation>> enabledDeploymentTypes = new ArrayList<Class<? extends Annotation>>();
- enabledDeploymentTypes.add(Standard.class);
- enabledDeploymentTypes.add(AnotherDeploymentType.class);
manager = new MockManagerImpl();
- manager.setEnabledDeploymentTypes(Standard.class, AnotherDeploymentType.class);
-
- // Create an observer with known binding types
- // TODO This should be a real class being mapped
- //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- //AnnotatedClass<Tuna> annotatedItem = new SimpleAnnotatedClass<Tuna>(Tuna.class, annotations);
-
- tuna = createSimpleBean(Tuna.class);
- om = new AnnotatedMethodImpl<Object>(AnObserver.class.getMethod("observe", new Class[] { SampleEvent.class }), new AnnotatedClassImpl<AnObserver>(AnObserver.class));
+ ob = BeanFactory.createSimpleBean(SampleObserver.class);
+ manager.addBean(ob);
+ Method method = SampleObserver.class.getMethod("observe", SampleEvent.class);
+ om = new AnnotatedMethodImpl<Object>(method, new AnnotatedClassImpl<SampleObserver>(SampleObserver.class));
+ observer = new ObserverImpl<SampleEvent>(ob, om, SampleEvent.class);
+ Annotation annotation = method.getParameterAnnotations()[0][1];
+ manager.addObserver(observer, SampleEvent.class, annotation);
+ notified = false;
}
/**
@@ -75,12 +74,23 @@
@Test(groups = "observerMethod") @SpecAssertion(section={"7.5.7"})
public final void testNotify() throws Exception
{
- AnObserver observerInstance = new AnObserver();
- /*Observer<SampleEvent> observer = new MockObserverImpl<SampleEvent>(tuna, om, SampleEvent.class);
- ((MockObserverImpl<SampleEvent>) observer).setInstance(observerInstance);
- SampleEvent event = new SampleEvent();
+ SampleEvent event = new SampleEvent();
+ assert notified == false;
observer.notify(event);
- assert observerInstance.notified;*/
+ assert notified == true;
}
+ @Test(groups = "observerMethod") @SpecAssertion(section={"7.5.7"})
+ public final void testNotifyViaManager() throws Exception
+ {
+ SampleEvent event = new SampleEvent();
+ assert notified == false;
+ manager.fireEvent(event);
+ assert notified == false;
+ manager.fireEvent(event, new AnnotationLiteral<Foo>() {});
+ assert notified == false;
+ manager.fireEvent(event, new AnnotationLiteral<Asynchronous>() {});
+ assert notified == true;
+ }
+
}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -1,40 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.EventBean;
-import org.jboss.webbeans.event.ObserverImpl;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-
-/**
- * An implementation used for unit testing only.
- *
- * @author David Allen
- *
- */
-public class MockObserverImpl<T> extends ObserverImpl<T>
-{
-
- private Object specializedInstance;
-
- public MockObserverImpl(ManagerImpl manager, EventBean<T> beanModel, AnnotatedMethod<Object> observer, Class<T> eventType)
- {
- super(beanModel, observer, eventType);
- }
-
- @Override
- protected final Object getInstance(boolean conditional)
- {
- return specializedInstance;
- }
-
- /**
- * The most specialized instance of this observer type.
- *
- * @param instance The instance to use for testing
- */
- public final void setInstance(Object instance)
- {
- specializedInstance = instance;
- }
-
-}
More information about the weld-commits
mailing list