Search in sources :

Example 31 with Import

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

the class ImportConverter method wbFromDMN.

public static Import wbFromDMN(final org.kie.dmn.model.api.Import dmn, final Definitions definitions, final PMMLDocumentMetadata pmmlDocument) {
    final Import result = createWBImport(dmn, definitions, pmmlDocument);
    final Map<QName, String> additionalAttributes = new HashMap<>();
    for (Map.Entry<javax.xml.namespace.QName, String> entry : dmn.getAdditionalAttributes().entrySet()) {
        additionalAttributes.put(QNamePropertyConverter.wbFromDMN(entry.getKey(), dmn), entry.getValue());
    }
    result.setAdditionalAttributes(additionalAttributes);
    final String id = dmn.getId();
    final String name = dmn.getName();
    final String description = dmn.getDescription();
    result.setId(new Id(id != null ? id : UUID.randomUUID().toString()));
    result.setName(new Name(name));
    result.setDescription(DescriptionPropertyConverter.wbFromDMN(description));
    dmn.getNsContext().forEach((key, value) -> result.getNsContext().put(key, value));
    return result;
}
Also used : Import(org.kie.workbench.common.dmn.api.definition.model.Import) HashMap(java.util.HashMap) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) Id(org.kie.workbench.common.dmn.api.property.dmn.Id) HashMap(java.util.HashMap) Map(java.util.Map) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) Name(org.kie.workbench.common.dmn.api.property.dmn.Name)

Example 32 with Import

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

the class DMNMarshallerTest method testWithIncludedModelsWhenNodeParentIsDMNDiagram.

@Test
public void testWithIncludedModelsWhenNodeParentIsDMNDiagram() {
    final DMNMarshaller dmnMarshaller = spy(new DMNMarshaller());
    final Node node = mock(Node.class);
    final Definition nodeDefinition = mock(Definition.class);
    final DRGElement drgElement = mock(DRGElement.class);
    final Definitions definitionsStunnerPojo = mock(Definitions.class);
    final Import import1 = mock(Import.class);
    final Import import2 = mock(Import.class);
    final List<Import> diagramImports = new ArrayList<>(asList(import1, import2));
    final DMNDiagram nodeDiagram = mock(DMNDiagram.class);
    final Definitions nodeDiagramDefinitions = mock(Definitions.class);
    final List<Import> nodeDiagramImports = new ArrayList<>();
    when(node.getContent()).thenReturn(nodeDefinition);
    when(nodeDefinition.getDefinition()).thenReturn(drgElement);
    when(definitionsStunnerPojo.getImport()).thenReturn(diagramImports);
    when(drgElement.getParent()).thenReturn(nodeDiagram);
    when(nodeDiagram.getDefinitions()).thenReturn(nodeDiagramDefinitions);
    when(nodeDiagramDefinitions.getImport()).thenReturn(nodeDiagramImports);
    dmnMarshaller.withIncludedModels(node, definitionsStunnerPojo);
    assertEquals(2, nodeDiagramImports.size());
    assertTrue(nodeDiagramImports.contains(import1));
    assertTrue(nodeDiagramImports.contains(import2));
}
Also used : JSIDMNDiagram(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmndi12.JSIDMNDiagram) DMNDiagram(org.kie.workbench.common.dmn.api.definition.model.DMNDiagram) Import(org.kie.workbench.common.dmn.api.definition.model.Import) Node(org.kie.workbench.common.stunner.core.graph.Node) Definitions(org.kie.workbench.common.dmn.api.definition.model.Definitions) JSITDefinitions(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITDefinitions) Definition(org.kie.workbench.common.stunner.core.graph.content.definition.Definition) ArrayList(java.util.ArrayList) JSITDRGElement(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITDRGElement) DRGElement(org.kie.workbench.common.dmn.api.definition.model.DRGElement) Test(org.junit.Test)

Example 33 with Import

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

the class DecisionComponentsTest method testAsDMNIncludedModel.

@Test
public void testAsDMNIncludedModel() {
    final String modelName = "Model Name";
    final String namespace = "The Namespace";
    final String type = "The type";
    final String file = "my file.dmn";
    final String filePath = "//users//some//" + file;
    final Import anImport = new Import();
    anImport.setName(new Name(modelName));
    anImport.setNamespace(namespace);
    anImport.setImportType(type);
    anImport.setLocationURI(new LocationURI(filePath));
    final DMNIncludedModel includedModel = decisionComponents.asDMNIncludedModel(anImport);
    assertEquals(modelName, includedModel.getModelName());
    assertEquals(namespace, includedModel.getNamespace());
    assertEquals(type, includedModel.getImportType());
    assertEquals(file, includedModel.getPath());
}
Also used : LocationURI(org.kie.workbench.common.dmn.api.property.dmn.LocationURI) Import(org.kie.workbench.common.dmn.api.definition.model.Import) Name(org.kie.workbench.common.dmn.api.property.dmn.Name) DMNIncludedModel(org.kie.workbench.common.dmn.api.editors.included.DMNIncludedModel) Test(org.junit.Test)

Example 34 with Import

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

the class DMNDiagramsSessionStateTest method testGetModelImports.

@Test
public void testGetModelImports() {
    final Definitions definitions = mock(Definitions.class);
    final Import import1 = mock(Import.class);
    final Import import2 = mock(Import.class);
    final Import import3 = mock(Import.class);
    final Import import4 = mock(Import.class);
    final Import import5 = mock(Import.class);
    final Import import6 = mock(Import.class);
    when(definitions.getImport()).thenReturn(asList(import1, import2, import3, import4, import5, import6));
    when(dmnDiagramUtils.getDefinitions(stunnerDiagram1)).thenReturn(definitions);
    final List<Import> imports = sessionState.getModelImports();
    assertTrue(imports.contains(import1));
    assertTrue(imports.contains(import2));
    assertTrue(imports.contains(import3));
    assertTrue(imports.contains(import4));
    assertTrue(imports.contains(import5));
    assertTrue(imports.contains(import6));
}
Also used : Import(org.kie.workbench.common.dmn.api.definition.model.Import) Definitions(org.kie.workbench.common.dmn.api.definition.model.Definitions) Test(org.junit.Test)

Example 35 with Import

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

the class ImportConverterTest method wbFromDMN_DMNImportNoDefinition.

@Test
public void wbFromDMN_DMNImportNoDefinition() {
    when(jsitImportMock.getImportType()).thenReturn(DMN_IMPORT_TYPE);
    when(jsitDefinitionsMock.getDrgElement()).thenReturn(new ArrayList<>(Arrays.asList(mock(JSITDRGElement.class), mock(JSITDRGElement.class))));
    when(jsitDefinitionsMock.getItemDefinition()).thenReturn(new ArrayList<>(Arrays.asList(mock(JSITItemDefinition.class))));
    Import resultImport = ImportConverter.wbFromDMN(jsitImportMock, null, null);
    assertTrue(resultImport instanceof ImportDMN);
    assertEquals(NAMESPACE, resultImport.getNamespace());
    assertEquals(LOCATION_URI, resultImport.getLocationURI().getValue());
    assertEquals(DESCRIPTION, resultImport.getDescription().getValue());
    assertEquals(NAME, resultImport.getName().getValue());
    assertEquals(DMN_IMPORT_TYPE, resultImport.getImportType());
    assertEquals(0, ((ImportDMN) resultImport).getDrgElementsCount());
    assertEquals(0, ((ImportDMN) resultImport).getItemDefinitionsCount());
}
Also used : JSITDRGElement(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITDRGElement) Import(org.kie.workbench.common.dmn.api.definition.model.Import) JSITImport(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITImport) ImportDMN(org.kie.workbench.common.dmn.api.definition.model.ImportDMN) JSITItemDefinition(org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITItemDefinition) Test(org.junit.Test)

Aggregations

Import (org.kie.workbench.common.dmn.api.definition.model.Import)51 Test (org.junit.Test)37 Name (org.kie.workbench.common.dmn.api.property.dmn.Name)26 Definitions (org.kie.workbench.common.dmn.api.definition.model.Definitions)14 ArrayList (java.util.ArrayList)11 BaseIncludedModelActiveRecord (org.kie.workbench.common.dmn.client.editors.included.BaseIncludedModelActiveRecord)11 Id (org.kie.workbench.common.dmn.api.property.dmn.Id)10 LocationURI (org.kie.workbench.common.dmn.api.property.dmn.LocationURI)10 ImportPMML (org.kie.workbench.common.dmn.api.definition.model.ImportPMML)9 JSITImport (org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITImport)9 HashMap (java.util.HashMap)8 DRGElement (org.kie.workbench.common.dmn.api.definition.model.DRGElement)8 ImportDMN (org.kie.workbench.common.dmn.api.definition.model.ImportDMN)8 JSITDefinitions (org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITDefinitions)7 JSITDRGElement (org.kie.workbench.common.dmn.webapp.kogito.marshaller.js.model.dmn12.JSITDRGElement)6 DMNIncludedModelActiveRecord (org.kie.workbench.common.dmn.client.editors.included.DMNIncludedModelActiveRecord)5 PMMLDocumentMetadata (org.kie.workbench.common.dmn.api.editors.included.PMMLDocumentMetadata)4 List (java.util.List)3 Map (java.util.Map)3 QName (javax.xml.namespace.QName)3