From 7915e994ac4eb403461b3a93165a2e3c72871ab6 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Fri, 21 Jun 2024 11:12:45 +0100 Subject: Fix incorrect use of getAnchors(dataspace, schemasets) There is an issue in a method deleteDataNodes(dataspace, anchors) where it doesn't send data update events. This is because it fetches anchors using a method getAnchors(dataspace, schemaSetNames), when it needs to fetch anchors by name: getAnchors(dataspace, anchorNames) Changes: - Rename getAnchors method using schemasets to getAnchorsBySchemaSetNames - Add a method getAnchors(dataspace, anchorNames) - Update test of deleteDataNodes method using getAnchors so it checks that data update events are sent Issue-ID: CPS-2254 Signed-off-by: danielhanrahan Change-Id: I55fe853f0a9278a66a5724bf4cf2723b0e2fbc8b --- .../spi/impl/CpsAdminPersistenceServiceImpl.java | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'cps-ri/src/main') diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java index 56a046496e..13710dbec0 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java @@ -106,6 +106,12 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic } } + @Override + public Anchor getAnchor(final String dataspaceName, final String anchorName) { + final AnchorEntity anchorEntity = getAnchorEntity(dataspaceName, anchorName); + return toAnchor(anchorEntity); + } + @Override public Collection getAnchors(final String dataspaceName) { final var dataspaceEntity = dataspaceRepository.getByName(dataspaceName); @@ -114,7 +120,14 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic } @Override - public Collection getAnchors(final String dataspaceName, final String schemaSetName) { + public Collection getAnchors(final String dataspaceName, final Collection anchorNames) { + final DataspaceEntity dataspaceEntity = dataspaceRepository.getByName(dataspaceName); + return anchorRepository.findAllByDataspaceAndNameIn(dataspaceEntity, anchorNames) + .stream().map(CpsAdminPersistenceServiceImpl::toAnchor).collect(Collectors.toSet()); + } + + @Override + public Collection getAnchorsBySchemaSetName(final String dataspaceName, final String schemaSetName) { final DataspaceEntity dataspaceEntity = dataspaceRepository.getByName(dataspaceName); final SchemaSetEntity schemaSetEntity = schemaSetRepository.getByDataspaceAndName( dataspaceEntity, schemaSetName); @@ -124,7 +137,8 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic } @Override - public Collection getAnchors(final String dataspaceName, final Collection schemaSetNames) { + public Collection getAnchorsBySchemaSetNames(final String dataspaceName, + final Collection schemaSetNames) { final DataspaceEntity dataspaceEntity = dataspaceRepository.getByName(dataspaceName); return anchorRepository.findAllByDataspaceAndSchemaSetNameIn(dataspaceEntity, schemaSetNames) .stream().map(CpsAdminPersistenceServiceImpl::toAnchor).collect(Collectors.toSet()); @@ -137,11 +151,6 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic inputModuleNames.size()); } - @Override - public Anchor getAnchor(final String dataspaceName, final String anchorName) { - return toAnchor(getAnchorEntity(dataspaceName, anchorName)); - } - @Transactional @Override public void deleteAnchor(final String dataspaceName, final String anchorName) { -- cgit 1.2.3-korg