aboutsummaryrefslogtreecommitdiffstats
path: root/participant/participant-intermediary/src/main
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2024-09-25 17:04:00 +0100
committerFrancesco Fiora <francesco.fiora@est.tech>2024-09-30 09:43:38 +0000
commit15302061ba7e9572ed4ea8c3aa0255d01ef07310 (patch)
tree94e97d4daafdfd7ed063306377270a5a5017ce6c /participant/participant-intermediary/src/main
parent6ed514f31be046cf31caeada994e7b9c036b5f90 (diff)
Handle timeout as hard timeout
Issue-ID: POLICY-5132 Change-Id: Ic78d346972e955f7700118ffa74be11643a885f0 Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'participant/participant-intermediary/src/main')
-rw-r--r--participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AcDefinitionHandler.java25
-rw-r--r--participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProvider.java1
-rw-r--r--participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java8
3 files changed, 27 insertions, 7 deletions
diff --git a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AcDefinitionHandler.java b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AcDefinitionHandler.java
index b38df515a..9e3efce57 100644
--- a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AcDefinitionHandler.java
+++ b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AcDefinitionHandler.java
@@ -114,16 +114,15 @@ public class AcDefinitionHandler {
public void handleParticipantSync(ParticipantSync participantSyncMsg) {
if (participantSyncMsg.isDelete()) {
- if (AcTypeState.COMMISSIONED.equals(participantSyncMsg.getState())) {
- cacheProvider.removeElementDefinition(participantSyncMsg.getCompositionId());
- }
- for (var automationcomposition : participantSyncMsg.getAutomationcompositionList()) {
- cacheProvider.removeAutomationComposition(automationcomposition.getAutomationCompositionId());
- }
+ deleteScenario(participantSyncMsg);
return;
}
if (!participantSyncMsg.getParticipantDefinitionUpdates().isEmpty()) {
+ if (StateChangeResult.TIMEOUT.equals(participantSyncMsg.getStateChangeResult())) {
+ listener.cleanExecution(participantSyncMsg.getCompositionId(), participantSyncMsg.getMessageId());
+ }
+
List<AutomationCompositionElementDefinition> list = new ArrayList<>();
for (var participantDefinition : participantSyncMsg.getParticipantDefinitionUpdates()) {
list.addAll(participantDefinition.getAutomationCompositionElementDefinitionList());
@@ -134,6 +133,20 @@ public class AcDefinitionHandler {
for (var automationcomposition : participantSyncMsg.getAutomationcompositionList()) {
cacheProvider
.initializeAutomationComposition(participantSyncMsg.getCompositionId(), automationcomposition);
+ if (StateChangeResult.TIMEOUT.equals(automationcomposition.getStateChangeResult())) {
+ for (var element : automationcomposition.getAcElementList()) {
+ listener.cleanExecution(element.getId(), participantSyncMsg.getMessageId());
+ }
+ }
+ }
+ }
+
+ private void deleteScenario(ParticipantSync participantSyncMsg) {
+ if (AcTypeState.COMMISSIONED.equals(participantSyncMsg.getState())) {
+ cacheProvider.removeElementDefinition(participantSyncMsg.getCompositionId());
+ }
+ for (var automationcomposition : participantSyncMsg.getAutomationcompositionList()) {
+ cacheProvider.removeAutomationComposition(automationcomposition.getAutomationCompositionId());
}
}
}
diff --git a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProvider.java b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProvider.java
index 65ad627d1..3837ec629 100644
--- a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProvider.java
+++ b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProvider.java
@@ -243,6 +243,7 @@ public class CacheProvider {
automationComposition.setLockState(participantRestartAc.getLockState());
automationComposition.setInstanceId(participantRestartAc.getAutomationCompositionId());
automationComposition.setElements(acElementMap);
+ automationComposition.setStateChangeResult(participantRestartAc.getStateChangeResult());
automationCompositions.put(automationComposition.getInstanceId(), automationComposition);
}
diff --git a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java
index 9a43bf4c3..c422b22b5 100644
--- a/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java
+++ b/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java
@@ -218,7 +218,13 @@ public class ThreadHandler implements Closeable {
executionMap.remove(instanceElement.elementId());
}
- private void cleanExecution(UUID execIdentificationId, UUID messageId) {
+ /**
+ * Clean Execution.
+ *
+ * @param execIdentificationId the identification Id
+ * @param messageId the messageId
+ */
+ public void cleanExecution(UUID execIdentificationId, UUID messageId) {
var process = executionMap.get(execIdentificationId);
if (process != null) {
if (!process.isDone()) {