Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java @ 1023:5cb84ceee2a0
Datacage: Templates now can nest <dc:elements> into other elements in the body of <dc:context>
flys-artifacts/trunk@2481 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 10 Aug 2011 10:08:01 +0000 |
parents | b81626b10cb7 |
children | 3ca999f507b7 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java Wed Aug 10 08:43:38 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/StackFrames.java Wed Aug 10 10:08:01 2011 +0000 @@ -1,9 +1,11 @@ package de.intevation.flys.artifacts.datacage.templating; +import java.util.ArrayList; import java.util.Map; import java.util.List; import java.util.HashMap; -import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import javax.xml.xpath.XPathVariableResolver; @@ -83,5 +85,25 @@ } return get(variableName.getLocalPart()); } + + public String dump() { + StringBuilder sb = new StringBuilder("["); + Set<String> already = new HashSet<String>(); + + boolean first = true; + + for (int i = frames.size()-1; i >= 0; --i) { + Map<String, Object> frame = frames.get(i); + for (Map.Entry<String, Object> entry: frame.entrySet()) { + if (already.add(entry.getKey())) { + if (first) { first = false; } + else { sb.append(", "); } + sb.append('\'').append(entry.getKey()) + .append("'='").append(entry.getValue()).append('\''); + } + } + } + return sb.append(']').toString(); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :