use of org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceExecutionMode in project kie-wb-common by kiegroup.
the class ClientBPMNDocumentationServiceTest method setUp.
@Before
@SuppressWarnings("all")
public void setUp() throws Exception {
// DiagramSet
processName = new Name(PROCESS_NAME);
processDocumentation = new Documentation(PROCESS_DOCUMENTATION);
packageProperty = new Package(PROCESS_PACKAGE);
type = new ProcessType();
version = new Version(PROCESS_VERSION);
adHoc = new AdHoc(PROCESS_IS_ADHOC);
processInstanceDescription = new ProcessInstanceDescription(PROCESS_DECRIPTION);
executable = new Executable(PROCESS_IS_EXECUTABLE);
processId = new Id(PROCESS_UUID);
globalVariables = new GlobalVariables(GLOBAL_VARIABLES);
metaDataAttributes = new MetaDataAttributes(METADATA);
slaDueDate = new SLADueDate(SLA_DUE_DATE);
ImportsValue importsValue = new ImportsValue();
importsValue.addImport(new DefaultImport(CLASS_NAME + "1"));
importsValue.addImport(new DefaultImport(CLASS_NAME + "2"));
importsValue.addImport(new DefaultImport(CLASS_NAME + "3"));
importsValue.addImport(new WSDLImport(LOCATION + "1", NAMESPACE + "1"));
importsValue.addImport(new WSDLImport(LOCATION + "2", NAMESPACE + "2"));
importsValue.addImport(new WSDLImport(LOCATION + "3", NAMESPACE + "3"));
importsValue.addImport(new WSDLImport(LOCATION + "4", NAMESPACE + "4"));
imports = new Imports(importsValue);
diagramSet = new DiagramSet(processName, processDocumentation, processId, packageProperty, type, version, adHoc, processInstanceDescription, imports, executable, slaDueDate);
// ProcessData
processVariables = new ProcessVariables(VARIABLES);
processData = new ProcessData(processVariables);
// AdvancedData
globalVariables = new GlobalVariables(GLOBAL_VARIABLES);
metaDataAttributes = new MetaDataAttributes(METADATA);
advancedData = new RootProcessAdvancedData(globalVariables, metaDataAttributes);
bpmnDiagram = new BPMNDiagramImpl(diagramSet, processData, new CaseManagementSet(), new BackgroundSet(), new FontSet(), new RectangleDimensionsSet(), advancedData);
userTask = new UserTask(new TaskGeneralSet(new Name(TASK_NAME), new Documentation(TASK_DOC)), new UserTaskExecutionSet(new TaskName(TASK_NAME), new Actors(), new Groupid(TASK_GROUPID), new AssignmentsInfo(), new NotificationsInfo(), new ReassignmentsInfo(), new IsAsync(true), new Skippable(), new TaskPriority(TASK_PRIORITY), new Subject(TASK_SUBJECT), new Description(TASK_DESCRIPTION), new CreatedBy(), new AdHocAutostart(true), new IsMultipleInstance(false), new MultipleInstanceExecutionMode(), new MultipleInstanceCollectionInput(), new MultipleInstanceDataInput(), new MultipleInstanceCollectionOutput(), new MultipleInstanceDataOutput(), new MultipleInstanceCompletionCondition(), new OnEntryAction(new ScriptTypeListValue().addValue(new ScriptTypeValue())), new OnExitAction(new ScriptTypeListValue().addValue(new ScriptTypeValue())), new Content(), new SLADueDate()), new BackgroundSet(), new FontSet(), new RectangleDimensionsSet(), new SimulationSet(), new TaskType(TaskTypes.USER), new AdvancedData());
embeddedSubprocess = new EmbeddedSubprocess(new BPMNGeneralSet(new Name(SUB_PROCESS_NAME), new Documentation(SUB_PROCESS_DOCUMENTATION)), new BackgroundSet(), new FontSet(), new RectangleDimensionsSet(), new SimulationSet(), new AdvancedData(), new EmbeddedSubprocessExecutionSet(new OnEntryAction(new ScriptTypeListValue().addValue(new ScriptTypeValue(LANGUAGE, SCRIPT))), new OnExitAction(new ScriptTypeListValue().addValue(new ScriptTypeValue(LANGUAGE, SCRIPT))), new IsAsync(false), new SLADueDate()), new ProcessData(SUB_PROCESS_VARIABLES));
nodes = Arrays.asList(createNode(bpmnDiagram), createNode(userTask), createNode(embeddedSubprocess));
when(diagram.getGraph()).thenReturn(graph);
when(graph.nodes()).thenReturn(nodes);
when(mustacheTemplateRenderer.render(eq(TEMPLATE), any(BPMNDocumentation.class))).thenReturn(RENDERED_DOC);
when(decorators.getDecorator(anyString())).thenReturn(Optional.empty());
// adapters mock
when(definitionManager.adapters()).thenReturn(adapters);
AdapterRegistry adapterRegistry = mock(AdapterRegistry.class);
when(adapterRegistry.getDefinitionAdapter(any())).thenReturn(definitionAdapter);
when(adapters.registry()).thenReturn(adapterRegistry);
when(adapters.forDefinition()).thenReturn(definitionAdapter);
when(adapters.forDefinitionSet()).thenReturn(definitionSetAdapter);
when(adapters.forProperty()).thenReturn(propertyAdapter);
when(definitionAdapter.getId(userTask)).thenReturn(userTaskId);
when(definitionAdapter.getId(embeddedSubprocess)).thenReturn(subprocessId);
when(definitionUtils.getName(bpmnDiagram)).thenReturn(PROCESS_NAME);
when(definitionUtils.getName(userTask)).thenReturn(TASK_NAME);
when(definitionUtils.getTitle(userTask.getClass().getName())).thenReturn(TASK_NAME);
when(definitionUtils.getName(embeddedSubprocess)).thenReturn(SUB_PROCESS_NAME);
when(definitionUtils.getTitle(embeddedSubprocess.getClass().getName())).thenReturn(SUB_PROCESS_NAME);
// mock icons
glyphProvider = (defId) -> glyphIcon;
when(categoryDefinitionProvider.glyphProvider()).thenReturn(glyphProvider);
when(glyphRenderer.render(eq(glyphIcon), anyDouble(), anyDouble())).thenReturn(iconElement);
when(iconElement.getElement()).thenReturn(iconHTMLElement);
when(iconHTMLElement.getInnerHTML()).thenReturn(ICON_HTML);
when(shapeFactory.getGlyph(anyString())).thenReturn(imageStripGlyph);
when(glyphRenderer.render(eq(imageStripGlyph), anyDouble(), anyDouble())).thenReturn(iconElement);
when(userTaskId.value()).thenReturn(UserTask.class.getName());
when(subprocessId.value()).thenReturn(EmbeddedSubprocess.class.getName());
// adapters mock for task
final TaskGeneralSet taskGeneral = userTask.getGeneral();
final UserTaskExecutionSet taskExecutionSet = userTask.getExecutionSet();
when(definitionAdapter.getCategory(eq(userTask))).thenReturn(BPMNCategories.ACTIVITIES);
when(definitionAdapter.getPropertyFields(eq(userTask))).thenReturn(new String[] { "taskGeneral.documentation", "taskGeneral.name", "taskExecutionSet.subject", "taskExecutionSet.groupId", "taskExecutionSet.priority", "taskExecutionSet.assignmentsInfo", "taskExecutionSet.description" });
when(definitionAdapter.getProperty(eq(userTask), eq("taskGeneral.documentation"))).thenReturn((Optional) Optional.of(taskGeneral.getDocumentation()));
when(definitionAdapter.getProperty(eq(userTask), eq("taskGeneral.name"))).thenReturn((Optional) Optional.of(taskGeneral.getName()));
when(definitionAdapter.getProperty(eq(userTask), eq("taskExecutionSet.subject"))).thenReturn((Optional) Optional.of(taskExecutionSet.getSubject()));
when(definitionAdapter.getProperty(eq(userTask), eq("taskExecutionSet.groupId"))).thenReturn((Optional) Optional.of(taskExecutionSet.getGroupid()));
when(definitionAdapter.getProperty(eq(userTask), eq("taskExecutionSet.priority"))).thenReturn((Optional) Optional.of(taskExecutionSet.getPriority()));
when(definitionAdapter.getProperty(eq(userTask), eq("taskExecutionSet.assignmentsInfo"))).thenReturn((Optional) Optional.of(taskExecutionSet.getAssignmentsinfo()));
when(definitionAdapter.getProperty(eq(userTask), eq("taskExecutionSet.description"))).thenReturn((Optional) Optional.of(taskExecutionSet.getDescription()));
mockProperty(taskGeneral.getDocumentation(), TASK_DOCUMENTATION, DOCUMENTATION_CAPTION);
mockProperty(taskGeneral, TASK_NAME, NAME_CAPTION);
mockProperty(taskExecutionSet.getSubject(), TASK_SUBJECT, SUBJECT_CAPTION);
mockProperty(taskExecutionSet.getGroupid(), TASK_GROUPID, GROUP_CAPTION);
mockProperty(taskExecutionSet.getPriority(), TASK_PRIORITY, PRIORITY_CAPTION);
mockProperty(taskExecutionSet.getDescription(), TASK_DESCRIPTION, DESCRIPTION_CAPTION);
mockProperty(taskExecutionSet.getAssignmentsinfo(), "", ASSIGNEMNTS_CAPTION);
when(decorators.getDecorator(taskExecutionSet.getAssignmentsinfo())).thenReturn(Optional.of(() -> ASSIGNEMNTS));
// adapters mock for subprocess
final BPMNGeneralSet subprocessGeneral = embeddedSubprocess.getGeneral();
final EmbeddedSubprocessExecutionSet subprocessExecutionSet = embeddedSubprocess.getExecutionSet();
when(definitionAdapter.getCategory(eq(embeddedSubprocess))).thenReturn(BPMNCategories.SUB_PROCESSES);
when(definitionAdapter.getPropertyFields(eq(embeddedSubprocess))).thenReturn(new String[] { "subprocessGeneral.documentation", "subprocessGeneral.name", "subprocessExecutionSet.onEntryAction", "subprocessExecutionSet.onExitAction", "subprocessExecutionSet.isAsync" });
when(definitionAdapter.getProperty(eq(embeddedSubprocess), eq("subprocessGeneral.documentation"))).thenReturn((Optional) Optional.of(subprocessGeneral.getDocumentation()));
when(definitionAdapter.getProperty(eq(embeddedSubprocess), eq("subprocessGeneral.name"))).thenReturn((Optional) Optional.of(subprocessGeneral.getName()));
when(definitionAdapter.getProperty(eq(embeddedSubprocess), eq("subprocessExecutionSet.onEntryAction"))).thenReturn((Optional) Optional.of(subprocessExecutionSet.getOnEntryAction()));
when(definitionAdapter.getProperty(eq(embeddedSubprocess), eq("subprocessExecutionSet.onExitAction"))).thenReturn((Optional) Optional.of(subprocessExecutionSet.getOnExitAction()));
when(definitionAdapter.getProperty(eq(embeddedSubprocess), eq("subprocessExecutionSet.isAsync"))).thenReturn((Optional) Optional.of(subprocessExecutionSet.getIsAsync()));
mockProperty(subprocessGeneral.getDocumentation(), SUB_PROCESS_DOCUMENTATION, DOCUMENTATION_CAPTION);
mockProperty(subprocessGeneral, SUB_PROCESS_NAME, NAME_CAPTION);
mockProperty(subprocessExecutionSet.getOnEntryAction(), ON_ENTRY_ACTION, ON_ENTRY_CAPTION);
mockProperty(subprocessExecutionSet.getOnExitAction(), ON_EXIT_ACTION, ON_EXIT_CAPTION);
mockProperty(subprocessExecutionSet.getIsAsync(), "false", ISASYNC_CAPTION);
tested = new ClientBPMNDocumentationService(mustacheTemplateRenderer, definitionManager, definitionUtils, shapeFactory, canvasFileExport, sessionManager, categoryDefinitionProvider, glyphRenderer, translationService, null, decorators);
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceExecutionMode in project kie-wb-common by kiegroup.
the class SubprocessViewHandlerTest method prepareReusableSubprocessTest.
private void prepareReusableSubprocessTest(boolean multipleInstance, boolean sequential) {
ReusableSubprocess subProcess = mock(ReusableSubprocess.class);
ReusableSubprocessTaskExecutionSet executionSet = mock(ReusableSubprocessTaskExecutionSet.class);
IsMultipleInstance isMultipleInstance = new IsMultipleInstance(multipleInstance);
MultipleInstanceExecutionMode executionMode = new MultipleInstanceExecutionMode(sequential);
when(executionSet.getIsMultipleInstance()).thenReturn(isMultipleInstance);
when(executionSet.getMultipleInstanceExecutionMode()).thenReturn(executionMode);
when(subProcess.getExecutionSet()).thenReturn(executionSet);
viewHandler.handle(subProcess, svgShapeView);
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceExecutionMode in project kie-wb-common by kiegroup.
the class SubprocessViewHandlerTest method prepareMISubProcessTest.
private void prepareMISubProcessTest(boolean multipleInstance, boolean sequential) {
MultipleInstanceSubprocess subProcess = mock(MultipleInstanceSubprocess.class);
MultipleInstanceSubprocessTaskExecutionSet executionSet = mock(MultipleInstanceSubprocessTaskExecutionSet.class);
IsMultipleInstance isMultipleInstance = new IsMultipleInstance(multipleInstance);
MultipleInstanceExecutionMode executionMode = new MultipleInstanceExecutionMode(sequential);
when(executionSet.getIsMultipleInstance()).thenReturn(isMultipleInstance);
when(executionSet.getMultipleInstanceExecutionMode()).thenReturn(executionMode);
when(subProcess.getExecutionSet()).thenReturn(executionSet);
viewHandler.handle(subProcess, svgShapeView);
}
Aggregations