Migrate users of Optional.get()
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / actors / JsonExportActor.java
index 369fc0bfbaaa0ce81d8a01ba34f56cfb05567c4e..85f1ba393d600a289c71ce4d63a8d69631de65fd 100644 (file)
@@ -19,22 +19,22 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
 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.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
 public final class JsonExportActor extends AbstractUntypedActor {
     // Internal messages
@@ -44,7 +44,7 @@ public final class JsonExportActor extends AbstractUntypedActor {
         private final DataTreeCandidate dataTreeCandidate;
 
         public ExportSnapshot(final DataTreeCandidate candidate, final String id) {
-            this.dataTreeCandidate = requireNonNull(candidate);
+            dataTreeCandidate = requireNonNull(candidate);
             this.id = requireNonNull(id);
         }
     }
@@ -66,12 +66,12 @@ public final class JsonExportActor extends AbstractUntypedActor {
     }
 
     private final List<ReplicatedLogEntry> entries = new ArrayList<>();
-    private final EffectiveModelContext schemaContext;
-    private final Path baseDirPath;
+    private final @NonNull EffectiveModelContext schemaContext;
+    private final @NonNull Path baseDirPath;
 
     private JsonExportActor(final EffectiveModelContext schemaContext, final Path dirPath) {
         this.schemaContext = requireNonNull(schemaContext);
-        this.baseDirPath = requireNonNull(dirPath);
+        baseDirPath = requireNonNull(dirPath);
     }
 
     public static Props props(final EffectiveModelContext schemaContext, final String dirPath) {
@@ -98,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().orElseThrow();
         checkState(root instanceof NormalizedNodeContainer, "Unexpected root %s", root);
 
         writeSnapshot(filePath, (NormalizedNodeContainer<?>) root);
@@ -125,7 +125,8 @@ public final class JsonExportActor extends AbstractUntypedActor {
 
             try (NormalizedNodeWriter nnWriter = NormalizedNodeWriter.forStreamWriter(
                 JSONNormalizedNodeStreamWriter.createNestedWriter(
-                    JSONCodecFactorySupplier.RFC7951.getShared(schemaContext), SchemaPath.ROOT, null, jsonWriter),
+                    JSONCodecFactorySupplier.RFC7951.getShared(schemaContext),
+                    SchemaInferenceStack.of(schemaContext).toInference(), null, jsonWriter),
                 true)) {
                 for (NormalizedNode node : root.body()) {
                     nnWriter.write(node);
@@ -143,7 +144,7 @@ public final class JsonExportActor extends AbstractUntypedActor {
             jsonWriter.beginObject().name("Entries");
             jsonWriter.beginArray();
             for (ReplicatedLogEntry entry : entries) {
-                final Payload data = entry.getData();
+                final var data = entry.getData();
                 if (data instanceof CommitTransactionPayload) {
                     final CommitTransactionPayload payload = (CommitTransactionPayload) entry.getData();
                     final DataTreeCandidate candidate = payload.getCandidate().getValue().getCandidate();
@@ -198,7 +199,7 @@ public final class JsonExportActor extends AbstractUntypedActor {
         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().orElseThrow().body().toString()).endObject();
         }
         writer.endArray();
         writer.endObject();