diff options
author | ToineSiebelink <toine.siebelink@est.tech> | 2021-01-25 18:46:20 +0000 |
---|---|---|
committer | puthuparambil.aditya <aditya.puthuparambil@bell.ca> | 2021-01-27 16:01:33 +0000 |
commit | 099f89eda3b0c94d20612ebf1d62795ab7dc833a (patch) | |
tree | 9ac4eeb64c92bdf8b4de1773dcfd195158b30a6c /cps-ri/src | |
parent | 34afca00d1f8b2fabe7708c76be714687e136d68 (diff) |
Draft at proposal where the DataNodeBuilder 'replaces' yang Utils to buidl a DataNode
Most complexity is related to immutable collections and the fact taht we are adding data while recursing
over the orignal data in an uncontrolled order.
I cleaned it up as best I could with no logic in DataNode.
Espcially the handling of LitLeaves requires some specialed handling. Thsi is just a draft solution for that
I still propose we get back to that in dedicated user stories for handling the various types of Yang elements
Hope this helps...
Issue-ID: CPS-137
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Iab7cfcff67412c01bcdab95e707e1350bf60fab1
Diffstat (limited to 'cps-ri/src')
-rw-r--r-- | cps-ri/src/test/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceTest.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/cps-ri/src/test/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceTest.java b/cps-ri/src/test/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceTest.java index 4501e5f0ce..5c402917d4 100644 --- a/cps-ri/src/test/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceTest.java +++ b/cps-ri/src/test/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceTest.java @@ -23,7 +23,6 @@ import static junit.framework.TestCase.assertEquals; import com.google.common.collect.ImmutableSet; import java.util.Arrays; -import java.util.Collections; import org.assertj.core.api.Assertions; import org.junit.ClassRule; import org.junit.Test; @@ -35,6 +34,7 @@ import org.onap.cps.spi.exceptions.AnchorNotFoundException; import org.onap.cps.spi.exceptions.DataNodeNotFoundException; import org.onap.cps.spi.exceptions.DataspaceNotFoundException; import org.onap.cps.spi.model.DataNode; +import org.onap.cps.spi.model.DataNodeBuilder; import org.onap.cps.spi.repository.FragmentRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -42,7 +42,6 @@ import org.springframework.dao.DataIntegrityViolationException; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit4.SpringRunner; - @RunWith(SpringRunner.class) @SpringBootTest public class CpsDataPersistenceServiceTest { @@ -67,7 +66,6 @@ public class CpsDataPersistenceServiceTest { private static final long GRAND_CHILD_ID_4006 = 4006; private static final String GRAND_CHILD_XPATH1 = "/parent-1/child-1/grandchild-1"; - @ClassRule public static DatabaseTestContainer databaseTestContainer = DatabaseTestContainer.getInstance(); @@ -91,14 +89,16 @@ public class CpsDataPersistenceServiceTest { @Sql({CLEAR_DATA, SET_DATA}) public void testStoreDataNodeAtNonExistingDataspace() { cpsDataPersistenceService - .storeDataNode("Non Existing Dataspace Name", ANCHOR_NAME1, new DataNode()); + .storeDataNode("Non Existing Dataspace Name", ANCHOR_NAME1, + new DataNodeBuilder().build()); } @Test(expected = AnchorNotFoundException.class) @Sql({CLEAR_DATA, SET_DATA}) public void testStoreDataNodeAtNonExistingAnchor() { cpsDataPersistenceService - .storeDataNode(DATASPACE_NAME, "Non Existing Anchor Name", new DataNode()); + .storeDataNode(DATASPACE_NAME, "Non Existing Anchor Name", + new DataNodeBuilder().build()); } @Test(expected = DataIntegrityViolationException.class) @@ -188,12 +188,13 @@ public class CpsDataPersistenceServiceTest { } private static DataNode createDataNodeTree(final String... xpaths) { - final DataNode dataNode = DataNode.builder().xpath(xpaths[0]).childDataNodes(Collections.emptySet()).build(); + final DataNodeBuilder dataNodeBuilder = new DataNodeBuilder().withXpath(xpaths[0]); if (xpaths.length > 1) { final String[] xPathsDescendant = Arrays.copyOfRange(xpaths, 1, xpaths.length); final DataNode childDataNode = createDataNodeTree(xPathsDescendant); - dataNode.setChildDataNodes(ImmutableSet.of(childDataNode)); + dataNodeBuilder.withChildDataNodes(ImmutableSet.of(childDataNode)); + } - return dataNode; + return dataNodeBuilder.build(); } } |