[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