diff gnv/src/main/java/de/intevation/gnv/util/XMLUtils.java @ 11:3cb753564552

Integration of the required XSL-Transformation of the Describe-Response of the Artifactdatabase gnv/trunk@90 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 15 Sep 2009 14:19:55 +0000
parents 5e94403971af
children 4405f31bbc30
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/util/XMLUtils.java	Tue Sep 15 10:12:56 2009 +0000
+++ b/gnv/src/main/java/de/intevation/gnv/util/XMLUtils.java	Tue Sep 15 14:19:55 2009 +0000
@@ -2,6 +2,7 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.StringBufferInputStream;
 import java.io.StringWriter;
 
 import org.w3c.dom.Document;
@@ -175,15 +176,10 @@
         return returnValue;
     }
     
-    public String writeDocument2String(Document document){
+    public String writeNode2String(Node node){
         try {
-            TransformerFactory transformerFactory = TransformerFactory.newInstance();
-            Transformer transformer = transformerFactory.newTransformer();
-            DOMSource source = new DOMSource(document);
-            StringWriter sw = new StringWriter();
-            StreamResult result =  new StreamResult(sw);
-            transformer.transform(source, result);
-            return sw.getBuffer().toString();
+            DOMSource source = new DOMSource(node);
+            return writeDOMSource2String(source);
         } catch (TransformerConfigurationException e) {
             logger.error(e,e);
         } catch (TransformerFactoryConfigurationError e) {
@@ -193,5 +189,44 @@
         }
         return null;
     }
+    
+    public Document reInitDocument(Document document){
+        
+        StringBufferInputStream inputStream = new StringBufferInputStream(this.writeDocument2String(document));
+        return this.readDocument(inputStream);
+    }
+    
+    
+    public String writeDocument2String(Document document){
+        try {
+            DOMSource source = new DOMSource(document);
+            return writeDOMSource2String(source);
+        } catch (TransformerConfigurationException e) {
+            logger.error(e,e);
+        } catch (TransformerFactoryConfigurationError e) {
+            logger.error(e,e);
+        } catch (TransformerException e) {
+            logger.error(e,e);
+        }
+        return null;
+    }
+
+    /**
+     * @param source
+     * @return
+     * @throws TransformerFactoryConfigurationError
+     * @throws TransformerConfigurationException
+     * @throws TransformerException
+     */
+    private String writeDOMSource2String(DOMSource source)
+            throws TransformerFactoryConfigurationError,
+            TransformerConfigurationException, TransformerException {
+        TransformerFactory transformerFactory = TransformerFactory.newInstance();
+        Transformer transformer = transformerFactory.newTransformer();
+        StringWriter sw = new StringWriter();
+        StreamResult result =  new StreamResult(sw);
+        transformer.transform(source, result);
+        return sw.getBuffer().toString();
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org