[jboss-cvs] JBossAS SVN: r58072 - in projects/microcontainer/trunk: aop-mc-int aop-mc-int/src/main/org/jboss/aop/microcontainer/integration aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test container/src/main/org/jboss/repository/plugins/basic container/src/main/org/jboss/repository/spi kernel/src/main/org/jboss/kernel/plugins/dependency kernel/src/main/org/jboss/kernel/spi/dependency kernel/src/main/org/jboss/kernel/spi/metadata
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 3 08:02:34 EST 2006
Author: kabir.khan at jboss.com
Date: 2006-11-03 08:02:06 -0500 (Fri, 03 Nov 2006)
New Revision: 58072
Added:
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/metadata/MutableMetaDataContext.java
Modified:
projects/microcontainer/trunk/aop-mc-int/build-test.xml
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContext.java
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContextFactory.java
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorConstructorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorOverloadedConstructorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedInstanceAdvisorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedIntroducedAdvisorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedIntroducedProxyAdvisorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorConstructorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorOverloadedConstructorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/AdvisedInstanceMetaDataContextTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildAdvisedAndProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildAdvisedAndProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildAdvisedAndProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildAdvisedAndProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BasePreparedChildAdvisedAndProxyTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/NotAdvisedInstanceMetaDataContextTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/ConstructorInterceptorWithDependencyTestCaseNotAutomatic1.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithAnnotationDependencyTestCaseNotAutomatic1.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithDependencyTestCaseNotAutomatic1.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedAnnotationDependencyTestCaseNotAutomatic3.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedMethodAnnotationDependencyTestCaseNotAutomatic3.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenClassAnnotationDependencyTestCaseNotAutomatic1.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyForChildTestCaseNotAutomatic2.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyTestCaseNotAutomatic2.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/IntroductionDependencyTestCaseNotAutomatic1.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/JMXDecoratedTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MetaDataTestCase.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MixinTestCase.xml
projects/microcontainer/trunk/container/src/main/org/jboss/repository/plugins/basic/BasicMetaDataContextFactory.java
projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContext.java
projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContextFactory.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelControllerContext.java
Log:
Start migrating to org.jboss.metadata instead of org.jboss.repository for the AOP metadata
Modified: projects/microcontainer/trunk/aop-mc-int/build-test.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/build-test.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/build-test.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -68,7 +68,7 @@
<path id="jboss.aop50.classpath">
<fileset dir="${jboss.aop.lib}">
- <include name="jboss-aop.jar"/>
+ <include name="jboss-aop-jdk50.jar"/>
</fileset>
</path>
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -184,7 +184,7 @@
HashMap<String, ArrayList<String>> classMap = new HashMap<String, ArrayList<String>>();
getRealMethodAnnotationDependencies(method, classMap);
HashMap<String, ArrayList<String>> overrideMap = new HashMap<String, ArrayList<String>>();
- getMetaDataContextMethodAnnotationDependencies(method.getName(), metaDataContext, overrideMap);
+ getMetaDataContextMethodAnnotationDependencies(method, metaDataContext, overrideMap);
addAllDependenciesToSet(dependencies, classMap, overrideMap);
}
}
@@ -203,11 +203,12 @@
}
}
- private void getMetaDataContextMethodAnnotationDependencies(String methodName, MetaDataContext metaDataContext, HashMap<String, ArrayList<String>> dependencies) throws Exception
+ private void getMetaDataContextMethodAnnotationDependencies(MethodInfo method, MetaDataContext metaDataContext, HashMap<String, ArrayList<String>> dependencies) throws Exception
{
if (metaDataContext != null)
{
- List methodAnnotations = metaDataContext.getAnnotationsForMethod(methodName);
+ long hash = ClassInfoMethodHashing.methodHash(method);
+ List methodAnnotations = metaDataContext.getAnnotationsForMethod(hash);
for (Iterator it = methodAnnotations.iterator() ; it.hasNext() ; )
{
Object annotation = it.next();
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContext.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContext.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContext.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -22,243 +22,159 @@
package org.jboss.aop.microcontainer.integration;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.jboss.aop.Advised;
import org.jboss.aop.Advisor;
import org.jboss.aop.proxy.container.AspectManaged;
+import org.jboss.aop.util.ClassInfoMethodHashing;
import org.jboss.beans.info.spi.PropertyInfo;
import org.jboss.beans.metadata.spi.AnnotationMetaData;
+import org.jboss.kernel.spi.metadata.MutableMetaDataContext;
+import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+import org.jboss.metadata.spi.retrieval.AnnotationItem;
+import org.jboss.metadata.spi.retrieval.AnnotationsItem;
+import org.jboss.metadata.spi.retrieval.MetaDataRetrieval;
+import org.jboss.metadata.spi.scope.CommonLevels;
+import org.jboss.metadata.spi.scope.Scope;
+import org.jboss.metadata.spi.scope.ScopeKey;
import org.jboss.reflect.spi.MethodInfo;
-
-import org.jboss.repository.spi.BasicMetaData;
-import org.jboss.repository.spi.CommonNames;
-import org.jboss.repository.spi.KernelRepository;
-import org.jboss.repository.spi.Key;
-import org.jboss.repository.spi.MetaData;
import org.jboss.repository.spi.MetaDataContext;
-import org.jboss.util.JBossStringBuilder;
/**
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision$
*/
-public class AOPMetaDataContext implements MetaDataContext
+public class AOPMetaDataContext implements MutableMetaDataContext
{
- Map<String, String> scope;
+ final static List<Annotation> EMPTY_ANNOTATIONS = new ArrayList<Annotation>();
+ Scope scope;
Object target;
- KernelRepository repository;
- private final static Class[] EMPTY_CLASS_ARRAY = new Class[0];
-
- public AOPMetaDataContext(KernelRepository repository, Object beanName)
+ MutableMetaDataRepository repository;
+ String beanName;
+ ScopeKey instanceKey;
+
+ public AOPMetaDataContext(MutableMetaDataRepository repository, String beanName)
{
this.repository = repository;
- scope = new HashMap<String, String>();
-
- //TODO: Determine level this data should be put at.
- scope.put(CommonNames.DOMAIN, "d");
- scope.put(CommonNames.CLUSTER, "c");
- scope.put(CommonNames.SERVER, "s");
- scope.put(CommonNames.APPLICATION, "a");
- scope.put(CommonNames.DEPLOYMENT, (String) beanName);
+ this.beanName = beanName;
+ //TODO: This needs linking up with the parent scopes somehow - where will that info come from?
+ scope = new Scope(CommonLevels.INSTANCE, beanName);
+ instanceKey = new ScopeKey(scope);
}
- public Object getAnnotation(Class ann)
+ public <T extends Annotation> boolean hasAnnotation(Class<T> ann)
{
- return getAnnotation(ann.getName());
- }
-
- public boolean hasAnnotation(String ann)
- {
return getAnnotation(ann) != null;
}
- private Object getAnnotation(String name)
+ public <T extends Annotation> Annotation getAnnotation(Class<T> ann)
{
- Key key = new Key(name, scope);
- return repository.getMetaData(key);
+ return getAnnotation(instanceKey, ann);
}
- public List getAnnotations()
+ public <T extends Annotation> boolean hasAnnotationForMethod(long methodHash, Class<T> ann)
{
- ArrayList<Object> annotations = new ArrayList<Object>();
- Iterator keys = repository.getKeyNames();
- while (keys.hasNext())
- {
- Key key = (Key)keys.next();
- if (key.getName().length == 1)
- {
- Key realKey = new Key(key.getName(), scope);
- Object annotation = repository.getMetaData(realKey);
- if (annotation != null)
- {
- annotations.add(annotation);
- }
- }
- }
-
- return annotations;
+ return getAnnotationForMethod(methodHash, ann) != null;
}
-
- public Object getAnnotation(Method m, Class ann)
+ public <T extends Annotation> Annotation getAnnotationForMethod(long methodHash, Class<T> ann)
{
- return getAnnotation(m, ann.getName());
+ ScopeKey joinpointKey = createHashedJoinpointKey(methodHash);
+ return getAnnotation(joinpointKey, ann);
}
- public boolean hasAnnotation(Method m, String ann)
+ public List<Annotation> getAnnotations()
{
- return getAnnotation(m, ann) != null;
+ return getAnnotations(instanceKey);
}
-
- private Object getAnnotation(Method m, String name)
+
+ public List<Annotation> getAnnotationsForMethod(long methodHash)
{
- Key key = createMethodKey(name, m.getName());
- return repository.getMetaData(key);
+ ScopeKey joinpointKey = createHashedJoinpointKey(methodHash);
+ return getAnnotations(joinpointKey);
}
- public List getAnnotationsForMethod(String methodName)
+ public List<Annotation> getAnnotationsForMethods(long[] methodHashes)
{
- ArrayList<Object> annotations = new ArrayList<Object>();
- Iterator keys = repository.getKeyNames();
- while (keys.hasNext())
+ ArrayList<Annotation> annotations = new ArrayList<Annotation>();
+ for (long hash : methodHashes)
{
- Key key = (Key)keys.next();
- String[] name = key.getName();
- if (name.length == 2)
- {
- if (name[1].equals(methodName))
- {
- Key realKey = new Key(key.getName(), scope);
- Object annotation = repository.getMetaData(realKey);
- if (annotation != null)
- {
- annotations.add(annotation);
- }
- }
- }
+ ScopeKey joinpointKey = createHashedJoinpointKey(hash);
+ List<Annotation> methodAnnotations = getAnnotations(joinpointKey);
+ annotations.addAll(methodAnnotations);
}
-
return annotations;
}
-
- public List getAnnotationsForMethods(String[] methodNames)
- {
- ArrayList<Object> annotations = new ArrayList<Object>();
- Iterator keys = repository.getKeyNames();
- while (keys.hasNext())
- {
- Key key = (Key)keys.next();
- String[] name = key.getName();
- if (name.length == 2)
- {
- for (int i = 0 ; i < methodNames.length ; i++)
- {
- if (name[1].equals(methodNames[i]))
- {
- Key realKey = new Key(key.getName(), scope);
- Object annotation = repository.getMetaData(realKey);
- if (annotation != null)
- {
- annotations.add(annotation);
- }
- }
- }
- }
- }
-
- return annotations;
- }
- public KernelRepository getRepository()
+ public MetaDataRepository getRepository()
{
return repository;
}
- public Map getScope()
+ /**
+ * Add instance-level annotations
+ * @param annotations a Set<AnnotationMetaData>
+ */
+ public void addAnnotations(Set<AnnotationMetaData> annotations)
{
- return scope;
- }
+ if (annotations.size() == 0)
+ {
+ return;
+ }
- public void addAnnotations(Set annotations)
- {
- for (Iterator i = annotations.iterator(); i.hasNext();)
+ MemoryMetaDataLoader retrieval = new MemoryMetaDataLoader(instanceKey);
+ for (AnnotationMetaData annotationMetaData : annotations)
{
- AnnotationMetaData annotation = (AnnotationMetaData) i.next();
- Key key = new Key(getName(annotation), scope);
-
- final MetaData metadata = createMetaData(annotation);
- repository.addMetaData(key, metadata);
+ Annotation annotation = annotationMetaData.getAnnotationInstance();
+ retrieval.addAnnotation(annotation);
}
+ repository.addMetaDataRetrieval(retrieval);
}
- public void addPropertyAnnotations(String propertyName, Set propertyInfos, Set annotations)
+ public void addPropertyAnnotations(String propertyName, Set<PropertyInfo> propertyInfos, Set<AnnotationMetaData> annotations)
{
- for (Iterator props = propertyInfos.iterator() ; props.hasNext() ; )
+ for (PropertyInfo info : propertyInfos)
{
- PropertyInfo info = (PropertyInfo)props.next();
-
if (propertyName.equals(info.getName()))
{
- MethodInfo getter = info.getGetter();
- MethodInfo setter = info.getSetter();
+ MemoryMetaDataLoader getterRetrieval = createGetterMetaDataRetrieval(info);
+ MemoryMetaDataLoader setterRetrieval = createSetterMetaDataRetrieval(info);
- for (Iterator anns = annotations.iterator() ; anns.hasNext() ; )
+ if (getterRetrieval == null && setterRetrieval == null)
{
- AnnotationMetaData annotation = (AnnotationMetaData)anns.next();
-
- if (getter != null || setter != null)
+ continue;
+ }
+
+ for (AnnotationMetaData annotation : annotations)
+ {
+ if (getterRetrieval != null)
{
- MetaData data = createMetaData(annotation);
- if (getter != null)
- {
- Key key = createMethodKey(getName(annotation), getter.getName());
- repository.addMetaData(key, data);
- }
- if (setter != null)
- {
- Key key = createMethodKey(getName(annotation), setter.getName());
- repository.addMetaData(key, data);
- }
+ getterRetrieval.addAnnotation(annotation.getAnnotationInstance());
}
+ if (setterRetrieval != null)
+ {
+ setterRetrieval.addAnnotation(annotation.getAnnotationInstance());
+ }
}
+
+ if (getterRetrieval != null)
+ {
+ repository.addMetaDataRetrieval(getterRetrieval);
+ }
+ if (setterRetrieval != null)
+ {
+ repository.addMetaDataRetrieval(setterRetrieval);
+ }
}
}
}
- private Key createMethodKey(String annotationName, String methodName)
- {
- return new Key(new String[] {annotationName, methodName}, scope);
- }
-
- private MetaData createMetaData(AnnotationMetaData metadata)
- {
- return new BasicMetaData(0, metadata.getAnnotationInstance());
- }
-
-
- private String getName(Annotation annotation)
- {
- return annotation.annotationType().getName();
- }
-
- private String getName(MetaData metadata)
- {
- return getName((Annotation)metadata.getData());
- }
-
- private String getName(AnnotationMetaData annotation)
- {
- return getName(annotation.getAnnotationInstance());
- }
-
public void setTarget(Object tgt)
{
if (tgt == null)
@@ -290,4 +206,71 @@
}
}
}
+
+ private MemoryMetaDataLoader createGetterMetaDataRetrieval(PropertyInfo propertyInfo)
+ {
+ MethodInfo getter = propertyInfo.getGetter();
+ return createMethodMetaDataRetrieval(getter);
+ }
+
+ private MemoryMetaDataLoader createSetterMetaDataRetrieval(PropertyInfo propertyInfo)
+ {
+ MethodInfo setter = propertyInfo.getSetter();
+ return createMethodMetaDataRetrieval(setter);
+ }
+
+ private MemoryMetaDataLoader createMethodMetaDataRetrieval(MethodInfo accessor)
+ {
+ if (accessor == null)
+ {
+ return null;
+ }
+ long hash = ClassInfoMethodHashing.methodHash(accessor);
+ ScopeKey joinpointKey = createHashedJoinpointKey(hash);
+ MemoryMetaDataLoader retrieval = new MemoryMetaDataLoader(joinpointKey);
+ return retrieval;
+ }
+
+ private ScopeKey createHashedJoinpointKey(long hash)
+ {
+ ScopeKey joinpointKey = new ScopeKey(instanceKey.getScopes());
+ joinpointKey.addScope(CommonLevels.JOINPOINT, String.valueOf(hash));
+ return joinpointKey;
+ }
+
+ private <T extends Annotation> Annotation getAnnotation(ScopeKey key, Class<T> ann)
+ {
+ MetaDataRetrieval retrieval = repository.getMetaDataRetrieval(key);
+
+ if (retrieval != null)
+ {
+ AnnotationItem item = retrieval.retrieveAnnotation(ann);
+ if (item != null)
+ {
+ return item.getAnnotation();
+ }
+ }
+ return null;
+ }
+
+ private List<Annotation> getAnnotations(ScopeKey key)
+ {
+ MetaDataRetrieval retrieval = repository.getMetaDataRetrieval(key);
+
+ if (retrieval != null)
+ {
+ AnnotationsItem item = retrieval.retrieveAnnotations();
+ if (item != null)
+ {
+ AnnotationItem[] items = item.getAnnotations();
+ List<Annotation> annotations = new ArrayList<Annotation>();
+ for (AnnotationItem aitem : items)
+ {
+ annotations.add(aitem.getAnnotation());
+ }
+ return annotations;
+ }
+ }
+ return EMPTY_ANNOTATIONS;
+ }
}
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContextFactory.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContextFactory.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPMetaDataContextFactory.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -21,7 +21,8 @@
*/
package org.jboss.aop.microcontainer.integration;
-import org.jboss.repository.spi.KernelRepository;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
import org.jboss.repository.spi.MetaDataContext;
import org.jboss.repository.spi.MetaDataContextFactory;
@@ -33,9 +34,16 @@
public class AOPMetaDataContextFactory implements MetaDataContextFactory
{
- public MetaDataContext getMetaDataContext(KernelRepository repository, Object beanName)
+ public MetaDataContext getMetaDataContext(MetaDataRepository repository, String beanName)
{
- return new AOPMetaDataContext(repository, beanName);
+ if (repository instanceof MutableMetaDataRepository)
+ {
+ return new AOPMetaDataContext((MutableMetaDataRepository)repository, beanName);
+ }
+ else
+ {
+ throw new RuntimeException("The passed in repository must be of type org.jboss.metadata.spi.repository.MutableMetaDataRepository");
+ }
}
}
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorConstructorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorConstructorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorConstructorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,16 +2,14 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="One" class="org.jboss.test.microcontainer.advisor.test.some.Pojo"/>
-
+
<bean name="Two" class="org.jboss.test.microcontainer.advisor.test.some.Pojo"/>
-
+
<bean name="Three" class="org.jboss.test.microcontainer.advisor.test.another.Pojo"/>
-
+
<bean name="Four" class="org.jboss.test.microcontainer.advisor.test.another.Pojo"/>
</deployment>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorOverloadedConstructorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorOverloadedConstructorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedAdvisorOverloadedConstructorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="One" class="org.jboss.test.microcontainer.advisor.test.some.Pojo">
<constructor>
@@ -12,14 +10,14 @@
<parameter>One</parameter>
</constructor>
</bean>
-
+
<bean name="Two" class="org.jboss.test.microcontainer.advisor.test.some.Pojo">
<constructor>
<parameter>9999</parameter>
<parameter>Should be ignored since singleton aspect stops creation of new instance</parameter>
</constructor>
</bean>
-
+
</deployment>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedInstanceAdvisorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedInstanceAdvisorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedInstanceAdvisorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="AspectManager" class="org.jboss.aop.AspectManager">
<constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedIntroducedAdvisorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedIntroducedAdvisorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerAdvisedIntroducedAdvisorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Test" class="org.jboss.test.microcontainer.advisor.test.TestObject">
<annotation>@org.jboss.test.microcontainer.advisor.test.TestIntroductionAnnotation</annotation>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedIntroducedProxyAdvisorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedIntroducedProxyAdvisorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedIntroducedProxyAdvisorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,11 +2,8 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
-
<bean name="Test" class="org.jboss.test.microcontainer.advisor.test.TestObject">
<annotation>@org.jboss.test.microcontainer.advisor.test.TestIntroductionAnnotation</annotation>
</bean>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorConstructorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorConstructorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorConstructorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="One" class="org.jboss.test.microcontainer.advisor.test.some.Pojo">
<annotation>@org.jboss.test.microcontainer.advisor.test.Singleton</annotation>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorOverloadedConstructorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorOverloadedConstructorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorOverloadedConstructorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="One" class="org.jboss.test.microcontainer.advisor.test.some.Pojo">
<annotation>@org.jboss.test.microcontainer.advisor.test.Singleton</annotation>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/advisor/test/MicrocontainerNotAdvisedProxyAdvisorTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="AspectManager" class="org.jboss.aop.AspectManager">
<constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/AdvisedInstanceMetaDataContextTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/AdvisedInstanceMetaDataContextTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/AdvisedInstanceMetaDataContextTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="NotAdvised" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildAdvisedAndProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseAdvisedChildProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildAdvisedAndProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseNotAdvisedChildProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildAdvisedAndProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOnlyAdvisedChildProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildAdvisedAndProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildAdvisedAndProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BaseOverriddenAdvisedChildProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BasePreparedChildAdvisedAndProxyTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BasePreparedChildAdvisedAndProxyTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/BasePreparedChildAdvisedAndProxyTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="Base" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/NotAdvisedInstanceMetaDataContextTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/NotAdvisedInstanceMetaDataContextTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/matrix/mc/test/NotAdvisedInstanceMetaDataContextTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="NotAdvised" class="org.jboss.test.microcontainer.matrix.Base"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/ConstructorInterceptorWithDependencyTestCaseNotAutomatic1.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/ConstructorInterceptorWithDependencyTestCaseNotAutomatic1.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/ConstructorInterceptorWithDependencyTestCaseNotAutomatic1.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithAnnotationDependencyTestCaseNotAutomatic1.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithAnnotationDependencyTestCaseNotAutomatic1.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithAnnotationDependencyTestCaseNotAutomatic1.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithDependencyTestCaseNotAutomatic1.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithDependencyTestCaseNotAutomatic1.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithDependencyTestCaseNotAutomatic1.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedAnnotationDependencyTestCaseNotAutomatic3.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedAnnotationDependencyTestCaseNotAutomatic3.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedAnnotationDependencyTestCaseNotAutomatic3.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedMethodAnnotationDependencyTestCaseNotAutomatic3.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedMethodAnnotationDependencyTestCaseNotAutomatic3.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithNestedMethodAnnotationDependencyTestCaseNotAutomatic3.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenClassAnnotationDependencyTestCaseNotAutomatic1.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenClassAnnotationDependencyTestCaseNotAutomatic1.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenClassAnnotationDependencyTestCaseNotAutomatic1.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyForChildTestCaseNotAutomatic2.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyForChildTestCaseNotAutomatic2.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyForChildTestCaseNotAutomatic2.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyTestCaseNotAutomatic2.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyTestCaseNotAutomatic2.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/InterceptorWithOverriddenMethodAnnotationDependencyTestCaseNotAutomatic2.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/IntroductionDependencyTestCaseNotAutomatic1.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/IntroductionDependencyTestCaseNotAutomatic1.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/IntroductionDependencyTestCaseNotAutomatic1.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<aop:aspect xmlns:aop="urn:jboss:aop-beans:1.0"
name="InterceptedAdvice"
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/JMXDecoratedTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/JMXDecoratedTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/JMXDecoratedTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -6,9 +6,7 @@
<constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
</bean>
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="AspectManager" class="org.jboss.aop.AspectManager">
<constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MetaDataTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MetaDataTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MetaDataTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -2,9 +2,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="AspectManager" class="org.jboss.aop.AspectManager">
<constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
Modified: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MixinTestCase.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MixinTestCase.xml 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/test/MixinTestCase.xml 2006-11-03 13:02:06 UTC (rev 58072)
@@ -6,9 +6,7 @@
<constructor factoryClass="javax.management.MBeanServerFactory" factoryMethod="createMBeanServer"/>
</bean>
- <bean name="Repository" class="org.jboss.aop.microcontainer.integration.AOPKernelRepository">
- <constructor factoryClass="org.jboss.aop.microcontainer.integration.AOPKernelRepository" factoryMethod="instance"/>
- </bean>
+ <bean name="Repository" class="org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository"/>
<bean name="AspectManager" class="org.jboss.aop.AspectManager">
<constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/repository/plugins/basic/BasicMetaDataContextFactory.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/repository/plugins/basic/BasicMetaDataContextFactory.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/repository/plugins/basic/BasicMetaDataContextFactory.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -21,7 +21,7 @@
*/
package org.jboss.repository.plugins.basic;
-import org.jboss.repository.spi.KernelRepository;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
import org.jboss.repository.spi.MetaDataContext;
import org.jboss.repository.spi.MetaDataContextFactory;
@@ -33,7 +33,7 @@
public class BasicMetaDataContextFactory implements MetaDataContextFactory
{
- public MetaDataContext getMetaDataContext(KernelRepository repository, Object beanName)
+ public MetaDataContext getMetaDataContext(MetaDataRepository repository, String beanName)
{
return null;
}
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContext.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContext.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContext.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -1,31 +1,32 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.repository.spi;
-import java.lang.reflect.Method;
+import java.lang.annotation.Annotation;
import java.util.List;
-import java.util.Map;
import java.util.Set;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
+
/**
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
@@ -33,27 +34,21 @@
*/
public interface MetaDataContext
{
- KernelRepository getRepository();
-
- Map getScope();
-
- void setTarget(Object tgt);
-
- Object getAnnotation(Class ann);
-
- List getAnnotations();
-
- boolean hasAnnotation(String ann);
- Object getAnnotation(Method m, Class ann);
-
- List getAnnotationsForMethod(String methodName);
-
- List getAnnotationsForMethods(String[] methodNames);
-
- boolean hasAnnotation(Method m, String ann);
-
- void addAnnotations(Set annotations);
-
- void addPropertyAnnotations(String propertyName, Set propertyInfos, Set annotations);
-}
+ public abstract <T extends Annotation> boolean hasAnnotation(Class<T> ann);
+
+ public abstract <T extends Annotation> Annotation getAnnotation(Class<T> ann);
+
+ public abstract <T extends Annotation> boolean hasAnnotationForMethod(long methodHash, Class<T> ann);
+
+ public abstract <T extends Annotation> Annotation getAnnotationForMethod(long methodHash, Class<T> ann);
+
+ public abstract List<Annotation> getAnnotations();
+
+ public abstract List<Annotation> getAnnotationsForMethod(long methodHash);
+
+ public abstract List<Annotation> getAnnotationsForMethods(long[] methodHashes);
+
+ public abstract MetaDataRepository getRepository();
+
+}
\ No newline at end of file
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContextFactory.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContextFactory.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/repository/spi/MetaDataContextFactory.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -21,6 +21,8 @@
*/
package org.jboss.repository.spi;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
+
/**
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
@@ -28,5 +30,5 @@
*/
public interface MetaDataContextFactory
{
- MetaDataContext getMetaDataContext(KernelRepository repository, Object beanName);
+ MetaDataContext getMetaDataContext(MetaDataRepository repository, String beanName);
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelControllerContext.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -42,6 +42,7 @@
import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.kernel.spi.metadata.MutableMetaDataContext;
import org.jboss.repository.spi.MetaDataContext;
import org.jboss.util.JBossStringBuilder;
@@ -172,10 +173,19 @@
isDescribeProcessed = true;
}
- public MetaDataContext getMetaDataContext()
+ public MutableMetaDataContext getMetaDataContext()
{
if (info != null)
- return info.getMetaDataContext();
+ {
+ try
+ {
+ return (MutableMetaDataContext)info.getMetaDataContext();
+ }
+ catch (ClassCastException e)
+ {
+ throw new RuntimeException("MetaDataContext must be an instance of MutableMetaDataContext");
+ }
+ }
return null;
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -26,6 +26,7 @@
import java.util.Set;
import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.spi.AnnotationMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.PropertyMetaData;
import org.jboss.dependency.plugins.AbstractDependencyItem;
@@ -36,6 +37,8 @@
import org.jboss.kernel.spi.config.KernelConfigurator;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.kernel.spi.metadata.MutableMetaDataContext;
+import org.jboss.metadata.spi.repository.MetaDataRepository;
import org.jboss.repository.spi.KernelRepository;
import org.jboss.repository.spi.MetaDataContext;
import org.jboss.repository.spi.MetaDataContextFactory;
@@ -88,16 +91,16 @@
*/
private BeanInfo addAnnotations(KernelControllerContext context, BeanMetaData beanMetaData, BeanInfo beanInfo)
{
- MetaDataContext metaCtx = addClassAnnotations(context, beanMetaData, beanInfo);
+ MutableMetaDataContext metaCtx = addClassAnnotations(context, beanMetaData, beanInfo);
addPropertyAnnotations(metaCtx, context, beanMetaData, beanInfo);
return context.getBeanInfo();
}
- private MetaDataContext addClassAnnotations(KernelControllerContext context, BeanMetaData beanMetaData, BeanInfo beanInfo)
+ private MutableMetaDataContext addClassAnnotations(KernelControllerContext context, BeanMetaData beanMetaData, BeanInfo beanInfo)
{
- Set annotations = beanMetaData.getAnnotations();
+ Set<AnnotationMetaData> annotations = beanMetaData.getAnnotations();
- MetaDataContext metaCtx = null;
+ MutableMetaDataContext metaCtx = null;
if (annotations != null && annotations.size() > 0)
{
@@ -111,7 +114,7 @@
return metaCtx;
}
- private MetaDataContext addPropertyAnnotations(MetaDataContext metaCtx, KernelControllerContext context, BeanMetaData beanMetaData, BeanInfo beanInfo)
+ private MutableMetaDataContext addPropertyAnnotations(MutableMetaDataContext metaCtx, KernelControllerContext context, BeanMetaData beanMetaData, BeanInfo beanInfo)
{
Set properties = beanMetaData.getProperties();
@@ -143,24 +146,29 @@
return metaCtx;
}
- private MetaDataContext getMetaDataContext(KernelControllerContext context)
+ private MutableMetaDataContext getMetaDataContext(KernelControllerContext context)
{
//TODO: Hardcoding this doesn't feel right...
ControllerContext repCtx = context.getController().getContext("Repository", ControllerState.INSTALLED);
if (repCtx == null)
{
- log.warn("You have defined annotations for bean '" + context.getName() + "', but no KernelRepository has been installed under the name 'Repository'");
+ log.warn("You have defined annotations for bean '" + context.getName() + "', but no MetaDataRepository has been installed under the name 'Repository'");
return null;
}
- KernelRepository repository = (KernelRepository)repCtx.getTarget();
+ MetaDataRepository repository = (MetaDataRepository)repCtx.getTarget();
MetaDataContextFactory metaFactory = context.getBeanInfo().getMetaDataContextFactory();
- MetaDataContext metaCtx = metaFactory.getMetaDataContext(repository, context.getName());
-
+ MetaDataContext metaCtx = metaFactory.getMetaDataContext(repository, (String)context.getName());
+
+ if (metaCtx instanceof MutableMetaDataContext == false)
+ {
+ throw new RuntimeException("MetaDataContext must be mutable");
+ }
+
context.setMetaDataContext(metaCtx);
- return metaCtx;
+ return (MutableMetaDataContext)metaCtx;
}
}
\ No newline at end of file
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/InstantiateAction.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -29,7 +29,7 @@
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
-import org.jboss.repository.spi.MetaDataContext;
+import org.jboss.kernel.spi.metadata.MutableMetaDataContext;
/**
* InstantiateAction.
@@ -52,7 +52,7 @@
Object object = dispatchJoinPoint(context, joinPoint);
context.setTarget(object);
- MetaDataContext metaCtx = context.getMetaDataContext();
+ MutableMetaDataContext metaCtx = context.getMetaDataContext();
if (metaCtx != null)
{
metaCtx.setTarget(object);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelControllerContext.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelControllerContext.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -24,6 +24,7 @@
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.metadata.MutableMetaDataContext;
import org.jboss.kernel.spi.registry.KernelRegistryEntry;
import org.jboss.repository.spi.MetaDataContext;
/**
@@ -74,7 +75,7 @@
*
* @return the metadata context
*/
- MetaDataContext getMetaDataContext();
+ MutableMetaDataContext getMetaDataContext();
/**
* Set the metadata context
Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/metadata/MutableMetaDataContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/metadata/MutableMetaDataContext.java 2006-11-03 12:51:35 UTC (rev 58071)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/metadata/MutableMetaDataContext.java 2006-11-03 13:02:06 UTC (rev 58072)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.kernel.spi.metadata;
+
+import java.util.Set;
+
+import org.jboss.beans.info.spi.PropertyInfo;
+import org.jboss.beans.metadata.spi.AnnotationMetaData;
+import org.jboss.repository.spi.MetaDataContext;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface MutableMetaDataContext extends MetaDataContext
+{
+ public abstract void addAnnotations(Set<AnnotationMetaData> annotations);
+
+ public abstract void addPropertyAnnotations(String propertyName, Set<PropertyInfo> propertyInfos, Set<AnnotationMetaData> annotations);
+
+ public abstract void setTarget(Object tgt);
+
+}
More information about the jboss-cvs-commits
mailing list