package com.sequenceiq.cloudbreak.core.flow2.restart; import javax.inject.Inject; import org.springframework.stereotype.Component; import com.sequenceiq.cloudbreak.api.model.DetailedStackStatus; import com.sequenceiq.cloudbreak.cloud.event.Payload; import com.sequenceiq.cloudbreak.domain.Stack; import com.sequenceiq.cloudbreak.repository.StackUpdater; import com.sequenceiq.cloudbreak.service.flowlog.FlowLogService; import com.sequenceiq.cloudbreak.service.stack.StackService; @Component("WaitForSyncRestartAction") public class WaitForSyncRestartAction extends DefaultRestartAction { @Inject private StackService stackService; @Inject private StackUpdater stackUpdater; @Inject private FlowLogService flowLogService; @Override public void restart(String flowId, String flowChainId, String event, Object payload) { Payload stackPayload = (Payload) payload; Stack stack = stackService.getById(stackPayload.getStackId()); stackUpdater.updateStackStatus(stack.getId(), DetailedStackStatus.WAIT_FOR_SYNC, stack.getStatusReason()); flowLogService.terminate(stackPayload.getStackId(), flowId); } }