[weld-commits] Weld SVN: r6814 - in extensions/trunk/impl/src/main: resources/META-INF/services and 1 other directory.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Sun Jul 25 08:35:51 EDT 2010


Author: swd847
Date: 2010-07-25 08:35:51 -0400 (Sun, 25 Jul 2010)
New Revision: 6814

Modified:
   extensions/trunk/impl/src/main/java/org/jboss/weld/extensions/core/CoreExtension.java
   extensions/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
Log:
stop CoreExtension wrapping AnnotatedTypes it does not need to
remove unused extension definition


Modified: extensions/trunk/impl/src/main/java/org/jboss/weld/extensions/core/CoreExtension.java
===================================================================
--- extensions/trunk/impl/src/main/java/org/jboss/weld/extensions/core/CoreExtension.java	2010-07-25 11:26:29 UTC (rev 6813)
+++ extensions/trunk/impl/src/main/java/org/jboss/weld/extensions/core/CoreExtension.java	2010-07-25 12:35:51 UTC (rev 6814)
@@ -69,14 +69,17 @@
          return;
       }
 
-      AnnotatedTypeBuilder<X> builder = new AnnotatedTypeBuilder<X>().readFromType(pat.getAnnotatedType());
+      AnnotatedTypeBuilder<X> builder = null;
 
       // support for @Named packages
       Package pkg = pat.getAnnotatedType().getJavaClass().getPackage();
       if (pkg.isAnnotationPresent(Named.class))
       {
          final String packageName = getPackageName(pkg);
-
+         if (builder == null)
+         {
+            builder = new AnnotatedTypeBuilder<X>().readFromType(pat.getAnnotatedType());
+         }
          builder.redefineMembers(Named.class, new MemberAnnotationRedefiner<Named>()
          {
             public Named redefine(Named annotation, Member member, AnnotationBuilder annotations)
@@ -111,6 +114,10 @@
          if (f.isAnnotationPresent(Exact.class))
          {
             Class<?> type = f.getAnnotation(Exact.class).value();
+            if (builder == null)
+            {
+               builder = new AnnotatedTypeBuilder<X>().readFromType(pat.getAnnotatedType());
+            }
             builder.overrideFieldType(f, type);
          }
       }
@@ -122,6 +129,10 @@
             if (p.isAnnotationPresent(Exact.class))
             {
                Class<?> type = p.getAnnotation(Exact.class).value();
+               if (builder == null)
+               {
+                  builder = new AnnotatedTypeBuilder<X>().readFromType(pat.getAnnotatedType());
+               }
                builder.overrideParameterType(p, type);
             }
          }
@@ -134,11 +145,18 @@
             if (p.isAnnotationPresent(Exact.class))
             {
                Class<?> type = p.getAnnotation(Exact.class).value();
+               if (builder == null)
+               {
+                  builder = new AnnotatedTypeBuilder<X>().readFromType(pat.getAnnotatedType());
+               }
                builder.overrideParameterType(p, type);
             }
          }
       }
-      pat.setAnnotatedType(builder.create());
+      if (builder != null)
+      {
+         pat.setAnnotatedType(builder.create());
+      }
 
       // support for @Constructs
       for (AnnotatedConstructor<X> constructor : pat.getAnnotatedType().getConstructors())

Modified: extensions/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
===================================================================
--- extensions/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension	2010-07-25 11:26:29 UTC (rev 6813)
+++ extensions/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension	2010-07-25 12:35:51 UTC (rev 6814)
@@ -1,6 +1,5 @@
 org.jboss.weld.extensions.bean.generic.GenericBeanExtension
 org.jboss.weld.extensions.resourceLoader.servlet.ServletResourceExtension
-org.jboss.weld.extensions.bean.lookup.IdentifiableBeanExtension
 org.jboss.weld.extensions.core.CoreExtension
 org.jboss.weld.extensions.interceptor.InterceptorExtension
 org.jboss.weld.extensions.managedproducer.ManagedProducerExtension



More information about the weld-commits mailing list