Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java @ 1716:3ca999f507b7
flys/issue314: Variables in datacage are now case insensitive.
flys-artifacts/trunk@2994 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 17 Oct 2011 15:53:03 +0000 |
parents | 5cb84ceee2a0 |
children | de0c2bbb27f9 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java Mon Oct 17 14:55:45 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java Mon Oct 17 15:53:03 2011 +0000 @@ -54,6 +54,7 @@ } public boolean containsKey(String key) { + key = key.toUpperCase(); for (int i = frames.size()-1; i >= 0; --i) { if (frames.get(i).containsKey(key)) { return true; @@ -66,8 +67,25 @@ return get(key, null); } + public boolean getStore(String key, Object [] result) { + + key = key.toUpperCase(); + + for (int i = frames.size()-1; i >= 0; --i) { + Map<String, Object> frame = frames.get(i); + if (frame.containsKey(key)) { + result[0] = frame.get(key); + return true; + } + } + + return false; + } + public Object get(String key, Object def) { + key = key.toUpperCase(); + for (int i = frames.size()-1; i >= 0; --i) { Map<String, Object> frame = frames.get(i); if (frame.containsKey(key)) {