public static ApprovalStageDefinitionType getStageDefinition(WfContextType wfc, int stageNumber) { ItemApprovalProcessStateType info = getItemApprovalProcessInfo(wfc); if (info == null || info.getApprovalSchema() == null) { return null; } ApprovalSchemaType approvalSchema = info.getApprovalSchema(); List<ApprovalStageDefinitionType> stages = approvalSchema.getStage().stream() .filter(level -> level.getNumber() != null && level.getNumber() == stageNumber) .collect(Collectors.toList()); if (stages.size() > 1) { throw new IllegalStateException("More than one level with order of " + stageNumber + ": " + stages); } else if (stages.isEmpty()) { return null; } else { return stages.get(0); } }
public static String getStageDiagName(ApprovalStageDefinitionType level) { return level.getNumber() + ":" + level.getName() + (level.getDisplayName() != null ? " (" + level.getDisplayName() + ")" : ""); }
for (ApprovalStageDefinitionType stageDef : stagesDef) { ApprovalStageExecutionInformationType stageExecution = new ApprovalStageExecutionInformationType(prismContext); stageExecution.setNumber(stageDef.getNumber()); stageExecution.setDefinition(stageDef); if (stageDef.getNumber() <= currentStageNumber) { stageExecution.setExecutionRecord(createStageExecutionRecord(wfc, stageDef.getNumber(), currentStageNumber)); } else { stageExecution.setExecutionPreview(createStageExecutionPreview(wfc, wfTask.getChannel(), stageDef, opTask, result));
Task wfTask = ActivitiUtil.getTask(execution, opResult); ApprovalStageDefinitionType stageDef = ActivitiUtil.getAndVerifyCurrentStage(execution, wfTask, false, prismContext); int stageNumber = stageDef.getNumber();
assertEquals("Wrong definition stage number at " + pos, (Integer) (i+1), stagePreview.getDefinition().getNumber());