Fix Checkstyle issues
[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
41     /**
42      * Transforms document to XML string.
43      *
44      * @param doc XML document
45      * @return XML string
46      */
47     public static String exportXmlDocumentAsString(Document doc) {
48         try {
49             TransformerFactory tf = TransformerFactory.newInstance();
50             Transformer transformer = tf.newTransformer();
51             transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
52             StringWriter writer = new StringWriter();
53             transformer.transform(new DOMSource(doc), new StreamResult(writer));
54             return writer.getBuffer().toString();
55         } catch (TransformerException e) {
56             throw new RuntimeException(e);
57         }
58     }
59
60     /**
61      * Creates empty svg document.
62      *
63      * @return Document
64      */
65     public static Document createEmptySvgDocument() {
66         DOMImplementation domImplementation = GenericDOMImplementation.getDOMImplementation();
67         String svgNs = SVGDOMImplementation.SVG_NAMESPACE_URI;
68         return domImplementation.createDocument(svgNs, SVGConstants.SVG_SVG_TAG, null);
69     }
70 }