diff options
Diffstat (limited to 'participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java')
-rwxr-xr-x[-rw-r--r--] | participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java | 27 |
1 files changed, 27 insertions, 0 deletions
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 2018d435f..e29562a6e 100644..100755 --- 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 @@ -328,4 +328,31 @@ public class ThreadHandler implements Closeable { public void close() throws IOException { executor.shutdown(); } + + /** + * Handles AutomationComposition Migration. + * + * @param messageId the messageId + * @param instanceId the automationComposition Id + * @param element the information on the automation composition element + * @param compositionTargetId the composition to migrate + */ + public void migrate(UUID messageId, UUID instanceId, AcElementDeploy element, UUID compositionTargetId, + Map<String, Object> properties) { + cleanExecution(element.getId(), messageId); + var result = executor.submit(() -> this.migrateProcess(instanceId, element, compositionTargetId, properties)); + executionMap.put(element.getId(), result); + } + + private void migrateProcess(UUID instanceId, AcElementDeploy element, UUID compositionTargetId, + Map<String, Object> properties) { + try { + listener.migrate(instanceId, element, compositionTargetId, properties); + } catch (PfModelException e) { + LOGGER.error("Automation composition element migrate failed {} {}", instanceId, e.getMessage()); + intermediaryApi.updateAutomationCompositionElementState(instanceId, element.getId(), DeployState.DEPLOYED, + null, StateChangeResult.FAILED, "Automation composition element migrate failed"); + } + executionMap.remove(element.getId()); + } } |