comparison artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XSLTransformer.java @ 472:783cc1b6b615

Moved directories to org.dive4elements
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 10:53:15 +0200
parents artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XSLTransformer.java@c40729bfe06d
children 415df0fc4fa1
comparison
equal deleted inserted replaced
471:1a87cb24a446 472:783cc1b6b615
1 package de.intevation.artifacts.common.utils;
2
3 import java.io.InputStream;
4 import java.io.StringWriter;
5
6 import java.util.HashMap;
7 import java.util.Map;
8
9 import javax.xml.transform.Source;
10 import javax.xml.transform.Transformer;
11 import javax.xml.transform.TransformerConfigurationException;
12 import javax.xml.transform.TransformerException;
13 import javax.xml.transform.TransformerFactory;
14
15 import javax.xml.transform.dom.DOMSource;
16
17 import javax.xml.transform.stream.StreamResult;
18 import javax.xml.transform.stream.StreamSource;
19
20 import org.apache.log4j.Logger;
21
22 import org.w3c.dom.Node;
23
24 public class XSLTransformer {
25
26 private static Logger log = Logger.getLogger(XSLTransformer.class);
27
28 protected Map<String, Object> parameters;
29
30 public XSLTransformer() {
31 }
32
33 public String transform(Node source, InputStream transform) {
34
35 try {
36 Source templateSource = new StreamSource(transform);
37 TransformerFactory xformFactory =
38 TransformerFactory.newInstance();
39 Transformer transformer =
40 xformFactory.newTransformer(templateSource);
41
42 if (parameters != null) {
43 for (Map.Entry<String, Object> entry: parameters.entrySet()) {
44 transformer.setParameter(entry.getKey(), entry.getValue());
45 }
46 }
47
48 StringWriter result = new StringWriter();
49
50 DOMSource src = new DOMSource(source);
51 StreamResult dst = new StreamResult(result);
52 transformer.transform(src, dst);
53
54 return result.toString();
55 }
56 catch (TransformerConfigurationException tce) {
57 log.error(tce, tce);
58 }
59 catch (TransformerException te) {
60 log.error(te, te);
61 }
62
63 return null;
64 }
65
66 public void addParameter(String key, Object value) {
67 if (parameters == null) {
68 parameters = new HashMap<String, Object>();
69 }
70 parameters.put(key, value);
71 }
72 }
73 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org