use of org.guvnor.ala.ui.model.Stage in project kie-wb-common by kiegroup.
the class RuntimePresenter method setupPipeline.
private void setupPipeline(final PipelineExecutionTrace trace) {
clearPipeline();
boolean showStep = true;
Pipeline pipeline = trace.getPipeline();
for (int i = 0; showStep && i < pipeline.getStages().size(); i++) {
Stage stage = pipeline.getStages().get(i);
PipelineStatus stageStatus = trace.getStageStatus(stage.getName());
showStep = showStage(stageStatus);
if (showStep) {
if (i > 0) {
TransitionPresenter transitionPresenter = newTransitionPresenter();
currentTransitions.add(transitionPresenter);
pipelinePresenter.addStage(transitionPresenter.getView());
}
final StagePresenter stagePresenter = newStagePresenter();
stagePresenter.setup(stage);
stagePresenter.setState(buildStageState(stageStatus));
pipelinePresenter.addStage(stagePresenter.getView());
currentStages.add(stage);
stagePresenters.put(stage, stagePresenter);
}
}
}
use of org.guvnor.ala.ui.model.Stage in project kie-wb-common by kiegroup.
the class RuntimePresenter method onStageStatusChange.
public void onStageStatusChange(@Observes final StageStatusChangeEvent event) {
if (isFromCurrentPipeline(event.getPipelineExecutionTraceKey())) {
PipelineExecutionTrace trace = item.getPipelineTrace();
Stage currentStage = currentStages.stream().filter(step -> event.getStage().equals(step.getName())).findFirst().orElse(null);
if (currentStage != null) {
StagePresenter stagePresenter = stagePresenters.get(currentStage);
stagePresenter.setState(buildStageState(event.getStatus()));
} else {
Stage stage = new Stage(item.getPipelineTrace().getPipeline().getKey(), event.getStage());
PipelineStatus stageStatus = event.getStatus();
StagePresenter stagePresenter = newStagePresenter();
stagePresenter.setup(stage);
stagePresenter.setState(buildStageState(stageStatus));
if (!currentStages.isEmpty()) {
TransitionPresenter transitionPresenter = newTransitionPresenter();
currentTransitions.add(transitionPresenter);
pipelinePresenter.addStage(transitionPresenter.getView());
}
pipelinePresenter.addStage(stagePresenter.getView());
currentStages.add(stage);
stagePresenters.put(stage, stagePresenter);
}
trace.setStageStatus(event.getStage(), event.getStatus());
}
}
use of org.guvnor.ala.ui.model.Stage in project kie-wb-common by kiegroup.
the class RuntimePresenterSetupsTest method testOnStageStatusChangeNewStageChanged.
/**
* an item with a pipeline execution trace was initially set and a new stage status not yet drawn has changed.
*/
@Test
public void testOnStageStatusChangeNewStageChanged() {
preparePipelineExecutionTraceSetup();
RuntimeListItem item = new RuntimeListItem(RUNTIME_NAME, trace);
// setup the presenter.
presenter.setup(item);
int initialStagePresentersSize = stagePresenters.size();
// emulate the next stage consecutive stage finishing.
Stage stage = item.getPipelineTrace().getPipeline().getStages().get(displayableStages.size());
presenter.onStageStatusChange(new StageStatusChangeEvent(trace.getKey(), stage.getName(), PipelineStatus.RUNNING));
// an additional stage was added.
verify(stagePresenterInstance, times(initialStagePresentersSize + 1)).get();
// the newly stage is set to EXECUTING in the UI
StagePresenter stagePresenter = stagePresenters.get(stagePresenters.size() - 1);
verify(stagePresenter, times(1)).setup(stage);
verify(stagePresenter, times(1)).setState(State.EXECUTING);
}
use of org.guvnor.ala.ui.model.Stage in project kie-wb-common by kiegroup.
the class RuntimePresenterSetupsTest method testOnStageStatusChangeLastVisibleStageChanged.
/**
* an item with a pipeline execution trace was initially set and the last stage status has changed.
*/
@Test
public void testOnStageStatusChangeLastVisibleStageChanged() {
preparePipelineExecutionTraceSetup();
RuntimeListItem item = new RuntimeListItem(RUNTIME_NAME, trace);
// setup the presenter.
presenter.setup(item);
int initialStagePresentersSize = stagePresenters.size();
// emulate the last stage finishing.
Stage stage = displayableStages.get(displayableStages.size() - 1);
presenter.onStageStatusChange(new StageStatusChangeEvent(trace.getKey(), stage.getName(), PipelineStatus.FINISHED));
// the last stage status was changed form EXECUTING to to DONE
StagePresenter stagePresenter = stagePresenters.get(stagePresenters.size() - 1);
verify(stagePresenter, times(1)).setState(State.EXECUTING);
verify(stagePresenter, times(1)).setState(State.DONE);
// no additional stages were added.
verify(stagePresenterInstance, times(initialStagePresentersSize)).get();
}
use of org.guvnor.ala.ui.model.Stage in project kie-wb-common by kiegroup.
the class RuntimePresenterTest method mockPipeline.
protected Pipeline mockPipeline(String pipelineId, int stages) {
PipelineKey pipelineKey = new PipelineKey(pipelineId);
Pipeline pipeline = new Pipeline(pipelineKey);
for (int i = 0; i < stages; i++) {
Stage stage = new Stage(pipelineKey, "Stage.name." + Integer.toString(i));
pipeline.addStage(stage);
}
return pipeline;
}
Aggregations