comparison gnv-artifacts/src/main/java/de/intevation/gnv/utils/ArtifactXMLUtilities.java @ 725:dde7f51dbe1e

Improved exception handling while feeding an artifact. gnv-artifacts/trunk@757 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 10 Mar 2010 13:27:14 +0000
parents b8080695ea62
children 9a828e5a2390
comparison
equal deleted inserted replaced
724:9ba6bb85d6dd 725:dde7f51dbe1e
1 /**
2 *
3 */
4 package de.intevation.gnv.utils; 1 package de.intevation.gnv.utils;
5 2
6 import java.io.ByteArrayInputStream; 3 import java.io.ByteArrayInputStream;
7 import java.io.IOException; 4 import java.io.IOException;
8 import java.io.InputStream; 5 import java.io.InputStream;
56 53
57 /** 54 /**
58 * @param document 55 * @param document
59 * @return 56 * @return
60 */ 57 */
61 public Element createArtifactElement(Document document, String name) { 58 public static Element createArtifactElement(Document document, String name) {
62 Element node = document.createElementNS( 59 Element node = document.createElementNS(
63 ArtifactNamespaceContext.NAMESPACE_URI, name); 60 ArtifactNamespaceContext.NAMESPACE_URI, name);
64 node.setPrefix(ArtifactNamespaceContext.NAMESPACE_PREFIX); 61 node.setPrefix(ArtifactNamespaceContext.NAMESPACE_PREFIX);
65 return node; 62 return node;
66 } 63 }
67 64
68 public String writeDocument2String(Document document) { 65 public static String writeDocument2String(Document document) {
69 try { 66 try {
70 TransformerFactory transformerFactory = TransformerFactory 67 TransformerFactory transformerFactory = TransformerFactory
71 .newInstance(); 68 .newInstance();
72 Transformer transformer = transformerFactory.newTransformer(); 69 Transformer transformer = transformerFactory.newTransformer();
73 DOMSource source = new DOMSource(document); 70 DOMSource source = new DOMSource(document);
118 Element node = document.createElementNS(XFORM_URL, name); 115 Element node = document.createElementNS(XFORM_URL, name);
119 node.setPrefix(XFORM_PREFIX); 116 node.setPrefix(XFORM_PREFIX);
120 return node; 117 return node;
121 } 118 }
122 119
123 public Document createExceptionReport(String message, Document document) { 120 public static Document createExceptionReport(String message, Document document) {
124 log.debug("ArtifactXMLUtilities.createExceptionReport"); 121 log.debug("ArtifactXMLUtilities.createExceptionReport");
125 Element exceptionReportNode = this.createArtifactElement(document, 122 Element exceptionReportNode = createArtifactElement(document,
126 "exceptionreport"); 123 "exceptionreport");
127 document.appendChild(exceptionReportNode); 124 document.appendChild(exceptionReportNode);
128 Element exceptionNode = this.createArtifactElement(document, 125 Element exceptionNode = createArtifactElement(document,
129 "exception"); 126 "exception");
130 exceptionNode.setTextContent(message); 127 exceptionNode.setTextContent(message);
131 exceptionReportNode.appendChild(exceptionNode); 128 exceptionReportNode.appendChild(exceptionNode);
132 return document; 129 return document;
133 } 130 }
134 131
135 public Document createSuccessReport(String message, Document document) { 132 public static Document createInputExceptionReport(String msg, Document doc) {
133 Element exceptionReportNode = createArtifactElement(
134 doc,"exceptionreport");
135 Element exceptionNode = createArtifactElement(
136 doc,"exception");
137 Element inputNode = createArtifactElement(
138 doc, "input");
139 inputNode.setTextContent(msg);
140 exceptionNode.appendChild(inputNode);
141 exceptionReportNode.appendChild(exceptionNode);
142 doc.appendChild(exceptionReportNode);
143 return doc;
144 }
145
146 public static Document createSuccessReport(String message, Document document) {
136 log.debug("ArtifactXMLUtilities.creatSuccessReport"); 147 log.debug("ArtifactXMLUtilities.creatSuccessReport");
137 Element reportNode = this.createArtifactElement(document, "result"); 148 Element reportNode = createArtifactElement(document, "result");
138 document.appendChild(reportNode); 149 document.appendChild(reportNode);
139 Element successNode = this.createArtifactElement(document, "success"); 150 Element successNode = createArtifactElement(document, "success");
140 successNode.setTextContent(message); 151 successNode.setTextContent(message);
141 reportNode.appendChild(successNode); 152 reportNode.appendChild(successNode);
142 return document; 153 return document;
143 } 154 }
144 155

http://dive4elements.wald.intevation.org