public ActivityDescriptor inputParameterString(String inputParameterKey, String inputParameterLabel) { inputDescriptor(inputParameterKey, inputParameterLabel, new TextType()); return this; }
@Override public void writeBpmn(BpmnWriter w) { super.writeBpmn(w); if (options != null) { for (ChoiceOption option : options) { option.writeBpmn(w); } } }
workflow.variable(new Variable().id("variable08").type(MoneyType.INSTANCE).defaultValue(defaultMoneyValue)); workflow.variable(new Variable().id("variable09").type(NumberType.INSTANCE).defaultValue(42.5)); workflow.variable(new Variable().id("variable10").type(new TextType().multiLine()).defaultValue("hello")); workflow.variable(new Variable().id("variable11").type(new DateType().date()).defaultValue(now)); workflow.variable(new Variable().id("variable12").type(new DateType().time()).defaultValue(now)); assertTrue(((TextType) workflow.getVariables().get(9).getType()).isMultiLine()); assertEquals("hello", workflow.getVariables().get(9).getDefaultValue());
public ActivityDescriptor outputDescriptorString(String outputParameterKey, String outputParameterLabel) { outputDescriptor(outputParameterKey, outputParameterLabel, new TextType()); return this; }
@Override public void writeBpmn(BpmnWriter w) { super.writeBpmn(w); if (options != null) { for (ChoiceOption option : options) { option.writeBpmn(w); } } }
public DataType getTypeByValue(Object value) { if (value==null) { return null; } Class<?> valueClass = value.getClass(); if (String.class.isAssignableFrom(valueClass)) { return new TextType(); } if (Number.class.isAssignableFrom(valueClass)) { return new NumberType(); } if (Collection.class.isAssignableFrom(valueClass)) { ListType listType = new ListType(); Iterator iterator = ((Collection)value).iterator(); if (iterator.hasNext()) { Object elementValue = iterator.next(); DataType elementType = getTypeByValue(elementValue); listType.elementType(elementType); } return listType; } else if (javaBeanTypes.containsKey(valueClass)) { return new JavaBeanType(valueClass); } throw new RuntimeException("No data type found for value "+value+" ("+valueClass.getName()+")"); }
@Test public void testVariableDefaultValue() { Variable var = new Variable() .id("v") .type(new TextType()) .defaultValue("This is a string!"); ExecutableWorkflow workflow = new ExecutableWorkflow().variable(var); deploy(workflow); WorkflowInstance workflowInstance = workflowEngine.start(new TriggerInstance() .workflowId(workflow.getId())); Object value = workflowInstance.getVariableValue("v"); assertEquals("The variable default value was ignored.", "This is a string!", value); }
@Test public void testDefaultValueIsOverwritten() { Variable var = new Variable() .id("v") .type(new TextType()) .defaultValue("This is a string!"); ExecutableWorkflow workflow = new ExecutableWorkflow().variable(var); deploy(workflow); WorkflowInstance workflowInstance = workflowEngine.start(new TriggerInstance() .workflowId(workflow.getId()) .data("v", "No, it's not!")); Object value = workflowInstance.getVariableValue("v"); assertEquals("The trigger data didn't overwrite the default value.", "No, it's not!", value); }