Specialize ModuleInfoBackedContext for no fallback
[mdsal.git] / binding / mdsal-binding-generator-impl / src / main / java / org / opendaylight / mdsal / binding / generator / impl / BindingSchemaContextUtils.java
index 8a371e332b499fe4af0d1d9cf8caccd13feb9611..cbc4d3b12d0e2ce92d990b11c4c9f03cc46be38f 100644 (file)
@@ -30,8 +30,6 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.util.SchemaNodeUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,7 +40,7 @@ public final class BindingSchemaContextUtils {
         throw new UnsupportedOperationException("Utility class should not be instantiated");
     }
 
-    // FIXME: THis method does not search in case augmentations.
+    // FIXME: This method does not search in case augmentations.
     public static Optional<DataNodeContainer> findDataNodeContainer(final SchemaContext ctx,
             final InstanceIdentifier<?> path) {
         Iterator<PathArgument> pathArguments = path.getPathArguments().iterator();
@@ -97,12 +95,12 @@ public final class BindingSchemaContextUtils {
                 if (potential != null) {
                     return Optional.of(potential);
                 }
-            } else if (child instanceof DataNodeContainer && child.getQName().equals(targetQName)) {
-                return Optional.of((DataNodeContainer) child);
-            } else if (child instanceof DataNodeContainer //
-                    && child.isAddedByUses() //
-                    && child.getQName().getLocalName().equals(targetQName.getLocalName())) {
-                return Optional.of((DataNodeContainer) child);
+            } else if (child instanceof DataNodeContainer) {
+                final QName qname = child.getQName();
+                if (qname.equals(targetQName)
+                        || child.isAddedByUses() && qname.getLocalName().equals(targetQName.getLocalName())) {
+                    return Optional.of((DataNodeContainer) child);
+                }
             }
 
         }
@@ -189,35 +187,4 @@ public final class BindingSchemaContextUtils {
 
         return Optional.empty();
     }
-
-    public static Optional<CaseSchemaNode> findInstantiatedCase(final ChoiceSchemaNode instantiatedChoice,
-            final CaseSchemaNode originalDefinition) {
-        CaseSchemaNode potential = instantiatedChoice.getCaseNodeByName(originalDefinition.getQName());
-        if (originalDefinition.equals(potential)) {
-            return Optional.of(potential);
-        }
-        if (potential != null) {
-            SchemaNode potentialRoot = SchemaNodeUtils.getRootOriginalIfPossible(potential);
-            if (originalDefinition.equals(potentialRoot)) {
-                return Optional.of(potential);
-            }
-        }
-
-        // We try to find case by name, then lookup its root definition
-        // and compare it with original definition
-        // This solves case, if choice was inside grouping
-        // which was used in different module and thus namespaces are
-        // different, but local names are still same.
-        //
-        // Still we need to check equality of definition, because local name is not
-        // sufficient to uniquelly determine equality of cases
-        //
-        for (CaseSchemaNode caze : instantiatedChoice.findCaseNodes(originalDefinition.getQName().getLocalName())) {
-            if (originalDefinition.equals(SchemaNodeUtils.getRootOriginalIfPossible(caze))) {
-                return Optional.of(caze);
-            }
-        }
-        return Optional.empty();
-    }
-
 }