X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fmessages%2FExecuteRpc.java;h=d9f6a67b5f2ac7efcd53fab50d258ff8484b96ef;hb=refs%2Fheads%2Fmaster;hp=3f0cc3549fa9c41ff0de4f101046d2dd336e172b;hpb=ba6824307ad4b3c272abefe9682d623adc3b42d2;p=controller.git diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/messages/ExecuteRpc.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/messages/ExecuteRpc.java index 3f0cc3549f..d9f6a67b5f 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/messages/ExecuteRpc.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/messages/ExecuteRpc.java @@ -14,23 +14,23 @@ import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier; -import org.opendaylight.yangtools.yang.common.YangConstants; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; 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.data.impl.schema.ImmutableNodes; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; -public final class ExecuteRpc extends AbstractExecute { +public final class ExecuteRpc extends AbstractExecute { private static final long serialVersionUID = 1128904894827335676L; - private ExecuteRpc(final @NonNull SchemaPath type, final @NonNull ContainerNode input) { + private ExecuteRpc(final @NonNull QName type, final @Nullable ContainerNode input) { super(type, input); } - public static @NonNull ExecuteRpc from(final @NonNull DOMRpcIdentifier rpc, final @NonNull ContainerNode input) { + public static @NonNull ExecuteRpc from(final @NonNull DOMRpcIdentifier rpc, + final @Nullable ContainerNode input) { return new ExecuteRpc(rpc.getType(), input); } @@ -58,7 +58,7 @@ public final class ExecuteRpc extends AbstractExecute { @Override public void writeExternal(final ObjectOutput out) throws IOException { try (NormalizedNodeDataOutput stream = NormalizedNodeStreamVersion.current().newDataOutput(out)) { - stream.writeQName(executeRpc.getType().getLastComponent()); + stream.writeQName(executeRpc.getType()); stream.writeOptionalNormalizedNode(executeRpc.getInput()); } } @@ -66,12 +66,8 @@ public final class ExecuteRpc extends AbstractExecute { @Override public void readExternal(final ObjectInput in) throws IOException { final NormalizedNodeDataInput stream = NormalizedNodeDataInput.newDataInput(in); - final SchemaPath type = SchemaPath.ROOT.createChild(stream.readQName()); - ContainerNode input = (ContainerNode) stream.readOptionalNormalizedNode().orElse(null); - if (input == null) { - input = ImmutableNodes.containerNode( - YangConstants.operationInputQName(type.getLastComponent().getModule())); - } + final QName type = stream.readQName(); + final ContainerNode input = RpcResponse.unmaskContainer(stream.readOptionalNormalizedNode()); executeRpc = new ExecuteRpc(type, input); }