Merge "Performance Improvement: Batch Update DataNodes"
authorSourabh Sourabh <sourabh.sourabh@est.tech>
Thu, 25 Aug 2022 14:35:18 +0000 (14:35 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 25 Aug 2022 14:35:18 +0000 (14:35 +0000)
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsCmHandleStateHandler.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsCmHandleStateHandlerImpl.java

index 8cab194..c428b12 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.cps.ncmp.api.impl.event.lcm;
 
 import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle;
 import org.onap.cps.ncmp.api.inventory.CmHandleState;
+import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle;
 
 /**
  * The implementation of it should handle the persisting of composite state and delegate the request to publish the
@@ -36,4 +37,13 @@ public interface LcmEventsCmHandleStateHandler {
      * @param targetCmHandleState target cm handle state
      */
     void updateCmHandleState(final YangModelCmHandle yangModelCmHandle, final CmHandleState targetCmHandleState);
+
+    /**
+     * Publish LCM Event.
+     *
+     * @param targetNcmpServiceCmHandle   target NcmpServiceCmHandle
+     * @param existingNcmpServiceCmHandle existing NcmpServiceCmHandle
+     */
+    void publishLcmEvent(final NcmpServiceCmHandle targetNcmpServiceCmHandle,
+            final NcmpServiceCmHandle existingNcmpServiceCmHandle);
 }
index fd46ee8..7719e1b 100644 (file)
@@ -35,6 +35,7 @@ import org.onap.cps.ncmp.api.inventory.CompositeStateUtils;
 import org.onap.cps.ncmp.api.inventory.InventoryPersistence;
 import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle;
 import org.onap.ncmp.cmhandle.event.lcm.LcmEvent;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 @Slf4j
@@ -64,6 +65,16 @@ public class LcmEventsCmHandleStateHandlerImpl implements LcmEventsCmHandleState
 
     }
 
+    @Async("notificationExecutor")
+    @Override
+    public void publishLcmEvent(final NcmpServiceCmHandle targetNcmpServiceCmHandle,
+            final NcmpServiceCmHandle existingNcmpServiceCmHandle) {
+        final String cmHandleId = targetNcmpServiceCmHandle.getCmHandleId();
+        final LcmEvent lcmEvent =
+                lcmEventsCreator.populateLcmEvent(cmHandleId, targetNcmpServiceCmHandle, existingNcmpServiceCmHandle);
+        lcmEventsService.publishLcmEvent(cmHandleId, lcmEvent);
+    }
+
     private void updateToSpecifiedCmHandleState(final YangModelCmHandle yangModelCmHandle,
             final CmHandleState targetCmHandleState) {
 
@@ -95,14 +106,6 @@ public class LcmEventsCmHandleStateHandlerImpl implements LcmEventsCmHandleState
         inventoryPersistence.saveCmHandle(yangModelCmHandle);
     }
 
-    private void publishLcmEvent(final NcmpServiceCmHandle targetNcmpServiceCmHandle,
-            final NcmpServiceCmHandle existingNcmpServiceCmHandle) {
-        final String cmHandleId = targetNcmpServiceCmHandle.getCmHandleId();
-        final LcmEvent lcmEvent =
-                lcmEventsCreator.populateLcmEvent(cmHandleId, targetNcmpServiceCmHandle, existingNcmpServiceCmHandle);
-        lcmEventsService.publishLcmEvent(cmHandleId, lcmEvent);
-    }
-
     private void updateAndSaveCmHandleState(final YangModelCmHandle yangModelCmHandle,
             final CmHandleState targetCmHandleState) {
         setCmHandleState(yangModelCmHandle, targetCmHandleState);