391f0087d57337e076170364536eae3735e71097
[clamp.git] / src / main / java / org / onap / clamp / clds / util / XmlTools.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2019 Nokia. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  *
22  */
23
24 package org.onap.clamp.clds.util;
25
26 import java.io.StringWriter;
27 import javax.xml.transform.OutputKeys;
28 import javax.xml.transform.Transformer;
29 import javax.xml.transform.TransformerException;
30 import javax.xml.transform.TransformerFactory;
31 import javax.xml.transform.dom.DOMSource;
32 import javax.xml.transform.stream.StreamResult;
33 import org.apache.batik.anim.dom.SVGDOMImplementation;
34 import org.apache.batik.dom.GenericDOMImplementation;
35 import org.apache.batik.util.SVGConstants;
36 import org.w3c.dom.DOMImplementation;
37 import org.w3c.dom.Document;
38
39 public class XmlTools {
40     public static String exportXmlDocumentAsString(Document doc) {
41         try {
42             TransformerFactory tf = TransformerFactory.newInstance();
43             Transformer transformer = tf.newTransformer();
44             transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
45             StringWriter writer = new StringWriter();
46             transformer.transform(new DOMSource(doc), new StreamResult(writer));
47             return writer.getBuffer().toString();
48         } catch (TransformerException e) {
49             throw new RuntimeException(e);
50         }
51     }
52     public static Document createEmptySvgDocument() {
53         DOMImplementation domImplementation = GenericDOMImplementation.getDOMImplementation();
54         String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
55         return domImplementation.createDocument(svgNS, SVGConstants.SVG_SVG_TAG, null);
56     }
57 }