HONEYCOMB-431: add support for <validate> RPC 40/14040/6
authorMichal Cmarada <mcmarada@cisco.com>
Mon, 8 Oct 2018 07:51:04 +0000 (09:51 +0200)
committerMichal Cmarada <mcmarada@cisco.com>
Mon, 8 Oct 2018 07:51:04 +0000 (09:51 +0200)
commit819618ee3920c8277509bc2add888328c722cf10
tree35e6a4d9e85d66e862a8093b99ec0d78ad0ac747
parent556a0f59abc9b09005d40945bc20948d69e4f98e
HONEYCOMB-431: add support for <validate> RPC

This patch introduces ValidableTransaction interface,
used by Honeycomb's DataBroker to implement
Netconf's DOMDataTransactionValidator.

WriteTransaction implements ValidableTransaction
by delegating validate to DataModification
for both config and operational modifications.

This patch requires ODL Fluorine (HONEYCOMB-433),
which brings support for <candidate> validation to Netconf.
Alternatively custom ODL Oxygen build
with patches from stable/oxygen/oxygen-hc-improvements.

Change-Id: Ic3eaffaef0314d22da3ea37f9416f18ccb0b99ae
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
15 files changed:
infra/data-impl/pom.xml
infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java
infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/ReadWriteTransaction.java
infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/ValidableTransaction.java [new file with mode: 0644]
infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/WriteTransaction.java
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ReadWriteTransactionTest.java
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ValidateTest.java [new file with mode: 0644]
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java
infra/data-impl/src/test/resources/messages/rpc-reply_ok.xml [new file with mode: 0644]
infra/data-impl/src/test/resources/messages/validate/commit.xml [new file with mode: 0644]
infra/data-impl/src/test/resources/messages/validate/edit-config-create-top-container.xml [new file with mode: 0644]
infra/data-impl/src/test/resources/messages/validate/edit-config-missing-mandatory-node.xml [new file with mode: 0644]
infra/data-impl/src/test/resources/messages/validate/validate.xml [new file with mode: 0644]
infra/data-impl/src/test/resources/test-validate.yang [new file with mode: 0644]