Search in sources :

Example 36 with Import

use of org.kie.dmn.model.api.Import in project kie-wb-common by kiegroup.

the class DMNMarshallerStandaloneTest method checkImports.

@SuppressWarnings("unchecked")
private void checkImports(final Graph<?, Node<?, ?>> graph) {
    assertNotNull(graph);
    final DMNDiagramUtils utils = new DMNDiagramUtils();
    final Diagram mockDiagram = mock(Diagram.class);
    when(mockDiagram.getGraph()).thenReturn(graph);
    final org.kie.workbench.common.dmn.api.definition.model.Definitions definitions = utils.getDefinitions(mockDiagram);
    final List<org.kie.workbench.common.dmn.api.definition.model.Import> imports = definitions.getImport();
    assertTrue(imports.get(0) instanceof ImportDMN);
    assertTrue(imports.get(1) instanceof ImportPMML);
    final ImportDMN dmnImport = (ImportDMN) imports.get(0);
    assertEquals("dmn-import", dmnImport.getName().getValue());
    assertEquals("https://kiegroup.org/dmn/_46EB0D0D-7241-4629-A38E-0377AA5B32D1", dmnImport.getNamespace());
    assertEquals(DMNImportTypes.DMN.getDefaultNamespace(), dmnImport.getImportType());
    final ImportPMML pmmlImport = (ImportPMML) imports.get(1);
    assertEquals("pmml-import", pmmlImport.getName().getValue());
    assertEquals("pmml-import", pmmlImport.getNamespace());
    assertEquals(DMNImportTypes.PMML.getDefaultNamespace(), pmmlImport.getImportType());
}
Also used : Import(org.kie.dmn.model.api.Import) ImportDMN(org.kie.workbench.common.dmn.api.definition.model.ImportDMN) DMNDiagramUtils(org.kie.workbench.common.dmn.api.graph.DMNDiagramUtils) Diagram(org.kie.workbench.common.stunner.core.diagram.Diagram) DMNDiagram(org.kie.workbench.common.dmn.api.definition.model.DMNDiagram) ImportPMML(org.kie.workbench.common.dmn.api.definition.model.ImportPMML)

Example 37 with Import

use of org.kie.dmn.model.api.Import in project kie-wb-common by kiegroup.

the class DMNMarshallerImportsHelperStandaloneImplTest method testGetImportedDRGElements.

@Test
public void testGetImportedDRGElements() {
    final Map<Import, Definitions> importDefinitions = new HashMap<>();
    final Import anImport = mock(Import.class);
    final Definitions definitions = mock(Definitions.class);
    final DRGElement drgElement1 = mock(DRGElement.class);
    final DRGElement drgElement2 = mock(DRGElement.class);
    final DRGElement drgElement3 = mock(DRGElement.class);
    final List<DRGElement> expectedDRGElements = asList(drgElement1, drgElement2, drgElement3);
    doReturn(expectedDRGElements).when(helper).getDrgElementsWithNamespace(definitions, anImport);
    importDefinitions.put(anImport, definitions);
    final List<DRGElement> actualDRGElements = helper.getImportedDRGElements(importDefinitions);
    assertEquals(expectedDRGElements, actualDRGElements);
}
Also used : Import(org.kie.dmn.model.api.Import) HashMap(java.util.HashMap) Definitions(org.kie.dmn.model.api.Definitions) DRGElement(org.kie.dmn.model.api.DRGElement) Test(org.junit.Test)

Example 38 with Import

use of org.kie.dmn.model.api.Import in project kie-wb-common by kiegroup.

the class DMNMarshallerImportsHelperStandaloneImplTest method testGetImportedItemDefinitions.

@Test
public void testGetImportedItemDefinitions() {
    final Map<Import, Definitions> importDefinitions = new HashMap<>();
    final Import anImport = mock(Import.class);
    final Definitions definitions = mock(Definitions.class);
    final ItemDefinition itemDefinition1 = mock(ItemDefinition.class);
    final ItemDefinition itemDefinition2 = mock(ItemDefinition.class);
    final ItemDefinition itemDefinition3 = mock(ItemDefinition.class);
    final List<ItemDefinition> expectedItemDefinitions = asList(itemDefinition1, itemDefinition2, itemDefinition3);
    doReturn(expectedItemDefinitions).when(helper).getItemDefinitionsWithNamespace(definitions, anImport);
    importDefinitions.put(anImport, definitions);
    final List<ItemDefinition> actualItemDefinitions = helper.getImportedItemDefinitions(importDefinitions);
    assertEquals(expectedItemDefinitions, actualItemDefinitions);
}
Also used : Import(org.kie.dmn.model.api.Import) HashMap(java.util.HashMap) Definitions(org.kie.dmn.model.api.Definitions) TItemDefinition(org.kie.dmn.model.v1_2.TItemDefinition) ItemDefinition(org.kie.dmn.model.api.ItemDefinition) Test(org.junit.Test)

Example 39 with Import

use of org.kie.dmn.model.api.Import in project kie-wb-common by kiegroup.

the class DMNMarshallerImportsHelperStandaloneImplTest method testGetDrgElementsWithNamespace.

@Test
public void testGetDrgElementsWithNamespace() {
    final Definitions definitions = mock(Definitions.class);
    final Import anImport = mock(Import.class);
    final TDecision drgElement1 = new TDecision();
    final TInputData drgElement2 = new TInputData();
    final TDecisionService drgElement3 = new TDecisionService();
    final InformationItem informationItem1 = new TInformationItem();
    final InformationItem informationItem2 = new TInformationItem();
    final InformationItem informationItem3 = new TInformationItem();
    final List<DRGElement> drgElements = asList(drgElement1, drgElement2, drgElement3);
    final String namespace = "http://github.com/kiegroup/_something";
    final String builtInTypeNumber = BuiltInType.NUMBER.getName();
    when(anImport.getName()).thenReturn("model");
    when(anImport.getNamespace()).thenReturn(namespace);
    informationItem1.setTypeRef(new QName(XMLConstants.NULL_NS_URI, "tUUID", XMLConstants.DEFAULT_NS_PREFIX));
    informationItem2.setTypeRef(new QName(XMLConstants.NULL_NS_URI, "tAge", XMLConstants.DEFAULT_NS_PREFIX));
    informationItem3.setTypeRef(new QName(XMLConstants.NULL_NS_URI, builtInTypeNumber, XMLConstants.DEFAULT_NS_PREFIX));
    drgElement1.setId("0000-1111");
    drgElement2.setId("2222-3333");
    drgElement3.setId("4444-5555");
    drgElement1.setName("Decision");
    drgElement2.setName("Input Data");
    drgElement3.setName("Decision Service");
    drgElement1.setVariable(informationItem1);
    drgElement2.setVariable(informationItem2);
    drgElement3.setVariable(informationItem3);
    when(definitions.getDrgElement()).thenReturn(drgElements);
    final List<DRGElement> elements = helper.getDrgElementsWithNamespace(definitions, anImport);
    assertEquals(3, elements.size());
    final TDecision element1 = (TDecision) elements.get(0);
    assertEquals("0000-1111", element1.getId());
    assertEquals("model.Decision", element1.getName());
    assertEquals("model.tUUID", element1.getVariable().getTypeRef().getLocalPart());
    assertEquals(namespace, getNamespace(element1));
    final TInputData element2 = (TInputData) elements.get(1);
    assertEquals("2222-3333", element2.getId());
    assertEquals("model.Input Data", element2.getName());
    assertEquals("model.tAge", element2.getVariable().getTypeRef().getLocalPart());
    assertEquals(namespace, getNamespace(element2));
    final TDecisionService element3 = (TDecisionService) elements.get(2);
    assertEquals("4444-5555", element3.getId());
    assertEquals("model.Decision Service", element3.getName());
    assertEquals(builtInTypeNumber, element3.getVariable().getTypeRef().getLocalPart());
    assertEquals(namespace, getNamespace(element3));
}
Also used : TInputData(org.kie.dmn.model.v1_2.TInputData) Import(org.kie.dmn.model.api.Import) TDecisionService(org.kie.dmn.model.v1_2.TDecisionService) QName(javax.xml.namespace.QName) Definitions(org.kie.dmn.model.api.Definitions) TDecision(org.kie.dmn.model.v1_2.TDecision) TInformationItem(org.kie.dmn.model.v1_2.TInformationItem) TInformationItem(org.kie.dmn.model.v1_2.TInformationItem) InformationItem(org.kie.dmn.model.api.InformationItem) DRGElement(org.kie.dmn.model.api.DRGElement) Test(org.junit.Test)

Example 40 with Import

use of org.kie.dmn.model.api.Import in project kie-wb-common by kiegroup.

the class DMNMarshallerImportsHelperStandaloneImplTest method testGetImportDefinitions.

@Test
public void testGetImportDefinitions() {
    final Metadata metadata = mock(Metadata.class);
    final Import import1 = mock(Import.class);
    final Import import2 = mock(Import.class);
    final Import import3 = mock(Import.class);
    final List<Import> imports = asList(import1, import2, import3);
    final Definitions definitions1 = mock(Definitions.class);
    final Definitions definitions2 = mock(Definitions.class);
    final Definitions definitions3 = mock(Definitions.class);
    final List<Definitions> definitions = asList(definitions1, definitions2, definitions3);
    when(definitions1.getNamespace()).thenReturn("://namespace1");
    when(definitions2.getNamespace()).thenReturn("://namespace2");
    when(definitions3.getNamespace()).thenReturn("://namespace3");
    when(import1.getNamespace()).thenReturn("://namespace1");
    when(import2.getNamespace()).thenReturn("://namespace2-diff");
    when(import3.getNamespace()).thenReturn("://namespace3");
    doReturn(definitions).when(helper).getOtherDMNDiagramsDefinitions(metadata);
    final Map<Import, Definitions> importDefinitions = helper.getImportDefinitions(metadata, imports);
    assertEquals(2, importDefinitions.size());
    assertEquals(definitions1, importDefinitions.get(import1));
    assertEquals(definitions3, importDefinitions.get(import3));
}
Also used : Import(org.kie.dmn.model.api.Import) Definitions(org.kie.dmn.model.api.Definitions) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) PMMLDocumentMetadata(org.kie.workbench.common.dmn.api.editors.included.PMMLDocumentMetadata) Test(org.junit.Test)

Aggregations

Import (org.kie.dmn.model.api.Import)42 Test (org.junit.Test)22 QName (javax.xml.namespace.QName)19 TImport (org.kie.dmn.model.v1_1.TImport)15 Definitions (org.kie.dmn.model.api.Definitions)13 HashMap (java.util.HashMap)7 DRGElement (org.kie.dmn.model.api.DRGElement)7 ItemDefinition (org.kie.dmn.model.api.ItemDefinition)6 ArrayList (java.util.ArrayList)5 BusinessKnowledgeModel (org.kie.dmn.model.api.BusinessKnowledgeModel)5 Decision (org.kie.dmn.model.api.Decision)5 PMMLDocumentMetadata (org.kie.workbench.common.dmn.api.editors.included.PMMLDocumentMetadata)5 Artifact (org.kie.dmn.model.api.Artifact)4 Association (org.kie.dmn.model.api.Association)4 BusinessContextElement (org.kie.dmn.model.api.BusinessContextElement)4 ElementCollection (org.kie.dmn.model.api.ElementCollection)4 InputData (org.kie.dmn.model.api.InputData)4 KnowledgeSource (org.kie.dmn.model.api.KnowledgeSource)4 OrganizationUnit (org.kie.dmn.model.api.OrganizationUnit)4 PerformanceIndicator (org.kie.dmn.model.api.PerformanceIndicator)4