[jboss-cvs] JBossAS SVN: r84610 - in projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop: metadata and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 23 07:46:35 EST 2009
Author: kabir.khan at jboss.com
Date: 2009-02-23 07:46:35 -0500 (Mon, 23 Feb 2009)
New Revision: 84610
Modified:
projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/AspectManager.java
projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/Domain.java
projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/metadata/ClassMetaDataLoader.java
projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/plugins/DefaultManager.java
projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java
Log:
Move ClassMetaDataLoader to new Manager
Modified: projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/AspectManager.java 2009-02-23 12:45:42 UTC (rev 84609)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/AspectManager.java 2009-02-23 12:46:35 UTC (rev 84610)
@@ -66,7 +66,6 @@
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.metadata.ClassMetaDataBinding;
import org.jboss.aop.metadata.ClassMetaDataLoader;
-import org.jboss.aop.metadata.SimpleClassMetaDataLoader;
import org.jboss.aop.microcontainer.lifecycle.LifecycleCallbackBinding;
import org.jboss.aop.microcontainer.lifecycle.LifecycleManager;
import org.jboss.aop.pointcut.CFlowStack;
@@ -142,7 +141,7 @@
protected final ClassifiedBindingAndPointcutCollection bindingCollection;
//protected volatile LinkedHashMap<String, Typedef> typedefs = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
// protected volatile HashMap<String, InterceptorFactory> interceptorFactories = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
- protected volatile HashMap<String,ClassMetaDataLoader> classMetaDataLoaders = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
+ //protected volatile HashMap<String,ClassMetaDataLoader> classMetaDataLoaders = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
protected volatile HashMap<String, AdviceStack> interceptorStacks = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
protected volatile HashMap<String, DeclareDef> declares = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
//protected volatile ConcurrentHashMap<String, DynamicCFlowDefinition> dynamicCFlows = UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP;
@@ -360,39 +359,23 @@
return new ClassifiedBindingAndPointcutCollection();
}
- /**
- * Every <class-metadata> tag corresponds to
- * a ClassMetaDataLoader. The ClassMetaDataLoader knows how to take
- * arbitrary XML and apply it to SimpleMetaData.
- * <p/>
- * Given a group, return the loader for that group
- */
+ @Deprecated
public ClassMetaDataLoader findClassMetaDataLoader(String group)
{
- ClassMetaDataLoader loader = classMetaDataLoaders.get(group);
- if (loader == null) loader = SimpleClassMetaDataLoader.singleton;
- return loader;
+ return manager.findClassMetaDataLoader(group);
}
- /**
- * Every <class-metadata> tag corresponds to
- * a ClassMetaDataLoader. The ClassMetaDataLoader knows how to take
- * arbitrary XML and apply it to SimpleMetaData.
- * <p/>
- * Add a loader for a given group
- */
+
+ @Deprecated
public void addClassMetaDataLoader(String group, ClassMetaDataLoader loader)
{
- initClassMetaDataLoadersMap();
- classMetaDataLoaders.put(group, loader);
+ manager.addClassMetaDataLoader(group, loader);
}
- /**
- * Remove a loader for a given group
- */
+ @Deprecated
public void removeClassMetaDataLoader(String group)
{
- classMetaDataLoaders.remove(group);
+ manager.removeClassMetaDataLoader(group);
}
public Map<Class<?>, WeakReference<Advisor>> getAdvisors()
@@ -1752,9 +1735,10 @@
return interceptorStacks;
}
+ @Deprecated
public Map<String, ClassMetaDataLoader> getClassMetaDataLoaders()
{
- return classMetaDataLoaders;
+ return manager.getClassMetaDataLoaders();
}
public Map<String, CFlowStack> getCflowStacks()
@@ -2065,20 +2049,6 @@
}
}
- protected void initClassMetaDataLoadersMap()
- {
- if (classMetaDataLoaders == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
- {
- synchronized(lazyCollectionLock)
- {
- if (classMetaDataLoaders == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
- {
- classMetaDataLoaders = new HashMap<String, ClassMetaDataLoader>();
- }
- }
- }
- }
-
protected void initInerceptorStacksMap()
{
if (interceptorStacks == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
Modified: projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/Domain.java
===================================================================
--- projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/Domain.java 2009-02-23 12:45:42 UTC (rev 84609)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/Domain.java 2009-02-23 12:46:35 UTC (rev 84610)
@@ -531,17 +531,17 @@
{
// when child first, parent bindings go in first so that they can be overridden by child.
map.putAll(parent.getClassMetaDataLoaders());
- synchronized (classMetaDataLoaders)
+ synchronized (super.getClassMetaDataLoaders())
{
- map.putAll(classMetaDataLoaders);
+ map.putAll(super.getClassMetaDataLoaders());
}
return map;
}
else
{
- synchronized (classMetaDataLoaders)
+ synchronized (super.getClassMetaDataLoaders())
{
- map.putAll(classMetaDataLoaders);
+ map.putAll(super.getClassMetaDataLoaders());
}
map.putAll(parent.getClassMetaDataLoaders());
return map;
Modified: projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/metadata/ClassMetaDataLoader.java
===================================================================
--- projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/metadata/ClassMetaDataLoader.java 2009-02-23 12:45:42 UTC (rev 84609)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/metadata/ClassMetaDataLoader.java 2009-02-23 12:46:35 UTC (rev 84610)
@@ -32,7 +32,7 @@
import java.lang.reflect.Method;
/**
- * <description>
+ * The ClassMetaDataLoader knows how to take arbitrary XML and apply it to SimpleMetaData.
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
* @version $Revision$
Modified: projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/plugins/DefaultManager.java
===================================================================
--- projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/plugins/DefaultManager.java 2009-02-23 12:45:42 UTC (rev 84609)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/plugins/DefaultManager.java 2009-02-23 12:46:35 UTC (rev 84610)
@@ -30,6 +30,8 @@
import org.jboss.aop.advice.DynamicCFlowDefinition;
import org.jboss.aop.advice.InterceptorFactory;
import org.jboss.aop.introduction.InterfaceIntroduction;
+import org.jboss.aop.metadata.ClassMetaDataLoader;
+import org.jboss.aop.metadata.SimpleClassMetaDataLoader;
import org.jboss.aop.pointcut.CFlowStack;
import org.jboss.aop.pointcut.DynamicCFlow;
import org.jboss.aop.pointcut.Typedef;
@@ -58,6 +60,8 @@
private volatile Map<String, InterceptorFactory> interceptorFactories = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
private volatile LinkedHashMap<String, InterfaceIntroduction> interfaceIntroductions = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
+
+ protected volatile HashMap<String,ClassMetaDataLoader> classMetaDataLoaders = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
protected DefaultManager(Configuration configuration)
{
@@ -196,6 +200,30 @@
return interfaceIntroductions;
}
+ public void addClassMetaDataLoader(String group, ClassMetaDataLoader loader)
+ {
+ initClassMetaDataLoadersMap();
+ classMetaDataLoaders.put(group, loader);
+ }
+
+ public ClassMetaDataLoader findClassMetaDataLoader(String group)
+ {
+ ClassMetaDataLoader loader = classMetaDataLoaders.get(group);
+ if (loader == null) loader = SimpleClassMetaDataLoader.singleton;
+ return loader;
+ }
+
+ public void removeClassMetaDataLoader(String group)
+ {
+ classMetaDataLoaders.remove(group);
+
+ }
+
+ public Map<String, ClassMetaDataLoader> getClassMetaDataLoaders()
+ {
+ return classMetaDataLoaders;
+ }
+
protected void initCFlowStacksMap()
{
if (cflowStacks == UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP)
@@ -265,4 +293,18 @@
}
}
}
+
+ protected void initClassMetaDataLoadersMap()
+ {
+ if (classMetaDataLoaders == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
+ {
+ synchronized(lazyCollectionLock)
+ {
+ if (classMetaDataLoaders == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
+ {
+ classMetaDataLoaders = new HashMap<String, ClassMetaDataLoader>();
+ }
+ }
+ }
+ }
}
Modified: projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java
===================================================================
--- projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java 2009-02-23 12:45:42 UTC (rev 84609)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java 2009-02-23 12:46:35 UTC (rev 84610)
@@ -26,6 +26,7 @@
import org.jboss.aop.advice.DynamicCFlowDefinition;
import org.jboss.aop.advice.InterceptorFactory;
import org.jboss.aop.introduction.InterfaceIntroduction;
+import org.jboss.aop.metadata.ClassMetaDataLoader;
import org.jboss.aop.pointcut.CFlowStack;
import org.jboss.aop.pointcut.DynamicCFlow;
import org.jboss.aop.pointcut.Typedef;
@@ -167,6 +168,35 @@
Map<String, InterfaceIntroduction> getInterfaceIntroductions();
+ /**
+ * Add a metadata loader for a given group
+ * @param group The name of the group
+ * @param loader The metadata loader
+ *
+ */
+ void addClassMetaDataLoader(String group, ClassMetaDataLoader loader);
+
+ /**
+ * Get the metadata loader for a group
+ * @param group of the metadata group
+ * @return The metadata loader or null if it could not be found
+ */
+ ClassMetaDataLoader findClassMetaDataLoader(String group);
+
+ /**
+ * Remove a metadata loader for a given group
+ * @param group The name of the metadata group
+ *
+ */
+ void removeClassMetaDataLoader(String group);
+
+ /**
+ * Get the metadata loaders in this manager and parents
+ * @return A map of metadata loaders indexed by name
+ */
+ Map<String, ClassMetaDataLoader> getClassMetaDataLoaders();
+
+
// InterceptionMarkers getInterceptionMarkers(ClassLoader loader);
//
// Map<String, Pointcut> getPointcuts();
More information about the jboss-cvs-commits
mailing list