[webbeans-commits] Webbeans SVN: r2951 - ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard and 3 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Wed Jul 1 17:51:21 EDT 2009
Author: pete.muir at jboss.org
Date: 2009-07-01 17:51:21 -0400 (Wed, 01 Jul 2009)
New Revision: 2951
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InstanceBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/registerUsingEvent/FinchKeeper.java
Log:
Fix failing test, make defaulting annotations for events hacky and simple for now
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -80,6 +80,8 @@
import org.jboss.webbeans.event.EventObserver;
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.introspector.WBAnnotated;
+import org.jboss.webbeans.literal.AnyLiteral;
+import org.jboss.webbeans.literal.CurrentLiteral;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.manager.api.WebBeansManager;
@@ -487,6 +489,13 @@
{
throw new IllegalArgumentException("Duplicate binding types: " + bindings);
}
+
+ // Manually hack in the default annotations here. We need to redo all the annotation defaulting throughout. PLM
+ if (bindingAnnotations.size() == 0)
+ {
+ bindingAnnotations.add(new CurrentLiteral());
+ }
+ bindingAnnotations.add(new AnyLiteral());
checkEventType(clazz);
Set<Observer<T>> observers = new HashSet<Observer<T>>();
Set<EventObserver<?>> eventObservers = observerResolver.resolve(ResolvableFactory.of(new Reflections.HierarchyDiscovery(clazz).getFlattenedTypes(), bindingAnnotations));
@@ -769,7 +778,7 @@
throw new IllegalArgumentException("Event type " + event.getClass().getName() + " cannot be fired with non-binding type " + binding.getClass().getName() + " specified");
}
}
-
+
Set<Observer<Object>> observers = resolveObservers(event, bindings);
try
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -19,7 +19,6 @@
import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -95,13 +94,6 @@
return manager.getCurrent();
}
- protected static Set<Annotation> removeBindings(Set<Annotation> bindings, Annotation...remove)
- {
- Set<Annotation> a = new HashSet<Annotation>(bindings);
- a.removeAll(Arrays.asList(remove));
- return a;
- }
-
protected Set<? extends Annotation> getBindings()
{
return Collections.unmodifiableSet(bindings);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -19,7 +19,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.util.HashSet;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
@@ -52,7 +51,7 @@
if (genericType instanceof ParameterizedType )
{
Type type = ((ParameterizedType) genericType).getActualTypeArguments()[0];
- return newInstance(type, fixBindings(injectionPoint.getBindings()));
+ return newInstance(type, injectionPoint.getBindings());
}
else
{
@@ -71,28 +70,6 @@
}
}
- /**
- * Merges and validates the current and new bindings
- *
- * Checks with an abstract method for annotations to exclude
- *
- * @param currentBindings Existing bindings
- * @param newBindings New bindings
- * @return The union of the bindings
- */
- protected Set<Annotation> fixBindings(Set<? extends Annotation> bindings)
- {
- Set<Annotation> result = new HashSet<Annotation>();
- for (Annotation newAnnotation : bindings)
- {
- if (!getFilteredAnnotationTypes().contains(newAnnotation.annotationType()))
- {
- result.add(newAnnotation);
- }
- }
- return result;
- }
-
public void destroy(T instance, CreationalContext<T> creationalContext)
{
// TODO Auto-generated method stub
@@ -103,13 +80,6 @@
{
return true;
}
-
- /**
- * Gets a set of annotation classes to ignore
- *
- * @return A set of annotation classes to ignore
- */
- protected abstract Set<Class<? extends Annotation>> getFilteredAnnotationTypes();
protected abstract T newInstance(Type type, Set<Annotation> annotations);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -23,7 +23,6 @@
import java.util.Set;
import javax.enterprise.event.Event;
-import javax.enterprise.inject.Any;
import javax.enterprise.inject.TypeLiteral;
import org.jboss.webbeans.BeanManagerImpl;
@@ -39,7 +38,6 @@
private static final Annotation ANY = new AnyLiteral();
private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>(Arrays.asList(ANY));
public static final ResolvableTransformer TRANSFORMER = new FacadeBeanResolvableTransformer(TYPE);
- private static final Set<Class<? extends Annotation>> FILTERED_ANNOTATION_TYPES = new HashSet<Class<? extends Annotation>>(Arrays.asList(Any.class));
public static AbstractFacadeBean<Event<?>> of(BeanManagerImpl manager)
@@ -74,12 +72,6 @@
{
return EventImpl.of(type, getManager(), annotations);
}
-
- @Override
- protected Set<Class<? extends Annotation>> getFilteredAnnotationTypes()
- {
- return FILTERED_ANNOTATION_TYPES;
- }
@Override
public String toString()
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InstanceBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InstanceBean.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/InstanceBean.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -38,7 +38,6 @@
private static final Set<Type> DEFAULT_TYPES = new HashSet<Type>(Arrays.asList(TYPE, Object.class));
private static final Any ANY = new AnyLiteral();
private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>(Arrays.asList(ANY));
- private static final Set<Class<? extends Annotation>> FILTERED_ANNOTATION_TYPES = new HashSet<Class<? extends Annotation>>(Arrays.asList(Any.class));
public static final ResolvableTransformer TRANSFORMER = new FacadeBeanResolvableTransformer(TYPE);
@@ -74,12 +73,6 @@
{
return InstanceImpl.of(type, getManager(), annotations);
}
-
- @Override
- protected Set<Class<? extends Annotation>> getFilteredAnnotationTypes()
- {
- return FILTERED_ANNOTATION_TYPES;
- }
@Override
public String toString()
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -26,7 +26,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.FacadeImpl;
-import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.util.Strings;
/**
@@ -57,7 +56,7 @@
*/
public EventImpl(Type eventType, BeanManagerImpl manager, Set<Annotation> bindings)
{
- super(eventType, manager, removeBindings(bindings, new AnyLiteral()));
+ super(eventType, manager, bindings);
}
/**
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -4,72 +4,70 @@
import javax.enterprise.event.Observes;
import javax.enterprise.inject.AnnotationLiteral;
import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Current;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.test.AbstractWebBeansTest;
import org.testng.annotations.Test;
- at Artifact
+ at Artifact
public class SimpleEventTest extends AbstractWebBeansTest
{
- private static boolean called_flag_for_BindingType;
- private static boolean called_flag_for_NonBindingType;
+ private static boolean RECEIVE_1_OBSERVED;
+ private static boolean RECEIVE_2_OBSERVED;
- private static void initCalledFlag() {
- called_flag_for_BindingType = false;
- called_flag_for_NonBindingType = false;
+ private static void initFlags() {
+ RECEIVE_1_OBSERVED = false;
+ RECEIVE_2_OBSERVED = false;
}
@Test
- public void testEventUsingManager()
+ public void testFireEventOnManager()
{
BeanManagerImpl manager = getCurrentManager();
- initCalledFlag();
+ initFlags();
- manager.fireEvent("Fired using Manager Interface with AnnotationLiteral.",
- new AnnotationLiteral<Updated>(){});
+ manager.fireEvent("Fired using Manager Interface with AnnotationLiteral.", new AnnotationLiteral<Updated>(){});
- assert called_flag_for_NonBindingType == true;
- assert called_flag_for_BindingType == true;
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_1_OBSERVED == true;
- initCalledFlag();
+ initFlags();
manager.fireEvent("Fired using Manager Interface.");
- assert called_flag_for_NonBindingType == true;
- assert called_flag_for_BindingType == false; // not called
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_1_OBSERVED == false; // not called
}
@Test
- public void testEventUsingEvent()
+ public void testFireEventOnEvent()
{
BeanManagerImpl manager = getCurrentManager();
- App app = manager.getInstanceByType(App.class);
+ App app = createContextualInstance(App.class);
- initCalledFlag();
+ initFlags();
-// app.fireEventByBindingDeclaredAtInjectionPoint();
-//
-// assert called_flag_for_NonBindingType == true;
-// assert called_flag_for_BindingType == true;
+ app.fireEventByBindingDeclaredAtInjectionPoint();
+
+ assert RECEIVE_1_OBSERVED == true;
+ assert RECEIVE_2_OBSERVED == true;
- initCalledFlag();
+ initFlags();
app.fireEventByAnnotationLiteral();
- assert called_flag_for_NonBindingType == true;
- assert called_flag_for_BindingType == true;
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_1_OBSERVED == true;
- initCalledFlag();
+ initFlags();
- app.fireEventNonBindingType();
+ app.fireEventViaAny();
- assert called_flag_for_NonBindingType == true;
- assert called_flag_for_BindingType == false; // not called
+ assert RECEIVE_2_OBSERVED == true;
+ assert RECEIVE_1_OBSERVED == false; // not called
}
public static class App
@@ -94,7 +92,7 @@
event2.fire("Fired using Event Interface with Binding Declared.");
}
- public void fireEventNonBindingType()
+ public void fireEventViaAny()
{
event3.fire("Fired using Event Interface with Non-BindingType.");
}
@@ -104,12 +102,12 @@
{
public void receive1(@Observes @Updated String s)
{
- called_flag_for_BindingType = true;
+ RECEIVE_1_OBSERVED = true;
}
- public void receive2(@Observes String s)
+ public void receive2(@Any @Observes String s)
{
- called_flag_for_NonBindingType = true;
+ RECEIVE_2_OBSERVED = true;
}
}
}
\ No newline at end of file
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/registerUsingEvent/FinchKeeper.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/registerUsingEvent/FinchKeeper.java 2009-07-01 21:07:14 UTC (rev 2950)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/observer/registerUsingEvent/FinchKeeper.java 2009-07-01 21:51:21 UTC (rev 2951)
@@ -11,7 +11,7 @@
{
private boolean newMessDetected = false;
- public void observesMesses(@Tame @Any @Observes Mess aNewMess)
+ public void observesMesses(@Any @Observes Mess aNewMess)
{
newMessDetected = true;
}
More information about the weld-commits
mailing list