Make Netty-3 dependency optional
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / actors / JsonExportActor.java
index ccaa48b8d5ac6fb828a62cede7d1e175e93a7b4f..5eabe94399188f23b1083452841713e788fc41c5 100644 (file)
@@ -24,16 +24,15 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor;
 import org.opendaylight.controller.cluster.datastore.persisted.CommitTransactionPayload;
 import org.opendaylight.controller.cluster.raft.ReplicatedLogEntry;
-import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
 import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier;
 import org.opendaylight.yangtools.yang.data.codec.gson.JSONNormalizedNodeStreamWriter;
+import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate;
+import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode;
+import org.opendaylight.yangtools.yang.data.tree.api.ModificationType;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
@@ -99,7 +98,7 @@ public final class JsonExportActor extends AbstractUntypedActor {
         final Path filePath = snapshotDir.resolve(exportSnapshot.id + "-snapshot.json");
         LOG.debug("Creating JSON file : {}", filePath);
 
-        final NormalizedNode root = exportSnapshot.dataTreeCandidate.getRootNode().getDataAfter().get();
+        final NormalizedNode root = exportSnapshot.dataTreeCandidate.getRootNode().getDataAfter();
         checkState(root instanceof NormalizedNodeContainer, "Unexpected root %s", root);
 
         writeSnapshot(filePath, (NormalizedNodeContainer<?>) root);
@@ -124,8 +123,7 @@ public final class JsonExportActor extends AbstractUntypedActor {
         try (JsonWriter jsonWriter = new JsonWriter(Files.newBufferedWriter(path))) {
             jsonWriter.beginObject();
 
-            try (NormalizedNodeWriter nnWriter = NormalizedNodeWriter.forStreamWriter(
-                JSONNormalizedNodeStreamWriter.createNestedWriter(
+            try (var nnWriter = NormalizedNodeWriter.forStreamWriter(JSONNormalizedNodeStreamWriter.createNestedWriter(
                     JSONCodecFactorySupplier.RFC7951.getShared(schemaContext),
                     SchemaInferenceStack.of(schemaContext).toInference(), null, jsonWriter),
                 true)) {
@@ -144,11 +142,10 @@ public final class JsonExportActor extends AbstractUntypedActor {
         try (JsonWriter jsonWriter = new JsonWriter(Files.newBufferedWriter(path))) {
             jsonWriter.beginObject().name("Entries");
             jsonWriter.beginArray();
-            for (ReplicatedLogEntry entry : entries) {
-                final Payload data = entry.getData();
-                if (data instanceof CommitTransactionPayload) {
-                    final CommitTransactionPayload payload = (CommitTransactionPayload) entry.getData();
-                    final DataTreeCandidate candidate = payload.getCandidate().getValue().getCandidate();
+            for (var entry : entries) {
+                final var data = entry.getData();
+                if (data instanceof CommitTransactionPayload payload) {
+                    final var candidate = payload.getCandidate().candidate();
                     writeNode(jsonWriter, candidate);
                 } else {
                     jsonWriter.beginObject().name("Payload").value(data.toString()).endObject();
@@ -162,21 +159,18 @@ public final class JsonExportActor extends AbstractUntypedActor {
     }
 
     private static void writeNode(final JsonWriter writer, final DataTreeCandidate candidate) throws IOException {
-        writer.beginObject();
-        writer.name("Entry");
-        writer.beginArray();
+        writer.beginObject().name("Entry").beginArray();
         doWriteNode(writer, candidate.getRootPath(), candidate.getRootNode());
-        writer.endArray();
-        writer.endObject();
+        writer.endArray().endObject();
     }
 
     private static void doWriteNode(final JsonWriter writer, final YangInstanceIdentifier path,
             final DataTreeCandidateNode node) throws IOException {
-        switch (node.getModificationType()) {
+        switch (node.modificationType()) {
             case APPEARED:
             case DISAPPEARED:
             case SUBTREE_MODIFIED:
-                NodeIterator iterator = new NodeIterator(null, path, node.getChildNodes().iterator());
+                NodeIterator iterator = new NodeIterator(null, path, node.childNodes().iterator());
                 do {
                     iterator = iterator.next(writer);
                 } while (iterator != null);
@@ -193,14 +187,14 @@ public final class JsonExportActor extends AbstractUntypedActor {
 
     private static void outputNodeInfo(final JsonWriter writer, final YangInstanceIdentifier path,
                                        final DataTreeCandidateNode node) throws IOException {
-        final ModificationType modificationType = node.getModificationType();
+        final ModificationType modificationType = node.modificationType();
 
         writer.beginObject().name("Node");
         writer.beginArray();
         writer.beginObject().name("Path").value(path.toString()).endObject();
         writer.beginObject().name("ModificationType").value(modificationType.toString()).endObject();
         if (modificationType == ModificationType.WRITE) {
-            writer.beginObject().name("Data").value(node.getDataAfter().get().body().toString()).endObject();
+            writer.beginObject().name("Data").value(node.getDataAfter().body().toString()).endObject();
         }
         writer.endArray();
         writer.endObject();
@@ -212,7 +206,7 @@ public final class JsonExportActor extends AbstractUntypedActor {
         writer.beginArray();
         writer.beginObject().name("Path").value(path.toString()).endObject();
         writer.beginObject().name("ModificationType")
-                .value("UNSUPPORTED MODIFICATION: " + node.getModificationType()).endObject();
+                .value("UNSUPPORTED MODIFICATION: " + node.modificationType()).endObject();
         writer.endArray();
         writer.endObject();
     }
@@ -239,14 +233,14 @@ public final class JsonExportActor extends AbstractUntypedActor {
 
         NodeIterator next(final JsonWriter writer) throws IOException {
             while (iterator.hasNext()) {
-                final DataTreeCandidateNode node = iterator.next();
-                final YangInstanceIdentifier child = path.node(node.getIdentifier());
+                final var node = iterator.next();
+                final var child = path.node(node.name());
 
-                switch (node.getModificationType()) {
+                switch (node.modificationType()) {
                     case APPEARED:
                     case DISAPPEARED:
                     case SUBTREE_MODIFIED:
-                        return new NodeIterator(this, child, node.getChildNodes().iterator());
+                        return new NodeIterator(this, child, node.childNodes().iterator());
                     case DELETE:
                     case UNMODIFIED:
                     case WRITE: