package org.onap.policy.clamp.acm.participant.sim.main.handler;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
Map<String, Object> properties) {
LOGGER.debug("migrate call instanceId: {}, element: {}, compositionTargetId: {}, properties: {}",
instanceId, element, compositionTargetId, properties);
- simulatorService.migrate(instanceId, element.getId(), 0, Map.of());
+
+ simulatorService.migrate(instanceId, element.getId(), 0, properties, new HashMap<>());
}
}
simulatorService.delete(instanceElement.instanceId(), instanceElement.elementId());
} else {
simulatorService.migrate(instanceElement.instanceId(), instanceElement.elementId(),
- 0, compositionElementTarget.inProperties());
+ 0, compositionElementTarget.inProperties(), instanceElementMigrate.outProperties());
}
}
package org.onap.policy.clamp.acm.participant.sim.main.handler;
-import java.util.ArrayList;
-import java.util.List;
import lombok.Getter;
import lombok.Setter;
import org.onap.policy.clamp.acm.participant.intermediary.api.CompositionDto;
simulatorService.delete(instanceElement.instanceId(), instanceElement.elementId());
} else {
simulatorService.migrate(instanceElementMigrate.instanceId(), instanceElementMigrate.elementId(), stage,
- compositionElementTarget.inProperties());
- instanceElementMigrate.outProperties().putIfAbsent("stage", new ArrayList<>());
- @SuppressWarnings("unchecked")
- var stageList = (List<Integer>) instanceElementMigrate.outProperties().get("stage");
- stageList.add(stage);
- intermediaryApi.sendAcElementInfo(instanceElementMigrate.instanceId(), instanceElementMigrate.elementId(),
- null, null, instanceElementMigrate.outProperties());
+ compositionElementTarget.inProperties(), instanceElementMigrate.outProperties());
}
}
package org.onap.policy.clamp.acm.participant.sim.main.handler;
import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.UUID;
import lombok.Getter;
* @param elementId the elementId
* @param stage the stage
*/
- public void migrate(UUID instanceId, UUID elementId, int stage, Map<String, Object> compositionInProperties) {
+ public void migrate(UUID instanceId, UUID elementId, int stage, Map<String, Object> compositionInProperties,
+ Map<String, Object> instanceOutProperties) {
if (!execution(getConfig().getMigrateTimerMs(),
"Current Thread migrate is Interrupted during execution {}", elementId)) {
return;
nextStage = Math.min(s, nextStage);
}
}
+ instanceOutProperties.putIfAbsent("stage", new ArrayList<>());
+ @SuppressWarnings("unchecked")
+ var stageList = (List<Integer>) instanceOutProperties.get("stage");
+ stageList.add(stage);
+ intermediaryApi.sendAcElementInfo(instanceId, elementId, null, null, instanceOutProperties);
if (nextStage == 1000) {
intermediaryApi.updateAutomationCompositionElementState(
instanceId, elementId,
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
+import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.junit.jupiter.api.Test;
Map.of(), Map.of());
var instanceElementMigrated = new InstanceElementDto(
INSTANCE_ELEMENT.instanceId(), INSTANCE_ELEMENT.elementId(),
- null, Map.of("key", "value"), Map.of());
+ null, Map.of("key", "value"), new HashMap<>());
acElementHandler
.migrate(COMPOSITION_ELEMENT, compositionElementTarget, INSTANCE_ELEMENT, instanceElementMigrated);
verify(intermediaryApi).updateAutomationCompositionElementState(
var compoElTargetAdd = new CompositionElementDto(
UUID.randomUUID(), new ToscaConceptIdentifier(), Map.of(), Map.of(), ElementState.NEW);
var inElMigratedAdd = new InstanceElementDto(
- instanceElement.instanceId(), instanceElement.elementId(), null, Map.of(), Map.of(), ElementState.NEW);
+ instanceElement.instanceId(), instanceElement.elementId(), null,
+ Map.of(), new HashMap<>(), ElementState.NEW);
acElementHandler
.migrate(compositionElement, compoElTargetAdd, instanceElement, inElMigratedAdd);
verify(intermediaryApi).updateAutomationCompositionElementState(