diff options
author | ToineSiebelink <toine.siebelink@est.tech> | 2022-09-05 12:08:09 +0100 |
---|---|---|
committer | ToineSiebelink <toine.siebelink@est.tech> | 2022-09-05 12:51:01 +0100 |
commit | 6a1bbf295501650a6a7b8308da4d88835f122fa2 (patch) | |
tree | 9f4675a78d12d58e20f698dd53ee01c1823c73a3 /cps-ncmp-service/src/main/java/org | |
parent | 4976424bb3007f14e95e42fa485a4346e88fa899 (diff) |
Performance Improvement: Fix Insert Yang Resource IDs (Schemset)
- Add robustness to handle insertion/get of empty collection
- Fix business logic to pass down ALL module references during module Sync
- Update Java doc etc to clarify ALL module references are needed (not just new)
Issue-ID: CPS-1246
Issue-ID: CPS-1126
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Ic8ff4bdfef646e98ef61a6732c6d5ecb4b762e29
Diffstat (limited to 'cps-ncmp-service/src/main/java/org')
-rw-r--r-- | cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncService.java | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncService.java index 7f61c476d5..7efce1ad52 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncService.java @@ -23,9 +23,8 @@ package org.onap.cps.ncmp.api.inventory.sync; import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME; import java.util.Collection; -import java.util.HashMap; +import java.util.Collections; import java.util.Map; -import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.onap.cps.api.CpsAdminService; @@ -54,33 +53,28 @@ public class ModuleSyncService { */ public void syncAndCreateSchemaSetAndAnchor(final YangModelCmHandle yangModelCmHandle) { - final Collection<ModuleReference> moduleReferencesFromCmHandle = + final Collection<ModuleReference> allModuleReferencesFromCmHandle = dmiModelOperations.getModuleReferences(yangModelCmHandle); final Collection<ModuleReference> identifiedNewModuleReferencesFromCmHandle = cpsModuleService - .identifyNewModuleReferences(moduleReferencesFromCmHandle); - - final Collection<ModuleReference> existingModuleReferencesFromCmHandle = - moduleReferencesFromCmHandle.stream().filter(moduleReferenceFromCmHandle -> - !identifiedNewModuleReferencesFromCmHandle.contains(moduleReferenceFromCmHandle) - ).collect(Collectors.toList()); + .identifyNewModuleReferences(allModuleReferencesFromCmHandle); final Map<String, String> newModuleNameToContentMap; if (identifiedNewModuleReferencesFromCmHandle.isEmpty()) { - newModuleNameToContentMap = new HashMap<>(); + newModuleNameToContentMap = Collections.emptyMap(); } else { newModuleNameToContentMap = dmiModelOperations.getNewYangResourcesFromDmi(yangModelCmHandle, identifiedNewModuleReferencesFromCmHandle); } - createSchemaSetAndAnchor(yangModelCmHandle, newModuleNameToContentMap, existingModuleReferencesFromCmHandle); + createSchemaSetAndAnchor(yangModelCmHandle, newModuleNameToContentMap, allModuleReferencesFromCmHandle); } private void createSchemaSetAndAnchor(final YangModelCmHandle yangModelCmHandle, final Map<String, String> newModuleNameToContentMap, - final Collection<ModuleReference> existingModuleReferencesFromCmHandle) { + final Collection<ModuleReference> allModuleReferencesFromCmHandle) { final String schemaSetAndAnchorName = yangModelCmHandle.getId(); cpsModuleService.createSchemaSetFromModules(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, schemaSetAndAnchorName, - newModuleNameToContentMap, existingModuleReferencesFromCmHandle); + newModuleNameToContentMap, allModuleReferencesFromCmHandle); cpsAdminService.createAnchor(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, schemaSetAndAnchorName, schemaSetAndAnchorName); } |