Author: manik.surtani(a)jboss.com
Date: 2008-01-30 11:21:33 -0500 (Wed, 30 Jan 2008)
New Revision: 5263
Modified:
core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java
Log:
Added a null check
Modified: core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java 2008-01-30
16:21:16 UTC (rev 5262)
+++ core/trunk/src/main/java/org/jboss/cache/factories/ComponentRegistry.java 2008-01-30
16:21:33 UTC (rev 5263)
@@ -753,37 +753,42 @@
deepRecursionDetector = true;
for (Component d : dependentComponents)
{
- if (d.instance == null)
+ if (d != null)
{
- // this is a "hollow" component that has not been constructed
yet. Another "constructed" version probably exists in the
- // componentLookup. Make sure we replace this.
- Component c = componentLookup.get(d.name);
- if (increase)
+ if (d.instance == null)
{
- dependencies.remove(d);
- dependencies.add(c);
+ // this is a "hollow" component that has not been
constructed yet. Another "constructed" version probably exists in the
+ // componentLookup. Make sure we replace this.
+ Component c = componentLookup.get(d.name);
+ if (increase)
+ {
+ dependencies.remove(d);
+ dependencies.add(c);
+ }
+ else
+ {
+ dependencyFor.remove(d);
+ dependencies.add(c);
+ }
+ d = c;
}
- else
- {
- dependencyFor.remove(d);
- dependencies.add(c);
- }
- d = c;
- }
- if (isShallowCyclic(d))
- {
- // don't process shallow cyclic deps here - shoud do that after we
set our state.
- shallowCyclic.add(d);
- }
- else
- {
- // of we are "moving up" - only do this if the component is
lower than what is needed.
- if ((increase && newState.isGreaterThan(d.state)) || (!increase
&& newState.isLessThan(d.state)))
+ if (d != null)
{
- d.changeState(newState);
+ if (isShallowCyclic(d))
+ {
+ // don't process shallow cyclic deps here - shoud do that
after we set our state.
+ shallowCyclic.add(d);
+ }
+ else
+ {
+ // of we are "moving up" - only do this if the
component is lower than what is needed.
+ if ((increase && newState.isGreaterThan(d.state)) ||
(!increase && newState.isLessThan(d.state)))
+ {
+ d.changeState(newState);
+ }
+ }
}
-
}
}
@@ -826,7 +831,7 @@
*/
private boolean isShallowCyclic(Component c)
{
- return (dependencies.contains(c) && c.dependencies.contains(this));
+ return dependencies.contains(c) && c.dependencies.contains(this);
}
/**
Show replies by date