Use QName.withModule()
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 12 Mar 2018 10:53:51 +0000 (11:53 +0100)
committerAnil Belur <abelur@linuxfoundation.org>
Wed, 19 Jun 2024 00:41:22 +0000 (10:41 +1000)
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 <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java

index c69941bfba78b8f4bc0bf8b6f68b4051e5c0cdfd..5ef88440759a682b18799f533eedcca125e258d0 100644 (file)
@@ -236,7 +236,7 @@ abstract class DataObjectCodecContext<D extends DataObject, T extends DataNodeCo
             }
         } else {
             // We are looking for instantiation via uses in other module
-            final QName instantiedName = QName.create(namespace(), origDef.getQName().getLocalName());
+            final QName instantiedName = origDef.getQName().withModule(namespace());
             final DataSchemaNode potential = getSchema().getDataChildByName(instantiedName);
             // We check if it is really instantiated from same
             // definition as class was derived
index 6f4d6a814ad8aada80f9f8ddb9592650204773af..3198e5cd4e7a610d3a74f3a37384566b758d98fb 100644 (file)
@@ -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;
         }
-
     }
 
     /**