Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java @ 71:e4ecf3188bdf
Integrated FIS-Artifact
gnv-artifacts/trunk@62 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Thu, 10 Sep 2009 13:11:24 +0000 |
parents | |
children | 9345835e2bc1 |
comparison
equal
deleted
inserted
replaced
70:0035862b0295 | 71:e4ecf3188bdf |
---|---|
1 /** | |
2 * | |
3 */ | |
4 package de.intevation.gnv.utils; | |
5 | |
6 import java.io.File; | |
7 import java.io.IOException; | |
8 import java.io.InputStream; | |
9 import java.io.StringBufferInputStream; | |
10 import java.io.StringWriter; | |
11 | |
12 import javax.xml.parsers.DocumentBuilder; | |
13 import javax.xml.parsers.DocumentBuilderFactory; | |
14 import javax.xml.parsers.ParserConfigurationException; | |
15 import javax.xml.transform.Transformer; | |
16 import javax.xml.transform.TransformerConfigurationException; | |
17 import javax.xml.transform.TransformerException; | |
18 import javax.xml.transform.TransformerFactory; | |
19 import javax.xml.transform.TransformerFactoryConfigurationError; | |
20 import javax.xml.transform.dom.DOMSource; | |
21 import javax.xml.transform.stream.StreamResult; | |
22 | |
23 import org.apache.log4j.Logger; | |
24 import org.w3c.dom.Document; | |
25 import org.w3c.dom.Element; | |
26 import org.xml.sax.SAXException; | |
27 | |
28 import de.intevation.artifacts.ArtifactNamespaceContext; | |
29 import de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition; | |
30 | |
31 /** | |
32 * @author Tim Englich <tim.englich@intevation.de> | |
33 * | |
34 */ | |
35 public class ArtifactXMLUtilities { | |
36 /** | |
37 * the logger, used to log exceptions and additonaly information | |
38 */ | |
39 private static Logger log = Logger.getLogger(TimeSeriesOutputTransition.class); | |
40 | |
41 /** | |
42 * Constructor | |
43 */ | |
44 public ArtifactXMLUtilities() { | |
45 } | |
46 | |
47 /** | |
48 * @param document | |
49 * @return | |
50 */ | |
51 public Element createArtifactElement(Document document, String name) { | |
52 Element node = document.createElementNS(ArtifactNamespaceContext.NAMESPACE_URI, name); | |
53 node.setPrefix(ArtifactNamespaceContext.NAMESPACE_PREFIX); | |
54 return node; | |
55 } | |
56 | |
57 public String writeDocument2String(Document document){ | |
58 try { | |
59 TransformerFactory transformerFactory = TransformerFactory.newInstance(); | |
60 Transformer transformer = transformerFactory.newTransformer(); | |
61 DOMSource source = new DOMSource(document); | |
62 StringWriter sw = new StringWriter(); | |
63 StreamResult result = new StreamResult(sw); | |
64 transformer.transform(source, result); | |
65 return sw.getBuffer().toString(); | |
66 } catch (TransformerConfigurationException e) { | |
67 log.error(e,e); | |
68 } catch (TransformerFactoryConfigurationError e) { | |
69 log.error(e,e); | |
70 } catch (TransformerException e) { | |
71 log.error(e,e); | |
72 } | |
73 return null; | |
74 } | |
75 | |
76 public Document readDocument(InputStream inputStream){ | |
77 Document returnValue = null; | |
78 try { | |
79 DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); | |
80 DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); | |
81 returnValue = docBuilder.parse (inputStream); | |
82 } catch (ParserConfigurationException e) { | |
83 log.error(e,e); | |
84 } catch (SAXException e) { | |
85 log.error(e,e); | |
86 } catch (IOException e) { | |
87 log.error(e,e); | |
88 } | |
89 return returnValue; | |
90 } | |
91 | |
92 public Document reInitDocument(Document document){ | |
93 | |
94 StringBufferInputStream inputStream = new StringBufferInputStream(this.writeDocument2String(document)); | |
95 return this.readDocument(inputStream); | |
96 } | |
97 | |
98 | |
99 | |
100 | |
101 } |