[jboss-cvs] JBossAS SVN: r99653 - in projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins: resolver and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 20 06:31:29 EST 2010
Author: kabir.khan at jboss.com
Date: 2010-01-20 06:31:28 -0500 (Wed, 20 Jan 2010)
New Revision: 99653
Modified:
projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/IndexingDependencyResolver2.java
Log:
Support aliases
Modified: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java 2010-01-20 11:17:27 UTC (rev 99652)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java 2010-01-20 11:31:28 UTC (rev 99653)
@@ -1991,6 +1991,7 @@
// get the context's controller - not the one we registered with
AbstractController controller = (AbstractController)context.getController();
+ ControllerContext lookup = controller.getContext(alias, null);
controller.unregisterControllerContext(alias);
if (log.isTraceEnabled())
log.trace("Removed alias " + alias);
Modified: projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/IndexingDependencyResolver2.java
===================================================================
--- projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/IndexingDependencyResolver2.java 2010-01-20 11:17:27 UTC (rev 99652)
+++ projects/kernel/branches/resolver/dependency/src/main/java/org/jboss/dependency/plugins/resolver/IndexingDependencyResolver2.java 2010-01-20 11:31:28 UTC (rev 99653)
@@ -21,7 +21,9 @@
*/
package org.jboss.dependency.plugins.resolver;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -34,6 +36,8 @@
import org.jboss.dependency.spi.DependencyInfo;
import org.jboss.dependency.spi.DependencyItem;
+import com.sun.org.apache.bcel.internal.generic.ALOAD;
+
/**
* Optimized
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
@@ -142,16 +146,53 @@
return plugin.canMoveToState(ctx, state);
}
+ private Set<ControllerContext> getAllContextsDependentOn(ControllerContext incremented)
+ {
+ Set<ControllerContext> result = null;
+ ConcurrentMap<ControllerState, List<ControllerContext>> contextsByDependentState = contextsByDependency.get(incremented.getName());
+ result = addContextsDependentOn(result, incremented.getState(), contextsByDependentState);
+
+ Set<Object> aliases = incremented.getAliases();
+ if (aliases != null && aliases.size() > 0)
+ {
+ for (Object alias : aliases)
+ {
+ contextsByDependentState = contextsByDependency.get(alias);
+ result = addContextsDependentOn(result, incremented.getState(), contextsByDependentState);
+ }
+ }
+ return result;
+ }
+
+ private Set<ControllerContext> addContextsDependentOn(Set<ControllerContext> result, ControllerState dependentState, Map<ControllerState, List<ControllerContext>> contextsByDependentState)
+ {
+ if (contextsByDependentState != null && !contextsByDependentState.isEmpty())
+ {
+ List<ControllerContext> contextsForName = contextsByDependentState.get(dependentState);
+ if (contextsForName != null && !contextsForName.isEmpty())
+ {
+ if (result == null)
+ result = new HashSet<ControllerContext>();
+ result.addAll(contextsForName);
+ }
+ }
+ return result;
+ }
+
@Override
public void stateIncremented(ControllerContext incremented, boolean trace)
{
- //private final ConcurrentMap<Object, ConcurrentMap<ControllerState, List<ControllerContext>>> contextsByDependency = new ConcurrentHashMap<Object, ConcurrentMap<ControllerState, List<ControllerContext>>>();
- ConcurrentMap<ControllerState, List<ControllerContext>> contextsByDependentState = contextsByDependency.get(incremented.getName());
- if (contextsByDependentState == null || contextsByDependentState.size() == 0)
- return;
- List<ControllerContext> contexts = contextsByDependentState.get(incremented.getState());
+// //private final ConcurrentMap<Object, ConcurrentMap<ControllerState, List<ControllerContext>>> contextsByDependency = new ConcurrentHashMap<Object, ConcurrentMap<ControllerState, List<ControllerContext>>>();
+// ConcurrentMap<ControllerState, List<ControllerContext>> contextsByDependentState = contextsByDependency.get(incremented.getName());
+//
+// if (contextsByDependentState == null || contextsByDependentState.size() == 0)
+// return;
+// List<ControllerContext> contexts = contextsByDependentState.get(incremented.getState());
+// if (contexts == null || contexts.size() == 0)
+// return;
+ Set<ControllerContext> contexts = getAllContextsDependentOn(incremented);
if (contexts == null || contexts.size() == 0)
- return;
+ return;
for (ControllerContext context : contexts)
{
More information about the jboss-cvs-commits
mailing list