use of org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Executable in project kie-wb-common by kiegroup.
the class DefinitionsConverterTest method toDefinitions.
@Test
public void toDefinitions() {
final String LOCATION = "Location";
final String NAMESPACE = "Namespace";
ImportsValue importsValue = new ImportsValue();
importsValue.addImport(new WSDLImport(LOCATION, NAMESPACE));
BPMNDiagramImpl diag = new BPMNDiagramImpl();
diag.setDiagramSet(new DiagramSet(new Name(), new Documentation(), new Id(), new Package(), new ProcessType(), new Version(), new AdHoc(false), new ProcessInstanceDescription(), new Imports(importsValue), new Executable(true), new SLADueDate()));
GraphNodeStoreImpl nodeStore = new GraphNodeStoreImpl();
NodeImpl x = new NodeImpl("x");
x.setContent(new ViewImpl<>(diag, Bounds.create()));
nodeStore.add(x);
ConverterFactory f = new ConverterFactory(new DefinitionsBuildingContext(new GraphImpl("x", nodeStore)), new PropertyWriterFactory());
DefinitionsConverter definitionsConverter = new DefinitionsConverter(f, new PropertyWriterFactory());
Definitions definitions = definitionsConverter.toDefinitions();
assertImportsValue(LOCATION, NAMESPACE, definitions);
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Executable in project kie-wb-common by kiegroup.
the class RootProcessConverter method convertProcessNode.
private BpmnNode convertProcessNode(String id, Process process) {
Node<View<BPMNDiagramImpl>, Edge> diagramNode = factoryManager.newNode(id, BPMNDiagramImpl.class);
BPMNDiagramImpl definition = diagramNode.getContent().getDefinition();
ProcessPropertyReader e = propertyReaderFactory.of(process);
definition.setDiagramSet(new DiagramSet(new Name(process.getName()), new Documentation(e.getDocumentation()), new Id(process.getId()), new Package(e.getPackage()), new Version(e.getVersion()), new AdHoc(e.isAdHoc()), new ProcessInstanceDescription(e.getDescription()), new Executable(process.isIsExecutable())));
definition.setProcessData(new ProcessData(new ProcessVariables(e.getProcessVariables())));
diagramNode.getContent().setBounds(e.getBounds());
definition.setFontSet(e.getFontSet());
definition.setBackgroundSet(e.getBackgroundSet());
return BpmnNode.of(diagramNode);
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Executable in project kie-wb-common by kiegroup.
the class DefinitionsConverterTest method JBPM_7526_shouldSetExporter.
@Test
public void JBPM_7526_shouldSetExporter() {
GraphNodeStoreImpl nodeStore = new GraphNodeStoreImpl();
NodeImpl x = new NodeImpl("x");
BPMNDiagramImpl diag = new BPMNDiagramImpl();
diag.setDiagramSet(new DiagramSet(new Name("x"), new Documentation("doc"), new Id("x"), new Package("org.jbpm"), new ProcessType(), new Version("1.0"), new AdHoc(false), new ProcessInstanceDescription("descr"), new Imports(), new Executable(true), new SLADueDate("")));
x.setContent(new ViewImpl<>(diag, Bounds.create()));
nodeStore.add(x);
ConverterFactory f = new ConverterFactory(new DefinitionsBuildingContext(new GraphImpl("x", nodeStore)), new PropertyWriterFactory());
DefinitionsConverter definitionsConverter = new DefinitionsConverter(f, new PropertyWriterFactory());
Definitions definitions = definitionsConverter.toDefinitions();
assertThat(definitions.getExporter()).isNotBlank();
assertThat(definitions.getExporterVersion()).isNotBlank();
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Executable 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);
}
Aggregations