use of org.kie.workbench.common.stunner.bpmn.definition.BaseReusableSubprocess in project kie-wb-common by kiegroup.
the class ReusableSubprocessConverter method toFlowElement.
public PropertyWriter toFlowElement(Node<View<BaseReusableSubprocess>, ?> n) {
CallActivity activity = bpmn2.createCallActivity();
activity.setId(n.getUUID());
CallActivityPropertyWriter p = propertyWriterFactory.of(activity);
BaseReusableSubprocess definition = n.getContent().getDefinition();
BPMNGeneralSet general = definition.getGeneral();
p.setName(general.getName().getValue());
p.setDocumentation(general.getDocumentation().getValue());
BaseReusableSubprocessTaskExecutionSet executionSet = definition.getExecutionSet();
p.setOnEntryAction(executionSet.getOnEntryAction());
p.setOnExitAction(executionSet.getOnExitAction());
p.setCalledElement(replaceIllegalCharsAttribute(executionSet.getCalledElement().getValue()));
p.setAsync(executionSet.getIsAsync().getValue());
p.setIndependent(executionSet.getIndependent().getValue());
if (Boolean.FALSE.equals(executionSet.getIndependent().getValue())) {
p.setAbortParent(executionSet.getAbortParent().getValue());
}
p.setWaitForCompletion(executionSet.getWaitForCompletion().getValue());
p.setSlaDueDate(executionSet.getSlaDueDate());
p.setAssignmentsInfo(definition.getDataIOSet().getAssignmentsinfo());
if (Boolean.TRUE.equals(executionSet.getIsMultipleInstance().getValue())) {
p.setIsSequential(executionSet.getMultipleInstanceExecutionMode().isSequential());
p.setCollectionInput(executionSet.getMultipleInstanceCollectionInput().getValue());
p.setInput(executionSet.getMultipleInstanceDataInput().getValue());
p.setCollectionOutput(executionSet.getMultipleInstanceCollectionOutput().getValue());
p.setOutput(executionSet.getMultipleInstanceDataOutput().getValue());
p.setCompletionCondition(executionSet.getMultipleInstanceCompletionCondition().getValue());
}
p.setSimulationSet(definition.getSimulationSet());
p.setAbsoluteBounds(n);
p.setCase(executionSet.getIsCase().getValue());
p.setAdHocAutostart(executionSet.getAdHocAutostart().getValue());
p.setMetaData(definition.getAdvancedData().getMetaDataAttributes());
return p;
}
use of org.kie.workbench.common.stunner.bpmn.definition.BaseReusableSubprocess in project kie-wb-common by kiegroup.
the class ReusableSubprocessConverterTest method testToFlowElement_autostart.
@Test
public void testToFlowElement_autostart() {
final ReusableSubprocess definition = new ReusableSubprocess();
definition.getExecutionSet().setAdHocAutostart(new AdHocAutostart(true));
final View<BaseReusableSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<BaseReusableSubprocess>, ?> node = new NodeImpl<>(java.util.UUID.randomUUID().toString());
node.setContent(view);
final PropertyWriter propertyWriter = tested.toFlowElement(node);
assertTrue(CallActivityPropertyWriter.class.isInstance(propertyWriter));
assertTrue(CustomElement.autoStart.of(propertyWriter.getFlowElement()).get());
}
use of org.kie.workbench.common.stunner.bpmn.definition.BaseReusableSubprocess in project kie-wb-common by kiegroup.
the class ReusableSubprocessConverterTest method testToFlowElementForAbortParent.
private void testToFlowElementForAbortParent(boolean independent, boolean abortParent, boolean expectedAbortParent) {
final ReusableSubprocess definition = new ReusableSubprocess();
definition.getExecutionSet().setIndependent(new Independent(independent));
definition.getExecutionSet().setAbortParent(new AbortParent(abortParent));
final View<BaseReusableSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<BaseReusableSubprocess>, ?> node = new NodeImpl<>(java.util.UUID.randomUUID().toString());
node.setContent(view);
final PropertyWriter propertyWriter = tested.toFlowElement(node);
assertEquals(expectedAbortParent, CustomElement.abortParent.of(propertyWriter.getFlowElement()).get());
}
use of org.kie.workbench.common.stunner.bpmn.definition.BaseReusableSubprocess in project kie-wb-common by kiegroup.
the class ReusableSubprocessConverterTest method testToFlowElement_case.
@Test
public void testToFlowElement_case() {
final BaseReusableSubprocess definition = new ReusableSubprocess();
definition.getExecutionSet().setIsCase(new IsCase(true));
final View<BaseReusableSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<BaseReusableSubprocess>, ?> node = new NodeImpl<>(java.util.UUID.randomUUID().toString());
node.setContent(view);
final PropertyWriter propertyWriter = tested.toFlowElement(node);
assertTrue(CallActivityPropertyWriter.class.isInstance(propertyWriter));
assertTrue(CustomElement.isCase.of(propertyWriter.getFlowElement()).get());
}
use of org.kie.workbench.common.stunner.bpmn.definition.BaseReusableSubprocess in project kie-wb-common by kiegroup.
the class ReusableSubprocessConverterTest method testToFlowElement_notautostart.
@Test
public void testToFlowElement_notautostart() {
final ReusableSubprocess definition = new ReusableSubprocess();
definition.getExecutionSet().setAdHocAutostart(new AdHocAutostart(false));
final View<BaseReusableSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<BaseReusableSubprocess>, ?> node = new NodeImpl<>(java.util.UUID.randomUUID().toString());
node.setContent(view);
final PropertyWriter propertyWriter = tested.toFlowElement(node);
assertTrue(CallActivityPropertyWriter.class.isInstance(propertyWriter));
assertFalse(CustomElement.autoStart.of(propertyWriter.getFlowElement()).get());
}
Aggregations