private void validateVariables(List<ProcessValidationError> errors, RuleFlowProcess process) { List<Variable> variables = process.getVariableScope().getVariables(); if (variables != null) { for (Variable var : variables) { DataType varDataType = var.getType(); if (varDataType == null) { errors.add(new ProcessValidationErrorImpl(process, "Variable '" + var.getName() + "' has no type.")); } } } }
public RuleFlowProcessFactory variable(String name, DataType type, Object value, String metaDataName, Object metaDataValue) { Variable variable = new Variable(); variable.setName(name); variable.setType(type); variable.setValue(value); if (metaDataName != null && metaDataValue != null) { variable.setMetaData(metaDataName, metaDataValue); } getRuleFlowProcess().getVariableScope().getVariables().add(variable); return this; }
@Test public void testLoadOrderITHardwareCase() throws Exception { KieBase kbase = createKnowledgeBase("CMMN-OrderITHardwareCase.cmmn"); assertThat(kbase).isNotNull(); Process process = kbase.getProcess("itorders.orderhardware"); assertThat(process).isNotNull(); assertThat(process).isInstanceOf(RuleFlowProcess.class); RuleFlowProcess caseProcess = (RuleFlowProcess) process; assertThat(caseProcess.isDynamic()).isTrue(); assertThat(caseProcess.getId()).isEqualTo("itorders.orderhardware"); assertThat(caseProcess.getName()).isEqualTo("Order IT hardware"); Node[] nodes = caseProcess.getNodes(); assertThat(nodes).hasSize(9); List<Variable> variables = caseProcess.getVariableScope().getVariables(); assertThat(variables).hasSize(7); }
assertThat(caseProcess.getName()).isEqualTo("First case"); List<Variable> variables = caseProcess.getVariableScope().getVariables(); assertThat(variables).hasSize(1);
assertThat(caseProcess.getName()).isEqualTo("First case"); List<Variable> variables = caseProcess.getVariableScope().getVariables(); assertThat(variables).hasSize(2);
assertThat(caseProcess.getName()).isEqualTo("First case"); List<Variable> variables = caseProcess.getVariableScope().getVariables(); assertThat(variables).hasSize(1);
public static RuleFlowProcess newProcessWithOneVariableAndOneWork(String processId, String variableName, String workName) { RuleFlowProcess process = new RuleFlowProcess(); process.setId(processId); List<Variable> variables = new ArrayList<Variable>(); Variable variable = new Variable(); variable.setName(variableName); ObjectDataType extendingSerializableDataType = new ObjectDataType(); extendingSerializableDataType.setClassName(Person.class.getName()); variable.setType(extendingSerializableDataType); variables.add(variable); process.getVariableScope().setVariables(variables); StartNode startNode = new StartNode(); startNode.setName( "Start" ); startNode.setId(1); WorkItemNode workItemNode = new WorkItemNode(); workItemNode.setName( "workItemNode" ); workItemNode.setId( 2 ); Work work = new WorkImpl(); work.setName( workName ); workItemNode.setWork( work ); EndNode endNode = new EndNode(); endNode.setName("EndNode"); endNode.setId(4); connect( startNode, workItemNode ); connect( workItemNode, endNode ); process.addNode( startNode ); process.addNode( workItemNode ); process.addNode( endNode ); return process; }
variable.setType( new IntegerDataType() ); variables.add( variable ); process.getVariableScope().setVariables( variables );
variable.setType(listDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType( new IntegerDataType() ); variables.add( variable ); process.getVariableScope().setVariables( variables );
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(extendingSerializableDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);
variable.setType(personDataType); variables.add(variable); process.getVariableScope().setVariables(variables);