X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Ftransform%2Fbase%2Fparser%2FNodeParserDispatcher.java;h=d38b39868a3caa025af64db5b4eaff36836ea052;hb=ea32c2c6fac2ebe9d0e30c9c4e5279c5ef0d2314;hp=69cc49a712985affbb01dba8c119b5e3f6c0ae6a;hpb=98c93138319e85ac5fca6b44a4e6eaaa6c89a3cf;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/NodeParserDispatcher.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/NodeParserDispatcher.java index 69cc49a712..d38b39868a 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/NodeParserDispatcher.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/parser/NodeParserDispatcher.java @@ -13,11 +13,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.impl.schema.transform.ToNormalizedNodeParserFactory; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; -import org.opendaylight.yangtools.yang.model.api.ChoiceNode; +import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; +import org.opendaylight.yangtools.yang.model.api.YangModeledAnyXmlSchemaNode; /** * @@ -33,7 +34,7 @@ public interface NodeParserDispatcher { * Abstract implementation that implements the dispatch conditions. Only requires parsers to be provided. * The same instance of parser can be provided in case it is immutable. */ - public static abstract class BaseNodeParserDispatcher implements NodeParserDispatcher { + abstract class BaseNodeParserDispatcher implements NodeParserDispatcher { private final ToNormalizedNodeParserFactory factory; protected BaseNodeParserDispatcher(final ToNormalizedNodeParserFactory factory) { @@ -41,7 +42,7 @@ public interface NodeParserDispatcher { } @Override - public final DataContainerChild dispatchChildElement(Object schema, List childNodes) { + public final DataContainerChild dispatchChildElement(final Object schema, final List childNodes) { Preconditions.checkArgument(!childNodes.isEmpty()); if (schema instanceof ContainerSchemaNode) { @@ -52,17 +53,19 @@ public interface NodeParserDispatcher { return factory.getLeafSetNodeParser().parse(childNodes, (LeafListSchemaNode) schema); } else if (schema instanceof ListSchemaNode) { final ListSchemaNode listSchemaNode = (ListSchemaNode)schema; - if (listSchemaNode.isUserOrdered()) { - return factory.getOrderedListNodeParser().parse(childNodes, listSchemaNode); - } else if (listSchemaNode.getKeyDefinition().isEmpty()) { + if (listSchemaNode.getKeyDefinition().isEmpty()) { return factory.getUnkeyedListNodeParser().parse(childNodes, listSchemaNode); + } else if (listSchemaNode.isUserOrdered()) { + return factory.getOrderedListNodeParser().parse(childNodes, listSchemaNode); } else { return factory.getMapNodeParser().parse(childNodes, listSchemaNode); } - } else if (schema instanceof ChoiceNode) { - return factory.getChoiceNodeParser().parse(childNodes, (ChoiceNode) schema); + } else if (schema instanceof ChoiceSchemaNode) { + return factory.getChoiceNodeParser().parse(childNodes, (ChoiceSchemaNode) schema); } else if (schema instanceof AugmentationSchema) { return factory.getAugmentationNodeParser().parse(childNodes, (AugmentationSchema) schema); + } else if (schema instanceof YangModeledAnyXmlSchemaNode) { + return factory.getYangModeledAnyXmlNodeParser().parse(childNodes,(YangModeledAnyXmlSchemaNode)schema); } else if (schema instanceof AnyXmlSchemaNode) { return factory.getAnyXmlNodeParser().parse(childNodes,(AnyXmlSchemaNode)schema); }