use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method testConvertAdhocSubprocess.
@Test
public void testConvertAdhocSubprocess() {
AdHocSubprocess definition = new AdHocSubprocess();
String adHocOrdering = "Parallel";
boolean adHocAutostart = true;
String processVariables = "processVar1:Object,processVar2:Integer";
definition.getGeneral().getName().setValue(NAME);
definition.getGeneral().getDocumentation().setValue(DOCUMENTATION);
definition.getProcessData().getProcessVariables().setValue(processVariables);
definition.getExecutionSet().getAdHocOrdering().setValue(adHocOrdering);
definition.getExecutionSet().getAdHocAutostart().setValue(adHocAutostart);
definition.getExecutionSet().getAdHocActivationCondition().setValue(ACTIVATION_CONDITION);
definition.getExecutionSet().getAdHocCompletionCondition().setValue(COMPLETION_CONDITION);
definition.getExecutionSet().getOnEntryAction().getValue().addValue(ON_ENTRY_ACTION);
definition.getExecutionSet().getOnExitAction().getValue().addValue(ON_EXIT_ACTION);
setBaseSubprocessExecutionSetValues(definition.getExecutionSet());
double nodeX1 = 10;
double nodeY1 = 20;
double nodeX2 = 40;
double nodeY2 = 60;
View<BaseAdHocSubprocess> view = new ViewImpl<>(definition, Bounds.create(nodeX1, nodeY1, nodeX2, nodeY2));
Node<View<? extends BPMNViewDefinition>, Edge> node = new NodeImpl<>(ELEMENT_ID);
node.setContent(view);
double parentX1 = 30;
double parentY1 = 40;
double parentX2 = 60;
double parentY2 = 100;
Node<View<? extends BPMNViewDefinition>, ?> parent = new NodeImpl<>("parentId");
View<? extends BPMNViewDefinition> parentView = new ViewImpl<>(null, Bounds.create(parentX1, parentY1, parentX2, parentY2));
parent.setContent(parentView);
Edge<Child, Node> edge = new EdgeImpl("edgeId");
edge.setContent(mock(Child.class));
node.getInEdges().add(edge);
edge.setSourceNode(parent);
edge.setTargetNode(node);
Result<SubProcessPropertyWriter> result = tested.convertSubProcess(node);
assertTrue(result.isSuccess());
AdHocSubProcess adHocSubProcess = (AdHocSubProcess) result.value().getElement();
assertEquals(ELEMENT_ID, adHocSubProcess.getId());
assertEquals(NAME, adHocSubProcess.getName());
assertEquals(asCData(NAME), CustomElement.name.of(adHocSubProcess).get());
assertEquals(asCData(DOCUMENTATION), adHocSubProcess.getDocumentation().get(0).getText());
assertEquals(adHocOrdering, adHocSubProcess.getOrdering().getName());
assertEquals(adHocAutostart, CustomElement.autoStart.of(adHocSubProcess).get());
assertEquals(asCData(ACTIVATION_CONDITION), CustomElement.customActivationCondition.of(adHocSubProcess).get());
assertEquals(Scripts.LANGUAGE.valueOf(COMPLETION_CONDITION.getLanguage().toUpperCase()).format(), ((FormalExpression) adHocSubProcess.getCompletionCondition()).getLanguage());
assertEquals(asCData(COMPLETION_CONDITION.getScript()), ((FormalExpression) adHocSubProcess.getCompletionCondition()).getBody());
assertEquals(ON_ENTRY_ACTION.getLanguage(), Scripts.onEntry(adHocSubProcess.getExtensionValues()).getValues().get(0).getLanguage());
assertEquals(asCData(ON_ENTRY_ACTION.getScript()), Scripts.onEntry(adHocSubProcess.getExtensionValues()).getValues().get(0).getScript());
assertEquals(ON_EXIT_ACTION.getLanguage(), Scripts.onExit(adHocSubProcess.getExtensionValues()).getValues().get(0).getLanguage());
assertEquals(asCData(ON_EXIT_ACTION.getScript()), Scripts.onExit(adHocSubProcess.getExtensionValues()).getValues().get(0).getScript());
assertVariables(Arrays.asList(new Pair<>("processVar1", "Object"), new Pair<>("processVar2", "Integer")), adHocSubProcess.getProperties());
BPMNShape shape = result.value().getShape();
assertEquals(parentX1 + nodeX1, shape.getBounds().getX(), 0);
assertEquals(parentY1 + nodeY1, shape.getBounds().getY(), 0);
assertEquals(nodeX2 - nodeX1, shape.getBounds().getWidth(), 0);
assertEquals(nodeY2 - nodeY1, shape.getBounds().getHeight(), 0);
assertBaseSubprocessExecutionSet(result.value());
}
use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.
the class BPMNElementDecoratorsTest method mockBpmnNode.
private BpmnNode mockBpmnNode() {
BpmnNode element = mock(BpmnNode.class);
Node node = mock(Node.class);
when(element.value()).thenReturn(node);
View content = mock(View.class);
when(node.getContent()).thenReturn(content);
BPMNViewDefinition viewDefinition = mock(BPMNViewDefinition.class);
when(content.getDefinition()).thenReturn(viewDefinition);
BPMNBaseInfo general = mock(BPMNBaseInfo.class);
when(viewDefinition.getGeneral()).thenReturn(general);
Name name = mock(Name.class);
when(general.getName()).thenReturn(name);
when(name.getValue()).thenReturn(NAME);
return element;
}
use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.
the class BPMNViewHandlersTest method testFontHandler.
@Test
@SuppressWarnings("unchecked")
public void testFontHandler() {
final FontHandler<BPMNViewDefinition, ShapeView> fontHandler = new BPMNShapeViewHandlers.FontHandlerBuilder<>().build();
final StartNoneEvent bean = new StartNoneEvent();
bean.getFontSet().getFontColor().setValue("fontColor");
bean.getFontSet().getFontFamily().setValue("fontFamily");
bean.getFontSet().getFontSize().setValue(12d);
bean.getFontSet().getFontBorderColor().setValue("borderColor");
bean.getFontSet().getFontBorderSize().setValue(8d);
fontHandler.handle(bean, view);
verify(view, times(1)).setTitleFontColor(eq("fontColor"));
verify(view, times(1)).setTitleFontFamily(eq("fontFamily"));
verify(view, times(1)).setTitleFontSize(eq(12d));
verify(view, times(1)).setTitleStrokeColor(eq("borderColor"));
verify(view, times(1)).setTitleStrokeWidth(eq(8d));
}
use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.
the class BPMNViewHandlersTest method testViewHandler.
@Test
@SuppressWarnings("unchecked")
public void testViewHandler() {
final ViewAttributesHandler<BPMNViewDefinition, ShapeView> fontHandler = new BPMNShapeViewHandlers.ViewAttributesHandlerBuilder<>().build();
final StartNoneEvent bean = new StartNoneEvent();
bean.getBackgroundSet().getBgColor().setValue("bgColor");
bean.getBackgroundSet().getBorderColor().setValue("borderColor");
bean.getBackgroundSet().getBorderSize().setValue(5d);
fontHandler.handle(bean, view);
verify(view, times(1)).setFillGradient(any(HasFillGradient.Type.class), eq("bgColor"), anyString());
verify(view, times(1)).setStrokeColor(eq("borderColor"));
verify(view, times(1)).setStrokeWidth(eq(5d));
}
use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.
the class BPMNShapeFactory method getFontHandler.
private <W extends BPMNViewDefinition, V extends ShapeView> FontHandler.Builder<W, V> getFontHandler() {
final String definitionSetId = definitionUtils.getDefinitionSetId(BPMNDefinitionSet.class);
final StunnerTextPreferences preferences = preferencesRegistries.get(definitionSetId, StunnerTextPreferences.class);
return new BPMNShapeViewHandlers.FontHandlerBuilder<W, V>().alpha(c -> preferences.getTextAlpha()).fontFamily(c -> preferences.getTextFontFamily()).fontSize(c -> preferences.getTextFontSize()).fontColor(c -> preferences.getTextFillColor()).strokeColor(c -> preferences.getTextStrokeColor()).strokeSize(c -> preferences.getTextStrokeWidth()).strokeAlpha(c -> getStrokeAlpha(preferences.getTextStrokeWidth()));
}
Aggregations