Bug 5708: Schemaless netconf mount point 00/38300/5
authorAndrej Mak <andmak@cisco.com>
Mon, 2 May 2016 14:37:29 +0000 (16:37 +0200)
committerJakub Morvay <jmorvay@cisco.com>
Fri, 27 May 2016 10:58:49 +0000 (12:58 +0200)
commit433a4e027d11f43358321c9d75d2ffddacb90c05
tree04419c330c85bd15ec99b7cdad3a127965c8a53a
parenta656b5f9eaffaeb255e6bf539264bab20253c4e1
Bug 5708: Schemaless netconf mount point

Schemaless mount point can be used to connect to devices
which doesn't provide their schemas. In that case,
both rpc input and output must be of anyxml type.

Data broker and transactions works with anyxml too. Read transaction path
Yang instance identifier is transformed to xml filter structure
used in get-config rpc. Resulting data are selected from rpc-reply
according to path, wrapped in data element(to be able to return lists)
and returned as anyxml. Write transaction path is transformed to
xml structure. Data are appended to the last element of this structure.

This is done by SchemalessRpcStructureTransformer. It is strategy
used in NetconfBaseOps class. For standard mount points
NetconfRpcStructureTransformer is used.

Change-Id: I38c70fc6b676941ef6d731a52a6b12ae7c10eec6
Signed-off-by: Andrej Mak <andmak@cisco.com>
Signed-off-by: Jakub Morvay <jmorvay@cisco.com>
38 files changed:
netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/AbstractNetconfTopology.java
netconf/netconf-topology/src/test/java/org/opendaylight/netconf/topology/AbstractNetconfTopologyTest.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/SchemalessNetconfDevice.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/ReadOnlyTx.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseSchema.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfBaseOps.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfMessageTransformUtil.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcStructureTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/RpcStructureTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformer.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/main/yang/netconf-node-topology.yang
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemasTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpcTest.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/NetconfDeviceWriteOnlyTxTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformerTest.java [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/data/container.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/data/keyed-list-bad-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/data/keyed-list-compound-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/data/keyed-list.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/edit-config/container.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/edit-config/keyed-list-bad-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/edit-config/keyed-list-compound-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/edit-config/keyed-list.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/filter/container.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/filter/keyed-list-bad-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/filter/keyed-list-compound-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/filter/keyed-list.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/get-config/container.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/get-config/keyed-list-bad-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/get-config/keyed-list-compound-key.xml [new file with mode: 0644]
netconf/sal-netconf-connector/src/test/resources/schemaless/get-config/keyed-list.xml [new file with mode: 0644]