diff options
author | 2024-09-25 17:04:00 +0100 | |
---|---|---|
committer | 2024-09-30 09:43:38 +0000 | |
commit | 15302061ba7e9572ed4ea8c3aa0255d01ef07310 (patch) | |
tree | 94e97d4daafdfd7ed063306377270a5a5017ce6c /participant/participant-intermediary/src/main | |
parent | 6ed514f31be046cf31caeada994e7b9c036b5f90 (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')
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()) { |