X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Frpc%2Fimpl%2FMountPointRpcExecutor.java;h=efb3e0a1d3924d914afe4dcc286ad783d94de8e0;hb=43f89a73d733c3c43a875b3724b5a68470894450;hp=36502656c22834829deaaa73f01defce0be1885d;hpb=73c9fecf86aad02761df47fe0cc943af4ea1f2bc;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/rpc/impl/MountPointRpcExecutor.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/rpc/impl/MountPointRpcExecutor.java index 36502656c2..efb3e0a1d3 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/rpc/impl/MountPointRpcExecutor.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/rpc/impl/MountPointRpcExecutor.java @@ -7,9 +7,12 @@ */ package org.opendaylight.controller.sal.restconf.rpc.impl; +import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.concurrent.Future; -import org.opendaylight.controller.sal.core.api.mount.MountInstance; +import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint; +import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry; +import org.opendaylight.controller.sal.restconf.impl.RestconfDocumentedException; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.data.api.CompositeNode; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; @@ -21,9 +24,9 @@ import org.opendaylight.yangtools.yang.model.api.RpcDefinition; * */ public class MountPointRpcExecutor extends AbstractRpcExecutor { - private final MountInstance mountPoint; + private final DOMMountPoint mountPoint; - public MountPointRpcExecutor(RpcDefinition rpcDef, MountInstance mountPoint) { + public MountPointRpcExecutor(RpcDefinition rpcDef, DOMMountPoint mountPoint) { super(rpcDef); this.mountPoint = mountPoint; Preconditions.checkNotNull(mountPoint, "MountInstance can not be null."); @@ -31,6 +34,10 @@ public class MountPointRpcExecutor extends AbstractRpcExecutor { @Override protected Future> invokeRpcUnchecked(CompositeNode rpcRequest) { - return mountPoint.rpc(getRpcDefinition().getQName(), rpcRequest); + Optional service = mountPoint.getService(RpcProvisionRegistry.class); + if (service.isPresent()) { + return service.get().invokeRpc(getRpcDefinition().getQName(), rpcRequest); + } + throw new RestconfDocumentedException("Rpc service is missing."); } } \ No newline at end of file