use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet in project kie-wb-common by kiegroup.
the class DataObjectTest method testNotEquals.
@Test
public void testNotEquals() {
DataObject dataObject1 = new DataObject();
DataObject dataObject2 = new DataObject();
dataObject1.setName(new Name("dataObject1"));
dataObject2.setName(new Name("dataObject2"));
// Test Name
assertNotEquals(dataObject1, dataObject2);
// Reset
dataObject2.setName(new Name("dataObject1"));
assertEquals(dataObject1, dataObject2);
// Test Type
DataObjectType dataObjectType = new DataObjectType();
dataObjectType.setValue(new DataObjectTypeValue("someType"));
dataObject2.setType(dataObjectType);
assertNotEquals(dataObject1, dataObject2);
// Reset
dataObject2.setType(new DataObjectType());
assertEquals(dataObject1, dataObject2);
// Test General Set
BPMNGeneralSet generalSet = new BPMNGeneralSet();
generalSet.setName(new Name("someName"));
dataObject2.setGeneral(generalSet);
assertNotEquals(dataObject1, dataObject2);
// Reset
dataObject2.setGeneral(new BPMNGeneralSet());
assertEquals(dataObject1, dataObject2);
// Test Background Set
BackgroundSet backgroundSet = new BackgroundSet();
backgroundSet.setBgColor(new BgColor("Black"));
dataObject2.setBackgroundSet(backgroundSet);
assertNotEquals(dataObject1, dataObject2);
// Reset
dataObject2.setBackgroundSet(new BackgroundSet());
assertEquals(dataObject1, dataObject2);
// Test Font Set
FontSet fontSet = new FontSet();
fontSet.setFontSize(new FontSize(11.0));
dataObject2.setFontSet(fontSet);
assertNotEquals(dataObject1, dataObject2);
// Reset
dataObject2.setFontSet(new FontSet());
assertEquals(dataObject1, dataObject2);
// Test Dimension Set
RectangleDimensionsSet rectangleDimensionsSet = new RectangleDimensionsSet(100.0, 100.0);
dataObject2.setDimensionsSet(rectangleDimensionsSet);
assertNotEquals(dataObject1, dataObject2);
// Reset
dataObject2.setDimensionsSet(new RectangleDimensionsSet());
assertEquals(dataObject1, dataObject2);
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet in project kie-wb-common by kiegroup.
the class ProcessPostConverter method adjustLane.
private static void adjustLane(BpmnNode lane, Padding padding) {
if (lane.hasChildren()) {
ViewPort viewPort = ViewPort.of(lane, false);
Bounds laneBounds = lane.value().getContent().getBounds();
Bound laneUl = laneBounds.getUpperLeft();
Bound laneLr = laneBounds.getLowerRight();
laneUl.setX(viewPort.getUpperLeftX() - padding.getLeft());
laneUl.setY(viewPort.getUpperLeftY() - padding.getTop());
laneLr.setX(viewPort.getLowerRightX() + padding.getRight());
laneLr.setY(viewPort.getLowerRightY() + padding.getBottom());
RectangleDimensionsSet laneRectangle = ((Lane) lane.value().getContent().getDefinition()).getDimensionsSet();
laneRectangle.setWidth(new Width(laneBounds.getWidth()));
laneRectangle.setHeight(new Height(laneBounds.getHeight()));
}
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet in project kie-wb-common by kiegroup.
the class ProcessPostConverter method resizeSubProcess.
private void resizeSubProcess(BpmnNode subProcess) {
if (subProcess.hasChildren()) {
ViewPort viewPort = ViewPort.of(subProcess, true);
double leftPadding = viewPort.getUpperLeftX();
double topPadding = viewPort.getUpperLeftY();
double width = viewPort.getLowerRightX() + leftPadding;
double height = viewPort.getLowerRightY() + topPadding;
Bounds subProcessBounds = subProcess.value().getContent().getBounds();
Bound subProcessUl = subProcessBounds.getUpperLeft();
Bound subProcessLr = subProcessBounds.getLowerRight();
Bounds subProcessOriginalBounds = Bounds.create(subProcessUl.getX(), subProcessUl.getY(), subProcessLr.getX(), subProcessLr.getY());
double originalWidth = subProcessBounds.getWidth();
double originalHeight = subProcessBounds.getHeight();
subProcessLr.setX(subProcessUl.getX() + width);
subProcessLr.setY(subProcessUl.getY() + height);
RectangleDimensionsSet subProcessRectangle = ((BaseSubprocess) subProcess.value().getContent().getDefinition()).getDimensionsSet();
subProcessRectangle.setWidth(new Width(width));
subProcessRectangle.setHeight(new Height(height));
context.setResized(subProcess, true);
double widthFactor = width / originalWidth;
double heightFactor = height / originalHeight;
// incoming connections has the target point relative to subProcess so they needs to be scaled.
inEdges(subProcess.getParent(), subProcess).forEach(edge -> scale(edge.getTargetConnection().getLocation(), widthFactor, heightFactor));
// outgoing connections has source point relative to the subProcess so they needs to be scaled.
outEdges(subProcess.getParent(), subProcess).forEach(edge -> scale(edge.getSourceConnection().getLocation(), widthFactor, heightFactor));
// boundary elements are relative to the target subProcess so they needs to be scaled.
dockedNodes(subProcess.getParent(), subProcess).forEach(node -> scaleBoundaryEventPosition(node, subProcessOriginalBounds, subProcessBounds, widthFactor, heightFactor));
}
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.dimensions.RectangleDimensionsSet 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