use of org.kie.dmn.model.api.Import in project drools by kiegroup.
the class ImportConverter method assignAttributes.
@Override
protected void assignAttributes(HierarchicalStreamReader reader, Object parent) {
super.assignAttributes(reader, parent);
Import i = (Import) parent;
String namespace = reader.getAttribute(NAMESPACE);
String locationUri = reader.getAttribute(LOCATION_URI);
String importType = reader.getAttribute(IMPORT_TYPE);
i.setNamespace(namespace);
i.setLocationURI(locationUri);
i.setImportType(importType);
}
use of org.kie.dmn.model.api.Import in project drools by kiegroup.
the class ImportDMNResolverUtilTest method testLocateInNS.
@Test
public void testLocateInNS() {
final Import i = makeImport("nsA", null, "m1");
final List<QName> available = Arrays.asList(new QName("nsA", "m1"), new QName("nsA", "m2"), new QName("nsB", "m3"));
final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity());
assertTrue(result.isRight());
assertEquals(new QName("nsA", "m1"), result.getOrElse(null));
}
use of org.kie.dmn.model.api.Import in project drools by kiegroup.
the class ImportDMNResolverUtilTest method testLocateInNSAliasedBadScenario.
@Test
public void testLocateInNSAliasedBadScenario() {
// this is a BAD scenario are in namespace `nsA` there are 2 models with the same name.
final Import i = makeImport("nsA", "aliased", "mA");
final List<QName> available = Arrays.asList(new QName("nsA", "mA"), new QName("nsA", "mA"), new QName("nsB", "m3"));
final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity());
assertTrue(result.isLeft());
}
use of org.kie.dmn.model.api.Import in project drools by kiegroup.
the class ImportDMNResolverUtilTest method testLocateInNSAliased.
@Test
public void testLocateInNSAliased() {
final Import i = makeImport("nsA", "aliased", "m1");
final List<QName> available = Arrays.asList(new QName("nsA", "m1"), new QName("nsA", "m2"), new QName("nsB", "m3"));
final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity());
assertTrue(result.isRight());
assertEquals(new QName("nsA", "m1"), result.getOrElse(null));
}
use of org.kie.dmn.model.api.Import in project kie-wb-common by kiegroup.
the class DMNMarshallerImportsHelperStandaloneImpl method getImportXML.
@Override
public Map<Import, String> getImportXML(final Metadata metadata, final List<Import> imports) {
final Map<Import, String> importXML = new HashMap<>();
if (imports.size() > 0) {
for (final String xml : getOtherDMNDiagramsXML(metadata)) {
try (final StringReader sr = toStringReader(xml)) {
final Definitions definitions = marshaller.unmarshal(sr);
findImportByDefinitions(definitions, imports).ifPresent(anImport -> {
importXML.put(anImport, xml);
});
}
}
}
return importXML;
}
Aggregations