X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FDataTreeModificationOutput.java;h=9dc308e209573a073a656c6f00fa0739746913e6;hb=8232a626b43fdd2f5799da0fbcfb0f02d3c8f4fb;hp=17d4c4a71d78c11f24910e423cfd309da4cc4f5e;hpb=34c6032dd81c2d76720cce53478c38f5e5cdddc4;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java index 17d4c4a71d..9dc308e209 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/DataTreeModificationOutput.java @@ -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); } } }