[jboss-cvs] JBossAS SVN: r84630 - 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 09:35:56 EST 2009
Author: kabir.khan at jboss.com
Date: 2009-02-23 09:35:56 -0500 (Mon, 23 Feb 2009)
New Revision: 84630
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 array bindings and replacements 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 14:35:40 UTC (rev 84629)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/AspectManager.java 2009-02-23 14:35:56 UTC (rev 84630)
@@ -56,7 +56,6 @@
import org.jboss.aop.advice.PrecedenceDefEntry;
import org.jboss.aop.advice.PrecedenceSorter;
import org.jboss.aop.advice.Scope;
-import org.jboss.aop.array.ArrayAdvisor;
import org.jboss.aop.array.ArrayBinding;
import org.jboss.aop.array.ArrayReplacement;
import org.jboss.aop.classpool.AOPClassLoaderScopingPolicy;
@@ -67,7 +66,6 @@
import org.jboss.aop.metadata.ClassMetaDataBinding;
import org.jboss.aop.metadata.ClassMetaDataLoader;
import org.jboss.aop.microcontainer.lifecycle.LifecycleCallbackBinding;
-import org.jboss.aop.microcontainer.lifecycle.LifecycleManager;
import org.jboss.aop.pointcut.CFlowStack;
import org.jboss.aop.pointcut.DeclareDef;
import org.jboss.aop.pointcut.DynamicCFlow;
@@ -132,8 +130,8 @@
protected int subscribedDomainQueueRef;
// protected volatile LinkedHashMap<String, InterfaceIntroduction> interfaceIntroductions = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
- protected volatile LinkedHashMap<String, ArrayReplacement> arrayReplacements = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
- protected volatile LinkedHashMap<String, ArrayBinding> arrayBindings = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
+ //protected volatile LinkedHashMap<String, ArrayReplacement> arrayReplacements = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
+ //protected volatile LinkedHashMap<String, ArrayBinding> arrayBindings = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
protected volatile LinkedHashMap<String, AnnotationIntroduction> annotationIntroductions =UnmodifiableEmptyCollections. EMPTY_LINKED_HASHMAP;
protected volatile LinkedHashMap<String, AnnotationIntroduction> annotationOverrides = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
@Deprecated
@@ -1363,80 +1361,42 @@
manager.removeInterfaceIntroduction(name);
}
- /**
- * Retrieve an introduction pointcut of a certain name
- */
+ @Deprecated
public ArrayReplacement getArrayReplacement(String name)
{
- synchronized (arrayReplacements)
- {
- return arrayReplacements.get(name);
- }
+ return manager.getArrayReplacement(name);
}
- /**
- * Register an introduction pointcut
- */
- public synchronized void addArrayReplacement(ArrayReplacement pointcut)
+ @Deprecated
+ public void addArrayReplacement(ArrayReplacement pointcut)
{
- removeArrayReplacement(pointcut.getName());
- initArrayReplacementMap();
- synchronized (arrayReplacements)
- {
- arrayReplacements.put(pointcut.getName(), pointcut);
- }
+ manager.addArrayReplacement(pointcut);
}
- /**
- * remove an introduction pointcut of a certain name
- */
+ @Deprecated
public void removeArrayReplacement(String name)
{
- synchronized (arrayReplacements)
- {
- arrayReplacements.remove(name);
- }
+ manager.removeArrayReplacement(name);
}
- /**
- * Retrieve an introduction pointcut of a certain name
- */
+ @Deprecated
public ArrayBinding getArrayBinding(String name)
{
- synchronized (arrayBindings)
- {
- return arrayBindings.get(name);
- }
+ return manager.getArrayBinding(name);
}
- /**
- * Register an introduction pointcut
- */
- public synchronized void addArrayBinding(ArrayBinding binding)
+ @Deprecated
+ public void addArrayBinding(ArrayBinding binding)
{
- removeArrayBinding(binding.getName());
- initArrayBindingMap();
- synchronized (arrayBindings)
- {
- arrayBindings.put(binding.getName(), binding);
- ArrayAdvisor.addBinding(binding);
- }
+ manager.addArrayBinding(binding);
}
- /**
- * remove an introduction pointcut of a certain name
- */
+ @Deprecated
public void removeArrayBinding(String name)
{
- synchronized (arrayBindings)
- {
- ArrayBinding pointcut = arrayBindings.remove(name);
- if (pointcut == null) return;
- ArrayAdvisor.removeBinding(pointcut);
- }
+ manager.removeArrayBinding(name);
}
-
/**
* Register an annotation introduction
*/
@@ -1719,9 +1679,10 @@
return manager.getInterfaceIntroductions();
}
+ @Deprecated
public Map<String, ArrayReplacement> getArrayReplacements()
{
- return arrayReplacements;
+ return manager.getArrayReplacements();
}
@Deprecated
@@ -1997,35 +1958,6 @@
}
}
- protected void initArrayReplacementMap()
- {
- if (arrayReplacements == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
- {
- synchronized(lazyCollectionLock)
- {
- if (arrayReplacements == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
- {
- arrayReplacements = new LinkedHashMap<String, ArrayReplacement>();
- }
- }
- }
- }
-
- protected void initArrayBindingMap()
- {
- if (arrayBindings == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
- {
- synchronized(lazyCollectionLock)
- {
- if (arrayBindings == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
- {
- arrayBindings = new LinkedHashMap<String, ArrayBinding>();
- }
- }
- }
- }
-
-
protected void initAnnotationIntroductionsMap()
{
if (annotationIntroductions == UnmodifiableEmptyCollections.EMPTY_LINKED_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 14:35:40 UTC (rev 84629)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/Domain.java 2009-02-23 14:35:56 UTC (rev 84630)
@@ -309,17 +309,17 @@
{
// when child first, parent bindings go in first so that they can be overridden by child.
map.putAll(parent.getArrayReplacements());
- synchronized (arrayReplacements)
+ synchronized (super.getArrayReplacements())
{
- map.putAll(arrayReplacements);
+ map.putAll(super.getArrayReplacements());
}
return map;
}
else
{
- synchronized (arrayReplacements)
+ synchronized (super.getArrayReplacements())
{
- map.putAll(arrayReplacements);
+ map.putAll(super.getArrayReplacements());
}
map.putAll(parent.getArrayReplacements());
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 14:35:40 UTC (rev 84629)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/plugins/DefaultManager.java 2009-02-23 14:35:56 UTC (rev 84630)
@@ -30,6 +30,9 @@
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.DynamicCFlowDefinition;
import org.jboss.aop.advice.InterceptorFactory;
+import org.jboss.aop.array.ArrayAdvisor;
+import org.jboss.aop.array.ArrayBinding;
+import org.jboss.aop.array.ArrayReplacement;
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.metadata.ClassMetaDataLoader;
import org.jboss.aop.metadata.SimpleClassMetaDataLoader;
@@ -64,8 +67,12 @@
private volatile LinkedHashMap<String, InterfaceIntroduction> interfaceIntroductions = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
- protected volatile HashMap<String,ClassMetaDataLoader> classMetaDataLoaders = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
+ private volatile HashMap<String,ClassMetaDataLoader> classMetaDataLoaders = UnmodifiableEmptyCollections.EMPTY_HASHMAP;
+ private volatile LinkedHashMap<String, ArrayReplacement> arrayReplacements = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
+
+ private volatile LinkedHashMap<String, ArrayBinding> arrayBindings = UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP;
+
private LifecycleManager lifecycleManager = new LifecycleManager(this);
protected DefaultManager(Configuration configuration)
@@ -254,6 +261,84 @@
lifecycleManager.removeLifecycleBinding(name);
}
+ /**
+ * Retrieve an introduction pointcut of a certain name
+ */
+ public ArrayReplacement getArrayReplacement(String name)
+ {
+ synchronized (arrayReplacements)
+ {
+ return arrayReplacements.get(name);
+ }
+ }
+
+ /**
+ * Register an introduction pointcut
+ */
+ public synchronized void addArrayReplacement(ArrayReplacement pointcut)
+ {
+ removeArrayReplacement(pointcut.getName());
+ initArrayReplacementMap();
+ synchronized (arrayReplacements)
+ {
+ arrayReplacements.put(pointcut.getName(), pointcut);
+ }
+ }
+
+ /**
+ * remove an introduction pointcut of a certain name
+ */
+ public void removeArrayReplacement(String name)
+ {
+ synchronized (arrayReplacements)
+ {
+ arrayReplacements.remove(name);
+ }
+ }
+
+ /**
+ * Retrieve an introduction pointcut of a certain name
+ */
+ public ArrayBinding getArrayBinding(String name)
+ {
+ synchronized (arrayBindings)
+ {
+ return arrayBindings.get(name);
+ }
+ }
+
+ /**
+ * Register an introduction pointcut
+ */
+ public synchronized void addArrayBinding(ArrayBinding binding)
+ {
+ removeArrayBinding(binding.getName());
+ initArrayBindingMap();
+ synchronized (arrayBindings)
+ {
+ arrayBindings.put(binding.getName(), binding);
+ ArrayAdvisor.addBinding(binding);
+ }
+ }
+
+ /**
+ * remove an introduction pointcut of a certain name
+ */
+ public void removeArrayBinding(String name)
+ {
+ synchronized (arrayBindings)
+ {
+ ArrayBinding pointcut = arrayBindings.remove(name);
+ if (pointcut == null) return;
+ ArrayAdvisor.removeBinding(pointcut);
+ }
+ }
+
+ public Map<String, ArrayReplacement> getArrayReplacements()
+ {
+ return arrayReplacements;
+ }
+
protected void initCFlowStacksMap()
{
if (cflowStacks == UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP)
@@ -337,4 +422,32 @@
}
}
}
+
+ protected void initArrayReplacementMap()
+ {
+ if (arrayReplacements == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
+ {
+ synchronized(lazyCollectionLock)
+ {
+ if (arrayReplacements == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
+ {
+ arrayReplacements = new LinkedHashMap<String, ArrayReplacement>();
+ }
+ }
+ }
+ }
+
+ protected void initArrayBindingMap()
+ {
+ if (arrayBindings == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
+ {
+ synchronized(lazyCollectionLock)
+ {
+ if (arrayBindings == UnmodifiableEmptyCollections.EMPTY_LINKED_HASHMAP)
+ {
+ arrayBindings = new LinkedHashMap<String, ArrayBinding>();
+ }
+ }
+ }
+ }
}
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 14:35:40 UTC (rev 84629)
+++ projects/aop/branches/createspi/aop/src/main/java/org/jboss/aop/spi/Manager.java 2009-02-23 14:35:56 UTC (rev 84630)
@@ -26,6 +26,8 @@
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.DynamicCFlowDefinition;
import org.jboss.aop.advice.InterceptorFactory;
+import org.jboss.aop.array.ArrayBinding;
+import org.jboss.aop.array.ArrayReplacement;
import org.jboss.aop.introduction.InterfaceIntroduction;
import org.jboss.aop.metadata.ClassMetaDataLoader;
import org.jboss.aop.microcontainer.lifecycle.LifecycleCallbackBinding;
@@ -229,7 +231,47 @@
//TODO check parents?
Map<String, LifecycleCallbackBinding> getLifecycleBindings();
+
+ /**
+ * Register an array replacement
+ * @param binding The array array replacement
+ */
+ void addArrayReplacement(ArrayReplacement pointcut);
+ /**
+ * Gets an array replacement
+ * @param name The name of the array replacement
+ * @return The array replacement if found, or null if not found
+ */
+ ArrayReplacement getArrayReplacement(String name);
+
+ /**
+ * Remove an array replacement
+ * @param name Name of the array replacement to remove
+ */
+ void removeArrayReplacement(String name);
+
+ /**
+ * Register an array binding
+ * @param binding The array binding
+ */
+ void addArrayBinding(ArrayBinding binding);
+
+ /**
+ * Gets an array binding
+ * @param name The name of the array binding to get
+ * @return The array binding if found, or null if not found
+ */
+ ArrayBinding getArrayBinding(String name);
+
+ /**
+ * Remove an array binding
+ * @param name Name of the array binding to remove
+ */
+ void removeArrayBinding(String name);
+
+ Map<String, ArrayReplacement> getArrayReplacements();
+
// InterceptionMarkers getInterceptionMarkers(ClassLoader loader);
//
// Map<String, Pointcut> getPointcuts();
More information about the jboss-cvs-commits
mailing list