X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding2%2Fmdsal-binding2-generator-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjavav2%2Fgenerator%2Fyang%2Ftypes%2FTypeProviderImpl.java;h=19617de46b199b3c562e54d6b08c2618ba2604ba;hb=f935e02f0667b235841a921fa163d94a193e6947;hp=cde0bb71bfe216157a242f24711840191a0c3031;hpb=8570a7dd21fdaded0a48313ed4e8df62b10a50c0;p=mdsal.git diff --git a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/yang/types/TypeProviderImpl.java b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/yang/types/TypeProviderImpl.java index cde0bb71bf..19617de46b 100644 --- a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/yang/types/TypeProviderImpl.java +++ b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/yang/types/TypeProviderImpl.java @@ -642,11 +642,14 @@ public final class TypeProviderImpl implements TypeProvider { if (strXPath != null) { if (strXPath.indexOf('[') == -1) { final Module module; + final SchemaNode actualParentSchemaNode; if ((parentNode instanceof DerivableSchemaNode) && ((DerivableSchemaNode) parentNode).isAddedByUses()) { final Optional originalNode = ((DerivableSchemaNode) parentNode).getOriginal(); Preconditions.checkArgument(originalNode.isPresent(), "originalNode can not be null."); + actualParentSchemaNode = originalNode.get(); module = findParentModule(schemaContext, originalNode.get()); } else { + actualParentSchemaNode = parentNode; module = findParentModule(schemaContext, parentNode); } Preconditions.checkArgument(module != null, "Failed to find module for parent %s", parentNode); @@ -655,7 +658,7 @@ public final class TypeProviderImpl implements TypeProvider { if (xpath.isAbsolute()) { dataNode = findDataSchemaNode(schemaContext, module, xpath); } else { - dataNode = findDataSchemaNodeForRelativeXPath(schemaContext, module, parentNode, xpath); + dataNode = findDataSchemaNodeForRelativeXPath(schemaContext, module, actualParentSchemaNode, xpath); } Preconditions.checkArgument(dataNode != null, "Failed to find leafref target: %s in module %s (%s)", strXPath, getParentModule(parentNode, schemaContext).getName(), parentNode.getQName().getModule());