Search in sources :

Example 6 with Decision

use of org.kie.workbench.common.dmn.api.definition.model.Decision in project kie-wb-common by kiegroup.

the class ExpressionEditorTest method setUp.

@Before
@SuppressWarnings("unchecked")
public void setUp() throws Exception {
    this.decision = new Decision();
    this.expressionGridCache = new ExpressionGridCacheImpl();
    this.definitions = new Definitions();
    this.definitions.setName(new Name(DRG_NAME));
    testedEditor = spy(new ExpressionEditor(view, decisionNavigator, dmnGraphUtils, dmnDiagramsSession, drdNameChanger));
    testedEditor.bind(dmnSession);
    when(session.getCanvasControl(eq(ExpressionGridCache.class))).thenReturn(expressionGridCache);
    when(dmnGraphUtils.getModelDefinitions()).thenReturn(definitions);
    when(dmnDiagramsSession.getCurrentDMNDiagramElement()).thenReturn(Optional.of(dmnDiagramElement));
}
Also used : Definitions(org.kie.workbench.common.dmn.api.definition.model.Definitions) ExpressionGridCacheImpl(org.kie.workbench.common.dmn.client.widgets.grid.ExpressionGridCacheImpl) ExpressionGridCache(org.kie.workbench.common.dmn.client.widgets.grid.ExpressionGridCache) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) Name(org.kie.workbench.common.dmn.api.property.dmn.Name) HasName(org.kie.workbench.common.dmn.api.definition.HasName) Before(org.junit.Before)

Example 7 with Decision

use of org.kie.workbench.common.dmn.api.definition.model.Decision in project kie-wb-common by kiegroup.

the class DecisionTableEditorDefinitionEnricherTest method testModelEnrichmentWhenDecisionTypeRefIsStructureWithMultipleFields.

@Test
public void testModelEnrichmentWhenDecisionTypeRefIsStructureWithMultipleFields() {
    final DMNGraphUtils dmnGraphUtils = mock(DMNGraphUtils.class);
    final Definitions definitions = mock(Definitions.class);
    final HasExpression hasExpression = mock(HasExpression.class);
    final Decision decision = mock(Decision.class);
    final InformationItemPrimary informationItemPrimary = mock(InformationItemPrimary.class);
    final ItemDefinition tPerson = mockTPersonStructure();
    when(dmnGraphUtils.getModelDefinitions()).thenReturn(definitions);
    when(definitions.getItemDefinition()).thenReturn(Collections.singletonList(tPerson));
    when(hasExpression.asDMNModelInstrumentedBase()).thenReturn(decision);
    when(decision.getVariable()).thenReturn(informationItemPrimary);
    when(informationItemPrimary.getTypeRef()).thenReturn(new QName("", TYPE_PERSON));
    final DecisionTableEditorDefinitionEnricher enricher = new DecisionTableEditorDefinitionEnricher(null, dmnGraphUtils, itemDefinitionUtils);
    final Optional<DecisionTable> oModel = definition.getModelClass();
    final DecisionTable model = oModel.get();
    enricher.buildOutputClausesByDataType(hasExpression, model, new DecisionRule());
    final List<OutputClause> outputClauses = model.getOutput();
    assertThat(outputClauses.size()).isEqualTo(2);
    final OutputClause outputClause1 = outputClauses.get(0);
    final OutputClause outputClause2 = outputClauses.get(1);
    assertEquals("age", outputClause1.getName());
    assertEquals(NUMBER.asQName(), outputClause1.getTypeRef());
    assertEquals("name", outputClause2.getName());
    assertEquals(STRING.asQName(), outputClause2.getTypeRef());
}
Also used : InformationItemPrimary(org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary) HasExpression(org.kie.workbench.common.dmn.api.definition.HasExpression) DMNGraphUtils(org.kie.workbench.common.dmn.client.graph.DMNGraphUtils) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) Definitions(org.kie.workbench.common.dmn.api.definition.model.Definitions) ItemDefinition(org.kie.workbench.common.dmn.api.definition.model.ItemDefinition) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) DecisionRule(org.kie.workbench.common.dmn.api.definition.model.DecisionRule) OutputClause(org.kie.workbench.common.dmn.api.definition.model.OutputClause) DecisionTable(org.kie.workbench.common.dmn.api.definition.model.DecisionTable) Test(org.junit.Test)

Example 8 with Decision

use of org.kie.workbench.common.dmn.api.definition.model.Decision in project kie-wb-common by kiegroup.

the class DecisionTableEditorDefinitionEnricherTest method setup.

@Before
public void setup() {
    super.setup();
    this.diagram = new DMNDiagram();
    this.inputData1 = new InputData();
    this.inputData2 = new InputData();
    this.decision1 = new Decision();
}
Also used : DMNDiagram(org.kie.workbench.common.dmn.api.definition.model.DMNDiagram) InputData(org.kie.workbench.common.dmn.api.definition.model.InputData) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) Before(org.junit.Before)

Example 9 with Decision

use of org.kie.workbench.common.dmn.api.definition.model.Decision in project kie-wb-common by kiegroup.

the class DMNMarshallerStandaloneTest method connectTwoNodes.

@SuppressWarnings("unchecked")
private Diagram<Graph, Metadata> connectTwoNodes(final org.kie.workbench.common.stunner.core.graph.content.Bounds bounds, final String decisionNode1UUID, final String decisionNode2UUID, final String edgeUUID, final MagnetConnection edgeSourceConnection, final MagnetConnection edgeTargetConnection, final Consumer<MagnetConnection> sourceMagnetConsumer, final Consumer<MagnetConnection> targetMagnetConsumer) {
    final DiagramImpl diagram = createDiagram();
    final Graph<DefinitionSet, Node> graph = mock(Graph.class);
    final Node<View, Edge> diagramNode = mock(Node.class);
    final View diagramView = mock(View.class);
    final DMNDiagram dmnDiagram = new DMNDiagram();
    when(diagramNode.getContent()).thenReturn(diagramView);
    when(diagramView.getDefinition()).thenReturn(dmnDiagram);
    final Node<View, Edge> decisionNode1 = mock(Node.class);
    final View decisionView1 = mock(View.class);
    final Decision decision1 = new Decision();
    decision1.getId().setValue(decisionNode1UUID);
    when(decisionNode1.getContent()).thenReturn(decisionView1);
    when(decisionView1.getDefinition()).thenReturn(decision1);
    when(decisionView1.getBounds()).thenReturn(bounds);
    final Node<View, Edge> decisionNode2 = mock(Node.class);
    final View decisionView2 = mock(View.class);
    final Decision decision2 = new Decision();
    decision2.getId().setValue(decisionNode2UUID);
    when(decisionNode2.getContent()).thenReturn(decisionView2);
    when(decisionView2.getDefinition()).thenReturn(decision2);
    when(decisionView2.getBounds()).thenReturn(bounds);
    final Edge edge = mock(Edge.class);
    final ViewConnector edgeView = mock(ViewConnector.class);
    Optional edgeSourceConnectionOptional = Optional.empty();
    if (edgeSourceConnection != null) {
        edgeSourceConnectionOptional = Optional.of(edgeSourceConnection);
    }
    Optional edgeTargetConnectionOptional = Optional.empty();
    if (edgeTargetConnection != null) {
        edgeTargetConnectionOptional = Optional.of(edgeTargetConnection);
    }
    when(edge.getUUID()).thenReturn(edgeUUID);
    when(edge.getContent()).thenReturn(edgeView);
    when(edgeView.getSourceConnection()).thenReturn(edgeSourceConnectionOptional);
    when(edgeView.getTargetConnection()).thenReturn(edgeTargetConnectionOptional);
    when(edgeView.getControlPoints()).thenReturn(new ControlPoint[] {});
    when(decisionNode1.getOutEdges()).thenReturn(Collections.singletonList(edge));
    when(decisionNode2.getInEdges()).thenReturn(Collections.singletonList(edge));
    when(edge.getSourceNode()).thenReturn(decisionNode1);
    when(edge.getTargetNode()).thenReturn(decisionNode2);
    sourceMagnetConsumer.accept(edgeSourceConnection);
    targetMagnetConsumer.accept(edgeTargetConnection);
    doReturn(asList(diagramNode, decisionNode1, decisionNode2)).when(graph).nodes();
    diagram.setGraph(graph);
    return diagram;
}
Also used : DMNDiagram(org.kie.workbench.common.dmn.api.definition.model.DMNDiagram) ViewConnector(org.kie.workbench.common.stunner.core.graph.content.view.ViewConnector) Optional(java.util.Optional) DiagramImpl(org.kie.workbench.common.stunner.core.diagram.DiagramImpl) BusinessKnowledgeModelNode(org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode) Node(org.kie.workbench.common.stunner.core.graph.Node) DMNDefinitionSet(org.kie.workbench.common.dmn.api.DMNDefinitionSet) DefinitionSet(org.kie.workbench.common.stunner.core.graph.content.definition.DefinitionSet) View(org.kie.workbench.common.stunner.core.graph.content.view.View) Edge(org.kie.workbench.common.stunner.core.graph.Edge) DMNEdge(org.kie.dmn.model.api.dmndi.DMNEdge) TDecision(org.kie.dmn.model.v1_2.TDecision) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision)

Example 10 with Decision

use of org.kie.workbench.common.dmn.api.definition.model.Decision in project kie-wb-common by kiegroup.

the class DMNMarshallerStandaloneTest method test_wrong_context.

@Test
@SuppressWarnings("unchecked")
public void test_wrong_context() throws IOException {
    // DROOLS-2217
    final ErrorsAndDMNModelAsSerialized result = roundTripUnmarshalMarshalThenUnmarshalDMNexpectingErrors(this.getClass().getResourceAsStream("/wrong_context.dmn"));
    // although the DMN file is schema valid but is not a valid-DMN (a context-entry value is a literal expression missing text, which is null)
    // DROOLS-3152: once roundtripped through the Stunner marshaller it will receive an empty text. (empty expression, but a LiteralExpression with an empty text child xml element)
    // this will still naturally throw some error because unable to FEEL-parse/compile an empty expression.
    assertTrue(result.hasErrors());
    // identify the error message for context-entry "ciao":
    DMNMessage m0 = (DMNMessage) result.messages.get(0);
    assertTrue("expected a message identifying the problem on a context entry for 'ciao'", // DROOLS-3152 please notice FEEL reporting indeed an empty expression.
    m0.getMessage().startsWith("Error compiling FEEL expression '' for name "));
    org.kie.dmn.model.api.Decision d0 = (org.kie.dmn.model.api.Decision) result.definitions.getDrgElement().stream().filter(d -> d.getId().equals("_653b3426-933a-4050-9568-ab2a66b43c36")).findFirst().get();
    // the identified DMN Decision is composed of a DMN Context where the first context-entry value is a literal expression missing text (text is null).
    org.kie.dmn.model.api.Context d0c = (org.kie.dmn.model.api.Context) d0.getExpression();
    org.kie.dmn.model.api.Expression contextEntryValue = d0c.getContextEntry().get(0).getExpression();
    assertTrue(contextEntryValue instanceof org.kie.dmn.model.api.LiteralExpression);
    // DROOLS-3152
    assertEquals("", ((org.kie.dmn.model.api.LiteralExpression) contextEntryValue).getText());
    // -- Stunner side.
    DMNMarshallerStandalone m = getDMNMarshaller();
    Graph<?, ?> g = m.unmarshall(createMetadata(), this.getClass().getResourceAsStream("/wrong_context.dmn"));
    Node<?, ?> decisionNode = g.getNode("_653b3426-933a-4050-9568-ab2a66b43c36");
    assertNodeContentDefinitionIs(decisionNode, Decision.class);
    View<Decision> view = ((View<Decision>) decisionNode.getContent());
    // the identified DMN Decision is composed of a DMN Context where the first context-entry has missing Expression.
    Context expression = (Context) view.getDefinition().getExpression();
    // DROOLS-3116 empty Literal Expression is preserved
    assertNotNull(expression.getContextEntry().get(0).getExpression());
    assertEquals(LiteralExpression.class, expression.getContextEntry().get(0).getExpression().getClass());
    LiteralExpression le = (LiteralExpression) expression.getContextEntry().get(0).getExpression();
    // DROOLS-3152
    assertEquals("", le.getText().getValue());
}
Also used : Arrays(java.util.Arrays) DMNMessage(org.kie.dmn.api.core.DMNMessage) Edge(org.kie.workbench.common.stunner.core.graph.Edge) TInputData(org.kie.dmn.model.v1_2.TInputData) StringUtils(org.apache.commons.lang3.StringUtils) Collections.singletonList(java.util.Collections.singletonList) BigDecimal(java.math.BigDecimal) Bounds(org.kie.dmn.model.api.dmndi.Bounds) Arrays.asList(java.util.Arrays.asList) Map(java.util.Map) TItemDefinition(org.kie.dmn.model.v1_2.TItemDefinition) NamespaceContext(javax.xml.namespace.NamespaceContext) Namespace(org.kie.workbench.common.dmn.api.definition.model.DMNModelInstrumentedBase.Namespace) StringInputStream(org.apache.tools.ant.filters.StringInputStream) Mockito.doReturn(org.mockito.Mockito.doReturn) Diagram(org.kie.workbench.common.stunner.core.diagram.Diagram) HasComponentWidths(org.kie.workbench.common.dmn.api.definition.HasComponentWidths) Point2D(org.kie.workbench.common.stunner.core.graph.content.view.Point2D) BusinessKnowledgeModel(org.kie.workbench.common.dmn.api.definition.model.BusinessKnowledgeModel) Results(org.kie.api.builder.Results) Child(org.kie.workbench.common.stunner.core.graph.content.relationship.Child) ItemDefinition(org.kie.workbench.common.dmn.api.definition.model.ItemDefinition) FunctionKind(org.kie.dmn.model.api.FunctionKind) ArgumentMatchers.anyList(org.mockito.ArgumentMatchers.anyList) BusinessKnowledgeModelNode(org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode) DMNGraphFactoryImpl(org.kie.workbench.common.dmn.api.factory.DMNGraphFactoryImpl) Stream(java.util.stream.Stream) Assert.assertFalse(org.junit.Assert.assertFalse) DMNContext(org.kie.dmn.api.core.DMNContext) KieHelper(org.kie.dmn.core.util.KieHelper) QName(javax.xml.namespace.QName) DMNDiagramUtils(org.kie.workbench.common.dmn.api.graph.DMNDiagramUtils) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Mockito.mock(org.mockito.Mockito.mock) DMNDefinitionSet(org.kie.workbench.common.dmn.api.DMNDefinitionSet) XPath(javax.xml.xpath.XPath) DMNStyle(org.kie.dmn.model.api.dmndi.DMNStyle) Point(org.kie.dmn.model.api.dmndi.Point) Connection(org.kie.workbench.common.stunner.core.graph.content.view.Connection) Mock(org.mockito.Mock) RunWith(org.junit.runner.RunWith) Color(org.kie.dmn.model.api.dmndi.Color) Mockito.spy(org.mockito.Mockito.spy) Definitions(org.kie.dmn.model.api.Definitions) ArrayList(java.util.ArrayList) Id(org.kie.workbench.common.dmn.api.property.dmn.Id) Name(org.kie.workbench.common.dmn.api.property.dmn.Name) DMNMarshallerFactory(org.kie.dmn.backend.marshalling.v1x.DMNMarshallerFactory) BiConsumer(java.util.function.BiConsumer) Message(org.kie.api.builder.Message) StreamSupport(java.util.stream.StreamSupport) DMNRuntime(org.kie.dmn.api.core.DMNRuntime) MapIndexBuilder(org.kie.workbench.common.stunner.core.graph.processing.index.map.MapIndexBuilder) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Context(org.kie.workbench.common.dmn.api.definition.model.Context) FunctionDefinition(org.kie.workbench.common.dmn.api.definition.model.FunctionDefinition) CoreMatchers.nullValue(org.hamcrest.CoreMatchers.nullValue) Before(org.junit.Before) BindableAdapterUtils(org.kie.workbench.common.stunner.core.definition.adapter.binding.BindableAdapterUtils) Assert.assertTrue(org.junit.Assert.assertTrue) IOException(java.io.IOException) Test(org.junit.Test) InputData(org.kie.workbench.common.dmn.api.definition.model.InputData) UUID(org.uberfire.commons.uuid.UUID) InputStreamReader(java.io.InputStreamReader) InputDataConverter(org.kie.workbench.common.dmn.backend.definition.v1_1.InputDataConverter) Association(org.kie.workbench.common.dmn.api.definition.model.Association) TDecision(org.kie.dmn.model.v1_2.TDecision) DecisionService(org.kie.workbench.common.dmn.api.definition.model.DecisionService) Graph(org.kie.workbench.common.stunner.core.graph.Graph) Assert.assertNull(org.junit.Assert.assertNull) StringReader(java.io.StringReader) BufferedReader(java.io.BufferedReader) DRGElement(org.kie.dmn.model.api.DRGElement) Assert(org.junit.Assert) Expression(org.kie.workbench.common.dmn.api.definition.model.Expression) MagnetConnection(org.kie.workbench.common.stunner.core.graph.content.view.MagnetConnection) Assert.assertEquals(org.junit.Assert.assertEquals) CoreMatchers.is(org.hamcrest.CoreMatchers.is) TextAnnotation(org.kie.workbench.common.dmn.api.definition.model.TextAnnotation) DecisionTable(org.kie.dmn.model.api.DecisionTable) DecisionConverter(org.kie.workbench.common.dmn.backend.definition.v1_1.DecisionConverter) DefinitionUtils(org.kie.workbench.common.stunner.core.util.DefinitionUtils) XPathExpressionException(javax.xml.xpath.XPathExpressionException) DMNResult(org.kie.dmn.api.core.DMNResult) Spliterators(java.util.Spliterators) LiteralExpression(org.kie.workbench.common.dmn.api.definition.model.LiteralExpression) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) LoggerFactory(org.slf4j.LoggerFactory) Scanner(java.util.Scanner) DMNEdge(org.kie.dmn.model.api.dmndi.DMNEdge) ViewImpl(org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl) EdgeImpl(org.kie.workbench.common.stunner.core.graph.impl.EdgeImpl) TextAnnotationConverter(org.kie.workbench.common.dmn.backend.definition.v1_1.TextAnnotationConverter) DMNElement(org.kie.workbench.common.dmn.api.definition.model.DMNElement) DMNModel(org.kie.dmn.api.core.DMNModel) DecisionEvaluationStatus(org.kie.dmn.api.core.DMNDecisionResult.DecisionEvaluationStatus) InformationRequirement(org.kie.workbench.common.dmn.api.definition.model.InformationRequirement) DMNMarshallerProducer(org.kie.workbench.common.dmn.backend.producers.DMNMarshallerProducer) TTextAnnotation(org.kie.dmn.model.v1_2.TTextAnnotation) ContextEntry(org.kie.workbench.common.dmn.api.definition.model.ContextEntry) Collections.emptyList(java.util.Collections.emptyList) Collection(java.util.Collection) Import(org.kie.dmn.model.api.Import) DMNDiagram(org.kie.workbench.common.dmn.api.definition.model.DMNDiagram) Collectors(java.util.stream.Collectors) DMNRuntimeUtil(org.kie.dmn.core.util.DMNRuntimeUtil) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) DiagramElement(org.kie.dmn.model.api.dmndi.DiagramElement) List(java.util.List) DMNShape(org.kie.dmn.model.api.dmndi.DMNShape) InformationItem(org.kie.workbench.common.dmn.api.definition.model.InformationItem) DMNImportTypes(org.kie.workbench.common.dmn.api.editors.included.DMNImportTypes) BuiltInType(org.kie.workbench.common.dmn.api.property.dmn.types.BuiltInType) Optional(java.util.Optional) MappingContextSingleton(org.jboss.errai.marshalling.server.MappingContextSingleton) Spliterator(java.util.Spliterator) Node(org.kie.workbench.common.stunner.core.graph.Node) DMNDecisionResult(org.kie.dmn.api.core.DMNDecisionResult) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) PMMLDocumentMetadata(org.kie.workbench.common.dmn.api.editors.included.PMMLDocumentMetadata) ControlPoint(org.kie.workbench.common.stunner.core.graph.content.view.ControlPoint) HashMap(java.util.HashMap) OptionalInt(java.util.OptionalInt) View(org.kie.workbench.common.stunner.core.graph.content.view.View) Level(org.kie.api.builder.Message.Level) ImportPMML(org.kie.workbench.common.dmn.api.definition.model.ImportPMML) Bound(org.kie.workbench.common.stunner.core.graph.content.Bound) ReaderInputStream(org.apache.tools.ant.util.ReaderInputStream) KieServices(org.kie.api.KieServices) DiagramImpl(org.kie.workbench.common.stunner.core.diagram.DiagramImpl) KnowledgeRequirement(org.kie.workbench.common.dmn.api.definition.model.KnowledgeRequirement) Assume(org.junit.Assume) InputSource(org.xml.sax.InputSource) Logger(org.slf4j.Logger) Iterator(java.util.Iterator) XMLEncoderDiagramMetadataMarshaller(org.kie.workbench.common.stunner.core.backend.service.XMLEncoderDiagramMetadataMarshaller) Assert.assertNotNull(org.junit.Assert.assertNotNull) KieContainer(org.kie.api.runtime.KieContainer) DMNMarshallerImportsHelperStandalone(org.kie.workbench.common.dmn.backend.common.DMNMarshallerImportsHelperStandalone) StunnerTestingGraphBackendAPI(org.kie.workbench.common.stunner.core.backend.StunnerTestingGraphBackendAPI) DMNMarshallerStandalone.getDmnElementRef(org.kie.workbench.common.dmn.backend.DMNMarshallerStandalone.getDmnElementRef) Mockito.when(org.mockito.Mockito.when) DefinitionSet(org.kie.workbench.common.stunner.core.graph.content.definition.DefinitionSet) ViewConnector(org.kie.workbench.common.stunner.core.graph.content.view.ViewConnector) AuthorityRequirement(org.kie.workbench.common.dmn.api.definition.model.AuthorityRequirement) Mockito.verify(org.mockito.Mockito.verify) Consumer(java.util.function.Consumer) DMNModelInstrumentedBase(org.kie.workbench.common.dmn.api.definition.model.DMNModelInstrumentedBase) XPathFactory(javax.xml.xpath.XPathFactory) AbstractMap(java.util.AbstractMap) ImportDMN(org.kie.workbench.common.dmn.api.definition.model.ImportDMN) KnowledgeSource(org.kie.workbench.common.dmn.api.definition.model.KnowledgeSource) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) Collections(java.util.Collections) InputStream(java.io.InputStream) NamespaceContext(javax.xml.namespace.NamespaceContext) DMNContext(org.kie.dmn.api.core.DMNContext) Context(org.kie.workbench.common.dmn.api.definition.model.Context) LiteralExpression(org.kie.workbench.common.dmn.api.definition.model.LiteralExpression) TDecision(org.kie.dmn.model.v1_2.TDecision) Decision(org.kie.workbench.common.dmn.api.definition.model.Decision) DMNMessage(org.kie.dmn.api.core.DMNMessage) Test(org.junit.Test)

Aggregations

Decision (org.kie.workbench.common.dmn.api.definition.model.Decision)121 Test (org.junit.Test)79 Name (org.kie.workbench.common.dmn.api.property.dmn.Name)39 View (org.kie.workbench.common.stunner.core.graph.content.view.View)38 InputData (org.kie.workbench.common.dmn.api.definition.model.InputData)37 Node (org.kie.workbench.common.stunner.core.graph.Node)28 Id (org.kie.workbench.common.dmn.api.property.dmn.Id)23 Edge (org.kie.workbench.common.stunner.core.graph.Edge)23 BusinessKnowledgeModel (org.kie.workbench.common.dmn.api.definition.model.BusinessKnowledgeModel)22 KnowledgeSource (org.kie.workbench.common.dmn.api.definition.model.KnowledgeSource)21 QName (org.kie.workbench.common.dmn.api.property.dmn.QName)21 ViewImpl (org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl)20 List (java.util.List)16 TDecision (org.kie.dmn.model.v1_2.TDecision)16 HasExpression (org.kie.workbench.common.dmn.api.definition.HasExpression)16 DRGElement (org.kie.workbench.common.dmn.api.definition.model.DRGElement)16 TextAnnotation (org.kie.workbench.common.dmn.api.definition.model.TextAnnotation)16 ArrayList (java.util.ArrayList)15 Optional (java.util.Optional)15 DecisionService (org.kie.workbench.common.dmn.api.definition.model.DecisionService)15