[webbeans-commits] Webbeans SVN: r3208 - in ri/trunk/impl/src/main/java/org/jboss/webbeans: event and 1 other directory.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Sat Jul 25 07:18:51 EDT 2009
Author: dallen6
Date: 2009-07-25 07:18:51 -0400 (Sat, 25 Jul 2009)
New Revision: 3208
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java
Log:
Changed exception conditions on the event objects
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-25 00:56:08 UTC (rev 3207)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-07-25 11:18:51 UTC (rev 3208)
@@ -791,11 +791,17 @@
*/
public void fireEvent(Object event, Annotation... bindings)
{
- // Check the event object for template parameters which are not allowed by
- // the spec.
+ // Make sure the event object above is not parameterized with a type
+ // variable
if (Reflections.isParameterizedType(event.getClass()))
{
- throw new IllegalArgumentException("Event type " + event.getClass().getName() + " is not allowed because it is a generic");
+ for (Type type : Reflections.getActualTypeArguments(event.getClass()))
+ {
+ if (type instanceof TypeVariable<?>)
+ {
+ throw new IllegalArgumentException("Cannot use a type variable " + type + " in an parameterized type " + toString());
+ }
+ }
}
// Also check that the binding types are truly binding types
for (Annotation binding : bindings)
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-25 00:56:08 UTC (rev 3207)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-07-25 11:18:51 UTC (rev 3208)
@@ -23,7 +23,6 @@
import java.util.Set;
import javax.enterprise.event.Event;
-import javax.enterprise.event.Observer;
import javax.enterprise.inject.TypeLiteral;
import org.jboss.webbeans.BeanManagerImpl;
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java 2009-07-25 00:56:08 UTC (rev 3207)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java 2009-07-25 11:18:51 UTC (rev 3208)
@@ -111,7 +111,7 @@
{
for (Type type : eventParam.getActualTypeArguments())
{
- if (type instanceof TypeVariable)
+ if (type instanceof TypeVariable<?>)
{
throw new DefinitionException("Cannot use a type variable " + type + " in an parameterized type " + toString());
}
More information about the weld-commits
mailing list