BUG 1204 - exception if multiple container node occures
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)
commitb0d47cc80cc313db8538824759a009b5e0c400d1
tree9cd1aa4cf519267e5abfc7ba050ea2cb729c2dd6
parentac73ed1bddd103e705edd40236569110248a1f9c
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]