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 }

http://dive4elements.wald.intevation.org