Fix sonar warnings in sal-distributed-datastore
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / utils / DataTreeModificationOutput.java
index 17d4c4a71d78c11f24910e423cfd309da4cc4f5e..9dc308e209573a073a656c6f00fa0739746913e6 100644 (file)
@@ -7,12 +7,13 @@
  */
 package org.opendaylight.controller.cluster.datastore.utils;
 
-import com.google.common.base.Throwables;
 import java.io.DataOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import javax.xml.stream.XMLStreamException;
+import org.opendaylight.controller.cluster.datastore.util.AbstractDataTreeModificationCursor;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
@@ -30,10 +31,11 @@ public final class DataTreeModificationOutput {
     private DataTreeModificationOutput() {
     }
 
-    public static void toFile(File file, DataTreeModification modification) {
-        try(FileOutputStream outStream = new FileOutputStream(file)) {
+    @SuppressWarnings("checkstyle:IllegalCatch")
+    public static void toFile(final File file, final DataTreeModification modification) {
+        try (FileOutputStream outStream = new FileOutputStream(file)) {
             modification.applyToCursor(new DataTreeModificationOutputCursor(new DataOutputStream(outStream)));
-        } catch(Exception e) {
+        } catch (IOException | RuntimeException e) {
             LOG.error("Error writing DataTreeModification to file {}", file, e);
         }
     }
@@ -41,42 +43,42 @@ public final class DataTreeModificationOutput {
     private static class DataTreeModificationOutputCursor extends AbstractDataTreeModificationCursor {
         private final DataOutputStream output;
 
-        DataTreeModificationOutputCursor(DataOutputStream output) {
+        DataTreeModificationOutputCursor(final DataOutputStream output) {
             this.output = output;
         }
 
         @Override
-        public void delete(PathArgument child) {
+        public void delete(final PathArgument child) {
             try {
-                output.write("\nDELETE -> ".getBytes());
-                output.write(next(child).toString().getBytes());
+                output.write("\nDELETE -> ".getBytes(StandardCharsets.UTF_8));
+                output.write(current().node(child).toString().getBytes(StandardCharsets.UTF_8));
                 output.writeByte('\n');
-            } catch(IOException e) {
-                Throwables.propagate(e);
+            } catch (IOException e) {
+                throw new RuntimeException(e);
             }
         }
 
         @Override
-        public void merge(PathArgument child, NormalizedNode<?, ?> data) {
+        public void merge(final PathArgument child, final NormalizedNode<?, ?> data) {
             outputPathAndNode("MERGE", child, data);
         }
 
         @Override
-        public void write(PathArgument child, NormalizedNode<?, ?> data) {
+        public void write(final PathArgument child, final NormalizedNode<?, ?> data) {
             outputPathAndNode("WRITE", child, data);
         }
 
-        private void outputPathAndNode(String name, PathArgument child, NormalizedNode<?, ?> data) {
+        private void outputPathAndNode(final String name, final PathArgument child, final NormalizedNode<?, ?> data) {
             try {
                 output.writeByte('\n');
-                output.write(name.getBytes());
-                output.write(" -> ".getBytes());
-                output.write(next(child).toString().getBytes());
-                output.write(": \n".getBytes());
+                output.write(name.getBytes(StandardCharsets.UTF_8));
+                output.write(" -> ".getBytes(StandardCharsets.UTF_8));
+                output.write(current().node(child).toString().getBytes(StandardCharsets.UTF_8));
+                output.write(": \n".getBytes(StandardCharsets.UTF_8));
                 NormalizedNodeXMLOutput.toStream(output, data);
                 output.writeByte('\n');
-            } catch(IOException | XMLStreamException e) {
-                Throwables.propagate(e);
+            } catch (IOException | XMLStreamException e) {
+                throw new RuntimeException(e);
             }
         }
     }