[jboss-cvs] JBossAS SVN: r64350 - in projects/microcontainer/trunk/kernel/src/main/org/jboss: kernel/plugins/annotations and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jul 30 10:54:00 EDT 2007


Author: alesj
Date: 2007-07-30 10:54:00 -0400 (Mon, 30 Jul 2007)
New Revision: 64350

Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java
Log:
Eventually set ElementType.TYPE on Annotation at Value plugins - better fit.
Currently disabled, since they don't really bring any value (need reseting BeanInfo to work - see ConstructorValueAnnotationPlugin).

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ArrayValue.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ArrayValue
 {
    String clazz() default "";

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/CollectionValue.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface CollectionValue
 {
    String clazz() default "";

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/Inject.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -34,7 +34,7 @@
  * @author <a href="mailto:ales.justin at genera-lynx.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface Inject
 {
    /**

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ListValue.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ListValue
 {
    String clazz() default "";

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/MapValue.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface MapValue
 {
    String clazz() default "";

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/SetValue.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface SetValue
 {
    String clazz() default "";

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/StringValue.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface StringValue
 {
    String value();

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/annotations/ValueFactory.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -30,7 +30,7 @@
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 @Retention(RetentionPolicy.RUNTIME)
- at Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
+ at Target({ElementType.METHOD, ElementType.PARAMETER})
 public @interface ValueFactory
 {
    String bean();

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -80,8 +80,7 @@
       addAnnotationPlugin(new DemandsAnnotationPlugin());
       addAnnotationPlugin(new DependsAnnotationPlugin());
       addAnnotationPlugin(new SupplysAnnotationPlugin());
-      // constructor
-      addAnnotationPlugin(new ConstructorParameterAnnotationPlugin(adapters));
+/*
       addAnnotationPlugin(new InjectConstructorValueAnnotationPlugin());
       addAnnotationPlugin(new StringValueConstructorValueAnnotationPlugin());
       addAnnotationPlugin(new ValueFactoryConstructorValueAnnotationPlugin());
@@ -90,6 +89,9 @@
       addAnnotationPlugin(new SetConstructorValueAnnotationPlugin());
       addAnnotationPlugin(new ArrayConstructorValueAnnotationPlugin());
       addAnnotationPlugin(new MapConstructorValueAnnotationPlugin());
+*/
+      // constructor
+      addAnnotationPlugin(new ConstructorParameterAnnotationPlugin(adapters));
       // property
       addAnnotationPlugin(InjectAnnotationPlugin.INSTANCE);
       addAnnotationPlugin(StringValueAnnotationPlugin.INSTANCE);

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java	2007-07-30 14:27:32 UTC (rev 64349)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ConstructorValueAnnotationPlugin.java	2007-07-30 14:54:00 UTC (rev 64350)
@@ -23,31 +23,37 @@
 
 import java.lang.annotation.Annotation;
 
-import org.jboss.reflect.spi.ConstructorInfo;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
 
 /**
  * @param <C> annotation type
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
-public abstract class ConstructorValueAnnotationPlugin<C extends Annotation> extends ConstructorAnnotationPlugin<C> implements Annotation2ValueMetaDataAdapter<C>
+public abstract class ConstructorValueAnnotationPlugin<C extends Annotation> extends ClassAnnotationPlugin<C> implements Annotation2ValueMetaDataAdapter<C>
 {
    protected ConstructorValueAnnotationPlugin(Class<C> annotation)
    {
       super(annotation);
    }
 
-   protected boolean isMetaDataAlreadyPresent(ConstructorInfo info, C annotation, BeanMetaData beanMetaData)
+   protected boolean isMetaDataAlreadyPresent(ClassInfo info, C annotation, BeanMetaData beanMetaData)
    {
       return beanMetaData.getConstructor() != null;
    }
 
-   protected void internalApplyAnnotation(ConstructorInfo info, C annotation, BeanMetaData beanMetaData) throws Throwable
+   protected void internalApplyAnnotation(ClassInfo info, C annotation, KernelControllerContext context) throws Throwable
    {
+      AbstractBeanMetaData beanMetaData = (AbstractBeanMetaData)context.getBeanMetaData();
       AbstractConstructorMetaData constructor = new AbstractConstructorMetaData();
       constructor.setValue(createValueMetaData(annotation));
-      ((AbstractBeanMetaData)beanMetaData).setConstructor(constructor);
+      beanMetaData.setConstructor(constructor);
+      // reset, if present
+      beanMetaData.setBean(null);
+      context.setBeanInfo(null);
+      executeVisit(context, constructor);
    }
 }




More information about the jboss-cvs-commits mailing list