[jboss-cvs] JBossAS SVN: r84638 - in projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop: plugins and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 23 11:17:45 EST 2009
Author: kabir.khan at jboss.com
Date: 2009-02-23 11:17:45 -0500 (Mon, 23 Feb 2009)
New Revision: 84638
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/plugins/DefaultManager.java
projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java
Log:
Move interceptor stacks 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 16:10:47 UTC (rev 84637)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/AspectManager.java 2009-02-23 16:17:45 UTC (rev 84638)
@@ -143,7 +143,7 @@
//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, AdviceStack> interceptorStacks = 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;
protected volatile ConcurrentHashMap<String, AspectDefinition> aspectDefinitions = UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP;
@@ -902,38 +902,23 @@
return sortedPrecedenceDefEntries;
}
- /**
- * Add a referencable InterceptorStack( <stack> )
- */
+
+ @Deprecated
public void addAdviceStack(AdviceStack stack)
{
- initInerceptorStacksMap();
- synchronized (interceptorStacks)
- {
- interceptorStacks.put(stack.getName(), stack);
- }
+ manager.addAdviceStack(stack);
}
- /**
- * Remove a referencable InterceptorStack( <stack> )
- */
+ @Deprecated
public void removeInterceptorStack(String name)
{
- synchronized (interceptorStacks)
- {
- interceptorStacks.remove(name);
- }
+ manager.removeAdviceStack(name);
}
- /**
- * Find an interceptor stack referenced by name ( <stack> )
- */
+ @Deprecated
public AdviceStack getAdviceStack(String name)
{
- synchronized (interceptorStacks)
- {
- return interceptorStacks.get(name);
- }
+ return manager.getAdviceStack(name);
}
@@ -1681,7 +1666,7 @@
public Map<String, AdviceStack> getInterceptorStacks()
{
- return interceptorStacks;
+ return manager.getAdviceStacks();
}
@Deprecated
@@ -1960,21 +1945,6 @@
}
}
- protected void initInerceptorStacksMap()
- {
- if (interceptorStacks == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
- {
- synchronized(lazyCollectionLock)
- {
- if (interceptorStacks == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
- {
- interceptorStacks = new HashMap<String, AdviceStack>();
- }
- }
- }
- }
-
-
protected void initDeclaresMap()
{
if (declares == 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 16:10:47 UTC (rev 84637)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/Domain.java 2009-02-23 16:17:45 UTC (rev 84638)
@@ -502,17 +502,17 @@
{
// when child first, parent bindings go in first so that they can be overridden by child.
map.putAll(parent.getInterceptorStacks());
- synchronized (interceptorStacks)
+ synchronized (super.getInterceptorStacks())
{
- map.putAll(interceptorStacks);
+ map.putAll(super.getInterceptorStacks());
}
return map;
}
else
{
- synchronized (interceptorStacks)
+ synchronized (super.getInterceptorStacks())
{
- map.putAll(interceptorStacks);
+ map.putAll(super.getInterceptorStacks());
}
map.putAll(parent.getInterceptorStacks());
return map;
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 16:10:47 UTC (rev 84637)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/plugins/DefaultManager.java 2009-02-23 16:17:45 UTC (rev 84638)
@@ -29,6 +29,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import org.jboss.aop.advice.AdviceStack;
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.DynamicCFlowDefinition;
import org.jboss.aop.advice.InterceptorFactory;
@@ -76,9 +77,11 @@
private volatile Map<String, ArrayBinding> arrayBindings = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
- private LifecycleManager lifecycleManager = new LifecycleManager(this);
+ private LifecycleManager lifecycleManager = new LifecycleManager(this);
- private volatile LinkedHashMap<String, AnnotationIntroduction> annotationIntroductions =UnmodifiableEmptyCollections. EMPTY_LINKED_HASHMAP;
+ private volatile Map<String, AnnotationIntroduction> annotationIntroductions =UnmodifiableEmptyCollections. EMPTY_LINKED_HASHMAP;
+
+ private volatile Map<String, AdviceStack> adviceStacks = UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP;
protected DefaultManager(Configuration configuration)
{
@@ -326,9 +329,6 @@
return arrayReplacements;
}
- /**
- * Register an annotation introduction
- */
public synchronized void addAnnotationIntroduction(AnnotationIntroduction introduction)
{
String name = introduction.getOriginalAnnotationExpr() + introduction.getOriginalExpression();
@@ -340,9 +340,6 @@
}
}
- /**
- * remove an annotation pointcut
- */
public void removeAnnotationIntroduction(AnnotationIntroduction introduction)
{
String name = introduction.getOriginalAnnotationExpr() + introduction.getOriginalExpression();
@@ -360,6 +357,27 @@
}
}
+ public void addAdviceStack(AdviceStack stack)
+ {
+ initInterceptorStacksMap();
+ adviceStacks.put(stack.getName(), stack);
+ }
+
+ public AdviceStack getAdviceStack(String name)
+ {
+ return adviceStacks.get(name);
+ }
+
+ public void removeAdviceStack(String name)
+ {
+ adviceStacks.remove(name);
+ }
+
+ public Map<String, AdviceStack> getAdviceStacks()
+ {
+ return adviceStacks;
+ }
+
protected void initCFlowStacksMap()
{
if (cflowStacks == UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP)
@@ -485,4 +503,19 @@
}
}
}
+
+ protected void initInterceptorStacksMap()
+ {
+ if (adviceStacks == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
+ {
+ synchronized(lazyCollectionLock)
+ {
+ if (adviceStacks == UnmodifiableEmptyCollections.EMPTY_HASHMAP)
+ {
+ adviceStacks = new HashMap<String, AdviceStack>();
+ }
+ }
+ }
+ }
+
}
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 16:10:47 UTC (rev 84637)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java 2009-02-23 16:17:45 UTC (rev 84638)
@@ -24,6 +24,7 @@
import java.util.List;
import java.util.Map;
+import org.jboss.aop.advice.AdviceStack;
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.DynamicCFlowDefinition;
import org.jboss.aop.advice.InterceptorFactory;
@@ -295,7 +296,33 @@
* @return All the annotation introduction
*/
List<AnnotationIntroduction> getAnnotationIntroductions();
+
+ /**
+ * Register an advice stack
+ * @param stack The advice stack
+ */
+ void addAdviceStack(AdviceStack stack);
+ /**
+ * Get an advice stack
+ * @param name The name of the advice stack
+ * @return The advice stack if found, or null if not found
+ */
+ AdviceStack getAdviceStack(String name);
+
+ /**
+ * Remove an advice stack
+ * @param name Name of the advice stack to remove
+ */
+ void removeAdviceStack(String name);
+
+ /**
+ * Gets all the advice stacks registered in this manager and its parents
+ * @return A map of advice stacks indexed by name
+ */
+ Map<String, AdviceStack> getAdviceStacks();
+
+
// InterceptionMarkers getInterceptionMarkers(ClassLoader loader);
//
// Map<String, Pointcut> getPointcuts();
More information about the jboss-cvs-commits
mailing list