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