Search in sources :

Example 31 with Import

use of org.kie.dmn.model.api.Import in project drools by kiegroup.

the class DefinitionsConverter method writeChildren.

@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
    super.writeChildren(writer, context, parent);
    Definitions def = (Definitions) parent;
    for (Import i : def.getImport()) {
        writeChildrenNode(writer, context, i, IMPORT);
    }
    for (ItemDefinition id : def.getItemDefinition()) {
        writeChildrenNode(writer, context, id, ITEM_DEFINITION);
    }
    for (DRGElement e : def.getDrgElement()) {
        String nodeName = DRG_ELEMENT;
        if (e instanceof BusinessKnowledgeModel) {
            nodeName = "businessKnowledgeModel";
        } else if (e instanceof Decision) {
            nodeName = "decision";
        } else if (e instanceof InputData) {
            nodeName = "inputData";
        } else if (e instanceof KnowledgeSource) {
            nodeName = "knowledgeSource";
        } else if (e instanceof DecisionService) {
            nodeName = "decisionService";
        }
        writeChildrenNode(writer, context, e, nodeName);
    }
    for (Artifact a : def.getArtifact()) {
        String nodeName = ARTIFACT;
        if (a instanceof Association) {
            nodeName = "association";
        } else if (a instanceof TextAnnotation) {
            nodeName = "textAnnotation";
        } else if (a instanceof Group) {
            nodeName = "group";
        }
        writeChildrenNode(writer, context, a, nodeName);
    }
    for (ElementCollection ec : def.getElementCollection()) {
        writeChildrenNode(writer, context, ec, ELEMENT_COLLECTION);
    }
    for (BusinessContextElement bce : def.getBusinessContextElement()) {
        String nodeName = BUSINESS_CONTEXT_ELEMENT;
        if (bce instanceof OrganizationUnit) {
            nodeName = "organizationUnit";
        } else if (bce instanceof PerformanceIndicator) {
            nodeName = "performanceIndicator";
        }
        writeChildrenNode(writer, context, bce, nodeName);
    }
    if (def.getDMNDI() != null) {
        writeChildrenNode(writer, context, def.getDMNDI(), "DMNDI");
    }
}
Also used : Group(org.kie.dmn.model.api.Group) Import(org.kie.dmn.model.api.Import) PerformanceIndicator(org.kie.dmn.model.api.PerformanceIndicator) TDefinitions(org.kie.dmn.model.v1_4.TDefinitions) Definitions(org.kie.dmn.model.api.Definitions) ItemDefinition(org.kie.dmn.model.api.ItemDefinition) BusinessContextElement(org.kie.dmn.model.api.BusinessContextElement) Decision(org.kie.dmn.model.api.Decision) Artifact(org.kie.dmn.model.api.Artifact) DecisionService(org.kie.dmn.model.api.DecisionService) Association(org.kie.dmn.model.api.Association) KnowledgeSource(org.kie.dmn.model.api.KnowledgeSource) OrganizationUnit(org.kie.dmn.model.api.OrganizationUnit) BusinessKnowledgeModel(org.kie.dmn.model.api.BusinessKnowledgeModel) ElementCollection(org.kie.dmn.model.api.ElementCollection) InputData(org.kie.dmn.model.api.InputData) TextAnnotation(org.kie.dmn.model.api.TextAnnotation) DRGElement(org.kie.dmn.model.api.DRGElement)

Example 32 with Import

use of org.kie.dmn.model.api.Import in project drools by kiegroup.

the class ImportConverter method writeAttributes.

@Override
protected void writeAttributes(HierarchicalStreamWriter writer, Object parent) {
    super.writeAttributes(writer, parent);
    Import i = (Import) parent;
    if (i.getNamespace() != null)
        writer.addAttribute(NAMESPACE, i.getNamespace());
    if (i.getLocationURI() != null)
        writer.addAttribute(LOCATION_URI, i.getLocationURI());
    if (i.getImportType() != null)
        writer.addAttribute(IMPORT_TYPE, i.getImportType());
}
Also used : TImport(org.kie.dmn.model.v1_4.TImport) Import(org.kie.dmn.model.api.Import)

Example 33 with Import

use of org.kie.dmn.model.api.Import in project drools by kiegroup.

the class ImportConverter method writeAttributes.

@Override
protected void writeAttributes(HierarchicalStreamWriter writer, Object parent) {
    super.writeAttributes(writer, parent);
    Import i = (Import) parent;
    if (i.getNamespace() != null)
        writer.addAttribute(NAMESPACE, i.getNamespace());
    if (i.getLocationURI() != null)
        writer.addAttribute(LOCATION_URI, i.getLocationURI());
    if (i.getImportType() != null)
        writer.addAttribute(IMPORT_TYPE, i.getImportType());
}
Also used : TImport(org.kie.dmn.model.v1_3.TImport) Import(org.kie.dmn.model.api.Import)

Example 34 with Import

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

the class DMNMarshallerStandaloneTest method testLoadImportedItemDefinitions.

@Test
public void testLoadImportedItemDefinitions() {
    final org.kie.workbench.common.dmn.api.definition.model.Definitions definitions = mock(org.kie.workbench.common.dmn.api.definition.model.Definitions.class);
    final org.kie.workbench.common.dmn.api.definition.model.ItemDefinition itemDefinition1 = mock(org.kie.workbench.common.dmn.api.definition.model.ItemDefinition.class);
    final org.kie.workbench.common.dmn.api.definition.model.ItemDefinition itemDefinition2 = mock(org.kie.workbench.common.dmn.api.definition.model.ItemDefinition.class);
    final List<org.kie.workbench.common.dmn.api.definition.model.ItemDefinition> expectedItemDefinitions = asList(itemDefinition1, itemDefinition2);
    final List<org.kie.workbench.common.dmn.api.definition.model.ItemDefinition> actualItemDefinitions = new ArrayList<>();
    final Map<Import, org.kie.dmn.model.api.Definitions> importDefinitions = new HashMap<>();
    final DMNMarshallerStandalone dmnMarshaller = spy(getDMNMarshaller());
    doReturn(expectedItemDefinitions).when(dmnMarshaller).getWbImportedItemDefinitions(importDefinitions);
    when(definitions.getItemDefinition()).thenReturn(actualItemDefinitions);
    dmnMarshaller.loadImportedItemDefinitions(definitions, 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.workbench.common.dmn.api.definition.model.ItemDefinition) ArrayList(java.util.ArrayList) ItemDefinition(org.kie.workbench.common.dmn.api.definition.model.ItemDefinition) Test(org.junit.Test)

Example 35 with Import

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

the class DMNMarshallerStandaloneTest method testGetImportedDrgElementsByShape.

@Test
public void testGetImportedDrgElementsByShape() {
    final DMNMarshallerStandalone marshaller = spy(getDMNMarshaller());
    final List<org.kie.dmn.model.api.DRGElement> importedDRGElements = mock(List.class);
    final Map<Import, org.kie.dmn.model.api.Definitions> importDefinitions = mock(Map.class);
    final org.kie.dmn.model.api.DRGElement ref1 = mock(org.kie.dmn.model.api.DRGElement.class);
    final org.kie.dmn.model.api.DRGElement ref2 = mock(org.kie.dmn.model.api.DRGElement.class);
    final org.kie.dmn.model.api.DRGElement ref3 = mock(org.kie.dmn.model.api.DRGElement.class);
    final List<DMNShape> dmnShapes = new ArrayList<>();
    final DMNShape shape1 = mock(DMNShape.class);
    final DMNShape shape2 = mock(DMNShape.class);
    final DMNShape shape3 = mock(DMNShape.class);
    dmnShapes.add(shape1);
    dmnShapes.add(shape2);
    dmnShapes.add(shape3);
    doReturn("REF1").when(marshaller).getDmnElementRef(shape1);
    doReturn("REF2").when(marshaller).getDmnElementRef(shape2);
    doReturn("REF3").when(marshaller).getDmnElementRef(shape3);
    when(dmnMarshallerImportsHelper.getImportedDRGElements(importDefinitions)).thenReturn(importedDRGElements);
    doReturn(Optional.of(ref1)).when(marshaller).getReference(importedDRGElements, "REF1");
    doReturn(Optional.of(ref2)).when(marshaller).getReference(importedDRGElements, "REF2");
    doReturn(Optional.of(ref3)).when(marshaller).getReference(importedDRGElements, "REF3");
    final List<DRGElement> actual = marshaller.getImportedDrgElementsByShape(dmnShapes, importDefinitions);
    assertEquals(ref1, actual.get(0));
    assertEquals(ref2, actual.get(1));
    assertEquals(ref3, actual.get(2));
}
Also used : Import(org.kie.dmn.model.api.Import) Definitions(org.kie.dmn.model.api.Definitions) ArrayList(java.util.ArrayList) DMNShape(org.kie.dmn.model.api.dmndi.DMNShape) DRGElement(org.kie.dmn.model.api.DRGElement) DRGElement(org.kie.dmn.model.api.DRGElement) 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