use of org.kie.workbench.common.dmn.api.definition.model.ImportPMML in project kie-wb-common by kiegroup.
the class ImportConverter method createWBImport.
private static Import createWBImport(final org.kie.dmn.model.api.Import dmn, final Definitions definitions, final PMMLDocumentMetadata pmmlDocument) {
final LocationURI locationURI = new LocationURI(dmn.getLocationURI());
if (Objects.equals(DMNImportTypes.DMN, determineImportType(dmn.getImportType()))) {
final ImportDMN result = new ImportDMN(dmn.getNamespace(), locationURI, dmn.getImportType());
result.setDrgElementsCount(countDefinitionElement(definitions, () -> d -> d.getDrgElement().size()));
result.setItemDefinitionsCount(countDefinitionElement(definitions, () -> d -> d.getItemDefinition().size()));
return result;
} else if (Objects.equals(DMNImportTypes.PMML, determineImportType(dmn.getImportType()))) {
final ImportPMML result = new ImportPMML(dmn.getNamespace(), locationURI, dmn.getImportType());
result.setModelCount(pmmlDocument.getModels().size());
return result;
} else {
return new Import(dmn.getNamespace(), locationURI, dmn.getImportType());
}
}
use of org.kie.workbench.common.dmn.api.definition.model.ImportPMML in project kie-wb-common by kiegroup.
the class ImportConverterTest method testWbFromDMNWhenPMMLImport.
@Test
public void testWbFromDMNWhenPMMLImport() {
final org.kie.dmn.model.api.Import dmn = new TImport();
dmn.setImportType(DMNImportTypes.PMML.getDefaultNamespace());
final Definitions definitions = mock(Definitions.class);
final PMMLDocumentMetadata pmmlDocument = mock(PMMLDocumentMetadata.class);
when(pmmlDocument.getModels()).thenReturn(asList(mock(PMMLModelMetadata.class), mock(PMMLModelMetadata.class)));
final org.kie.workbench.common.dmn.api.definition.model.Import anImport = ImportConverter.wbFromDMN(dmn, definitions, pmmlDocument);
assertTrue(anImport instanceof ImportPMML);
final ImportPMML pmmlImport = (ImportPMML) anImport;
assertEquals(2, pmmlImport.getModelCount());
}
use of org.kie.workbench.common.dmn.api.definition.model.ImportPMML in project kie-wb-common by kiegroup.
the class PMMLDocumentMetadataProviderTest method testLoadPMMLIncludedDocumentsPMMLIncludedModels.
@Test
@SuppressWarnings("unchecked")
public void testLoadPMMLIncludedDocumentsPMMLIncludedModels() {
final Import dmn = new ImportDMN("dmn", new LocationURI("dmn-location"), DMNImportTypes.DMN.getDefaultNamespace());
final Import pmml = new ImportPMML("pmml", new LocationURI("pmml-location"), DMNImportTypes.PMML.getDefaultNamespace());
dmn.getName().setValue("dmn");
pmml.getName().setValue("pmml");
definitions.getImport().add(dmn);
definitions.getImport().add(pmml);
provider.loadPMMLIncludedDocuments();
verify(clientServicesProxy).loadPMMLDocumentsFromImports(any(Path.class), pmmlIncludedModelsArgumentCaptor.capture(), any(ServiceCallback.class));
final List<PMMLIncludedModel> actualIncludedModels = pmmlIncludedModelsArgumentCaptor.getValue();
assertThat(actualIncludedModels).hasSize(1);
final PMMLIncludedModel pmmlIncludedModel = actualIncludedModels.get(0);
assertThat(pmmlIncludedModel.getModelName()).isEqualTo("pmml");
assertThat(pmmlIncludedModel.getPath()).isEqualTo("pmml-location");
assertThat(pmmlIncludedModel.getImportType()).isEqualTo(DMNImportTypes.PMML.getDefaultNamespace());
}
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());
}
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());
}
Aggregations