Mercurial > dive4elements > gnv-client
diff gnv/src/main/java/de/intevation/gnv/util/XSLTransformer.java @ 394:14eecfde4607
Render links to step back to previous states into gui. Added controller to advance back to these states.
gnv/trunk@538 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 13 Jan 2010 22:17:02 +0000 |
parents | fccf90761825 |
children | 8330c1dbab34 |
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/util/XSLTransformer.java Wed Jan 13 11:29:40 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/util/XSLTransformer.java Wed Jan 13 22:17:02 2010 +0000 @@ -6,6 +6,9 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.UnsupportedEncodingException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; import javax.xml.transform.Source; import javax.xml.transform.Transformer; @@ -17,6 +20,8 @@ import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; +import de.intevation.gnv.action.sessionmodel.SessionModelFactory; + import org.apache.log4j.Logger; import org.w3c.dom.Node; @@ -30,6 +35,9 @@ */ private static Logger log = Logger.getLogger(XSLTransformer.class); + + private Map<String, String> params; + /** * Constructor */ @@ -46,6 +54,13 @@ TransformerFactory xformFactory = TransformerFactory.newInstance(); Transformer transformer = xformFactory .newTransformer(templateSource); + + if (params != null) { + for(Map.Entry<String, String> entry: params.entrySet()) { + transformer.setParameter(entry.getKey(), entry.getValue()); + } + } + ByteArrayOutputStream baos = new ByteArrayOutputStream(); StreamResult scrResult = new StreamResult(baos); // log.debug(xmlUtils.writeNode2String(toTransform)); @@ -65,4 +80,12 @@ return resultValue; } + + public void addParameter(String name, String value) { + if (params == null) { + params = new HashMap<String, String>(3); + } + + params.put(name, value); + } }