aboutsummaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service/src/main
diff options
context:
space:
mode:
authorseanbeirne <sean.beirne@est.tech>2024-12-02 11:33:36 +0000
committerseanbeirne <sean.beirne@est.tech>2024-12-04 16:53:45 +0000
commitb6cb094f95fb136a69a019f396965c6f7ee6e23a (patch)
treea176904ade3093c8543bf09f32126dd3b5dd88df /cps-ncmp-service/src/main
parentc1bb12a61cdc2cea50bfd7ca869b7ec06b10d8cb (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')
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/datajobs/WriteRequestExaminer.java8
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/AlternateIdChecker.java5
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java16
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java13
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java19
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();
}
}