[jboss-cvs] JBossAS SVN: r100405 - in projects/kernel/branches/resolver: kernel/src/main/java/org/jboss/beans/metadata/plugins and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 4 05:30:31 EST 2010


Author: kabir.khan at jboss.com
Date: 2010-02-04 05:30:31 -0500 (Thu, 04 Feb 2010)
New Revision: 100405

Modified:
   projects/kernel/branches/resolver/
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallback.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallbackHandler.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/AbstractClassDependencyResolverMatcher.java
   projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/IndexingKernelDependencyInfoDecorator.java
   projects/kernel/branches/resolver/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java
Log:
Clean up the dependencies on uninstall, and allow for null target in AbstractClassDependencyResolverMatcher


Property changes on: projects/kernel/branches/resolver
___________________________________________________________________
Name: svnmerge-integrated
   - /projects/kernel/trunk:1-100253
   + /projects/kernel/trunk:1-100335

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/beans/metadata/plugins/ContextualInjectionDependencyItem.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -154,4 +154,9 @@
       }
       clearableDependencyItemCallbackHandler.registerCallback(callback);
    }
+
+   public void clearCallbacks()
+   {
+      clearableDependencyItemCallbackHandler = null;
+   }
 }
\ No newline at end of file

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClassDependencyItem.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -90,4 +90,11 @@
       }
       clearableDependencyItemCallbackHandler.registerCallback(callback);
    }
+   
+
+   public void clearCallbacks()
+   {
+      clearableDependencyItemCallbackHandler = null;
+   }
+
 }

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItem.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -22,6 +22,7 @@
 package org.jboss.kernel.plugins.dependency;
 
 import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.DependencyItem;
 
 /**
  * Interface implemented by DependencyItems that need to be cleared when the classloader is 
@@ -30,7 +31,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public interface ClearableDependencyItem
+public interface ClearableDependencyItem extends DependencyItem
 {
    /**
     * Called when the bean info is cleared in the controller context
@@ -46,4 +47,6 @@
     * @throws IllegalArgumentException if the callback was null
     */
    void registerCallback(ClearableDependencyItemCallback callback);
+   
+   void clearCallbacks();
 }

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallback.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallback.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallback.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -21,7 +21,6 @@
 */ 
 package org.jboss.kernel.plugins.dependency;
 
-import org.jboss.dependency.spi.DependencyItem;
 
 /**
  * Called by {@link ClearableDependencyItem#clear(org.jboss.dependency.spi.Controller)} just BEFORE the 
@@ -36,5 +35,5 @@
     * The dependency is about to be cleared
     * @param item the item being cleared
     */
-   void clearing(DependencyItem item);
+   void clearing(ClearableDependencyItem item);
 }

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallbackHandler.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallbackHandler.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ClearableDependencyItemCallbackHandler.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -25,7 +25,6 @@
 import java.util.concurrent.CopyOnWriteArraySet;
 
 import org.jboss.dependency.spi.Controller;
-import org.jboss.dependency.spi.DependencyItem;
 
 /**
  * 
@@ -36,7 +35,7 @@
 {
    private volatile Set<ClearableDependencyItemCallback> callbacks = new CopyOnWriteArraySet<ClearableDependencyItemCallback>();
 
-   public void invokeClearingCallbacks(Controller controller, DependencyItem item)
+   public void invokeClearingCallbacks(Controller controller, ClearableDependencyItem item)
    {
       for (ClearableDependencyItemCallback callback : callbacks)
          callback.clearing(item);

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/AbstractClassDependencyResolverMatcher.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/AbstractClassDependencyResolverMatcher.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/AbstractClassDependencyResolverMatcher.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -51,7 +51,7 @@
          if (contextsByClass != null)
          {
             if (context.getTarget() == null)
-               throw new IllegalStateException("Null target");
+               return null;
             return addMatchingContexts(null, context.getTarget().getClass(), contextsByClass);
          }
          return null;

Modified: projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/IndexingKernelDependencyInfoDecorator.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/IndexingKernelDependencyInfoDecorator.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/main/java/org/jboss/kernel/plugins/resolver/indexing/IndexingKernelDependencyInfoDecorator.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -60,13 +60,13 @@
          ((ClearableDependencyItem)dependency).registerCallback(new IndexingClearableDependencyItem());
       }
    }
-
+   
    private class IndexingClearableDependencyItem implements ClearableDependencyItemCallback
    {
-      public void clearing(DependencyItem item)
+      public void clearing(ClearableDependencyItem item)
       {
          getResolver().unregisterDependency(getControllerContext(), item);
+         item.clearCallbacks();
       }
-
    }
 }

Modified: projects/kernel/branches/resolver/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java
===================================================================
--- projects/kernel/branches/resolver/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java	2010-02-04 10:29:52 UTC (rev 100404)
+++ projects/kernel/branches/resolver/kernel/src/test/java/org/jboss/test/kernel/dependency/test/DependencyTestSuite.java	2010-02-04 10:30:31 UTC (rev 100405)
@@ -126,6 +126,7 @@
       suite.addTest(OptionalAnnotationTestCase.suite());
       suite.addTest(DependsOnMeCleanupTestCase.suite());
       suite.addTest(ScopedDependsOnMeCleanupTestCase.suite());
+      suite.addTest(ContextualInjectCleanupTestCase.suite());
       return suite;
    }
 }




More information about the jboss-cvs-commits mailing list