[webbeans-commits] Webbeans SVN: r3598 - in ri/trunk/impl/src/main/java/org/jboss/webbeans: event and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Aug 26 12:35:30 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-08-26 12:35:30 -0400 (Wed, 26 Aug 2009)
New Revision: 3598

Modified:
   ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java
Log:
Improve generic type info

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java	2009-08-26 15:59:26 UTC (rev 3597)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java	2009-08-26 16:35:30 UTC (rev 3598)
@@ -25,8 +25,6 @@
 import javax.enterprise.inject.Initializer;
 import javax.enterprise.inject.Produces;
 import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.InjectionTarget;
 import javax.enterprise.inject.spi.ObserverMethod;
 import javax.enterprise.inject.spi.ProcessObserverMethod;
 
@@ -160,18 +158,19 @@
       }
    }
    
-   protected void createObserverMethods(RIBean<?> declaringBean, WBClass<?> annotatedClass)
+   protected <X> void createObserverMethods(RIBean<X> declaringBean, WBClass<X> annotatedClass)
    {
-      for (WBMethod<?, ?> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
+      for (WBMethod<?, X> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
       {
          createObserverMethod(declaringBean, method);
       }
    }
    
-   protected void createObserverMethod(RIBean<?> declaringBean, WBMethod<?, ?> method)
+   protected <X, T> void createObserverMethod(RIBean<X> declaringBean, WBMethod<T, X> method)
    {
-      ObserverMethodImpl<?, ?> observer = ObserverFactory.create(method, declaringBean, manager);
-      //ProcessObserverMethod<?, ?> event = createProcessObserverMethodEvent(observer, method);
+      ObserverMethodImpl<X, T> observer = ObserverFactory.create(method, declaringBean, manager);
+      ProcessObserverMethod<?, ?> event = createProcessObserverMethodEvent(observer, method);
+      manager.fireEvent(event);
       getEnvironment().addObserver(observer);
    }
    

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-08-26 15:59:26 UTC (rev 3597)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverMethodImpl.java	2009-08-26 16:35:30 UTC (rev 3598)
@@ -176,6 +176,14 @@
    {
       return transactionPhase;
    }
+   
+   /**
+    * @return the observerMethod
+    */
+   public MethodInjectionPoint<?, ?> getMethod()
+   {
+      return observerMethod;
+   }
 
    /**
     * Completes initialization of the observer and allows derived types to

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java	2009-08-26 15:59:26 UTC (rev 3597)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java	2009-08-26 16:35:30 UTC (rev 3598)
@@ -65,7 +65,7 @@
       return delegate().getDeclaredWBAnnotatedMethods(annotationType);
    }
 
-   public Set<WBMethod<?, ?>> getWBDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+   public Set<WBMethod<?, T>> getWBDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
    {
       return delegate().getWBDeclaredMethodsWithAnnotatedParameters(annotationType);
    }

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java	2009-08-26 15:59:26 UTC (rev 3597)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java	2009-08-26 16:35:30 UTC (rev 3598)
@@ -190,7 +190,7 @@
     * @return A set of abstracted methods with the given annotation. Returns an
     *         empty set if there are no matches
     */
-   public Set<WBMethod<?, ?>> getWBDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
+   public Set<WBMethod<?, T>> getWBDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
 
    /**
     * Gets the superclass.

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java	2009-08-26 15:59:26 UTC (rev 3597)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java	2009-08-26 16:35:30 UTC (rev 3598)
@@ -105,7 +105,7 @@
    // The map from annotation type to abstracted method with annotation
    private final SetMultimap<Class<? extends Annotation>, WBMethod<?, ?>> declaredAnnotatedMethods;
    // The map from annotation type to method with a parameter with annotation
-   private final SetMultimap<Class<? extends Annotation>, WBMethod<?, ?>> declaredMethodsByAnnotatedParameters;
+   private final SetMultimap<Class<? extends Annotation>, WBMethod<?, T>> declaredMethodsByAnnotatedParameters;
 
    // The set of abstracted constructors
    private final Set<WBConstructor<T>> constructors;
@@ -351,12 +351,12 @@
          }
         
       });
-      this.declaredMethodsByAnnotatedParameters = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WBMethod<?, ?>>>(), new Supplier< Set<WBMethod<?, ?>>>()
+      this.declaredMethodsByAnnotatedParameters = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WBMethod<?, T>>>(), new Supplier< Set<WBMethod<?, T>>>()
       {
          
-         public Set<WBMethod<?, ?>> get()
+         public Set<WBMethod<?, T>> get()
          {
-            return new HashSet<WBMethod<?, ?>>();
+            return new HashSet<WBMethod<?, T>>();
          }
         
       });
@@ -381,14 +381,14 @@
                method.setAccessible(true);
             }
 
-            WBMethod<?, ?> annotatedMethod = null;
+            WBMethod<?, T> annotatedMethod = null;
             if (annotatedTypeMethods.containsKey(method))
             {
                annotatedMethod = WBMethodImpl.of(annotatedTypeMethods.get(method), this, classTransformer);
             }
             else
             {
-               annotatedMethod = WBMethodImpl.of(method, getDeclaringWBClass(method, classTransformer), classTransformer);
+               annotatedMethod = WBMethodImpl.of(method, this.<T>getDeclaringWBClass(method, classTransformer), classTransformer);
             }
             this.methods.add(annotatedMethod);
             this.methodsBySignature.put(annotatedMethod.getSignature(), annotatedMethod);
@@ -594,7 +594,7 @@
       return Collections.unmodifiableSet(constructorsByAnnotatedParameters.get(annotationType));
    }
 
-   public Set<WBMethod<?, ?>> getWBDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+   public Set<WBMethod<?, T>> getWBDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
    {
       return Collections.unmodifiableSet(declaredMethodsByAnnotatedParameters.get(annotationType));
    }




More information about the weld-commits mailing list