Propagate action logical datastore type
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / main / java / org / opendaylight / controller / remote / rpc / messages / ExecuteAction.java
index 5f9d99f698688d58d483ff751f02061a610908b9..6d19d9c7edf2151b1bf55196b62225ed8ddec34c 100644 (file)
@@ -75,7 +75,7 @@ public final class ExecuteAction extends AbstractExecute<@NonNull ContainerNode>
         public void writeExternal(final ObjectOutput out) throws IOException {
             try (NormalizedNodeDataOutput stream = NormalizedNodeInputOutput.newDataOutput(out)) {
                 stream.writeSchemaPath(executeAction.getType());
-                // FIXME: deal with data store types?
+                executeAction.getPath().getDatastoreType().writeTo(out);
                 stream.writeYangInstanceIdentifier(executeAction.getPath().getRootIdentifier());
                 stream.writeOptionalNormalizedNode(executeAction.getInput());
             }
@@ -85,11 +85,11 @@ public final class ExecuteAction extends AbstractExecute<@NonNull ContainerNode>
         public void readExternal(final ObjectInput in) throws IOException {
             final NormalizedNodeDataInput stream = NormalizedNodeInputOutput.newDataInput(in);
             final SchemaPath name = stream.readSchemaPath();
+            final LogicalDatastoreType type = LogicalDatastoreType.readFrom(in);
             final YangInstanceIdentifier path = stream.readYangInstanceIdentifier();
             final ContainerNode input = (ContainerNode) stream.readOptionalNormalizedNode().orElse(null);
 
-            executeAction = new ExecuteAction(name, new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, path),
-                input);
+            executeAction = new ExecuteAction(name, new DOMDataTreeIdentifier(type, path), input);
         }
 
         private Object readResolve() {