HONEYCOMB-431: make DataModification.validate idempotent 17/14017/2
authorMarek Gradzki <mgradzki@cisco.com>
Fri, 13 Apr 2018 11:38:16 +0000 (13:38 +0200)
committerMarek Gradzki <mgradzki@cisco.com>
Fri, 17 Aug 2018 10:16:40 +0000 (10:16 +0000)
commit2be001c5014010698ed930236496bb939df89cde
tree7fcd07f050de2b3380b15d94683a46f676f814ca
parent3278424a38c8dbb2c78efd172d89d44b4e74f283
HONEYCOMB-431: make DataModification.validate idempotent

This patch modifies contract of DataModification.validate
to make it idempotent.

ModifiableDataTreeManager.validate now invokes dataTree.validate
on a copy of DataTreeModification.

ModifiableDataTreeManager.validateCandidate was introduced
to allow additional validation.

Change-Id: I86fc101faff9b04afde2f3eb16fff4d4df2867ad
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
infra/data-api/src/main/java/io/fd/honeycomb/data/DataModification.java
infra/data-impl/src/main/java/io/fd/honeycomb/data/impl/ModifiableDataTreeManager.java
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ModifiableDataTreeDelegatorTest.java
infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java
infra/translate-api/src/main/java/io/fd/honeycomb/translate/ValidationFailedException.java [new file with mode: 0644]