X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-runtime-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fruntime%2Fapi%2FAbstractBindingRuntimeContext.java;h=bf0dc18a1de77c4392c859b2b8e247dbd45fdf64;hb=refs%2Fchanges%2F59%2F109359%2F3;hp=6b22a84432c9c59ab7178a21cb26970750cedad9;hpb=dec1635b77bf6ef64c1d71db07bbcba69b736744;p=mdsal.git diff --git a/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/AbstractBindingRuntimeContext.java b/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/AbstractBindingRuntimeContext.java index 6b22a84432..bf0dc18a1d 100644 --- a/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/AbstractBindingRuntimeContext.java +++ b/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/AbstractBindingRuntimeContext.java @@ -105,16 +105,19 @@ public abstract class AbstractBindingRuntimeContext implements BindingRuntimeCon @Override public final Class getRpcInput(final QName rpcName) { - return loadClass(getTypes().findRpcInput(rpcName) - .orElseThrow(() -> new IllegalArgumentException("Failed to find RpcInput for " + rpcName))) - .asSubclass(RpcInput.class); + return loadClass(getRpc(rpcName).input()).asSubclass(RpcInput.class); } @Override public final Class getRpcOutput(final QName rpcName) { - return loadClass(getTypes().findRpcOutput(rpcName) - .orElseThrow(() -> new IllegalArgumentException("Failed to find RpcOutput for " + rpcName))) - .asSubclass(RpcOutput.class); + return loadClass(getRpc(rpcName).output()).asSubclass(RpcOutput.class); + } + + private @NonNull RpcRuntimeType getRpc(final QName rpcName) { + if (getTypes().schemaTreeChild(rpcName) instanceof RpcRuntimeType rpc) { + return rpc; + } + throw new IllegalArgumentException("Failed to find RPC for " + rpcName); } @Override