[jboss-cvs] JBossAS SVN: r97114 - in projects/kernel/trunk/kernel/src: test/java/org/jboss/test/kernel/annotations/test/wb and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 27 11:53:46 EST 2009
Author: kabir.khan at jboss.com
Date: 2009-11-27 11:53:45 -0500 (Fri, 27 Nov 2009)
New Revision: 97114
Modified:
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractConstructorParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMetaDataAnnotationAdapter.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMethodParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AliasMetaDataAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BeanAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java
projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/annotations/test/wb/WBInjectionTestCase.java
Log:
[JBKERNEL-64] Drive annotation plugins/adapter from the actual annotations found rather than the list of plugins
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAdaptersAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,7 +22,7 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
import org.jboss.reflect.spi.AnnotatedInfo;
@@ -35,9 +35,9 @@
*/
public abstract class AbstractAdaptersAnnotationPlugin<T extends AnnotatedInfo, C extends Annotation> extends AbstractAnnotationPlugin<T, C>
{
- protected Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters;
+ protected Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters;
- protected AbstractAdaptersAnnotationPlugin(Class<C> annotation, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ protected AbstractAdaptersAnnotationPlugin(Class<C> annotation, Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(annotation);
if (adapters == null)
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -24,10 +24,10 @@
import java.lang.annotation.Annotation;
import java.util.List;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.metadata.spi.MetaData;
import org.jboss.reflect.spi.AnnotatedInfo;
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractConstructorParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractConstructorParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractConstructorParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,7 +22,7 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
@@ -38,7 +38,7 @@
*/
public abstract class AbstractConstructorParameterAnnotationPlugin<C extends Annotation, P extends MutableParameterizedMetaData> extends AbstractParameterAnnotationPlugin<ConstructorInfo, C, P>
{
- protected AbstractConstructorParameterAnnotationPlugin(Class<C> annotation, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ protected AbstractConstructorParameterAnnotationPlugin(Class<C> annotation, Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(annotation, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMetaDataAnnotationAdapter.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMetaDataAnnotationAdapter.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMetaDataAnnotationAdapter.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -23,9 +23,9 @@
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.kernel.spi.annotations.BeanMetaDataAnnotationAdapter;
import org.jboss.metadata.spi.MetaData;
import org.jboss.reflect.spi.AnnotatedInfo;
-import org.jboss.kernel.spi.annotations.BeanMetaDataAnnotationAdapter;
/**
* Abstract metadata annotation handler.
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMethodParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMethodParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractMethodParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,7 +22,7 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
import org.jboss.metadata.spi.signature.MethodParametersSignature;
@@ -38,7 +38,7 @@
*/
public abstract class AbstractMethodParameterAnnotationPlugin<C extends Annotation, P extends MutableParameterizedMetaData> extends AbstractParameterAnnotationPlugin<MethodInfo, C, P>
{
- protected AbstractMethodParameterAnnotationPlugin(Class<C> annotation, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ protected AbstractMethodParameterAnnotationPlugin(Class<C> annotation, Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(annotation, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AbstractParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -26,7 +26,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.plugins.AbstractParameterMetaData;
import org.jboss.beans.metadata.plugins.builder.MutableParameterizedMetaData;
@@ -51,7 +51,7 @@
*/
public abstract class AbstractParameterAnnotationPlugin<T extends AnnotatedInfo, C extends Annotation, P extends MutableParameterizedMetaData> extends AbstractAdaptersAnnotationPlugin<T, C>
{
- protected AbstractParameterAnnotationPlugin(Class<C> annotation, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ protected AbstractParameterAnnotationPlugin(Class<C> annotation, Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(annotation, adapters);
}
@@ -161,14 +161,15 @@
if (mdr != null)
{
ValueMetaData value = null;
- for(Annotation2ValueMetaDataAdapter adapter : adapters)
+ for (Annotation ann : mdr.getAnnotations())
{
- Annotation adapterAnnotation = mdr.getAnnotation(adapter.getAnnotation());
- if (adapterAnnotation != null)
+ Annotation2ValueMetaDataAdapter adapter = adapters.get(ann.annotationType());
+ if (adapter != null)
{
- value = adapter.createValueMetaData(pi, adapterAnnotation, value);
+ value = adapter.createValueMetaData(pi, ann, value);
}
}
+
if (value == null)
throw new IllegalArgumentException("No such Annotation2ValueMetaData adapter or no annotation on ParameterInfo: " + pi);
if (trace)
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AliasMetaDataAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AliasMetaDataAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AliasMetaDataAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,10 +21,10 @@
*/
package org.jboss.kernel.plugins.annotations;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.HashSet;
-import java.util.Arrays;
import org.jboss.beans.metadata.api.annotations.Aliases;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/AnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -24,7 +24,6 @@
import java.lang.annotation.Annotation;
import org.jboss.beans.metadata.spi.MetaDataVisitor;
-import org.jboss.kernel.plugins.annotations.MetaDataAnnotationPlugin;
import org.jboss.metadata.spi.MetaData;
import org.jboss.reflect.spi.AnnotatedInfo;
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ArrayValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,9 +21,9 @@
*/
package org.jboss.kernel.plugins.annotations;
-import org.jboss.beans.metadata.plugins.AbstractArrayMetaData;
import org.jboss.beans.metadata.api.annotations.ArrayValue;
import org.jboss.beans.metadata.api.annotations.Value;
+import org.jboss.beans.metadata.plugins.AbstractArrayMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,8 +22,8 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Basic bean annotation handler.
@@ -35,12 +35,12 @@
public static final BasicBeanAnnotationAdapter INSTANCE = new BasicBeanAnnotationAdapter();
/** The parameter annotation adapters */
- private Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters;
+ private Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters;
protected BasicBeanAnnotationAdapter()
{
// -- adapters
- adapters = new CopyOnWriteArraySet<Annotation2ValueMetaDataAdapter<? extends Annotation>>();
+ adapters = new ConcurrentHashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>();
// -- plugins
// class
@@ -93,6 +93,7 @@
addAnnotationPlugin(ValueFactoryFieldAnnotationPlugin.INSTANCE);
addAnnotationPlugin(InstallFieldCallbackAnnotationPlugin.INSTANCE);
addAnnotationPlugin(UninstallFieldCallbackAnnotationPlugin.INSTANCE);
+
}
@SuppressWarnings("unchecked")
@@ -120,7 +121,7 @@
{
if (adapter == null)
throw new IllegalArgumentException("Null Annotation2ValueMetaDataAdapter");
- adapters.add(adapter);
+ adapters.put(adapter.getAnnotation(), adapter);
}
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,8 +22,8 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Basic bean metadata annotation handler.
@@ -35,12 +35,12 @@
public static final BasicBeanMetaDataAnnotationAdapter INSTANCE = new BasicBeanMetaDataAnnotationAdapter();
/** The parameter annotation adapters */
- private Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters;
+ private Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters;
protected BasicBeanMetaDataAnnotationAdapter()
{
// -- adapters
- adapters = new CopyOnWriteArraySet<Annotation2ValueMetaDataAdapter<? extends Annotation>>();
+ adapters = new ConcurrentHashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>();
// class
addAnnotationPlugin(BeanAnnotationPlugin.INSTANCE);
@@ -109,7 +109,7 @@
{
if (adapter == null)
throw new IllegalArgumentException("Null Annotation2ValueMetaDataAdapter");
- adapters.add(adapter);
+ adapters.put(adapter.getAnnotation(), adapter);
}
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BeanAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BeanAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BeanAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -24,9 +24,9 @@
import java.util.List;
import org.jboss.beans.metadata.api.annotations.Bean;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.reflect.spi.ClassInfo;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ClassFactoryAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -26,7 +26,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.api.annotations.Factory;
import org.jboss.beans.metadata.api.annotations.Value;
@@ -45,7 +45,7 @@
*/
public class ClassFactoryAnnotationPlugin extends AbstractAdaptersAnnotationPlugin<ClassInfo, Factory>
{
- public ClassFactoryAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public ClassFactoryAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(Factory.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CollectionValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,9 +21,9 @@
*/
package org.jboss.kernel.plugins.annotations;
-import org.jboss.beans.metadata.plugins.AbstractCollectionMetaData;
import org.jboss.beans.metadata.api.annotations.CollectionValue;
import org.jboss.beans.metadata.api.annotations.Value;
+import org.jboss.beans.metadata.plugins.AbstractCollectionMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CommonAnnotationAdapter.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -65,14 +65,16 @@
protected Logger log = Logger.getLogger(getClass());
/** The annotation plugins */
- private final Map<ElementType, Set<T>> pluginsMap = new HashMap<ElementType, Set<T>>();
+ //private final Map<ElementType, Set<T>> pluginsMap = new HashMap<ElementType, Set<T>>();
+ private final Map<ElementType, Map<Class<? extends Annotation>, Set<T>>> pluginsMap = new HashMap<ElementType, Map<Class<? extends Annotation>, Set<T>>>();
+
/** The property annotation plugin filter */
private static final AnnotationPluginFilter PROPERTY_FILTER = new PropertyAnnotationPluginFilter();
/** The method annotation plugin filter */
private static final AnnotationPluginFilter METHOD_FILTER = new MethodAnnotationPluginFilter();
-
+
/**
* Add the annotation plugin.
* Breaks down the plugin usage into
@@ -102,11 +104,17 @@
{
for (ElementType type : supported)
{
- Set<T> plugins = pluginsMap.get(type);
+ Map<Class<? extends Annotation>, Set<T>> pluginsForType = pluginsMap.get(type);
+ if (pluginsForType == null)
+ {
+ pluginsForType = new HashMap<Class<? extends Annotation>, Set<T>>();
+ pluginsMap.put(type, pluginsForType);
+ }
+ Set<T> plugins = pluginsForType.get(plugin.getAnnotation());
if (plugins == null)
{
plugins = new HashSet<T>();
- pluginsMap.put(type, plugins);
+ pluginsForType.put(plugin.getAnnotation(), plugins);
}
plugins.add(plugin);
}
@@ -131,12 +139,17 @@
{
for (ElementType type : supported)
{
- Set<T> plugins = pluginsMap.get(type);
- if (plugins != null)
+ Map<Class<? extends Annotation>, Set<T>> pluginsForType = pluginsMap.get(type);
+ if (pluginsForType != null)
{
- plugins.remove(plugin);
-
- if (plugins.isEmpty())
+ Set<T> plugins = pluginsForType.remove(plugin.getAnnotation());
+ if (plugins != null)
+ {
+ plugins.remove(plugin);
+ if (plugins.isEmpty())
+ pluginsForType.remove(plugin.getAnnotation());
+ }
+ if (pluginsForType.isEmpty())
pluginsMap.remove(type);
}
}
@@ -177,21 +190,33 @@
* Get plugins.
*
* @param type the element type to match
+ * @param the annotation to find a plugin for
* @param filter possible plugins filter
* @param annotationClasses possible annotations
* @return iterable matching plugins
*/
- protected Iterable<T> getPlugins(ElementType type, AnnotationPluginFilter filter, Collection<Class<? extends Annotation>> annotationClasses)
+ protected Iterable<T> getPlugins(ElementType type, Annotation annotation, AnnotationPluginFilter filter, Collection<Class<? extends Annotation>> annotationClasses)
{
- Set<T> plugins;
+ if (type == null)
+ throw new IllegalArgumentException("Null type");
+ if (annotation == null)
+ throw new IllegalArgumentException("Null annotation");
+ if (annotationClasses != null && !annotationClasses.contains(annotation))
+ return Collections.emptySet();
+
+ Set<T> plugins = null;
synchronized (pluginsMap)
{
- plugins = pluginsMap.get(type);
+ Map<Class<? extends Annotation>, Set<T>> pluginsForType = pluginsMap.get(type);
+ if (pluginsForType != null)
+ {
+ plugins = pluginsForType.get(annotation.annotationType());
+ }
}
if (plugins == null || plugins.isEmpty())
return Collections.emptySet();
-
+
if (filter != null)
{
List<T> result = new ArrayList<T>();
@@ -204,24 +229,9 @@
}
return result;
}
- else if (annotationClasses != null)
- {
- List<T> result = new ArrayList<T>();
- for (T plugin : plugins)
- {
- if (annotationClasses.contains(plugin.getAnnotation()))
- {
- result.add(plugin);
- }
- }
- return result;
- }
- else
- {
- return plugins;
- }
+ return plugins;
}
-
+
/**
* Handle apply or cleanup of annotations.
*
@@ -258,14 +268,16 @@
// class
ClassInfo classInfo = info.getClassInfo();
- for(T plugin : getPlugins(ElementType.TYPE, null, annotationClasses))
+ for (Annotation annotation : retrieval.getAnnotations())
{
- if (isApplyPhase)
- applyPlugin(plugin, classInfo, retrieval, handle);
- else
- cleanPlugin(plugin, classInfo, retrieval, handle);
+ for(T plugin : getPlugins(ElementType.TYPE, annotation, null, annotationClasses))
+ {
+ if (isApplyPhase)
+ applyPlugin(plugin, classInfo, retrieval, handle);
+ else
+ cleanPlugin(plugin, classInfo, retrieval, handle);
+ }
}
-
// constructors
Set<ConstructorInfo> constructors = info.getConstructors();
if (constructors != null && constructors.isEmpty() == false)
@@ -276,13 +288,16 @@
MetaData cmdr = retrieval.getComponentMetaData(cis);
if (cmdr != null)
{
- for(T plugin : getPlugins(ElementType.CONSTRUCTOR, null, annotationClasses))
+ for (Annotation annotation : cmdr.getAnnotations())
{
- if (isApplyPhase)
- applyPlugin(plugin, ci, cmdr, handle);
- else
- cleanPlugin(plugin, ci, cmdr, handle);
- }
+ for(T plugin : getPlugins(ElementType.CONSTRUCTOR, annotation, null, annotationClasses))
+ {
+ if (isApplyPhase)
+ applyPlugin(plugin, ci, cmdr, handle);
+ else
+ cleanPlugin(plugin, ci, cmdr, handle);
+ }
+ }
}
else if (trace)
log.trace("No annotations for " + ci);
@@ -305,12 +320,15 @@
MetaData cmdr = retrieval.getComponentMetaData(sis);
if (cmdr != null)
{
- for(T plugin : getPlugins(ElementType.FIELD, null, annotationClasses))
+ for (Annotation annotation : cmdr.getAnnotations())
{
- if (isApplyPhase)
- applyPlugin(plugin, field, cmdr, handle);
- else
- cleanPlugin(plugin, field, cmdr, handle);
+ for(T plugin : getPlugins(ElementType.FIELD, annotation, null, annotationClasses))
+ {
+ if (isApplyPhase)
+ applyPlugin(plugin, field, cmdr, handle);
+ else
+ cleanPlugin(plugin, field, cmdr, handle);
+ }
}
}
else if (trace)
@@ -328,9 +346,6 @@
TypeInfoFactory tif = classInfo.getTypeInfoFactory();
TypeInfo objectTI = tif.getTypeInfo(Object.class);
- // method plugins
- Iterable<T> methodPlugins = null;
-
// methods
Set<MethodInfo> methods = info.getMethods();
if (methods != null && methods.isEmpty() == false)
@@ -345,15 +360,15 @@
MetaData cmdr = retrieval.getComponentMetaData(mis);
if (cmdr != null)
{
- if (methodPlugins == null)
- methodPlugins = getPlugins(ElementType.METHOD, METHOD_FILTER, annotationClasses);
-
- for(T plugin : methodPlugins)
+ for (Annotation annotation : cmdr.getAnnotations())
{
- if (isApplyPhase)
- applyPlugin(plugin, mi, cmdr, handle);
- else
- cleanPlugin(plugin, mi, cmdr, handle);
+ for(T plugin : getPlugins(ElementType.METHOD, annotation, METHOD_FILTER, annotationClasses))
+ {
+ if (isApplyPhase)
+ applyPlugin(plugin, mi, cmdr, handle);
+ else
+ cleanPlugin(plugin, mi, cmdr, handle);
+ }
}
}
else if (trace)
@@ -376,15 +391,15 @@
MetaData cmdr = retrieval.getComponentMetaData(mis);
if (cmdr != null)
{
- if (methodPlugins == null)
- methodPlugins = getPlugins(ElementType.METHOD, METHOD_FILTER, annotationClasses);
-
- for(T plugin : methodPlugins)
+ for (Annotation annotation : cmdr.getAnnotations())
{
- if (isApplyPhase)
- applyPlugin(plugin, smi, cmdr, handle);
- else
- cleanPlugin(plugin, smi, cmdr, handle);
+ for(T plugin : getPlugins(ElementType.METHOD, annotation, METHOD_FILTER, annotationClasses))
+ {
+ if (isApplyPhase)
+ applyPlugin(plugin, smi, cmdr, handle);
+ else
+ cleanPlugin(plugin, smi, cmdr, handle);
+ }
}
}
else if (trace)
@@ -432,12 +447,15 @@
MetaData cmdr = retrieval.getComponentMetaData(sis);
if (cmdr != null)
{
- for(T plugin : getPlugins(ElementType.METHOD, PROPERTY_FILTER, annotationClasses))
+ for (Annotation annotation : cmdr.getAnnotations())
{
- if (isApplyPhase)
- applyPlugin(plugin, pi, cmdr, handle);
- else
- cleanPlugin(plugin, pi, cmdr, handle);
+ for(T plugin : getPlugins(ElementType.METHOD, annotation, PROPERTY_FILTER, annotationClasses))
+ {
+ if (isApplyPhase)
+ applyPlugin(plugin, pi, cmdr, handle);
+ else
+ cleanPlugin(plugin, pi, cmdr, handle);
+ }
}
}
else if (trace)
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ConstructorParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -24,7 +24,7 @@
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.api.annotations.Constructor;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
@@ -41,7 +41,7 @@
*/
public class ConstructorParameterAnnotationPlugin extends AbstractConstructorParameterAnnotationPlugin<Constructor, AbstractConstructorMetaData>
{
- public ConstructorParameterAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public ConstructorParameterAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(Constructor.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/CreateLifecycleAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,12 +22,12 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.Create;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.api.annotations.Create;
/**
* Create annotation plugin.
@@ -36,7 +36,7 @@
*/
public class CreateLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Create>
{
- public CreateLifecycleAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public CreateLifecycleAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(Create.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/DestroyLifecycleAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,11 +22,11 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.Destroy;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
-import org.jboss.beans.metadata.api.annotations.Destroy;
import org.jboss.beans.metadata.spi.BeanMetaData;
/**
@@ -36,7 +36,7 @@
*/
public class DestroyLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Destroy>
{
- public DestroyLifecycleAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public DestroyLifecycleAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(Destroy.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ExternalInstallAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,11 +21,11 @@
*/
package org.jboss.kernel.plugins.annotations;
+import java.util.ArrayList;
import java.util.List;
-import java.util.ArrayList;
+import org.jboss.beans.metadata.api.annotations.ExternalInstall;
import org.jboss.beans.metadata.api.annotations.ExternalInstalls;
-import org.jboss.beans.metadata.api.annotations.ExternalInstall;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.InstallMetaData;
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/FactoryMethodAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -23,13 +23,13 @@
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
+import java.util.Collections;
import java.util.List;
-import java.util.Collections;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.FactoryMethod;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
-import org.jboss.beans.metadata.api.annotations.FactoryMethod;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.reflect.spi.MethodInfo;
@@ -42,7 +42,7 @@
*/
public class FactoryMethodAnnotationPlugin extends AbstractMethodParameterAnnotationPlugin<FactoryMethod, AbstractConstructorMetaData>
{
- public FactoryMethodAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public FactoryMethodAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(FactoryMethod.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallCallbackAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,19 +21,19 @@
*/
package org.jboss.kernel.plugins.annotations;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Set;
-import java.util.List;
-import java.util.ArrayList;
+import org.jboss.beans.metadata.api.annotations.Install;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractCallbackMetaData;
import org.jboss.beans.metadata.plugins.InstallCallbackMetaData;
-import org.jboss.beans.metadata.api.annotations.Install;
import org.jboss.beans.metadata.spi.CallbackMetaData;
import org.jboss.dependency.spi.CallbackItem;
-import org.jboss.dependency.spi.DependencyInfo;
import org.jboss.dependency.spi.Cardinality;
import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.DependencyInfo;
import org.jboss.reflect.spi.AnnotatedInfo;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallMethodParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,17 +22,17 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
+import java.util.ArrayList;
import java.util.List;
-import java.util.ArrayList;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.InstallMethod;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractInstallMetaData;
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
-import org.jboss.beans.metadata.api.annotations.InstallMethod;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.InstallMetaData;
+import org.jboss.dependency.spi.ControllerState;
import org.jboss.reflect.spi.MethodInfo;
-import org.jboss.dependency.spi.ControllerState;
/**
* Install method annotation plugin.
@@ -41,7 +41,7 @@
*/
public class InstallMethodParameterAnnotationPlugin extends InstallationParameterAnnotationPlugin<InstallMethod>
{
- public InstallMethodParameterAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public InstallMethodParameterAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(InstallMethod.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/InstallationParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -23,19 +23,19 @@
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
+import java.util.Collections;
import java.util.List;
-import java.util.Collections;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.plugins.AbstractInstallMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.InstallMetaData;
+import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.ParameterMetaData;
-import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
+import org.jboss.kernel.plugins.config.Configurator;
import org.jboss.reflect.spi.MethodInfo;
import org.jboss.reflect.spi.ParameterInfo;
import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.kernel.plugins.config.Configurator;
/**
* Abstract installation annotation plugin.
@@ -45,7 +45,7 @@
*/
public abstract class InstallationParameterAnnotationPlugin<C extends Annotation> extends AbstractMethodParameterAnnotationPlugin<C, AbstractInstallMetaData>
{
- protected InstallationParameterAnnotationPlugin(Class<C> annotation, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ protected InstallationParameterAnnotationPlugin(Class<C> annotation, Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(annotation, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/JavaBeanValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -24,10 +24,10 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.api.annotations.JavaBeanValue;
import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
-import org.jboss.beans.metadata.api.annotations.JavaBeanValue;
import org.jboss.beans.metadata.spi.ValueMetaData;
-import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.config.plugins.property.PropertyConfiguration;
import org.jboss.config.spi.Configuration;
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/LifecycleParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -23,9 +23,9 @@
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
+import java.util.Collections;
import java.util.List;
-import java.util.Collections;
-import java.util.Set;
+import java.util.Map;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
@@ -42,7 +42,7 @@
*/
public abstract class LifecycleParameterAnnotationPlugin<C extends Annotation> extends AbstractMethodParameterAnnotationPlugin<C, AbstractLifecycleMetaData>
{
- protected LifecycleParameterAnnotationPlugin(Class<C> annotation, Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ protected LifecycleParameterAnnotationPlugin(Class<C> annotation, Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(annotation, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ListValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,9 +21,9 @@
*/
package org.jboss.kernel.plugins.annotations;
-import org.jboss.beans.metadata.plugins.AbstractListMetaData;
import org.jboss.beans.metadata.api.annotations.ListValue;
import org.jboss.beans.metadata.api.annotations.Value;
+import org.jboss.beans.metadata.plugins.AbstractListMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MapValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,9 +21,9 @@
*/
package org.jboss.kernel.plugins.annotations;
+import org.jboss.beans.metadata.api.annotations.EntryValue;
+import org.jboss.beans.metadata.api.annotations.MapValue;
import org.jboss.beans.metadata.plugins.AbstractMapMetaData;
-import org.jboss.beans.metadata.api.annotations.MapValue;
-import org.jboss.beans.metadata.api.annotations.EntryValue;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodInstallCallbackAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,8 +22,8 @@
package org.jboss.kernel.plugins.annotations;
import org.jboss.beans.metadata.plugins.AbstractCallbackMetaData;
+import org.jboss.dependency.spi.CallbackItem;
import org.jboss.reflect.spi.MethodInfo;
-import org.jboss.dependency.spi.CallbackItem;
/**
* Method install annotation plugin.
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/MethodUninstallCallbackAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,9 +21,9 @@
*/
package org.jboss.kernel.plugins.annotations;
-import org.jboss.reflect.spi.MethodInfo;
import org.jboss.beans.metadata.plugins.AbstractCallbackMetaData;
import org.jboss.dependency.spi.CallbackItem;
+import org.jboss.reflect.spi.MethodInfo;
/**
* Method uninstall annotation plugin.
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/NullValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,8 +21,8 @@
*/
package org.jboss.kernel.plugins.annotations;
+import org.jboss.beans.metadata.api.annotations.NullValue;
import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
-import org.jboss.beans.metadata.api.annotations.NullValue;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SetValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,9 +21,9 @@
*/
package org.jboss.kernel.plugins.annotations;
-import org.jboss.beans.metadata.plugins.AbstractSetMetaData;
import org.jboss.beans.metadata.api.annotations.SetValue;
import org.jboss.beans.metadata.api.annotations.Value;
+import org.jboss.beans.metadata.plugins.AbstractSetMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StartLifecycleAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,11 +22,11 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.Start;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
-import org.jboss.beans.metadata.api.annotations.Start;
import org.jboss.beans.metadata.spi.BeanMetaData;
/**
@@ -36,7 +36,7 @@
*/
public class StartLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Start>
{
- public StartLifecycleAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public StartLifecycleAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(Start.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/StopLifecycleAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,11 +22,11 @@
package org.jboss.kernel.plugins.annotations;
import java.lang.annotation.Annotation;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.Stop;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractLifecycleMetaData;
-import org.jboss.beans.metadata.api.annotations.Stop;
import org.jboss.beans.metadata.spi.BeanMetaData;
/**
@@ -36,7 +36,7 @@
*/
public class StopLifecycleAnnotationPlugin extends LifecycleParameterAnnotationPlugin<Stop>
{
- public StopLifecycleAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public StopLifecycleAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(Stop.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/SupplysAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,18 +21,18 @@
*/
package org.jboss.kernel.plugins.annotations;
-import java.util.Set;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
-import java.util.ArrayList;
+import java.util.Set;
+import org.jboss.beans.metadata.api.annotations.Supply;
+import org.jboss.beans.metadata.api.annotations.Supplys;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractSupplyMetaData;
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
-import org.jboss.beans.metadata.api.annotations.Supplys;
-import org.jboss.beans.metadata.api.annotations.Supply;
import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.beans.metadata.spi.SupplyMetaData;
-import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
import org.jboss.reflect.spi.ClassInfo;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/ThisValueAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -21,8 +21,8 @@
*/
package org.jboss.kernel.plugins.annotations;
+import org.jboss.beans.metadata.api.annotations.ThisValue;
import org.jboss.beans.metadata.plugins.ThisValueMetaData;
-import org.jboss.beans.metadata.api.annotations.ThisValue;
import org.jboss.beans.metadata.spi.ValueMetaData;
/**
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallCallbackAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -25,10 +25,10 @@
import java.util.List;
import java.util.Set;
+import org.jboss.beans.metadata.api.annotations.Uninstall;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractCallbackMetaData;
import org.jboss.beans.metadata.plugins.UninstallCallbackMetaData;
-import org.jboss.beans.metadata.api.annotations.Uninstall;
import org.jboss.beans.metadata.spi.CallbackMetaData;
import org.jboss.dependency.spi.CallbackItem;
import org.jboss.dependency.spi.Cardinality;
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/UninstallMethodParameterAnnotationPlugin.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -24,11 +24,11 @@
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
+import org.jboss.beans.metadata.api.annotations.UninstallMethod;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.plugins.AbstractInstallMetaData;
-import org.jboss.beans.metadata.api.annotations.UninstallMethod;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.InstallMetaData;
import org.jboss.dependency.spi.ControllerState;
@@ -41,7 +41,7 @@
*/
public class UninstallMethodParameterAnnotationPlugin extends InstallationParameterAnnotationPlugin<UninstallMethod>
{
- public UninstallMethodParameterAnnotationPlugin(Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
+ public UninstallMethodParameterAnnotationPlugin(Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters)
{
super(UninstallMethod.class, adapters);
}
Modified: projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/annotations/test/wb/WBInjectionTestCase.java
===================================================================
--- projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/annotations/test/wb/WBInjectionTestCase.java 2009-11-27 16:11:31 UTC (rev 97113)
+++ projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/annotations/test/wb/WBInjectionTestCase.java 2009-11-27 16:53:45 UTC (rev 97114)
@@ -22,10 +22,11 @@
package org.jboss.test.kernel.annotations.test.wb;
import java.lang.annotation.Annotation;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.HashMap;
+import java.util.Map;
import junit.framework.Test;
+
import org.jboss.beans.info.spi.BeanAccessMode;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.dependency.spi.ControllerState;
@@ -71,8 +72,8 @@
adapter.addAnnotationPlugin(WBInjectAnnotationPlugin.INSTANCE);
// parameter adapter
Annotation2ValueMetaDataAdapter<? extends Annotation> paramAdapter = WBInjectAnnotationPlugin.INSTANCE;
- Set<Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters = new HashSet<Annotation2ValueMetaDataAdapter<? extends Annotation>>();
- adapters.add(paramAdapter);
+ Map<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>> adapters = new HashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>();
+ adapters.put(paramAdapter.getAnnotation(), paramAdapter);
// parameter injections
adapter.addAnnotationPlugin(new ConstructorParameterAnnotationPlugin(adapters));
adapter.addAnnotationPlugin(new StartLifecycleAnnotationPlugin(adapters));
More information about the jboss-cvs-commits
mailing list