use of org.eclipse.bpmn2.Event in project kie-wb-common by kiegroup.
the class IntermediateCatchEventConverterTest method setUp.
@Before
public void setUp() {
Event boundaryEvent = bpmn2.createBoundaryEvent();
boundaryEventPropertyWriter = spy(new BoundaryEventPropertyWriter((BoundaryEvent) spy(boundaryEvent), new FlatVariableScope(), new HashSet<>()));
// when(boundaryEventPropertyWriter.getFlowElement()).thenReturn(spy(FlowElement.class));
Event catchEvent = bpmn2.createIntermediateCatchEvent();
catchEventPropertyWriter = spy(new CatchEventPropertyWriter((CatchEvent) spy(catchEvent), new FlatVariableScope(), new HashSet<>()));
propertyWriterFactory = spy(PropertyWriterFactory.class);
when(propertyWriterFactory.of(any(BoundaryEvent.class))).thenReturn(boundaryEventPropertyWriter);
when(propertyWriterFactory.of(any(CatchEvent.class))).thenReturn(catchEventPropertyWriter);
generalSet = new BPMNGeneralSet(NAME, DOCUMENTATION);
assignmentsInfo = new AssignmentsInfo(ASSIGNMENTS_INFO);
dataIOSet = new DataIOSet(assignmentsInfo);
advancedData = new AdvancedData();
slaDueDate = mock(SLADueDate.class);
errorRef = mock(ErrorRef.class);
signalRef = mock(SignalRef.class);
linkRef = mock(LinkRef.class);
timerSettingsValue = mock(TimerSettingsValue.class);
timerSettings = new TimerSettings(timerSettingsValue);
messageRef = mock(MessageRef.class);
scriptTypeValue = mock(ScriptTypeValue.class);
conditionExpression = new ConditionExpression(scriptTypeValue);
escalationRef = mock(EscalationRef.class);
tested = spy(new IntermediateCatchEventConverter(propertyWriterFactory));
}
use of org.eclipse.bpmn2.Event in project kie-wb-common by kiegroup.
the class ProcessPropertyWriterTest method addChildElement.
@Test
public void addChildElement() {
Process process = p.getProcess();
BoundaryEventPropertyWriter boundaryEventPropertyWriter = new BoundaryEventPropertyWriter(bpmn2.createBoundaryEvent(), variableScope, new HashSet<>());
UserTaskPropertyWriter userTaskPropertyWriter = new UserTaskPropertyWriter(bpmn2.createUserTask(), variableScope, new HashSet<>());
SubProcessPropertyWriter subProcessPropertyWriter = new SubProcessPropertyWriter(bpmn2.createSubProcess(), variableScope, new HashSet<>());
final DataObjectReference dataObjectReference = bpmn2.createDataObjectReference();
DataObjectPropertyWriter dataObjectPropertyWriter = new DataObjectPropertyWriter(dataObjectReference, variableScope, new HashSet<>());
final DataObject dataObject = dataObjectPropertyWriter.getElement().getDataObjectRef();
dataObject.getItemSubjectRef();
ItemDefinition itemDefinition = mock(ItemDefinition.class);
dataObject.setItemSubjectRef(itemDefinition);
dataObject.getItemSubjectRef();
subProcessPropertyWriter.addChildElement(dataObjectPropertyWriter);
p.addChildElement(subProcessPropertyWriter);
p.addChildElement(boundaryEventPropertyWriter);
p.addChildElement(userTaskPropertyWriter);
// boundary event should always occur after other nodes (compat with old marshallers)
assertThat(process.getFlowElements().get(0)).isEqualTo(userTaskPropertyWriter.getFlowElement());
assertThat(process.getFlowElements().get(1)).isEqualTo(subProcessPropertyWriter.getFlowElement());
assertThat(process.getFlowElements().get(2)).isEqualTo(boundaryEventPropertyWriter.getFlowElement());
}
use of org.eclipse.bpmn2.Event in project kie-wb-common by kiegroup.
the class IntermediateCatchEventConverter method convert.
public Result<BpmnNode> convert(IntermediateCatchEvent event) {
CatchEventPropertyReader p = propertyReaderFactory.of(event);
List<EventDefinition> eventDefinitions = p.getEventDefinitions();
switch(eventDefinitions.size()) {
case 0:
throw new UnsupportedOperationException(NO_DEFINITION);
case 1:
return Match.of(EventDefinition.class, Result.class).when(TimerEventDefinition.class, e -> timerEvent(event, e)).when(SignalEventDefinition.class, e -> signalEvent(event)).when(LinkEventDefinition.class, e -> linkEvent(event)).when(MessageEventDefinition.class, e -> messageEvent(event, e)).when(ErrorEventDefinition.class, e -> errorEvent(event, e)).when(ConditionalEventDefinition.class, e -> conditionalEvent(event, e)).when(EscalationEventDefinition.class, e -> escalationEvent(event, e)).when(CompensateEventDefinition.class, e -> compensationEvent(event)).defaultValue(Result.ignored("Ignored IntermediateCatchEvent", getNotFoundMessage(event))).mode(getMode()).apply(eventDefinitions.get(0)).value();
default:
throw new UnsupportedOperationException(MULTIPLE_DEFINITIONS);
}
}
use of org.eclipse.bpmn2.Event in project kie-wb-common by kiegroup.
the class EndEventConverter method convert.
public Result<BpmnNode> convert(EndEvent event) {
ThrowEventPropertyReader p = propertyReaderFactory.of(event);
List<EventDefinition> eventDefinitions = p.getEventDefinitions();
switch(eventDefinitions.size()) {
case 0:
return Result.success(endNoneEvent(event));
case 1:
return Match.of(EventDefinition.class, BpmnNode.class).when(TerminateEventDefinition.class, e -> terminateEndEvent(event, e)).when(SignalEventDefinition.class, e -> signalEventDefinition(event, e)).when(MessageEventDefinition.class, e -> messageEventDefinition(event, e)).when(ErrorEventDefinition.class, e -> errorEventDefinition(event, e)).when(EscalationEventDefinition.class, e -> escalationEventDefinition(event, e)).when(CompensateEventDefinition.class, e -> compensationEventDefinition(event, e)).missing(CancelEventDefinition.class).mode(getMode()).apply(eventDefinitions.get(0));
default:
throw new UnsupportedOperationException("Multiple event definitions not supported for end event");
}
}
use of org.eclipse.bpmn2.Event in project kie-wb-common by kiegroup.
the class IntermediateThrowEventConverter method convert.
public Result<BpmnNode> convert(IntermediateThrowEvent event) {
ThrowEventPropertyReader p = propertyReaderFactory.of(event);
List<EventDefinition> eventDefinitions = p.getEventDefinitions();
switch(eventDefinitions.size()) {
case 0:
throw new UnsupportedOperationException(NO_DEFINITION);
case 1:
return Match.of(EventDefinition.class, BpmnNode.class).when(SignalEventDefinition.class, e -> signalEvent(event)).when(LinkEventDefinition.class, e -> linkEvent(event)).when(MessageEventDefinition.class, e -> messageEvent(event, e)).when(EscalationEventDefinition.class, e -> escalationEvent(event, e)).when(CompensateEventDefinition.class, e -> compensationEvent(event, e)).missing(ErrorEventDefinition.class).missing(ConditionalEventDefinition.class).mode(getMode()).apply(eventDefinitions.get(0));
default:
throw new UnsupportedOperationException(MULTIPLE_DEFINITIONS);
}
}
Aggregations