*/
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;
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);
}
}
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(current().node(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(current().node(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);
}
}
}