[weld-commits] Weld SVN: r4749 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Sat Nov 7 15:27:47 EST 2009


Author: pete.muir at jboss.org
Date: 2009-11-07 15:27:46 -0500 (Sat, 07 Nov 2009)
New Revision: 4749

Modified:
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/AfterBeanDiscoveryObserver.java
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/CustomDecoratorImplementation.java
Log:
Veto deployment of VehicleDecorator type, sort out generics

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/AfterBeanDiscoveryObserver.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/AfterBeanDiscoveryObserver.java	2009-11-07 20:17:35 UTC (rev 4748)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/AfterBeanDiscoveryObserver.java	2009-11-07 20:27:46 UTC (rev 4749)
@@ -1,27 +1,35 @@
 package org.jboss.jsr299.tck.tests.decorators.custom;
 
+import java.util.Set;
+
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.AfterBeanDiscovery;
 import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedType;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.Extension;
-import javax.inject.Inject;
+import javax.enterprise.inject.spi.ProcessAnnotatedType;
 
 public class AfterBeanDiscoveryObserver implements Extension
 {
-   @Inject
-   private BeanManager manager;
 
    private static CustomDecoratorImplementation decorator;
 
    @SuppressWarnings("unchecked")
-   public void addInterceptors(@Observes AfterBeanDiscovery event)
+   public void addInterceptors(@Observes AfterBeanDiscovery event,BeanManager beanManager)
    {
-      AnnotatedField<VehicleDecorator> annotatedField = (AnnotatedField<VehicleDecorator>) manager.createAnnotatedType(VehicleDecorator.class).getFields().iterator().next();
+      AnnotatedType<VehicleDecorator> type = beanManager.createAnnotatedType(VehicleDecorator.class);
+      Set<AnnotatedField<? super VehicleDecorator>> annotatedFields = type.getFields();
+      AnnotatedField<? super VehicleDecorator> annotatedField = annotatedFields.iterator().next();
       decorator = new CustomDecoratorImplementation(annotatedField);
 
       event.addBean(decorator);
    }
+   
+   public void vetoVehicleDecorator(@Observes ProcessAnnotatedType<VehicleDecorator> event)
+   {
+      event.veto();
+   }
 
    public static CustomDecoratorImplementation getDecorator()
    {

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/CustomDecoratorImplementation.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/CustomDecoratorImplementation.java	2009-11-07 20:17:35 UTC (rev 4748)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/custom/CustomDecoratorImplementation.java	2009-11-07 20:27:46 UTC (rev 4749)
@@ -23,10 +23,10 @@
    private boolean getDelegateQualifiersCalled = false;
    private boolean getDelegateTypeCalled = false;
 
-   private AnnotatedField<VehicleDecorator> annotatedField;
+   private AnnotatedField<? super VehicleDecorator> annotatedField;
    private Set<Type> decoratedTypes = new HashSet<Type>();
 
-   public CustomDecoratorImplementation(AnnotatedField<VehicleDecorator> annotatedField)
+   public CustomDecoratorImplementation(AnnotatedField<? super VehicleDecorator> annotatedField)
    {
       this.annotatedField = annotatedField;
       decoratedTypes.add(Vehicle.class);



More information about the weld-commits mailing list