diff options
Diffstat (limited to 'java/src')
-rwxr-xr-x | java/src/IceGrid/TreeNode/Node.java | 13 | ||||
-rwxr-xr-x | java/src/IceGrid/Utils.java | 10 |
2 files changed, 19 insertions, 4 deletions
diff --git a/java/src/IceGrid/TreeNode/Node.java b/java/src/IceGrid/TreeNode/Node.java index 0047f3b5128..f85e0529342 100755 --- a/java/src/IceGrid/TreeNode/Node.java +++ b/java/src/IceGrid/TreeNode/Node.java @@ -1060,9 +1060,16 @@ class Node extends EditableParent _origDescription = _descriptor.description;
_origLoadFactor = _descriptor.loadFactor;
- _resolver = new Utils.Resolver(new java.util.Map[]
- {_descriptor.variables, application.getVariables()});
-
+
+ java.util.Map[] maps = new java.util.Map[]
+ {_descriptor.variables, application.getVariables()};
+
+ assert maps[0] == _descriptor.variables;
+ assert maps[1] == application.getVariables();
+
+
+ _resolver = new Utils.Resolver(maps);
+
_resolver.put("application", application.getId());
_resolver.put("node", getId());
diff --git a/java/src/IceGrid/Utils.java b/java/src/IceGrid/Utils.java index ac51a6e2a16..1462bac2f9c 100755 --- a/java/src/IceGrid/Utils.java +++ b/java/src/IceGrid/Utils.java @@ -354,7 +354,15 @@ public class Utils //
_resolvedVariableCache.put(name, _recursiveDefError);
String result = _subResolver.substitute((String)obj);
- _resolvedVariableCache.put(name, result);
+ if(obj.equals(result))
+ {
+ _resolvedVariableCache.remove(name);
+ }
+ else
+ {
+ System.err.println("Caching: " + name + ": " + result);
+ _resolvedVariableCache.put(name, result);
+ }
return result;
}
else
|