[seam-commits] Seam SVN: r12539 - modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Tue Apr 20 20:06:55 EDT 2010


Author: swd847
Date: 2010-04-20 20:06:54 -0400 (Tue, 20 Apr 2010)
New Revision: 12539

Modified:
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
Log:
changes to generic beans, now generic beans are created for subclasses of the main type



Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java	2010-04-20 23:35:21 UTC (rev 12538)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java	2010-04-21 00:06:54 UTC (rev 12539)
@@ -150,9 +150,18 @@
          }
          for (BeanResult<?> bb : r.getBeans())
          {
-            if (genericBeans.containsKey(bb.getType()))
+            GenericBeanResult found = null;
+            for(Class g : genericBeans.keySet())
             {
-               List<AnnotatedType<?>> types = processGenericBeans(bb, genericBeans.get(bb.getType()), beanManager);
+               if(g.isAssignableFrom(bb.getType()))
+               {
+                  found = genericBeans.get(g);
+                  break;
+               }
+            }
+            if (found != null)
+            {
+               List<AnnotatedType<?>> types = processGenericBeans(bb, found, beanManager);
                for (AnnotatedType<?> i : types)
                {
                   event.addAnnotatedType(i);
@@ -336,7 +345,6 @@
            
             if (m.isAnnotationPresent(ApplyQualifiers.class))
             {
-              
                if(!isQualifierPresent(m, beanManager))
                {
                   gb.addToMethod(m.getJavaMember(), new DefaultLiteral());



More information about the seam-commits mailing list