@Override public ActivityPropertyReader of(Activity el) { return new CaseManagementActivityPropertyReader(el, diagram, definitionResolver); } }
@Override protected Node<View<BaseCaseManagementReusableSubprocess>, Edge> createNode(CallActivity activity, ActivityPropertyReader p) { Class<? extends BaseCaseManagementReusableSubprocess> clazz = ((CaseManagementActivityPropertyReader) p).isCase() ? CaseReusableSubprocess.class : ProcessReusableSubprocess.class; return factoryManager.newNode(activity.getId(), clazz); }
@Test public void testIsCase_true() throws Exception { String id = UUID.randomUUID().toString(); CallActivity callActivity = bpmn2.createCallActivity(); callActivity.setId(id); CaseManagementCustomElement.isCase.of(callActivity).set(Boolean.TRUE); tested = new CaseManagementActivityPropertyReader(callActivity, definitionResolver.getDiagram(), definitionResolver); assertTrue(tested.isCase()); }
@Test public void testIsCase_false() throws Exception { String id = UUID.randomUUID().toString(); CallActivity callActivity = bpmn2.createCallActivity(); callActivity.setId(id); CaseManagementCustomElement.isCase.of(callActivity).set(Boolean.FALSE); tested = new CaseManagementActivityPropertyReader(callActivity, definitionResolver.getDiagram(), definitionResolver); assertFalse(tested.isCase()); } }
@Test public void testCreateNode_process() throws Exception { String id = UUID.randomUUID().toString(); CallActivity callActivity = bpmn2.createCallActivity(); callActivity.setId(id); CaseManagementCustomElement.isCase.of(callActivity).set(Boolean.FALSE); CaseManagementActivityPropertyReader propertyReader = new CaseManagementActivityPropertyReader(callActivity, definitionResolver.getDiagram(), definitionResolver); tested.createNode(callActivity, propertyReader); verify(factoryManager).newElement(eq(id), eq(ProcessReusableSubprocess.class)); }
@Override protected BaseCaseManagementReusableSubprocessTaskExecutionSet createReusableSubprocessTaskExecutionSet(CalledElement calledElement, Independent independent, WaitForCompletion waitForCompletion, IsAsync isAsync, OnEntryAction onEntryAction, OnExitAction onExitAction, ActivityPropertyReader p) { return ((CaseManagementActivityPropertyReader) p).isCase() ? new CaseReusableSubprocessTaskExecutionSet(calledElement, new IsCase(true), independent, waitForCompletion, isAsync, onEntryAction, onExitAction) : new ProcessReusableSubprocessTaskExecutionSet(calledElement, new IsCase(false), independent, waitForCompletion, isAsync, onEntryAction, onExitAction); } }
@Test public void testCreateNode_case() throws Exception { String id = UUID.randomUUID().toString(); CallActivity callActivity = bpmn2.createCallActivity(); callActivity.setId(id); CaseManagementCustomElement.isCase.of(callActivity).set(Boolean.TRUE); CaseManagementActivityPropertyReader propertyReader = new CaseManagementActivityPropertyReader(callActivity, definitionResolver.getDiagram(), definitionResolver); tested.createNode(callActivity, propertyReader); verify(factoryManager).newElement(eq(id), eq(CaseReusableSubprocess.class)); }
@Test public void testCreateReusableSubprocessTaskExecutionSet_case() throws Exception { String id = UUID.randomUUID().toString(); CallActivity callActivity = bpmn2.createCallActivity(); callActivity.setId(id); CaseManagementCustomElement.isCase.of(callActivity).set(Boolean.TRUE); CaseManagementActivityPropertyReader propertyReader = new CaseManagementActivityPropertyReader(callActivity, definitionResolver.getDiagram(), definitionResolver); BaseReusableSubprocessTaskExecutionSet result = tested.createReusableSubprocessTaskExecutionSet(null, null, null, null, null, null, propertyReader); assertTrue(result instanceof CaseReusableSubprocessTaskExecutionSet); assertTrue(((CaseReusableSubprocessTaskExecutionSet) result).getIsCase().getValue()); }
@Test public void testCreateReusableSubprocessTaskExecutionSet_process() throws Exception { String id = UUID.randomUUID().toString(); CallActivity callActivity = bpmn2.createCallActivity(); callActivity.setId(id); CaseManagementCustomElement.isCase.of(callActivity).set(Boolean.FALSE); CaseManagementActivityPropertyReader propertyReader = new CaseManagementActivityPropertyReader(callActivity, definitionResolver.getDiagram(), definitionResolver); BaseReusableSubprocessTaskExecutionSet result = tested.createReusableSubprocessTaskExecutionSet(null, null, null, null, null, null, propertyReader); assertTrue(result instanceof ProcessReusableSubprocessTaskExecutionSet); assertFalse(((ProcessReusableSubprocessTaskExecutionSet) result).getIsCase().getValue()); } }