[jboss-cvs] JBossAS SVN: r104825 - projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat May 15 10:22:20 EDT 2010
Author: alesj
Date: 2010-05-15 10:22:19 -0400 (Sat, 15 May 2010)
New Revision: 104825
Modified:
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java
Log:
[JBKERNEL-121]; do proper map cleanup.
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java 2010-05-15 12:14:25 UTC (rev 104824)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java 2010-05-15 14:22:19 UTC (rev 104825)
@@ -88,28 +88,46 @@
{
}
- public void resolved(DependencyItem item)
+ private void removeUnresolved(DependencyItem dependency, ControllerState whenRequired)
{
- if (tracking)
+ Map<ControllerState, Set<DependencyItem>> unresolved = this.unresolved;
+ if (unresolved != null)
{
- ControllerState whenRequired = item.getWhenRequired();
- Map<ControllerState, Set<DependencyItem>> unresolved = this.unresolved;
- if (unresolved != null)
+ Set<DependencyItem> items = unresolved.get(whenRequired);
+ if (items != null)
{
- Set<DependencyItem> items = unresolved.get(whenRequired);
- if (items != null)
- items.remove(item);
+ items.remove(dependency);
+ if (items.isEmpty())
+ unresolved.remove(whenRequired);
}
- Map<ControllerState, Set<DependencyItem>> semiResolved = this.semiResolved;
- if (semiResolved != null)
+ }
+ }
+
+ private void removeSemiResolved(DependencyItem item, ControllerState whenRequired)
+ {
+ Map<ControllerState, Set<DependencyItem>> semiResolved = this.semiResolved;
+ if (semiResolved != null)
+ {
+ Set<DependencyItem> items = semiResolved.get(whenRequired);
+ if (items != null)
{
- Set<DependencyItem> items = semiResolved.get(whenRequired);
- if (items != null)
- items.remove(item);
+ items.remove(item);
+ if (items.isEmpty())
+ semiResolved.remove(whenRequired);
}
}
}
+ public void resolved(DependencyItem item)
+ {
+ if (tracking)
+ {
+ ControllerState whenRequired = item.getWhenRequired();
+ removeUnresolved(item, whenRequired);
+ removeSemiResolved(item, whenRequired);
+ }
+ }
+
public void unresolved(DependencyItem item)
{
if (tracking)
@@ -128,13 +146,7 @@
unresolved.put(whenRequired, items);
}
items.add(item);
- Map<ControllerState, Set<DependencyItem>> semiResolved = this.semiResolved;
- if (semiResolved != null)
- {
- items = semiResolved.get(whenRequired);
- if (items != null)
- items.remove(item);
- }
+ removeSemiResolved(item, whenRequired);
}
}
@@ -156,16 +168,10 @@
semiResolved.put(whenRequired, items);
}
items.add(item);
- Map<ControllerState, Set<DependencyItem>> unresolved = this.unresolved;
- if (unresolved != null)
- {
- items = unresolved.get(whenRequired);
- if (items != null)
- items.remove(item);
- }
+ removeUnresolved(item, whenRequired);
}
}
-
+
public ResolvedState semiResolve(TrackingDependencyItem item)
{
if (item == null)
@@ -365,17 +371,11 @@
if (tracking)
{
ControllerState whenRequired = dependency.getWhenRequired();
- Map<ControllerState, Set<DependencyItem>> unresolved = this.unresolved;
- if (unresolved != null)
- {
- Set<DependencyItem> items = unresolved.get(whenRequired);
- if (items != null)
- items.remove(dependency);
- }
+ removeUnresolved(dependency, whenRequired);
}
}
}
-
+
public Set<DependencyItem> getDependsOnMe(Class<?> type)
{
Set<DependencyItem> dependsOnMe = this.dependsOnMe;
More information about the jboss-cvs-commits
mailing list