NCMP De-Register response payload and status is invalid 27/133027/5
authorsourabh_sourabh <sourabh.sourabh@est.tech>
Wed, 25 Jan 2023 17:13:38 +0000 (17:13 +0000)
committersourabh_sourabh <sourabh.sourabh@est.tech>
Thu, 26 Jan 2023 16:11:48 +0000 (16:11 +0000)
-Refactored "DELETING" and "DELETED" update state to avoid wrong
response code.

Issue-ID: CPS-1463

Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: I639ba94986c4ffe48d2d42f14f6a6b4e2bd2713e
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java

index 5aad404..8b80a03 100755 (executable)
@@ -325,8 +325,10 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
             final List<String> tobeRemovedCmHandles) {
         final List<CmHandleRegistrationResponse> cmHandleRegistrationResponses =
                 new ArrayList<>(tobeRemovedCmHandles.size());
-
-        setState(tobeRemovedCmHandles, CmHandleState.DELETING);
+        final List<YangModelCmHandle> yangModelCmHandles =
+                tobeRemovedCmHandles.stream().map(inventoryPersistence::getYangModelCmHandle)
+                        .collect(Collectors.toList());
+        updateCmHandleStateBatch(yangModelCmHandles, CmHandleState.DELETING);
 
         for (final String cmHandleId : tobeRemovedCmHandles) {
             try {
@@ -350,18 +352,15 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService
             }
         }
 
-        setState(tobeRemovedCmHandles, CmHandleState.DELETED);
-
+        updateCmHandleStateBatch(yangModelCmHandles, CmHandleState.DELETED);
         return cmHandleRegistrationResponses;
     }
 
-    private void setState(final List<String> tobeRemovedCmHandles, final CmHandleState cmHandleState) {
+    private void updateCmHandleStateBatch(final List<YangModelCmHandle> yangModelCmHandles,
+                                          final CmHandleState cmHandleState) {
         final Map<YangModelCmHandle, CmHandleState> cmHandleIdsToBeRemoved = new HashMap<>();
-        for (final String cmHandleId : tobeRemovedCmHandles) {
-            cmHandleIdsToBeRemoved.put(
-                    inventoryPersistence.getYangModelCmHandle(cmHandleId),
-                    cmHandleState);
-        }
+        yangModelCmHandles.stream().forEach(yangModelCmHandle ->
+                cmHandleIdsToBeRemoved.put(yangModelCmHandle, cmHandleState));
         lcmEventsCmHandleStateHandler.updateCmHandleStateBatch(cmHandleIdsToBeRemoved);
     }