@Test public void testGetItems() { final Diagram stunnerDiagram1 = mock(Diagram.class); final Diagram stunnerDiagram2 = mock(Diagram.class); final DMNDiagramElement dmnDiagramElement1 = mock(DMNDiagramElement.class); final DMNDiagramElement dmnDiagramElement2 = mock(DMNDiagramElement.class); final DMNDiagramTuple dmnDiagramTuple1 = new DMNDiagramTuple(stunnerDiagram1, dmnDiagramElement1); final DMNDiagramTuple dmnDiagramTuple2 = new DMNDiagramTuple(stunnerDiagram2, dmnDiagramElement2); final DecisionNavigatorItem decisionNavigatorItem1 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem2 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem3 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem4 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem5 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem6 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem7 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem8 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem9 = mock(DecisionNavigatorItem.class); final DecisionNavigatorItem decisionNavigatorItem10 = mock(DecisionNavigatorItem.class); final List<DMNDiagramTuple> diagramTuples = asList(dmnDiagramTuple1, dmnDiagramTuple2); final Node node1 = mockNode(new Decision()); final Node node2 = mockNode(new InputData()); final Node node3 = mockNode(new TextAnnotation()); final Node node4 = mockNode(new BusinessKnowledgeModel()); final Node node5 = mockNode(new KnowledgeSource()); final Node node6 = mockNode(new TextAnnotation()); final Stream<Node> stunnerNodes1 = Stream.of(node1, node2, node3); final Stream<Node> stunnerNodes2 = Stream.of(node4, node5, node6); when(dmnDiagramElement1.getName()).thenReturn(new Name("DRD")); when(dmnDiagramElement2.getName()).thenReturn(new Name("DRG")); when(dmnDiagramsSession.getDMNDiagrams()).thenReturn(diagramTuples); when(itemFactory.makeRoot(dmnDiagramTuple1)).thenReturn(decisionNavigatorItem1); when(itemFactory.makeRoot(dmnDiagramTuple2)).thenReturn(decisionNavigatorItem2); when(itemFactory.makeItem(node1)).thenReturn(decisionNavigatorItem5); when(itemFactory.makeItem(node2)).thenReturn(decisionNavigatorItem6); when(itemFactory.makeItem(node3)).thenReturn(decisionNavigatorItem7); when(itemFactory.makeItem(node4)).thenReturn(decisionNavigatorItem8); when(itemFactory.makeItem(node5)).thenReturn(decisionNavigatorItem9); when(itemFactory.makeItem(node6)).thenReturn(decisionNavigatorItem10); when(itemFactory.makeSeparator(DRG)).thenReturn(decisionNavigatorItem3); when(itemFactory.makeSeparator(DRDs)).thenReturn(decisionNavigatorItem4); when(dmnDiagramUtils.getNodeStream(stunnerDiagram1)).thenReturn(stunnerNodes1); when(dmnDiagramUtils.getNodeStream(stunnerDiagram2)).thenReturn(stunnerNodes2); final List<DecisionNavigatorItem> actualItems = itemsProvider.getItems(); final List<DecisionNavigatorItem> expectedItems = asList(decisionNavigatorItem3, decisionNavigatorItem2, decisionNavigatorItem4, decisionNavigatorItem1); assertEquals(expectedItems, actualItems); verify(decisionNavigatorItem1).addChild(decisionNavigatorItem5); verify(decisionNavigatorItem1).addChild(decisionNavigatorItem6); verify(decisionNavigatorItem1).addChild(decisionNavigatorItem7); verify(decisionNavigatorItem2).addChild(decisionNavigatorItem8); verify(decisionNavigatorItem2).addChild(decisionNavigatorItem9); verify(decisionNavigatorItem2).addChild(decisionNavigatorItem10); }
public List<DecisionNavigatorItem> getItems() { final List<DecisionNavigatorItem> items = new ArrayList<>(); dmnDiagramsSession.getDMNDiagrams().stream() .sorted((e1, e2) -> { final String dmnElementName1 = e1.getDMNDiagram().getName().getValue(); final String dmnElementName2 = e2.getDMNDiagram().getName().getValue(); return DRG.equals(dmnElementName1) ? -1 : DRG.equals(dmnElementName2) ? 1 : 0; }) .forEach(diagramTuple -> { final Diagram stunner = diagramTuple.getStunnerDiagram(); final DecisionNavigatorItem root = makeRoot(diagramTuple); items.add(root); getNodes(stunner).forEach(node -> makeItem(root, node)); }); if (items.size() > 1) { items.add(0, itemFactory.makeSeparator(DRG)); items.add(2, itemFactory.makeSeparator(DRDs)); } return items; }
DecisionNavigatorItemsProvider { public List<DecisionNavigatorItem> getItems() { final List<DecisionNavigatorItem> items = new ArrayList<>(); dmnDiagramsSession.getDMNDiagrams().stream() .sorted((e1, e2) -> { final String dmnElementName1 = e1.getDMNDiagram().getName().getValue(); final String dmnElementName2 = e2.getDMNDiagram().getName().getValue(); return DRG.equals(dmnElementName1) ? -1 : DRG.equals(dmnElementName2) ? 1 : 0; }) .forEach(diagramTuple -> { final Diagram stunner = diagramTuple.getStunnerDiagram(); final DecisionNavigatorItem root = makeRoot(diagramTuple); items.add(root); getNodes(stunner).forEach(node -> makeItem(root, node)); }); if (items.size() > 1) { items.add(0, itemFactory.makeSeparator(DRG)); items.add(2, itemFactory.makeSeparator(DRDs)); } return items; } }
DecisionNavigatorItemsProvider { public List<DecisionNavigatorItem> getItems() { final List<DecisionNavigatorItem> items = new ArrayList<>(); dmnDiagramsSession.getDMNDiagrams().stream() .sorted((e1, e2) -> { final String dmnElementName1 = e1.getDMNDiagram().getName().getValue(); final String dmnElementName2 = e2.getDMNDiagram().getName().getValue(); return DRG.equals(dmnElementName1) ? -1 : DRG.equals(dmnElementName2) ? 1 : 0; }) .forEach(diagramTuple -> { final Diagram stunner = diagramTuple.getStunnerDiagram(); final DecisionNavigatorItem root = makeRoot(diagramTuple); items.add(root); getNodes(stunner).forEach(node -> makeItem(root, node)); }); if (items.size() > 1) { items.add(0, itemFactory.makeSeparator(DRG)); items.add(2, itemFactory.makeSeparator(DRDs)); } return items; } @Inject  DecisionNavigatorItemsProvider(final DecisionNavigatorItemFactory itemFactory,
                                          final DMNDiagramsSession dmnDiagramsSession,
                                          final DMNDiagramUtils dmnDiagramUtils); }
DecisionNavigatorItemsProvider { public List<DecisionNavigatorItem> getItems() { final List<DecisionNavigatorItem> items = new ArrayList<>(); dmnDiagramsSession.getDMNDiagrams().stream() .sorted((e1, e2) -> { final String dmnElementName1 = e1.getDMNDiagram().getName().getValue(); final String dmnElementName2 = e2.getDMNDiagram().getName().getValue(); return DRG.equals(dmnElementName1) ? -1 : DRG.equals(dmnElementName2) ? 1 : 0; }) .forEach(diagramTuple -> { final Diagram stunner = diagramTuple.getStunnerDiagram(); final DecisionNavigatorItem root = makeRoot(diagramTuple); items.add(root); getNodes(stunner).forEach(node -> makeItem(root, node)); }); if (items.size() > 1) { items.add(0, itemFactory.makeSeparator(DRG)); items.add(2, itemFactory.makeSeparator(DRDs)); } return items; } @Inject  DecisionNavigatorItemsProvider(final DecisionNavigatorItemFactory itemFactory,
                                          final DMNDiagramsSession dmnDiagramsSession,
                                          final DMNDiagramUtils dmnDiagramUtils); List<DecisionNavigatorItem> getItems(); }
DecisionNavigatorItemsProvider { public List<DecisionNavigatorItem> getItems() { final List<DecisionNavigatorItem> items = new ArrayList<>(); dmnDiagramsSession.getDMNDiagrams().stream() .sorted((e1, e2) -> { final String dmnElementName1 = e1.getDMNDiagram().getName().getValue(); final String dmnElementName2 = e2.getDMNDiagram().getName().getValue(); return DRG.equals(dmnElementName1) ? -1 : DRG.equals(dmnElementName2) ? 1 : 0; }) .forEach(diagramTuple -> { final Diagram stunner = diagramTuple.getStunnerDiagram(); final DecisionNavigatorItem root = makeRoot(diagramTuple); items.add(root); getNodes(stunner).forEach(node -> makeItem(root, node)); }); if (items.size() > 1) { items.add(0, itemFactory.makeSeparator(DRG)); items.add(2, itemFactory.makeSeparator(DRDs)); } return items; } @Inject  DecisionNavigatorItemsProvider(final DecisionNavigatorItemFactory itemFactory,
                                          final DMNDiagramsSession dmnDiagramsSession,
                                          final DMNDiagramUtils dmnDiagramUtils); List<DecisionNavigatorItem> getItems();  }