Bug 1441: Implement XML Stream Reader to Normalized Node Writer 31/37031/5
authorIgor Foltin <ifoltin@cisco.com>
Sat, 2 Apr 2016 11:06:34 +0000 (13:06 +0200)
committerRobert Varga <nite@hq.sk>
Mon, 2 May 2016 08:39:41 +0000 (08:39 +0000)
commit31d5ed0c664e8fbd793538c4e4546204847c779e
treeb2b7eadb98ab08f8870add836bbc971bcc725ceb
parentde0fbcf56bb7aaa27626ef985302b065f8008aad
Bug 1441: Implement XML Stream Reader to Normalized Node Writer

This patch introduces new XML Parser which walks the DOM tree
and emits events into a NormalizedNodeStreamWriter.

The parser is found in the newly created module yang-data-codec-xml.

Classes which are shared by XML and JSON Parser were moved to module yang-data-util.

Added documentation for the XML parser.

Change-Id: I5b7de341333f94ad75bc2ff93b0f47f2c007e793
Signed-off-by: Igor Foltin <ifoltin@cisco.com>
44 files changed:
common/artifacts/pom.xml
common/features/pom.xml
common/features/src/main/features/features.xml
docs/src/main/asciidoc/developer/introduction.adoc
yang/pom.xml
yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java
yang/yang-data-codec-xml/pom.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/AbstractXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/BooleanXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/NumberXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/QuotedXmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlEmptyCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringIdentityrefCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/baz.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/baz.yang [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/foo.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/foo.yang [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-baz-2.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-baz-3.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-baz-4.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-baz.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-foo-2.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-foo-3.xml [new file with mode: 0644]
yang/yang-data-codec-xml/src/test/resources/invalid-foo.xml [new file with mode: 0644]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/AbstractNodeDataWithSchema.java with 89% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AnyXmlNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlNodeDataWithSchema.java with 69% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CaseNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/CaseNodeDataWithSchema.java with 68% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ChoiceNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ChoiceNodeDataWithSchema.java with 88% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/CompositeNodeDataWithSchema.java with 77% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ContainerNodeDataWithSchema.java with 81% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafListEntryNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/LeafListEntryNodeDataWithSchema.java with 80% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafListNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/LeafListNodeDataWithSchema.java with 85% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/LeafNodeDataWithSchema.java with 80% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListEntryNodeDataWithSchema.java with 93% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListNodeDataWithSchema.java with 86% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ParserStreamUtils.java [new file with mode: 0644]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/RpcAsContainer.java with 93% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/SimpleNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/SimpleNodeDataWithSchema.java with 69% similarity]
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/YangModeledAnyXmlNodeDataWithSchema.java [moved from yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/YangModeledAnyXmlNodeDataWithSchema.java with 89% similarity]