diff options
author | Michal Cmarada <mcmarada@cisco.com> | 2018-10-08 09:51:04 +0200 |
---|---|---|
committer | Michal Cmarada <mcmarada@cisco.com> | 2018-10-08 09:51:04 +0200 |
commit | 819618ee3920c8277509bc2add888328c722cf10 (patch) | |
tree | 35e6a4d9e85d66e862a8093b99ec0d78ad0ac747 /infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java | |
parent | 556a0f59abc9b09005d40945bc20948d69e4f98e (diff) |
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>
Diffstat (limited to 'infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java')
-rw-r--r-- | infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java b/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java index a60bf3415..1952f8778 100644 --- a/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java +++ b/infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/DataBroker.java @@ -33,6 +33,7 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.netconf.mdsal.connector.DOMDataTransactionValidator; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -81,7 +82,10 @@ public class DataBroker implements DOMDataBroker, Closeable { @Nonnull @Override public Map<Class<? extends DOMDataBrokerExtension>, DOMDataBrokerExtension> getSupportedExtensions() { - return Collections.emptyMap(); + return Collections.singletonMap( + DOMDataTransactionValidator.class, + (DOMDataTransactionValidator) tx -> ((ValidableTransaction)tx).validate() + ); } /** |