summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rwxr-xr-xjava/src/IceGrid/TreeNode/Node.java13
-rwxr-xr-xjava/src/IceGrid/Utils.java10
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