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)) {

http://dive4elements.wald.intevation.org