diff options
author | 2024-12-02 11:33:36 +0000 | |
---|---|---|
committer | 2024-12-04 16:53:45 +0000 | |
commit | b6cb094f95fb136a69a019f396965c6f7ee6e23a (patch) | |
tree | a176904ade3093c8543bf09f32126dd3b5dd88df /cps-ncmp-service/src/main | |
parent | c1bb12a61cdc2cea50bfd7ca869b7ec06b10d8cb (diff) |
Inventory Persistance returns YangModelCmHandles for alternate Ids
-Remove getCmHandleDataNodeByAlternateId(s) methods and replace with
Yang Model methods
Issue-ID: CPS-2486
Change-Id: I2c9c96f033b3b1eefadb7eff14c91f9a936630e6
Signed-off-by: seanbeirne <sean.beirne@est.tech>
Diffstat (limited to 'cps-ncmp-service/src/main')
5 files changed, 29 insertions, 32 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/WriteRequestExaminer.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/WriteRequestExaminer.java index e13d3c2328..429a3790d4 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/WriteRequestExaminer.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/WriteRequestExaminer.java @@ -34,8 +34,6 @@ import org.onap.cps.ncmp.api.datajobs.models.WriteOperation; import org.onap.cps.ncmp.impl.inventory.models.YangModelCmHandle; import org.onap.cps.ncmp.impl.models.RequiredDmiService; import org.onap.cps.ncmp.impl.utils.AlternateIdMatcher; -import org.onap.cps.ncmp.impl.utils.YangDataConverter; -import org.onap.cps.spi.model.DataNode; import org.springframework.stereotype.Service; @Slf4j @@ -67,10 +65,8 @@ public class WriteRequestExaminer { final Map<ProducerKey, List<DmiWriteOperation>> dmiWriteOperationsPerProducerKey, final WriteOperation writeOperation) { log.debug("data job id for write operation is: {}", dataJobId); - final DataNode dataNode = alternateIdMatcher - .getCmHandleDataNodeByLongestMatchingAlternateId(writeOperation.path(), PATH_SEPARATOR); - - final YangModelCmHandle yangModelCmHandle = YangDataConverter.toYangModelCmHandle(dataNode); + final YangModelCmHandle yangModelCmHandle = alternateIdMatcher + .getYangModelCmHandleByLongestMatchingAlternateId(writeOperation.path(), PATH_SEPARATOR); final DmiWriteOperation dmiWriteOperation = createDmiWriteOperation(writeOperation, yangModelCmHandle); diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/AlternateIdChecker.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/AlternateIdChecker.java index 3600d6da32..8ebd456cda 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/AlternateIdChecker.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/AlternateIdChecker.java @@ -28,6 +28,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.onap.cps.ncmp.api.inventory.models.NcmpServiceCmHandle; +import org.onap.cps.ncmp.impl.inventory.models.YangModelCmHandle; import org.onap.cps.spi.exceptions.DataNodeNotFoundException; import org.springframework.stereotype.Service; @@ -96,8 +97,8 @@ public class AlternateIdChecker { .map(NcmpServiceCmHandle::getAlternateId) .filter(StringUtils::isNotBlank) .collect(Collectors.toSet()); - return inventoryPersistence.getCmHandleDataNodesByAlternateIds(alternateIdsToCheck).stream() - .map(dataNode -> (String) dataNode.getLeaves().get("alternate-id")) + return inventoryPersistence.getYangModelCmHandleByAlternateIds(alternateIdsToCheck).stream() + .map(YangModelCmHandle::getAlternateId) .collect(Collectors.toSet()); } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java index e5dd937cc0..e39da06514 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java @@ -130,20 +130,20 @@ public interface InventoryPersistence extends NcmpPersistence { Collection<DataNode> getCmHandleDataNodeByCmHandleId(String cmHandleId); /** - * Get data node with the given alternate id. + * Get yang model cm handle with the given alternate id. * * @param alternateId alternate ID - * @return data node + * @return yang model cm handle */ - DataNode getCmHandleDataNodeByAlternateId(String alternateId); + YangModelCmHandle getYangModelCmHandleByAlternateId(String alternateId); /** - * Get data nodes for the given batch of alternate ids. + * Get yang model cm handles for the given batch of alternate ids. * * @param alternateIds alternate IDs - * @return data nodes + * @return yang model cm handles */ - Collection<DataNode> getCmHandleDataNodesByAlternateIds(Collection<String> alternateIds); + Collection<YangModelCmHandle> getYangModelCmHandleByAlternateIds(Collection<String> alternateIds); /** * Get collection of data nodes of given cm handles. @@ -168,7 +168,7 @@ public interface InventoryPersistence extends NcmpPersistence { * Check database if cm handle id exists if not return false. * * @param cmHandleId cmHandle Id - * @return Boolean + * @return boolean */ - Boolean isExistingCmHandleId(String cmHandleId); + boolean isExistingCmHandleId(String cmHandleId); } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java index e468ed100a..f8a38100aa 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java @@ -189,24 +189,25 @@ public class InventoryPersistenceImpl extends NcmpPersistenceImpl implements Inv } @Override - public DataNode getCmHandleDataNodeByAlternateId(final String alternateId) { + public YangModelCmHandle getYangModelCmHandleByAlternateId(final String alternateId) { final String cpsPathForCmHandleByAlternateId = getCpsPathForCmHandleByAlternateId(alternateId); final Collection<DataNode> dataNodes = cmHandleQueryService .queryNcmpRegistryByCpsPath(cpsPathForCmHandleByAlternateId, OMIT_DESCENDANTS); if (dataNodes.isEmpty()) { throw new CmHandleNotFoundException(alternateId); } - return dataNodes.iterator().next(); + return YangDataConverter.toYangModelCmHandle(dataNodes.iterator().next()); } @Override - public Collection<DataNode> getCmHandleDataNodesByAlternateIds(final Collection<String> alternateIds) { + public Collection<YangModelCmHandle> getYangModelCmHandleByAlternateIds(final Collection<String> alternateIds) { if (alternateIds.isEmpty()) { return Collections.emptyList(); } final String cpsPathForCmHandlesByAlternateIds = getCpsPathForCmHandlesByAlternateIds(alternateIds); - return cmHandleQueryService.queryNcmpRegistryByCpsPath(cpsPathForCmHandlesByAlternateIds, - INCLUDE_ALL_DESCENDANTS); + final Collection<DataNode> dataNodes = cmHandleQueryService.queryNcmpRegistryByCpsPath( + cpsPathForCmHandlesByAlternateIds, INCLUDE_ALL_DESCENDANTS); + return YangDataConverter.toYangModelCmHandles(dataNodes); } @Override @@ -229,7 +230,7 @@ public class InventoryPersistenceImpl extends NcmpPersistenceImpl implements Inv } @Override - public Boolean isExistingCmHandleId(final String cmHandleId) { + public boolean isExistingCmHandleId(final String cmHandleId) { try { return !getCmHandleDataNodeByCmHandleId(cmHandleId).isEmpty(); } catch (final DataNodeNotFoundException exception) { diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java index 36c0cfa756..b97da2977a 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java @@ -21,15 +21,13 @@ package org.onap.cps.ncmp.impl.utils; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.onap.cps.ncmp.api.exceptions.CmHandleNotFoundException; import org.onap.cps.ncmp.exceptions.NoAlternateIdMatchFoundException; import org.onap.cps.ncmp.impl.inventory.InventoryPersistence; -import org.onap.cps.spi.model.DataNode; +import org.onap.cps.ncmp.impl.inventory.models.YangModelCmHandle; import org.springframework.stereotype.Service; -@Slf4j @Service @RequiredArgsConstructor public class AlternateIdMatcher { @@ -37,19 +35,21 @@ public class AlternateIdMatcher { private final InventoryPersistence inventoryPersistence; /** - * Get data node that matches longest alternate id by removing elements (as defined by the separator string) - * from right to left. If alternate id contains a hash then all elements after that hash are ignored. + * Get yang model cm handle that matches longest alternate id by removing elements + * (as defined by the separator string) from right to left. + * If alternate id contains a hash then all elements after that hash are ignored. * * @param alternateId alternate ID * @param separator a string that separates each element from the next. - * @return data node + * @return yang model cm handle */ - public DataNode getCmHandleDataNodeByLongestMatchingAlternateId(final String alternateId, final String separator) { + public YangModelCmHandle getYangModelCmHandleByLongestMatchingAlternateId(final String alternateId, + final String separator) { final String[] splitPath = alternateId.split("#", 2); String bestMatch = splitPath[0]; while (StringUtils.isNotEmpty(bestMatch)) { try { - return inventoryPersistence.getCmHandleDataNodeByAlternateId(bestMatch); + return inventoryPersistence.getYangModelCmHandleByAlternateId(bestMatch); } catch (final CmHandleNotFoundException ignored) { bestMatch = getParentPath(bestMatch, separator); } @@ -67,8 +67,7 @@ public class AlternateIdMatcher { if (inventoryPersistence.isExistingCmHandleId(cmHandleReference)) { return cmHandleReference; } else { - return inventoryPersistence.getCmHandleDataNodeByAlternateId(cmHandleReference) - .getLeaves().get("id").toString(); + return inventoryPersistence.getYangModelCmHandleByAlternateId(cmHandleReference).getId(); } } |