for (DataInputAssociation datain : inputAssociations) { String lhsAssociation = ""; if (datain.getSourceRef() != null && datain.getSourceRef().size() > 0) { if (datain.getTransformation() != null && datain.getTransformation().getBody() != null) { lhsAssociation = datain.getTransformation().getBody(); } else { lhsAssociation = datain.getSourceRef().get(0).getId(); if (datain.getTargetRef() != null) { rhsAssociation = ((DataInput) datain.getTargetRef()).getName(); if (datain.getAssignment() != null && datain.getAssignment().size() > 0) { isAssignment = true; if (datain.getAssignment().get(0).getFrom() instanceof FormalExpression) { String associationValue = ((FormalExpression) datain.getAssignment().get(0).getFrom()).getBody(); if (associationValue == null) { associationValue = "";
public DataInputAssociation getDataInputAssociation() { DataInputAssociation dataInputAssociation = bpmn2.createDataInputAssociation(); dataInputAssociation .getSourceRef() .add(scope.lookup(sourceVariable).getTypedIdentifier()); dataInputAssociation .setTargetRef(getDataInput()); return dataInputAssociation; } }
private DataInputAssociation associationOf(Assignment assignment, DataInput dataInput) { DataInputAssociation dataInputAssociation = bpmn2.createDataInputAssociation(); dataInputAssociation.getAssignment() .add(assignment); dataInputAssociation .setTargetRef(dataInput); return dataInputAssociation; }
Optional<String> getStringValue(Task element) { for (DataInputAssociation din : element.getDataInputAssociations()) { DataInput targetRef = (DataInput) (din.getTargetRef()); if (targetRef.getName().equalsIgnoreCase(name) && !din.getAssignment().isEmpty()) { Assignment assignment = din.getAssignment().get(0); return Optional.of(evaluate(assignment).toString()); } } return Optional.empty(); }
public static InputAssignmentReader fromAssociation(DataInputAssociation in) { List<ItemAwareElement> sourceList = in.getSourceRef(); List<Assignment> assignmentList = in.getAssignment(); String targetName = ((DataInput) in.getTargetRef()).getName(); if (isReservedIdentifier(targetName)) { return null; } if (!sourceList.isEmpty()) { return new InputAssignmentReader(sourceList.get(0), targetName); } else if (!assignmentList.isEmpty()) { return new InputAssignmentReader(assignmentList.get(0), targetName); } else { throw new IllegalArgumentException("Cannot find SourceRef or Assignment for Target " + targetName); } }
for (DataInput di : dataInputs) { if (di.getId().equals(event.getId() + "_" + fromPart + (fromPart.endsWith("InputX") ? "" : "InputX"))) { dia.setTargetRef(di); toExpression.setBody(dia.getTargetRef().getId()); a.setFrom(fromExpression); a.setTo(toExpression); dia.getAssignment().add(a); event.getDataInputAssociation().add(dia); } else if (assignment.contains("->")) { dia.getSourceRef().add(ie); List<DataInput> dataInputs = event.getInputSet().getDataInputRefs(); for (DataInput di : dataInputs) { if (di.getId().equals(event.getId() + "_" + assignmentParts[1] + (assignmentParts[1].endsWith("InputX") ? "" : "InputX"))) { dia.setTargetRef(di); break;
public String getCollectionInput() { ItemAwareElement ieDataInput = getMultiInstanceLoopCharacteristics() .map(MultiInstanceLoopCharacteristics::getLoopDataInputRef) .orElse(null); return process.getDataInputAssociations().stream() .filter(dia -> dia.getTargetRef().getId().equals(ieDataInput.getId())) .map(dia -> getVariableName((Property) dia.getSourceRef().get(0))) .findFirst() .orElse(null); }
List<DataInputAssociation> inputAssociations = task.getDataInputAssociations(); for (DataInputAssociation da : inputAssociations) { if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) { foundGroupIdAssociation = true; ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("groupid"))); dia.setTargetRef(foundInput); Assignment a = Bpmn2Factory.eINSTANCE.createAssignment(); FormalExpression groupFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression(); a.setFrom(groupFromExpression); a.setTo(groupToExpression); dia.getAssignment().add(a); task.getDataInputAssociations().add(dia); List<DataInputAssociation> inputAssociations = task.getDataInputAssociations(); for (DataInputAssociation da : inputAssociations) { if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) { foundSkippableAssociation = true; ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(skippableStr); dia.setTargetRef(foundInput); Assignment a = Bpmn2Factory.eINSTANCE.createAssignment(); FormalExpression skippableFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression(); a.setFrom(skippableFromExpression); a.setTo(skippableToExpression); dia.getAssignment().add(a); task.getDataInputAssociations().add(dia);
private void readUserTask(UserTask userTask, Consumer<TaskFormModel> consumer) { userTask.getDataInputAssociations() .stream() .filter(inputAssociation -> inputAssociation.getTargetRef() != null && FormsMigrationConstants.TASK_FORM_VARIABLE.equals(((DataInput)inputAssociation.getTargetRef()).getName())) .findAny() .ifPresent(inputAssociation -> consumer.accept(new TaskFormModel("", readTaskFormName(inputAssociation), new ArrayList<>()))); }
private String readTaskFormName(DataInputAssociation inputAssociation) { Optional<FormalExpression> optional = inputAssociation.getAssignment() .stream() .filter(assignment -> assignment.getFrom() != null && assignment.getFrom() instanceof FormalExpression) .map(assignment -> (FormalExpression)assignment.getFrom()) .findAny(); if(optional.isPresent()) { return Parser.xmlParser().parseInput(optional.get().getBody(), "").toString(); } return ""; }
private ItemAwareElement getDataInputAssociationSourceRef(Activity activity, String id) { List<DataInputAssociation> dataInputAssociations = activity.getDataInputAssociations(); if (dataInputAssociations != null) { for (DataInputAssociation dataInputAssociation : dataInputAssociations) { List<ItemAwareElement> sourceRef = dataInputAssociation.getSourceRef(); if (sourceRef != null && !sourceRef.isEmpty()) { ItemAwareElement result = Arrays.stream(sourceRef.toArray(new ItemAwareElement[sourceRef.size()])) .filter(itemAwareElement -> id.equals(itemAwareElement.getId())) .findFirst() .orElse(null); if (result != null) { return result; } } } } return null; }
for (DataInput di : dataInputs) { if (di.getId().equals(callActivity.getId() + "_" + fromPart + "InputX")) { dia.setTargetRef(di); if (di.getName().equals("TaskName")) { foundTaskName = true; toExpression.setBody(dia.getTargetRef().getId()); a.setFrom(fromExpression); a.setTo(toExpression); dia.getAssignment().add(a); callActivity.getDataInputAssociations().add(dia); dia.getSourceRef().add(ie); List<DataInput> dataInputs = callActivity.getIoSpecification().getDataInputs(); for (DataInput di : dataInputs) { if (di.getId().equals(callActivity.getId() + "_" + assignmentParts[1] + "InputX")) { dia.setTargetRef(di); break;
public String findVar(List<DataInputAssociation> associations, String varName) { return associations.stream() .filter(a -> { DataInput in = (DataInput) a.getTargetRef(); return in.getName().equals(varName); }) .map(a -> { Property dataOutput = (Property) a.getSourceRef().get(0); return dataOutput.getName(); }) .findFirst() .get(); }
public String findAssignment(List<DataInputAssociation> associations, String varName) { return associations.stream() .filter(a -> { DataInput in = (DataInput) a.getTargetRef(); return in.getName().equals(varName); }) .map(a -> { Assignment assignment = a.getAssignment().get(0); FormalExpression expr = (FormalExpression) assignment.getFrom(); return expr.getBody(); }) .findFirst() .get(); } }
private void setStringValue(String value) { if (value == null || value.isEmpty()) { return; } DataInputAssociation input = input(value); DataInput targetRef = (DataInput) input.getTargetRef(); getIoSpecification(element).getDataInputs().add(targetRef); getIoSpecification(element).getInputSets().get(0).getDataInputRefs().add(targetRef); element.getDataInputAssociations().add(input); }
public DataInputAssociation getDataInputAssociation() { DataInputAssociation dataInputAssociation = bpmn2.createDataInputAssociation(); Assignment assignment = bpmn2.createAssignment(); String id = getDataInput().getId(); FormalExpression toExpr = bpmn2.createFormalExpression(); toExpr.setBody(id); assignment.setTo(toExpr); FormalExpression fromExpr = bpmn2.createFormalExpression(); // this should be handled **outside** the marshallers! String decodedExpression = decode(expression); String cdataExpression = asCData(decodedExpression); fromExpr.setBody(cdataExpression); assignment.setFrom(fromExpr); dataInputAssociation .getAssignment().add(assignment); dataInputAssociation .setTargetRef(getDataInput()); return dataInputAssociation; }
@Test public void urlDecodeConstants() throws UnsupportedEncodingException { String expected = "<<<#!!!#>>>"; String encoded = URLEncoder.encode(expected, "UTF-8"); VariableDeclaration variable = new VariableDeclaration("ID", "Object"); InputConstant c = new InputConstant("PARENT", variable, encoded); Assignment assignment = c.getDataInputAssociation().getAssignment().get(0); FormalExpression to = (FormalExpression) assignment.getTo(); assertEquals(Ids.dataInput("PARENT", "ID"), to.getBody()); FormalExpression from = (FormalExpression) assignment.getFrom(); assertEquals(asCData(expected), from.getBody()); } }
private ItemAwareElement getDataInputAssociationSourceRef(Activity activity, String id) { List<DataInputAssociation> dataInputAssociations = activity.getDataInputAssociations(); if (dataInputAssociations != null) { for (DataInputAssociation dataInputAssociation : dataInputAssociations) { List<ItemAwareElement> sourceRef = dataInputAssociation.getSourceRef(); if (sourceRef != null && !sourceRef.isEmpty()) { ItemAwareElement result = Arrays.stream(sourceRef.toArray(new ItemAwareElement[sourceRef.size()])) .filter(itemAwareElement -> id.equals(itemAwareElement.getId()) || id.equals(((Property) itemAwareElement).getName())) .findFirst() .orElse(null); if (result != null) { return result; } } } } return null; }
taskNameDataInputAssociation.setTargetRef(taskNameDataInput); Assignment taskNameAssignment = Bpmn2Factory.eINSTANCE.createAssignment(); FormalExpression fromExp = Bpmn2Factory.eINSTANCE.createFormalExpression(); toExp.setBody(task.getId() + "_TaskNameInputX"); taskNameAssignment.setTo(toExp); taskNameDataInputAssociation.getAssignment().add(taskNameAssignment); task.getDataInputAssociations().add(taskNameDataInputAssociation); for (DataInput di : dataInputs) { if (di.getId().equals(task.getId() + "_" + fromPart + (fromPart.endsWith("InputX") ? "" : "InputX"))) { dia.setTargetRef(di); if (di.getName().equals("TaskName")) { foundTaskName = true; dia.setTargetRef(assignmentTaskNameDataInput); InputSet inset = task.getIoSpecification().getInputSets().get(0); inset.getDataInputRefs().add(assignmentTaskNameDataInput); toExpression.setBody(dia.getTargetRef().getId()); a.setFrom(fromExpression); a.setTo(toExpression); dia.getAssignment().add(a); task.getDataInputAssociations().add(dia); dia.getSourceRef().add(ie); List<DataInput> dataInputs = task.getIoSpecification().getDataInputs(); for (DataInput di : dataInputs) { if (di.getId().equals(task.getId() + "_" + assignmentParts[1] + (assignmentParts[1].endsWith("InputX") ? "" : "InputX"))) {
List<DataInputAssociation> taskDataInputAssociations = task.getDataInputAssociations(); for (DataInputAssociation dia : taskDataInputAssociations) { if (dia.getTargetRef() != null && dia.getTargetRef().getId().equals(din.getId()) && dia.getAssignment() != null && !dia.getAssignment().isEmpty() && dia.getAssignment().get(0).getFrom() != null) { properties.put("taskname", ((FormalExpression) dia.getAssignment().get(0).getFrom()).getBody()); foundTaskName = true; List<DataInputAssociation> taskInputAssociations = task.getDataInputAssociations(); for (DataInputAssociation dia : taskInputAssociations) { if (dia.getTargetRef().equals(iedatainput)) { properties.put("multipleinstancecollectioninput", dia.getSourceRef().get(0).getId()); break; if (datain.getSourceRef() != null && datain.getSourceRef().size() > 0 && datain.getSourceRef().get(0).getId().equals(taskMultiLoop.getInputDataItem().getId())) { proceed = false; if (datain.getTargetRef().equals(taskMultiLoop.getLoopDataInputRef())) { proceed = false; if (datain.getSourceRef() != null && datain.getSourceRef().size() > 0) { if (datain.getTransformation() != null && datain.getTransformation().getBody() != null) { lhsAssociation = datain.getTransformation().getBody(); } else { lhsAssociation = datain.getSourceRef().get(0).getId(); if (datain.getTargetRef() != null) {