use of org.eclipse.bpmn2.DataInput in project kie-wb-common by kiegroup.
the class ActivityPropertyReaderTest method mockDataInput.
public static DataInput mockDataInput(String id, String name, FeatureMap.Entry... entries) {
ItemDefinition itemDefinition = mock(ItemDefinition.class);
when(itemDefinition.getStructureRef()).thenReturn("java.lang.Object");
DataInput dataInput = mock(DataInput.class);
when(dataInput.getItemSubjectRef()).thenReturn(itemDefinition);
when(dataInput.getId()).thenReturn(id);
when(dataInput.getName()).thenReturn(name);
List<FeatureMap.Entry> entriesList = new ArrayList<>();
if (entries != null) {
entriesList.addAll(Arrays.asList(entries));
}
FeatureMap featureMap = mock(FeatureMap.class);
when(featureMap.stream()).thenReturn(entriesList.stream());
when(dataInput.getAnyAttribute()).thenReturn(featureMap);
return dataInput;
}
use of org.eclipse.bpmn2.DataInput in project kie-wb-common by kiegroup.
the class AssignmentsInfosTest method JBPM_7447_shouldNotFilterOutDataOutputsWithEmptyType.
@Test
public void JBPM_7447_shouldNotFilterOutDataOutputsWithEmptyType() {
DataInput dataInput = bpmn2.createDataInput();
dataInput.setName("InputName");
dataInput.setId("InputID");
DataOutput dataOutput = bpmn2.createDataOutput();
dataOutput.setName("OutputName");
dataOutput.setId("OutputID");
ParsedAssignmentsInfo result = AssignmentsInfos.parsed(Collections.singletonList(dataInput), Collections.emptyList(), Collections.singletonList(dataOutput), Collections.emptyList(), false);
assertThat(result.getOutputs().getDeclarations()).isNotEmpty();
}
use of org.eclipse.bpmn2.DataInput in project kie-wb-common by kiegroup.
the class ActivityPropertyWriter method setAssignmentsInfo.
public void setAssignmentsInfo(AssignmentsInfo info) {
final ParsedAssignmentsInfo assignmentsInfo = ParsedAssignmentsInfo.of(info);
final List<InitializedInputVariable> inputs = assignmentsInfo.createInitializedInputVariables(getId(), variableScope, dataObjects);
if (!inputs.isEmpty()) {
final InputOutputSpecification ioSpec = getIoSpecification();
for (InitializedInputVariable input : inputs) {
if (isReservedIdentifier(input.getIdentifier())) {
continue;
}
DataInput dataInput = input.getDataInput();
getInputSet(ioSpec).getDataInputRefs().add(dataInput);
ioSpec.getDataInputs().add(dataInput);
this.addItemDefinition(input.getItemDefinition());
DataInputAssociation dataInputAssociation = input.getDataInputAssociation();
if (dataInputAssociation != null) {
activity.getDataInputAssociations().add(dataInputAssociation);
}
}
}
final List<InitializedOutputVariable> outputs = assignmentsInfo.createInitializedOutputVariables(getId(), variableScope, dataObjects);
if (!outputs.isEmpty()) {
final InputOutputSpecification ioSpec = getIoSpecification();
for (InitializedOutputVariable output : outputs) {
DataOutput dataOutput = output.getDataOutput();
getOutputSet(ioSpec).getDataOutputRefs().add(dataOutput);
ioSpec.getDataOutputs().add(dataOutput);
this.addItemDefinition(output.getItemDefinition());
DataOutputAssociation dataOutputAssociation = output.getDataOutputAssociation();
if (dataOutputAssociation != null) {
activity.getDataOutputAssociations().add(dataOutputAssociation);
}
}
}
}
use of org.eclipse.bpmn2.DataInput in project kie-wb-common by kiegroup.
the class ThrowEventPropertyWriter method setAssignmentsInfo.
@Override
public void setAssignmentsInfo(AssignmentsInfo info) {
ParsedAssignmentsInfo assignmentsInfo = ParsedAssignmentsInfo.of(info);
List<InitializedInputVariable> inputs = assignmentsInfo.createInitializedInputVariables(getId(), variableScope, dataObjects);
if (inputs.isEmpty()) {
return;
}
if (inputs.size() > 1) {
throw new IllegalArgumentException("Input Associations should be at most 1 in Throw Events");
}
InitializedInputVariable input = inputs.get(0);
if (isReservedIdentifier(input.getIdentifier())) {
return;
}
DataInput dataInput = input.getDataInput();
throwEvent.getDataInputs().add(dataInput);
getInputSet().getDataInputRefs().add(dataInput);
this.addItemDefinition(input.getItemDefinition());
DataInputAssociation dataInputAssociation = input.getDataInputAssociation();
if (dataInputAssociation != null) {
throwEvent.getDataInputAssociation().add(dataInputAssociation);
}
}
use of org.eclipse.bpmn2.DataInput in project kie-wb-common by kiegroup.
the class MultipleInstanceActivityPropertyWriter method setInput.
protected void setInput(String name, boolean addDataInputAssociation) {
if (isEmpty(name)) {
return;
}
String[] variable = name.split(":");
String variableName = getVariableName(variable);
String variableType = getVariableType(variable);
setUpLoopCharacteristics();
DataInput miDataInputElement = createDataInput(variableName, variableName);
ItemDefinition item = createItemDefinition(variableName, variableType);
addItemDefinition(item);
miDataInputElement.setItemSubjectRef(item);
miloop.setInputDataItem(miDataInputElement);
String id = Ids.dataInput(activity.getId(), variableName);
DataInput dataInputElement = createDataInput(id, variableName);
dataInputElement.setItemSubjectRef(item);
addSafe(ioSpec.getDataInputs(), dataInputElement);
addSafe(inputSet.getDataInputRefs(), dataInputElement);
if (addDataInputAssociation) {
DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
dia.getSourceRef().add(miDataInputElement);
dia.setTargetRef(dataInputElement);
addSafe(activity.getDataInputAssociations(), dia);
}
}
Aggregations