workflow.getVariables().stream().map(variable -> variable.getId()).collect(Collectors.toSet());
public static String getIdText(Object object) { if (object instanceof Activity) { return ((Activity)object).getId(); } else if (object instanceof Transition) { return ((Transition)object).getId(); } else if (object instanceof Variable) { return ((Variable)object).getId(); } else if (object instanceof ExecutableWorkflow) { WorkflowId workflowId = ((ExecutableWorkflow)object).getId(); return workflowId!=null ? workflowId.getInternal() : null; } return null; }
public void parse(Variable variable, ScopeImpl parentImpl, WorkflowParser parser) { this.id = variable.getId(); this.variable = variable; if (id==null || "".equals(id)) { parser.addError("Variable has no id"); } else if (id.contains(".")) { parser.addError("Variable '%s' has a dot in the name", id); } else if (parser.variableIds.contains(id)) { parser.addError("Duplicate variable id '%s'", id); } else { parser.variableIds.add(id); } this.parent = parentImpl; DataTypeService dataTypeService = parser.getConfiguration(DataTypeService.class); DataType typeApi = variable.getType(); if (typeApi!=null) { this.type = dataTypeService.createDataType(typeApi); } else { parser.addWarning("Variable '%s' does not have a type", id); this.type = new AnyTypeImpl(); } this.defaultValue = variable.getDefaultValue(); }
@Override public void writeBpmn(BpmnWriter w) { w.startElementEffektif("multiInstance"); w.startElementEffektif("variable"); w.writeStringAttributeEffektif("id", variable.getId()); w.writeTypeAttribute(variable.getType()); w.endElement(); w.writeBindings("value", values); w.endElement(); }
@Override public void writeBpmn(BpmnWriter w) { w.startElementEffektif("multiInstance"); w.startElementEffektif("variable"); w.writeStringAttributeEffektif("id", variable.getId()); w.writeTypeAttribute(variable.getType()); w.endElement(); w.writeBindings("value", values); w.endElement(); }
if (subWorkflowVariables != null && inputBindingsApi != null) { for (Variable subWorkflowVariable : subWorkflowVariables) { String subWorkflowVariableId = subWorkflowVariable.getId(); Binding inputBindingApi = inputBindingsApi.get(subWorkflowVariableId); parser.pushContext("inputBindings[" + subWorkflowVariableId + "]", inputBindingApi, null, null);
assertEquals("v", workflow.getVariables().get(0).getId()); assertEquals("version", workflow.getVariables().get(0).getName()); assertEquals("Release version", workflow.getVariables().get(0).getDescription());
@Test public void testActivity() { Activity activity = new NoneTask() .id("verifyRequirements") .defaultTransitionId("continue") .multiInstance(new MultiInstance() .valuesExpression("reviewers") .variable("reviewer", TextType.INSTANCE)); activity = serializeActivity(activity); assertEquals("verifyRequirements", activity.getId()); assertEquals("continue", activity.getDefaultTransitionId()); assertNotNull(activity.getMultiInstance()); assertEquals("reviewer", activity.getMultiInstance().getVariable().getId()); assertEquals("reviewers", activity.getMultiInstance().getValues().get(0).getExpression()); }