From fa641a3e06a905cb3222ebd15a2b4ab90b599efc Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Fri, 13 Apr 2018 13:38:16 +0200 Subject: HONEYCOMB-431: delegate DataModification.validate to WriterRegistry This patch introduces ModifiableDataTreeDelegator.validateCandidate that translates DataTreeCandidate to DataObjectUpdates and delegates validation to WriterRegistry (similarly as for bulk update). ModifiableDataTreeManager.commit implementation invokes validation before bulk update. To make it efficient, DataObjectUpdates are computed once and stored in DataTreeContext. Change-Id: If4bd558e64ed84c11c9c50c7a98a2aaa8db841bb Signed-off-by: Marek Gradzki --- .../io/fd/honeycomb/data/impl/ModifiableDataTreeDelegatorTest.java | 7 +++++++ .../test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'infra/data-impl/src/test') diff --git a/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ModifiableDataTreeDelegatorTest.java b/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ModifiableDataTreeDelegatorTest.java index ef9d3d6d2..f40e0e673 100644 --- a/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ModifiableDataTreeDelegatorTest.java +++ b/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/ModifiableDataTreeDelegatorTest.java @@ -24,6 +24,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -75,6 +76,12 @@ public class ModifiableDataTreeDelegatorTest extends ModifiableDataTreeDelegator dataModification.write(NESTED_LIST_ID, nestedList); dataModification.validate(); dataModification.validate(); + + final Multimap, DataObjectUpdate> map = HashMultimap.create(); + map.put(DEFAULT_ID, DataObjectUpdate.create(DEFAULT_ID, null, DEFAULT_DATA_OBJECT)); + final WriterRegistry.DataObjectUpdates updates = + new WriterRegistry.DataObjectUpdates(map, ImmutableMultimap.of()); + verify(writer, times(2)).validateModifications(eq(updates), any(WriteContext.class)); } @Test diff --git a/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java b/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java index 89ecef2f3..86521f39b 100644 --- a/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java +++ b/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/WriteTransactionTest.java @@ -98,7 +98,6 @@ public class WriteTransactionTest { @Test public void testSubmit() throws Exception { writeTx.submit(); - verify(configSnapshot).validate(); verify(configSnapshot).commit(); } -- cgit 1.2.3-korg