Fix followerDistributedDataStore tear down
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / main / java / org / opendaylight / controller / remote / rpc / registry / RoutingTable.java
index 702d04571cb2b937386317d781894a2dddc946be..f0795a3a42b89fd83fd6e37e6c2141b7c653c977 100644 (file)
@@ -19,10 +19,11 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
 import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
 import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput;
+import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataOutput;
+import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 
 public final class RoutingTable extends AbstractRoutingTable<RoutingTable, DOMRpcIdentifier> {
     private static final class Proxy implements Externalizable {
@@ -48,11 +49,13 @@ public final class RoutingTable extends AbstractRoutingTable<RoutingTable, DOMRp
         public void writeExternal(final ObjectOutput out) throws IOException {
             out.writeObject(Serialization.serializedActorPath(opsInvoker));
 
-            final NormalizedNodeDataOutput nnout = NormalizedNodeInputOutput.newDataOutput(out);
-            nnout.writeInt(rpcs.size());
-            for (DOMRpcIdentifier id : rpcs) {
-                nnout.writeSchemaPath(id.getType());
-                nnout.writeYangInstanceIdentifier(id.getContextReference());
+            try (NormalizedNodeDataOutput nnout = NormalizedNodeStreamVersion.current().newDataOutput(out)) {
+                nnout.writeInt(rpcs.size());
+                for (DOMRpcIdentifier id : rpcs) {
+                    // TODO: we should be able to get by with just a QName
+                    nnout.writeSchemaNodeIdentifier(Absolute.of(id.getType()));
+                    nnout.writeYangInstanceIdentifier(id.getContextReference());
+                }
             }
         }
 
@@ -64,7 +67,9 @@ public final class RoutingTable extends AbstractRoutingTable<RoutingTable, DOMRp
             final int size = nnin.readInt();
             rpcs = new ArrayList<>(size);
             for (int i = 0; i < size; ++i) {
-                rpcs.add(DOMRpcIdentifier.create(nnin.readSchemaPath(), nnin.readYangInstanceIdentifier()));
+                // TODO: we should be able to get by with just a QName
+                rpcs.add(DOMRpcIdentifier.create(nnin.readSchemaNodeIdentifier().firstNodeIdentifier(),
+                    nnin.readYangInstanceIdentifier()));
             }
         }