Bug 4798: Can not define a list as a subordinate
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / yangtools / binding / data / codec / impl / ChoiceNodeCodecContext.java
index 47a783ac1edf485f9e48311473a907e7e97fbdfe..6e5bba69c70795150bc7a717396b8071576800da 100644 (file)
@@ -137,7 +137,13 @@ final class ChoiceNodeCodecContext<D extends DataObject> extends DataContainerCo
 
     @Override
     public NodeCodecContext<?> yangPathArgumentChild(final YangInstanceIdentifier.PathArgument arg) {
-        final DataContainerCodecPrototype<?> cazeProto = byYangCaseChild.get(arg);
+        final DataContainerCodecPrototype<?> cazeProto;
+        if (arg instanceof YangInstanceIdentifier.NodeIdentifierWithPredicates) {
+            cazeProto = byYangCaseChild.get(new NodeIdentifier(arg.getNodeType()));
+        } else {
+            cazeProto = byYangCaseChild.get(arg);
+        }
+
         childNonNull(cazeProto != null, arg,"Argument %s is not valid child of %s", arg, getSchema());
         return cazeProto.get().yangPathArgumentChild(arg);
     }