public SCallActivityDefinitionImpl(final CallActivityDefinition activityDefinition, final Map<String, STransitionDefinition> transitionsMap) { super(activityDefinition, transitionsMap); callableElement = ServerModelConvertor.convertExpression(activityDefinition.getCallableElement()); callableElementVersion = ServerModelConvertor.convertExpression(activityDefinition.getCallableElementVersion()); dataInputOperations = ServerModelConvertor.convertOperations(activityDefinition.getDataInputOperations()); contractInputs = ServerModelConvertor.convertContractInputs(activityDefinition.getProcessStartContractInputs()); dataOutputOperations = ServerModelConvertor.convertOperations(activityDefinition.getDataOutputOperations()); callableElementType = SCallableElementType.valueOf(activityDefinition.getCallableElementType().name()); }
@Test public void readProcessWithCallActivityFromBusinessArchive() throws Exception { final Expression fromCallerData = new ExpressionBuilder().createDataExpression("var1", Boolean.class.getName()); final LeftOperand dataInputLeftOp = new LeftOperandBuilder().createNewInstance("data1").done(); final Operation dataInputOperation = getOperation(fromCallerData, dataInputLeftOp); final Expression fromCallableElementData = new ExpressionBuilder().createDataExpression("data2", Integer.class.getName()); final LeftOperand dataOutputOp = new LeftOperandBuilder().createNewInstance("var2").done(); final Operation dataOutputOperation = getOperation(fromCallableElementData, dataOutputOp); final Expression targetProcess = new ExpressionBuilder().createConstantStringExpression("MyProcess2"); final Expression processVersion = new ExpressionBuilder().createConstantStringExpression("1.0"); final ProcessDefinitionBuilder builder = new ProcessDefinitionBuilder().createNewInstance("MyProcess", "1.0"); builder.addBooleanData("var1", null); builder.addIntegerData("var2", null); builder.addStartEvent("start1"); final CallActivityBuilder callActivityBuilder = builder.addCallActivity("callActivity", targetProcess, processVersion); final Expression supportCaseIdExpression = new ExpressionBuilder().createConstantLongExpression(206L); final String supportCaseIdInputName = "supportCaseId"; callActivityBuilder.addProcessStartContractInput(supportCaseIdInputName, supportCaseIdExpression); callActivityBuilder.addDataInputOperation(dataInputOperation); callActivityBuilder.addDataOutputOperation(dataOutputOperation); builder.addEndEvent("end1"); builder.addTransition("start1", "callActivity"); builder.addTransition("callActivity", "end1"); final DesignProcessDefinition process = builder.getProcess(); final DesignProcessDefinition result = getDesignProcessDefinition(builder); checkProcessForCallActivity(process, result); final CallActivityDefinition callActivity = (CallActivityDefinition) result.getFlowElementContainer().getActivity("callActivity"); assertThat(callActivity.getProcessStartContractInputs().get(supportCaseIdInputName).isEquivalent(supportCaseIdExpression)).isTrue(); }
private void validateActivities(final FlowElementContainerDefinition processContainer) { for (final ActivityDefinition activity : processContainer.getActivities()) { if (activity instanceof UserTaskDefinition) { validateUserTask((UserTaskDefinition) activity); } if (activity instanceof CallActivityDefinition && ((CallActivityDefinition) activity).getCallableElement() == null) { addError("The call activity " + activity.getName() + " has a null callable element"); } if (activity instanceof SendTaskDefinition && ((SendTaskDefinition) activity).getMessageTrigger().getTargetProcess() == null) { addError("The send task " + activity.getName() + " hasn't target"); } } }
private void validateActivities(final FlowElementContainerDefinition processContainer) { for (final ActivityDefinition activity : processContainer.getActivities()) { if (activity instanceof UserTaskDefinition) { validateUserTask((UserTaskDefinition) activity); } if (activity instanceof CallActivityDefinition && ((CallActivityDefinition) activity).getCallableElement() == null) { addError("The call activity " + activity.getName() + " has a null callable element"); } if (activity instanceof SendTaskDefinition && ((SendTaskDefinition) activity).getMessageTrigger().getTargetProcess() == null) { addError("The send task " + activity.getName() + " hasn't target"); } } }
public SCallActivityDefinitionImpl(final CallActivityDefinition activityDefinition, final Map<String, STransitionDefinition> transitionsMap) { super(activityDefinition, transitionsMap); callableElement = ServerModelConvertor.convertExpression(activityDefinition.getCallableElement()); callableElementVersion = ServerModelConvertor.convertExpression(activityDefinition.getCallableElementVersion()); dataInputOperations = ServerModelConvertor.convertOperations(activityDefinition.getDataInputOperations()); contractInputs = ServerModelConvertor.convertContractInputs(activityDefinition.getProcessStartContractInputs()); dataOutputOperations = ServerModelConvertor.convertOperations(activityDefinition.getDataOutputOperations()); callableElementType = SCallableElementType.valueOf(activityDefinition.getCallableElementType().name()); }
@Override public void find(CallActivityDefinition callActivityDefinition, long expressionDefinitionId) { findExpressionFromNotNullContainer(callActivityDefinition.getCallableElement(), expressionDefinitionId); findExpressionFromNotNullContainer(callActivityDefinition.getCallableElementVersion(), expressionDefinitionId); for (Expression expression : callActivityDefinition.getProcessStartContractInputs().values()) { findExpressionFromNotNullContainer(expression, expressionDefinitionId); } getExpressionFromOperationList(callActivityDefinition.getDataInputOperations(), expressionDefinitionId); getExpressionFromOperationList(callActivityDefinition.getDataOutputOperations(), expressionDefinitionId); }
@Override public void find(CallActivityDefinition callActivityDefinition, long expressionDefinitionId) { findExpressionFromNotNullContainer(callActivityDefinition.getCallableElement(), expressionDefinitionId); findExpressionFromNotNullContainer(callActivityDefinition.getCallableElementVersion(), expressionDefinitionId); for (Expression expression : callActivityDefinition.getProcessStartContractInputs().values()) { findExpressionFromNotNullContainer(expression, expressionDefinitionId); } getExpressionFromOperationList(callActivityDefinition.getDataInputOperations(), expressionDefinitionId); getExpressionFromOperationList(callActivityDefinition.getDataOutputOperations(), expressionDefinitionId); }