aboutsummaryrefslogtreecommitdiffstats
path: root/participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ThreadHandler.java
diff options
context:
space:
mode:
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.java27
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());
+ }
}