@Override public int compareTo(ProgressStep progressStep) { return Integer.compare(this.id.getStepNumber(), progressStep.getStepNumber()); }
@Override public final Progress getProgress() { List<WorkflowStep> steps = getCompletedSteps(); IntStream.range(0, steps.size()).forEach(i -> steps.get(i).getProgressStep().setStepNumber(i)); progress.setSteps(steps.stream().map(WorkflowStep::getProgressStep).peek(step -> step.setProgress(progress)).collect(Collectors.toList())); return progress; }
@Override public List<String> processInput(int stepNumber, ProgressStep step) { if (stepNumber == 0) { step.accept(containerStep); containerModelStep.cancelInput(); for (PartitionStep partitionStep : partitionSteps) { partitionStep.cancelInput(); } if (containerStep.isExistingContainer()) { resetPartitionSteps(containerStep.getContainer().getModel()); } } else if (stepNumber == 1) { if (containerStep.isExistingContainer()) { step.accept(partitionSteps.get(0)); } else { step.accept(containerModelStep); resetPartitionSteps(containerModelStep.getModel()); } } else { int partitionIndex = asPartitionIndex(stepNumber); step.accept(partitionSteps.get(partitionIndex)); } return Collections.emptyList(); }
switch (stepNumber) { case 0: step.accept(stockStep); qcStep.cancelInput(); stockBoxStep.cancelInput(); break; case 1: step.accept(qcStep); stockBoxStep.cancelInput(); cancelStockBoxPositionStep(); break; case 2: step.accept(stockBoxStep); if (hasInput(stockBoxStep)) { stockBoxPositionStep = new StockBoxPositionStep(stockBoxStep.getBox()); step.accept(stockBoxPositionStep); if (hasInput(stockBoxPositionStep)) { aliquotStep.cancelInput(); step.accept(aliquotStep); aliquotBoxStep.cancelInput(); aliquotBoxStep.setNumAliquots(aliquotStep.getAliquotQuantity()); break; case 5: step.accept(aliquotBoxStep);