From c88bb5b55f973303e4a6b04aced3ad10fdd1b96d Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 12 Mar 2018 11:53:51 +0100 Subject: [PATCH] Use QName.withModule() There are multiple places where we are creating a well-known QName with a new namespace. Use QName.withModule() so we do not end up checking localName over and over. Change-Id: I932bf3762bfb6ae201e6b309f8a7d95887b99b00 Signed-off-by: Robert Varga --- .../dom/adapter/BindingDOMRpcImplementationAdapter.java | 3 ++- .../mdsal/binding/dom/adapter/RpcServiceAdapter.java | 5 +++-- .../binding/dom/codec/impl/DataObjectCodecContext.java | 2 +- .../binding/generator/impl/AbstractTypeGenerator.java | 2 +- .../binding/generator/impl/BindingSchemaContextUtils.java | 2 +- .../yangtools/yang/binding/util/BindingReflections.java | 8 ++++---- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMRpcImplementationAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMRpcImplementationAdapter.java index 9fc717ba93..ffd175d042 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMRpcImplementationAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMRpcImplementationAdapter.java @@ -30,6 +30,7 @@ import org.opendaylight.yangtools.yang.binding.util.BindingReflections; import org.opendaylight.yangtools.yang.binding.util.RpcServiceInvoker; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -63,7 +64,7 @@ public class BindingDOMRpcImplementationAdapter implements DOMRpcImplementation this.codec = Preconditions.checkNotNull(codec); this.delegate = Preconditions.checkNotNull(delegate); - inputQname = QName.create(BindingReflections.getQNameModule(type), "input").intern(); + inputQname = YangConstants.operationInputQName(BindingReflections.getQNameModule(type)).intern(); } @Nonnull diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java index ce6292c487..6363c279a0 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcServiceAdapter.java @@ -34,6 +34,7 @@ import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.common.RpcError.ErrorSeverity; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -44,7 +45,6 @@ import org.opendaylight.yangtools.yang.model.api.RpcDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaPath; class RpcServiceAdapter implements InvocationHandler { - private final ImmutableMap rpcNames; private final Class type; private final BindingToNormalizedNodeCodec codec; @@ -161,7 +161,8 @@ class RpcServiceAdapter implements InvocationHandler { final NormalizedNode domData = input.getResult(); final DataObject bindingResult; if (domData != null) { - final SchemaPath rpcOutput = rpc.createChild(QName.create(rpc.getLastComponent(), "output")); + final SchemaPath rpcOutput = rpc.createChild(YangConstants.operationOutputQName( + rpc.getLastComponent().getModule())); bindingResult = resultCodec.fromNormalizedNodeRpcData(rpcOutput, (ContainerNode) domData); } else { bindingResult = null; diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java index c69941bfba..5ef8844075 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java @@ -236,7 +236,7 @@ abstract class DataObjectCodecContext potential = findDataNodeContainer(currentContainer.get(), currentQName); if (potential.isPresent()) { diff --git a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java index 6f4d6a814a..3198e5cd4e 100644 --- a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java @@ -46,6 +46,7 @@ import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.YangConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -523,10 +524,10 @@ public final class BindingReflections { } else if (isRpcType(key)) { final String className = key.getSimpleName(); if (className.endsWith(BindingMapping.RPC_OUTPUT_SUFFIX)) { - return QName.create(module, "output").intern(); - } else { - return QName.create(module, "input").intern(); + return YangConstants.operationOutputQName(module.getModule()).intern(); } + + return YangConstants.operationInputQName(module.getModule()).intern(); } /* @@ -534,7 +535,6 @@ public final class BindingReflections { */ return module; } - } /** -- 2.36.6