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);
+    }
 }

http://dive4elements.wald.intevation.org