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%2FOpsInvoker.java;h=4ac3867d67382fe00587378b4a37d1ed42c1d9d1;hb=HEAD;hp=9c47e68faa6a95bf5ba9a2861ad4295bedd219f8;hpb=62468daa9029368b321b6e1e18fa9cfa0ae994b4;p=controller.git diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java index 9c47e68faa..2d2bd79338 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/OpsInvoker.java @@ -24,7 +24,6 @@ import org.opendaylight.controller.remote.rpc.messages.ActionResponse; import org.opendaylight.controller.remote.rpc.messages.ExecuteAction; import org.opendaylight.controller.remote.rpc.messages.ExecuteRpc; import org.opendaylight.controller.remote.rpc.messages.RpcResponse; -import org.opendaylight.mdsal.dom.api.DOMActionResult; import org.opendaylight.mdsal.dom.api.DOMActionService; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.mdsal.dom.api.DOMRpcResult; @@ -68,11 +67,11 @@ final class OpsInvoker extends AbstractUntypedActor { @Override protected void handleReceive(final Object message) { - if (message instanceof ExecuteRpc) { + if (message instanceof ExecuteRpc executeRpc) { LOG.debug("Handling ExecuteOps Message"); - execute((ExecuteRpc) message); - } else if (message instanceof ExecuteAction) { - execute((ExecuteAction) message); + execute(executeRpc); + } else if (message instanceof ExecuteAction executeAction) { + execute(executeAction); } else { unknownMessage(message); } @@ -117,7 +116,7 @@ final class OpsInvoker extends AbstractUntypedActor { final ActorRef sender = getSender(); - final ListenableFuture future; + final ListenableFuture future; try { future = actionService.invokeAction(msg.getType(), msg.getPath(), msg.getInput()); } catch (final RuntimeException e) { @@ -126,16 +125,16 @@ final class OpsInvoker extends AbstractUntypedActor { return; } - Futures.addCallback(future, new AbstractCallback(getSender(), msg.getType()) { + Futures.addCallback(future, new AbstractCallback(getSender(), msg.getType()) { @Override Object nullResponse(final Absolute type) { throw new IllegalStateException("Null invocation result of action " + type); } @Override - Object response(final Absolute type, final DOMActionResult result) { - final Collection errors = result.getErrors(); - return errors.isEmpty() ? new ActionResponse(result.getOutput(), result.getErrors()) + Object response(final Absolute type, final DOMRpcResult result) { + final var errors = result.errors(); + return errors.isEmpty() ? new ActionResponse(result.value(), errors) // This is legacy (wrong) behavior, which ignores the fact that errors may be just warnings, // discarding any output : new Failure(new RpcErrorsException(String.format("Execution of action %s failed", type),