comparison 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
comparison
equal deleted inserted replaced
393:d812c5b62eb4 394:14eecfde4607
4 package de.intevation.gnv.util; 4 package de.intevation.gnv.util;
5 5
6 import java.io.ByteArrayOutputStream; 6 import java.io.ByteArrayOutputStream;
7 import java.io.File; 7 import java.io.File;
8 import java.io.UnsupportedEncodingException; 8 import java.io.UnsupportedEncodingException;
9 import java.util.HashMap;
10 import java.util.Iterator;
11 import java.util.Map;
9 12
10 import javax.xml.transform.Source; 13 import javax.xml.transform.Source;
11 import javax.xml.transform.Transformer; 14 import javax.xml.transform.Transformer;
12 import javax.xml.transform.TransformerConfigurationException; 15 import javax.xml.transform.TransformerConfigurationException;
13 import javax.xml.transform.TransformerException; 16 import javax.xml.transform.TransformerException;
14 import javax.xml.transform.TransformerFactory; 17 import javax.xml.transform.TransformerFactory;
15 import javax.xml.transform.TransformerFactoryConfigurationError; 18 import javax.xml.transform.TransformerFactoryConfigurationError;
16 import javax.xml.transform.dom.DOMSource; 19 import javax.xml.transform.dom.DOMSource;
17 import javax.xml.transform.stream.StreamResult; 20 import javax.xml.transform.stream.StreamResult;
18 import javax.xml.transform.stream.StreamSource; 21 import javax.xml.transform.stream.StreamSource;
22
23 import de.intevation.gnv.action.sessionmodel.SessionModelFactory;
19 24
20 import org.apache.log4j.Logger; 25 import org.apache.log4j.Logger;
21 import org.w3c.dom.Node; 26 import org.w3c.dom.Node;
22 27
23 /** 28 /**
27 public class XSLTransformer { 32 public class XSLTransformer {
28 /** 33 /**
29 * the logger, used to log exceptions and additonaly information 34 * the logger, used to log exceptions and additonaly information
30 */ 35 */
31 private static Logger log = Logger.getLogger(XSLTransformer.class); 36 private static Logger log = Logger.getLogger(XSLTransformer.class);
37
38
39 private Map<String, String> params;
32 40
33 /** 41 /**
34 * Constructor 42 * Constructor
35 */ 43 */
36 public XSLTransformer() { 44 public XSLTransformer() {
44 XMLUtils xmlUtils = new XMLUtils(); 52 XMLUtils xmlUtils = new XMLUtils();
45 Source templateSource = new StreamSource(new File(templateFileName)); 53 Source templateSource = new StreamSource(new File(templateFileName));
46 TransformerFactory xformFactory = TransformerFactory.newInstance(); 54 TransformerFactory xformFactory = TransformerFactory.newInstance();
47 Transformer transformer = xformFactory 55 Transformer transformer = xformFactory
48 .newTransformer(templateSource); 56 .newTransformer(templateSource);
57
58 if (params != null) {
59 for(Map.Entry<String, String> entry: params.entrySet()) {
60 transformer.setParameter(entry.getKey(), entry.getValue());
61 }
62 }
63
49 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 64 ByteArrayOutputStream baos = new ByteArrayOutputStream();
50 StreamResult scrResult = new StreamResult(baos); 65 StreamResult scrResult = new StreamResult(baos);
51 // log.debug(xmlUtils.writeNode2String(toTransform)); 66 // log.debug(xmlUtils.writeNode2String(toTransform));
52 DOMSource source = new DOMSource(toTransform); 67 DOMSource source = new DOMSource(toTransform);
53 transformer.transform(source, scrResult); 68 transformer.transform(source, scrResult);
63 } 78 }
64 79
65 return resultValue; 80 return resultValue;
66 } 81 }
67 82
83
84 public void addParameter(String name, String value) {
85 if (params == null) {
86 params = new HashMap<String, String>(3);
87 }
88
89 params.put(name, value);
90 }
68 } 91 }

http://dive4elements.wald.intevation.org