NormalizedNodeAggregator should also report empty
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / utils / NormalizedNodeXMLOutput.java
index ffcc00e557868f8a6726b0cebaf13ce87f060792..643d107865ab552f80261a77a81d0a8f1b889e60 100644 (file)
@@ -11,16 +11,16 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import javanet.staxutils.IndentingXMLStreamWriter;
 import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
-import org.opendaylight.yangtools.yang.data.impl.codec.xml.XMLStreamNormalizedNodeStreamWriter;
+import org.opendaylight.yangtools.yang.data.codec.xml.XMLStreamNormalizedNodeStreamWriter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import javanet.staxutils.IndentingXMLStreamWriter;
 
 /**
  * Utility class to output NormalizedNodes as XML.
@@ -29,18 +29,23 @@ import javanet.staxutils.IndentingXMLStreamWriter;
  */
 public final class NormalizedNodeXMLOutput {
     private static final Logger LOG = LoggerFactory.getLogger(NormalizedNodeXMLOutput.class);
+    private static final XMLOutputFactory XOF;
+
+    static {
+        final XMLOutputFactory f = XMLOutputFactory.newFactory();
+        f.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, true);
+        XOF = f;
+    }
 
     private NormalizedNodeXMLOutput() {
     }
 
-    public static void toStream(OutputStream outStream, NormalizedNode<?, ?> node)
+    public static void toStream(final OutputStream outStream, final NormalizedNode node)
             throws XMLStreamException, IOException {
-        XMLOutputFactory xmlFactory = XMLOutputFactory.newFactory();
-        xmlFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, true);
-        XMLStreamWriter xmlWriter = xmlFactory.createXMLStreamWriter(outStream);
+        XMLStreamWriter xmlWriter = XOF.createXMLStreamWriter(outStream);
 
         IndentingXMLStreamWriter indenting = new IndentingXMLStreamWriter(xmlWriter);
-        try(NormalizedNodeStreamWriter streamWriter = XMLStreamNormalizedNodeStreamWriter.createSchemaless(
+        try (NormalizedNodeStreamWriter streamWriter = XMLStreamNormalizedNodeStreamWriter.createSchemaless(
                 indenting)) {
             NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(streamWriter);
             nodeWriter.write(node);
@@ -48,10 +53,10 @@ public final class NormalizedNodeXMLOutput {
         }
     }
 
-    public static void toFile(File file, NormalizedNode<?, ?> node) {
-        try(FileOutputStream outStream = new FileOutputStream(file)) {
+    public static void toFile(final File file, final NormalizedNode node) {
+        try (FileOutputStream outStream = new FileOutputStream(file)) {
             toStream(outStream, node);
-        } catch(IOException | XMLStreamException e) {
+        } catch (IOException | XMLStreamException e) {
             LOG.error("Error writing NormalizedNode to file {}", file, e);
         }
     }