[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