BUG 1204 - exception if multiple container node occures 80/8280/10
authorJozef Gloncak <jgloncak@cisco.com>
Tue, 24 Jun 2014 06:13:53 +0000 (08:13 +0200)
committertpantelis <tpanteli@brocade.com>
Tue, 8 Jul 2014 10:03:57 +0000 (06:03 -0400)
commitd791a261edf5d47ba1860acb25c82b4919e2d3a5
tree2cd6f6b26362f752efcdc0f0447cc9f46be85697
parent5d47205c5a5ff5067371ed9c43d54376dd1f5224
BUG 1204 - exception if multiple container node occures

Container schema node + multiple data nodes ->
 exception RestconfDocumentedException is raised.
List schema node + one data node (e. g. in json is specified as container
"list-name":{} and not "list-name":[{},{}...,{}] -> this is acceptable case because
list can have even only one entry.
Leaf schema node + multiple data nodes -> special check whether at
equal objects is everytime uniqe key. If it isn't so then
RestconfDocumentedException is raised. For Json specific JsonParser was
implemented which is catch duplicity at object level an time of parsing.
For XML this duplicity name check is done during normalization phase.

Change-Id: I0b544c015bcf817e82206276bd24c783093308d6
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
14 files changed:
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/gson/JsonParser.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonToCompositeNodeProvider.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonToCompositeNodeReader.java [moved from opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonReader.java with 86% similarity]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlToCompositeNodeProvider.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlToCompositeNodeReader.java [moved from opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlReader.java with 88% similarity]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfImpl.java
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/MultipleEqualNamesForDataNodesTest.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/equal-data-node-names/equal-name-data-for-container.json [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/equal-data-node-names/equal-name-data-for-container.xml [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/equal-data-node-names/equal-name-data-for-leaf.json [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/equal-data-node-names/equal-name-data-for-leaf.xml [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/equal-data-node-names/yang/equal-data-node-names.yang [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/json-to-cnsn/empty-data1.json
opendaylight/md-sal/sal-rest-connector/src/test/resources/multiple-nodes/multiple-nodes.yang [new file with mode: 0644]