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());
}
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);
}
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);
}
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));
}
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));
}
Aggregations