Search in sources :

Example 6 with ImportPMML

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

the class IncludedModelsFactoryTest method testMakeIncludedPMMLModels.

@Test
public void testMakeIncludedPMMLModels() {
    final ImportPMML import1 = mock(ImportPMML.class);
    final ImportPMML import2 = mock(ImportPMML.class);
    final Name nameMock1 = mock(Name.class);
    final Name nameMock2 = mock(Name.class);
    final List<Import> imports = asList(import1, import2);
    final String name1 = "name1";
    final String name2 = "name2";
    final String path1 = "path1";
    final String path2 = "path2";
    final String uuid1 = "123";
    final String uuid2 = "456";
    final String[] uuids = { uuid1, uuid2 };
    final String uri1 = "/src/main/kie/dmn/1";
    final String uri2 = "/src/main/kie/dmn/2";
    final Integer modelCount1 = 2;
    final Integer modelCount2 = 8;
    when(nameMock1.getValue()).thenReturn(name1);
    when(nameMock2.getValue()).thenReturn(name2);
    when(import1.getName()).thenReturn(nameMock1);
    when(import2.getName()).thenReturn(nameMock2);
    when(import1.getNamespace()).thenReturn(path1);
    when(import2.getNamespace()).thenReturn(path2);
    when(import1.getImportType()).thenReturn(DMNImportTypes.PMML.getDefaultNamespace());
    when(import2.getImportType()).thenReturn(DMNImportTypes.PMML.getDefaultNamespace());
    when(import1.getLocationURI()).thenReturn(new LocationURI(uri1));
    when(import2.getLocationURI()).thenReturn(new LocationURI(uri2));
    when(import1.getModelCount()).thenReturn(modelCount1);
    when(import2.getModelCount()).thenReturn(modelCount2);
    doAnswer(new Answer() {

        private int count = 0;

        public Object answer(InvocationOnMock invocation) {
            return uuids[count++];
        }
    }).when(factory).uuidWrapper();
    final List<BaseIncludedModelActiveRecord> includedModels = factory.makeIncludedModels(imports);
    final BaseIncludedModelActiveRecord includedModel1 = includedModels.get(0);
    final BaseIncludedModelActiveRecord includedModel2 = includedModels.get(1);
    verify(includedModelsIndex).clear();
    verify(includedModelsIndex).index(includedModel1, import1);
    verify(includedModelsIndex).index(includedModel2, import2);
    assertEquals(2, includedModels.size());
    assertEquals(uuid1, includedModel1.getUUID());
    assertEquals(uuid2, includedModel2.getUUID());
    assertEquals(name1, includedModel1.getName());
    assertEquals(name2, includedModel2.getName());
    assertEquals(path1, includedModel1.getNamespace());
    assertEquals(path2, includedModel2.getNamespace());
    assertEquals(uri1, includedModel1.getPath());
    assertEquals(uri2, includedModel2.getPath());
    assertTrue(includedModel1 instanceof PMMLIncludedModelActiveRecord);
    assertTrue(includedModel2 instanceof PMMLIncludedModelActiveRecord);
    assertEquals(modelCount1, ((PMMLIncludedModelActiveRecord) includedModel1).getModelCount());
    assertEquals(modelCount2, ((PMMLIncludedModelActiveRecord) includedModel2).getModelCount());
    assertEquals(recordEngine, includedModel1.getRecordEngine());
    assertEquals(recordEngine, includedModel2.getRecordEngine());
}
Also used : LocationURI(org.kie.workbench.common.dmn.api.property.dmn.LocationURI) Import(org.kie.workbench.common.dmn.api.definition.model.Import) PMMLIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.PMMLIncludedModelActiveRecord) BaseIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.BaseIncludedModelActiveRecord) Name(org.kie.workbench.common.dmn.api.property.dmn.Name) Answer(org.mockito.stubbing.Answer) Mockito.doAnswer(org.mockito.Mockito.doAnswer) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ImportPMML(org.kie.workbench.common.dmn.api.definition.model.ImportPMML) Test(org.junit.Test)

Example 7 with ImportPMML

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

the class ImportConverterTest method wbFromDMN_PMMLImportNoModels.

@Test
public void wbFromDMN_PMMLImportNoModels() {
    when(jsitImportMock.getImportType()).thenReturn(PMML_IMPORT_TYPE);
    Import resultImport = ImportConverter.wbFromDMN(jsitImportMock, null, pmmlDocumentMetadata);
    assertTrue(resultImport instanceof ImportPMML);
    assertEquals(LOCATION_URI, resultImport.getLocationURI().getValue());
    assertEquals(NAME, resultImport.getNamespace());
    assertEquals(DESCRIPTION, resultImport.getDescription().getValue());
    assertEquals(NAME, resultImport.getName().getValue());
    assertEquals(PMML_IMPORT_TYPE, resultImport.getImportType());
    assertNotNull(resultImport.getId().getValue());
    assertEquals(0, ((ImportPMML) resultImport).getModelCount());
}
Also used : Import(org.kie.workbench.common.dmn.api.definition.model.Import) JSITImport(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITImport) ImportPMML(org.kie.workbench.common.dmn.api.definition.model.ImportPMML) Test(org.junit.Test)

Example 8 with ImportPMML

use of org.kie.workbench.common.dmn.api.definition.model.ImportPMML 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 9 with ImportPMML

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

the class IncludedModelsFactory method makeIncludedModel.

private BaseIncludedModelActiveRecord makeIncludedModel(final Import anImport) {
    BaseIncludedModelActiveRecord includedModel;
    if (anImport instanceof ImportDMN) {
        final DMNIncludedModelActiveRecord dmnIncludedModel = new DMNIncludedModelActiveRecord(getRecordEngine());
        dmnIncludedModel.setDataTypesCount(getDataTypesCount((ImportDMN) anImport));
        dmnIncludedModel.setDrgElementsCount(getDrgElementsCount((ImportDMN) anImport));
        includedModel = dmnIncludedModel;
    } else if (anImport instanceof ImportPMML) {
        final PMMLIncludedModelActiveRecord pmmlIncludedModel = new PMMLIncludedModelActiveRecord(getRecordEngine());
        pmmlIncludedModel.setModelCount(getPMMLModelCount((ImportPMML) anImport));
        includedModel = pmmlIncludedModel;
    } else {
        includedModel = new DefaultIncludedModelActiveRecord(getRecordEngine());
    }
    includedModel.setUuid(uuidWrapper());
    includedModel.setName(getName(anImport));
    includedModel.setNamespace(getNamespace(anImport));
    includedModel.setImportType(getImportType(anImport));
    includedModel.setPath(getPath(anImport));
    getIncludedModelsIndex().index(includedModel, anImport);
    return includedModel;
}
Also used : DefaultIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.DefaultIncludedModelActiveRecord) ImportDMN(org.kie.workbench.common.dmn.api.definition.model.ImportDMN) PMMLIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.PMMLIncludedModelActiveRecord) BaseIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.BaseIncludedModelActiveRecord) DMNIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.DMNIncludedModelActiveRecord) ImportPMML(org.kie.workbench.common.dmn.api.definition.model.ImportPMML)

Example 10 with ImportPMML

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

the class ImportFactory method makeImport.

public Import makeImport(final BaseIncludedModelActiveRecord record) {
    Import anImport;
    if (record instanceof DMNIncludedModelActiveRecord) {
        final ImportDMN dmn = new ImportDMN();
        final DMNIncludedModelActiveRecord dmnRecord = (DMNIncludedModelActiveRecord) record;
        dmn.setName(name(record));
        dmn.setNamespace(record.getNamespace());
        dmn.setLocationURI(location(record));
        dmn.setImportType(record.getImportType());
        dmn.setDrgElementsCount(dmnRecord.getDrgElementsCount());
        dmn.setItemDefinitionsCount(dmnRecord.getDataTypesCount());
        anImport = dmn;
    } else if (record instanceof PMMLIncludedModelActiveRecord) {
        final ImportPMML pmml = new ImportPMML();
        final PMMLIncludedModelActiveRecord pmmlRecord = (PMMLIncludedModelActiveRecord) record;
        pmml.setName(name(record));
        pmml.setNamespace(name(record).getValue());
        pmml.setLocationURI(location(record));
        pmml.setImportType(record.getImportType());
        pmml.setModelCount(pmmlRecord.getModelCount());
        anImport = pmml;
    } else {
        anImport = new Import();
    }
    anImport.setLocationURI(location(record));
    anImport.setImportType(record.getImportType());
    return anImport;
}
Also used : Import(org.kie.workbench.common.dmn.api.definition.model.Import) ImportDMN(org.kie.workbench.common.dmn.api.definition.model.ImportDMN) PMMLIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.PMMLIncludedModelActiveRecord) DMNIncludedModelActiveRecord(org.kie.workbench.common.dmn.client.editors.included.DMNIncludedModelActiveRecord) ImportPMML(org.kie.workbench.common.dmn.api.definition.model.ImportPMML)

Aggregations

ImportPMML (org.kie.workbench.common.dmn.api.definition.model.ImportPMML)13 Import (org.kie.workbench.common.dmn.api.definition.model.Import)9 Test (org.junit.Test)8 ImportDMN (org.kie.workbench.common.dmn.api.definition.model.ImportDMN)7 LocationURI (org.kie.workbench.common.dmn.api.property.dmn.LocationURI)5 Name (org.kie.workbench.common.dmn.api.property.dmn.Name)4 PMMLIncludedModelActiveRecord (org.kie.workbench.common.dmn.client.editors.included.PMMLIncludedModelActiveRecord)4 JSITImport (org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITImport)4 PMMLDocumentMetadata (org.kie.workbench.common.dmn.api.editors.included.PMMLDocumentMetadata)3 HashMap (java.util.HashMap)2 Map (java.util.Map)2 Objects (java.util.Objects)2 Optional (java.util.Optional)2 Function (java.util.function.Function)2 Definitions (org.kie.dmn.model.api.Definitions)2 DMNImportTypes (org.kie.workbench.common.dmn.api.editors.included.DMNImportTypes)2 DMNImportTypes.determineImportType (org.kie.workbench.common.dmn.api.editors.included.DMNImportTypes.determineImportType)2 PMMLModelMetadata (org.kie.workbench.common.dmn.api.editors.included.PMMLModelMetadata)2 QName (org.kie.workbench.common.dmn.api.property.dmn.QName)2 BaseIncludedModelActiveRecord (org.kie.workbench.common.dmn.client.editors.included.BaseIncludedModelActiveRecord)2