use of org.kie.workbench.common.dmn.api.property.dmn.DecisionServiceDividerLineY in project kie-wb-common by kiegroup.
the class DecisionServiceConverter method nodeFromDMN.
@Override
public Node<View<DecisionService>, ?> nodeFromDMN(final org.kie.dmn.model.api.DecisionService dmn, final BiConsumer<String, HasComponentWidths> hasComponentWidthsConsumer) {
@SuppressWarnings("unchecked") final Node<View<DecisionService>, ?> node = (Node<View<DecisionService>, ?>) factoryManager.newElement(dmn.getId(), getDefinitionId(DecisionService.class)).asNode();
final Id id = new Id(dmn.getId());
final Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
final Name name = new Name(dmn.getName());
final InformationItemPrimary informationItem = InformationItemPrimaryPropertyConverter.wbFromDMN(dmn.getVariable(), dmn);
final List<DMNElementReference> outputDecision = dmn.getOutputDecision().stream().map(DMNElementReferenceConverter::wbFromDMN).collect(Collectors.toList());
final List<DMNElementReference> encapsulatedDecision = dmn.getEncapsulatedDecision().stream().map(DMNElementReferenceConverter::wbFromDMN).collect(Collectors.toList());
final List<DMNElementReference> inputDecision = dmn.getInputDecision().stream().map(DMNElementReferenceConverter::wbFromDMN).collect(Collectors.toList());
final List<DMNElementReference> inputData = dmn.getInputData().stream().map(DMNElementReferenceConverter::wbFromDMN).collect(Collectors.toList());
final DecisionService decisionService = new DecisionService(id, description, name, informationItem, outputDecision, encapsulatedDecision, inputDecision, inputData, new StylingSet(), new DecisionServiceRectangleDimensionsSet(), new DecisionServiceDividerLineY());
node.getContent().setDefinition(decisionService);
if (informationItem != null) {
informationItem.setParent(decisionService);
}
DMNExternalLinksToExtensionElements.loadExternalLinksFromExtensionElements(dmn, decisionService);
return node;
}
use of org.kie.workbench.common.dmn.api.property.dmn.DecisionServiceDividerLineY in project kie-wb-common by kiegroup.
the class DecisionServiceMoveDividerControlTest method testRegisterDecisionServiceElementDragEnd.
@Test
@SuppressWarnings("unchecked")
public void testRegisterDecisionServiceElementDragEnd() {
final DefinitionManager definitionManager = mock(DefinitionManager.class);
final AdapterManager adapterManager = mock(AdapterManager.class);
final AdapterRegistry adapterRegistry = mock(AdapterRegistry.class);
final PropertyAdapter<Object, Object> propertyAdapter = mock(PropertyAdapter.class);
final DefinitionAdapter<Object> definitionAdapter = mock(DefinitionAdapter.class);
final DecisionServiceDividerLineY dividerLineY = new DecisionServiceDividerLineY();
final Optional dividerYProperty = Optional.of(dividerLineY);
final UpdateElementPropertyCommand updateElementPropertyCommand = mock(UpdateElementPropertyCommand.class);
final DecisionService decisionService = mock(DecisionService.class);
final DecisionServiceSVGShapeView decisionServiceShapeView = mock(DecisionServiceSVGShapeView.class);
final DragEvent dragEvent = mock(DragEvent.class);
when(canvasHandler.getDefinitionManager()).thenReturn(definitionManager);
when(definitionManager.adapters()).thenReturn(adapterManager);
when(adapterManager.registry()).thenReturn(adapterRegistry);
when(adapterManager.forProperty()).thenReturn(propertyAdapter);
when(adapterRegistry.getDefinitionAdapter(Mockito.<Class>any())).thenReturn(definitionAdapter);
when(definitionAdapter.getProperty(decisionService, DIVIDER_Y_PROPERTY_ID)).thenReturn(dividerYProperty);
when(propertyAdapter.getId(dividerLineY)).thenReturn(DIVIDER_Y_PROPERTY_ID);
when(canvasCommandFactory.updatePropertyValue(eq(element), eq(DIVIDER_Y_PROPERTY_ID), Mockito.<Object>any())).thenReturn(updateElementPropertyCommand);
when(definition.getDefinition()).thenReturn(decisionService);
when(shape.getShapeView()).thenReturn(decisionServiceShapeView);
control.register(element);
verify(decisionServiceShapeView).addDividerDragHandler(dragHandlerCaptor.capture());
when(decisionServiceShapeView.getDividerLineY()).thenReturn(DIVIDER_Y);
final DragHandler dragHandler = dragHandlerCaptor.getValue();
dragHandler.end(dragEvent);
verify(canvasCommandFactory).updatePropertyValue(eq(element), eq(DIVIDER_Y_PROPERTY_ID), eq(DIVIDER_Y));
verify(commandManager).execute(eq(canvasHandler), eq(updateElementPropertyCommand));
}
use of org.kie.workbench.common.dmn.api.property.dmn.DecisionServiceDividerLineY in project kie-wb-common by kiegroup.
the class DecisionServiceTest method testDifferentStylingSet.
@Test
public void testDifferentStylingSet() {
final DecisionService modelOne = new DecisionService(new Id("123"), new Description(), new Name(), new InformationItemPrimary(new Id("346"), new Name(), new QName()), Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), new StylingSet(), new DecisionServiceRectangleDimensionsSet(), new DecisionServiceDividerLineY());
final DecisionService modelTwo = new DecisionService(new Id("123"), new Description(), new Name(), new InformationItemPrimary(new Id("346"), new Name(), new QName()), Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), new StylingSet(), new DecisionServiceRectangleDimensionsSet(), new DecisionServiceDividerLineY());
assertEquals(modelOne, modelTwo);
modelOne.getStylingSet().setFontSize(new FontSize(10.0));
modelTwo.getStylingSet().setFontSize(new FontSize(11.0));
assertNotEquals(modelOne, modelTwo);
}
use of org.kie.workbench.common.dmn.api.property.dmn.DecisionServiceDividerLineY in project kie-wb-common by kiegroup.
the class DMNMarshallerStandalone method ddExtAugmentStunner.
private void ddExtAugmentStunner(final Optional<org.kie.dmn.model.api.dmndi.DMNDiagram> dmnDDDiagram, Node currentNode) {
if (!dmnDDDiagram.isPresent()) {
return;
}
final Stream<DMNShape> drgShapeStream = dmnDDDiagram.get().getDMNDiagramElement().stream().filter(DMNShape.class::isInstance).map(DMNShape.class::cast);
final View content = (View) currentNode.getContent();
final Bound ulBound = upperLeftBound(content);
final Bound lrBound = lowerRightBound(content);
if (content.getDefinition() instanceof Decision) {
final Decision d = (Decision) content.getDefinition();
internalAugment(drgShapeStream, d.getId(), ulBound, d.getDimensionsSet(), lrBound, d.getStylingSet());
} else if (content.getDefinition() instanceof InputData) {
final InputData d = (InputData) content.getDefinition();
internalAugment(drgShapeStream, d.getId(), ulBound, d.getDimensionsSet(), lrBound, d.getStylingSet());
} else if (content.getDefinition() instanceof BusinessKnowledgeModel) {
final BusinessKnowledgeModel d = (BusinessKnowledgeModel) content.getDefinition();
internalAugment(drgShapeStream, d.getId(), ulBound, d.getDimensionsSet(), lrBound, d.getStylingSet());
} else if (content.getDefinition() instanceof KnowledgeSource) {
final KnowledgeSource d = (KnowledgeSource) content.getDefinition();
internalAugment(drgShapeStream, d.getId(), ulBound, d.getDimensionsSet(), lrBound, d.getStylingSet());
} else if (content.getDefinition() instanceof TextAnnotation) {
final TextAnnotation d = (TextAnnotation) content.getDefinition();
internalAugment(drgShapeStream, d.getId(), ulBound, d.getDimensionsSet(), lrBound, d.getStylingSet());
} else if (content.getDefinition() instanceof DecisionService) {
final DecisionService d = (DecisionService) content.getDefinition();
internalAugment(drgShapeStream, d.getId(), ulBound, d.getDimensionsSet(), lrBound, d.getStylingSet(), dividerLineY -> d.setDividerLineY(new DecisionServiceDividerLineY(dividerLineY - ulBound.getY())));
}
}
use of org.kie.workbench.common.dmn.api.property.dmn.DecisionServiceDividerLineY in project kie-wb-common by kiegroup.
the class DecisionServiceParametersListWidgetTest method testOutputDecision.
private void testOutputDecision(final double y, final double dividerLineValue, final boolean expected) {
final View<?> childView = mock(View.class);
final View<DecisionService> decisionServiceView = mock(View.class);
final Bounds bounds = mock(Bounds.class);
final Bound upperLeft = mock(Bound.class);
when(upperLeft.getY()).thenReturn(y);
when(bounds.getUpperLeft()).thenReturn(upperLeft);
when(childView.getBounds()).thenReturn(bounds);
final DecisionService definition = mock(DecisionService.class);
final DecisionServiceDividerLineY dividerLineY = mock(DecisionServiceDividerLineY.class);
when(dividerLineY.getValue()).thenReturn(dividerLineValue);
when(definition.getDividerLineY()).thenReturn(dividerLineY);
when(decisionServiceView.getDefinition()).thenReturn(definition);
final boolean actual = widget.isOutputDecision(childView, decisionServiceView);
assertEquals(expected, actual);
}
Aggregations