X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-codec-gson%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fgson%2FCompositeNodeDataWithSchema.java;h=4d40db27f78c2b48cf7611659e46610619156b9d;hb=b52c1ffb0df2b84665b4d222166a3e4cdb8427bb;hp=23654dbb6d18a5024197781864320f128b9e8a40;hpb=4d8d405cb27c07e48a4d308766dafb66b372c25c;p=yangtools.git diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/CompositeNodeDataWithSchema.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/CompositeNodeDataWithSchema.java index 23654dbb6d..4d40db27f7 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/CompositeNodeDataWithSchema.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/CompositeNodeDataWithSchema.java @@ -27,6 +27,7 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; 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; /** * A node which is composed of multiple simpler nodes. @@ -96,6 +97,10 @@ class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { if (schema instanceof LeafSchemaNode) { newChild = new LeafNodeDataWithSchema(schema); } else if (schema instanceof AnyXmlSchemaNode) { + // YangModeledAnyXmlSchemaNode is handled by addCompositeChild method. + if (schema instanceof YangModeledAnyXmlSchemaNode) { + return null; + } newChild = new AnyXmlNodeDataWithSchema(schema); } else { return null; @@ -133,16 +138,20 @@ class CompositeNodeDataWithSchema extends AbstractNodeDataWithSchema { } AbstractNodeDataWithSchema addCompositeChild(final DataSchemaNode schema) { - CompositeNodeDataWithSchema newChild; + final CompositeNodeDataWithSchema newChild; + if (schema instanceof ListSchemaNode) { newChild = new ListNodeDataWithSchema(schema); } else if (schema instanceof LeafListSchemaNode) { newChild = new LeafListNodeDataWithSchema(schema); } else if (schema instanceof ContainerSchemaNode) { newChild = new ContainerNodeDataWithSchema(schema); + } else if (schema instanceof YangModeledAnyXmlSchemaNode) { + newChild = new YangModeledAnyXmlNodeDataWithSchema((YangModeledAnyXmlSchemaNode)schema); } else { newChild = new CompositeNodeDataWithSchema(schema); } + addCompositeChild(newChild); return newChild; }