Fix updating the state in Participant Intermediary

Fix the Participant Intermediary that is not updating
the transition state "UNDEPLOYING" in the participant status.

Issue-ID: POLICY-4804
Change-Id: I849d29b904d78fe9fd1b3dec9d018bf8ccc67476
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
(cherry picked from commit c4b3c527882610afc3f08c0efd73e2f7841e9fe5)
diff --git a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandler.java b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandler.java
old mode 100644
new mode 100755
index b4735f1..c7cb548
--- a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandler.java
+++ b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandler.java
@@ -29,6 +29,8 @@
 import org.onap.policy.clamp.models.acm.concepts.AcTypeState;
 import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElementDefinition;
+import org.onap.policy.clamp.models.acm.concepts.DeployState;
+import org.onap.policy.clamp.models.acm.concepts.LockState;
 import org.onap.policy.clamp.models.acm.concepts.ParticipantDeploy;
 import org.onap.policy.clamp.models.acm.concepts.ParticipantRestartAc;
 import org.onap.policy.clamp.models.acm.concepts.ParticipantUtils;
@@ -264,6 +266,7 @@
             int startPhase = ParticipantUtils.findStartPhase(
                     cacheProvider.getCommonProperties(automationComposition.getInstanceId(), acElement.getId()));
             if (startPhaseMsg.equals(startPhase)) {
+                acElement.setDeployState(DeployState.UNDEPLOYING);
                 listener.undeploy(messageId, automationComposition.getInstanceId(), acElement.getId());
             }
         }
@@ -275,6 +278,7 @@
             int startPhase = ParticipantUtils.findStartPhase(
                     cacheProvider.getCommonProperties(automationComposition.getInstanceId(), acElement.getId()));
             if (startPhaseMsg.equals(startPhase)) {
+                acElement.setDeployState(DeployState.DELETING);
                 listener.delete(messageId, automationComposition.getInstanceId(), acElement.getId());
             }
         }
@@ -293,6 +297,7 @@
             int startPhase = ParticipantUtils.findStartPhase(
                     cacheProvider.getCommonProperties(automationComposition.getInstanceId(), acElement.getId()));
             if (startPhaseMsg.equals(startPhase)) {
+                acElement.setLockState(LockState.LOCKING);
                 listener.lock(messageId, automationComposition.getInstanceId(), acElement.getId());
             }
         }
@@ -311,6 +316,7 @@
             int startPhase = ParticipantUtils.findStartPhase(
                     cacheProvider.getCommonProperties(automationComposition.getInstanceId(), acElement.getId()));
             if (startPhaseMsg.equals(startPhase)) {
+                acElement.setLockState(LockState.UNLOCKING);
                 listener.unlock(messageId, automationComposition.getInstanceId(), acElement.getId());
             }
         }
diff --git a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ParticipantHandler.java b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ParticipantHandler.java
index 8d906c0..6b025c7 100755
--- a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ParticipantHandler.java
+++ b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ParticipantHandler.java
@@ -29,7 +29,6 @@
 import org.onap.policy.clamp.acm.participant.intermediary.comm.ParticipantMessagePublisher;
 import org.onap.policy.clamp.models.acm.concepts.AcTypeState;
 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElementDefinition;
-import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionInfo;
 import org.onap.policy.clamp.models.acm.concepts.ParticipantState;
 import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionDeploy;
 import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionStateChange;
@@ -236,24 +235,4 @@
 
         return heartbeat;
     }
-
-    /**
-     * get AutomationComposition Info List.
-     *
-     * @return list of AutomationCompositionInfo
-     */
-    private List<AutomationCompositionInfo> getAutomationCompositionInfoList() {
-        List<AutomationCompositionInfo> automationCompositionInfoList = new ArrayList<>();
-        for (var entry : cacheProvider.getAutomationCompositions().entrySet()) {
-            var acInfo = new AutomationCompositionInfo();
-            acInfo.setAutomationCompositionId(entry.getKey());
-            acInfo.setDeployState(entry.getValue().getDeployState());
-            acInfo.setLockState(entry.getValue().getLockState());
-            for (var element : entry.getValue().getElements().values()) {
-                acInfo.getElements().add(automationCompositionOutHandler.getAutomationCompositionElementInfo(element));
-            }
-            automationCompositionInfoList.add(acInfo);
-        }
-        return automationCompositionInfoList;
-    }
 }
diff --git a/participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandlerTest.java b/participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandlerTest.java
old mode 100644
new mode 100755
index 6509491..cb7e560
--- a/participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandlerTest.java
+++ b/participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionHandlerTest.java
@@ -21,6 +21,7 @@
 package org.onap.policy.clamp.acm.participant.intermediary.handler;
 
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
@@ -37,6 +38,8 @@
 import org.onap.policy.clamp.models.acm.concepts.AcElementDeploy;
 import org.onap.policy.clamp.models.acm.concepts.AcTypeState;
 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElementDefinition;
+import org.onap.policy.clamp.models.acm.concepts.DeployState;
+import org.onap.policy.clamp.models.acm.concepts.LockState;
 import org.onap.policy.clamp.models.acm.concepts.ParticipantDeploy;
 import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionDeploy;
 import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionDeployAck;
@@ -87,6 +90,9 @@
         var ach = new AutomationCompositionHandler(cacheProvider, participantMessagePublisher, listener);
         ach.handleAutomationCompositionStateChange(automationCompositionStateChange);
         verify(listener, times(automationComposition.getElements().size())).undeploy(any(), any(), any());
+        for (var element: automationComposition.getElements().values()) {
+            assertEquals(DeployState.UNDEPLOYING, element.getDeployState());
+        }
     }
 
     @Test
@@ -104,6 +110,9 @@
         var ach = new AutomationCompositionHandler(cacheProvider, participantMessagePublisher, listener);
         ach.handleAutomationCompositionStateChange(automationCompositionStateChange);
         verify(listener, times(automationComposition.getElements().size())).lock(any(), any(), any());
+        for (var element: automationComposition.getElements().values()) {
+            assertEquals(LockState.LOCKING, element.getLockState());
+        }
     }
 
     @Test
@@ -121,6 +130,9 @@
         var ach = new AutomationCompositionHandler(cacheProvider, participantMessagePublisher, listener);
         ach.handleAutomationCompositionStateChange(automationCompositionStateChange);
         verify(listener, times(automationComposition.getElements().size())).unlock(any(), any(), any());
+        for (var element: automationComposition.getElements().values()) {
+            assertEquals(LockState.UNLOCKING, element.getLockState());
+        }
     }
 
     @Test
@@ -138,6 +150,9 @@
         var ach = new AutomationCompositionHandler(cacheProvider, participantMessagePublisher, listener);
         ach.handleAutomationCompositionStateChange(automationCompositionStateChange);
         verify(listener, times(automationComposition.getElements().size())).delete(any(), any(), any());
+        for (var element: automationComposition.getElements().values()) {
+            assertEquals(DeployState.DELETING, element.getDeployState());
+        }
     }
 
     @Test