use of org.kie.dmn.model.api.ItemDefinition in project drools by kiegroup.
the class TDefinitions method processQNameURIs.
private static void processQNameURIs(ItemDefinition iDef) {
final QName typeRef = iDef.getTypeRef();
if (typeRef != null && XMLConstants.NULL_NS_URI.equals(typeRef.getNamespaceURI())) {
final String namespace = iDef.getNamespaceURI(typeRef.getPrefix());
iDef.setTypeRef(new QName(namespace, typeRef.getLocalPart(), typeRef.getPrefix()));
}
for (ItemDefinition comp : iDef.getItemComponent()) {
processQNameURIs(comp);
}
}
use of org.kie.dmn.model.api.ItemDefinition in project drools by kiegroup.
the class TDefinitions method processQNameURIs.
private static void processQNameURIs(ItemDefinition iDef) {
final QName typeRef = iDef.getTypeRef();
if (typeRef != null && XMLConstants.NULL_NS_URI.equals(typeRef.getNamespaceURI())) {
final String namespace = iDef.getNamespaceURI(typeRef.getPrefix());
iDef.setTypeRef(new QName(namespace, typeRef.getLocalPart(), typeRef.getPrefix()));
}
for (ItemDefinition comp : iDef.getItemComponent()) {
processQNameURIs(comp);
}
}
use of org.kie.dmn.model.api.ItemDefinition in project kie-wb-common by kiegroup.
the class DMNMarshallerImportsHelperStandaloneImplTest method testGetItemDefinitionsWithNamespace.
@Test
public void testGetItemDefinitionsWithNamespace() {
final Definitions definitions = mock(Definitions.class);
final Import anImport = mock(Import.class);
final ItemDefinition itemDefinition1 = new TItemDefinition();
final ItemDefinition itemDefinition2 = new TItemDefinition();
final ItemDefinition itemDefinition3 = new TItemDefinition();
final ItemDefinition itemDefinition4 = new TItemDefinition();
final ItemDefinition itemDefinition5 = new TItemDefinition();
final List<ItemDefinition> itemDefinitions = asList(itemDefinition1, itemDefinition2, itemDefinition3, itemDefinition4, itemDefinition5);
itemDefinition1.setName("tUUID");
itemDefinition2.setName("tPerson");
itemDefinition3.setName("id");
itemDefinition4.setName("name");
itemDefinition5.setName("age");
itemDefinition1.setTypeRef(new QName("string"));
itemDefinition2.setTypeRef(null);
itemDefinition3.setTypeRef(new QName("tUUID"));
itemDefinition4.setTypeRef(new QName("string"));
itemDefinition5.setTypeRef(new QName("number"));
when(anImport.getName()).thenReturn("model");
when(definitions.getItemDefinition()).thenReturn(itemDefinitions);
final List<ItemDefinition> actualItemDefinitions = helper.getItemDefinitionsWithNamespace(definitions, anImport);
assertEquals(5, actualItemDefinitions.size());
final ItemDefinition actualItemDefinition1 = actualItemDefinitions.get(0);
assertEquals("model.tUUID", actualItemDefinition1.getName());
assertEquals("string", actualItemDefinition1.getTypeRef().getLocalPart());
final ItemDefinition actualItemDefinition2 = actualItemDefinitions.get(1);
assertEquals("model.tPerson", actualItemDefinition2.getName());
assertNull(actualItemDefinition2.getTypeRef());
final ItemDefinition actualItemDefinition3 = actualItemDefinitions.get(2);
assertEquals("model.id", actualItemDefinition3.getName());
assertEquals("model.tUUID", actualItemDefinition3.getTypeRef().getLocalPart());
final ItemDefinition actualItemDefinition4 = actualItemDefinitions.get(3);
assertEquals("model.name", actualItemDefinition4.getName());
assertEquals("string", actualItemDefinition4.getTypeRef().getLocalPart());
final ItemDefinition actualItemDefinition5 = actualItemDefinitions.get(4);
assertEquals("model.age", actualItemDefinition5.getName());
assertEquals("number", actualItemDefinition5.getTypeRef().getLocalPart());
}
use of org.kie.dmn.model.api.ItemDefinition in project drools by kiegroup.
the class DMNRuntimeTest method testAssignNullToAllowedValues.
@Test
public void testAssignNullToAllowedValues() {
// DROOLS-3132 DMN assign null to ItemDefinition with allowedValues
final DMNRuntime runtime = DMNRuntimeUtil.createRuntime("assignNullToAllowedValues.dmn", this.getClass());
final DMNModel dmnModel = runtime.getModel("http://www.trisotech.com/dmn/definitions/_700a46e0-01ed-4361-9034-4afdb2537ea4", "Drawing 1");
assertThat(dmnModel, notNullValue());
assertThat(DMNRuntimeUtil.formatMessages(dmnModel.getMessages()), dmnModel.hasErrors(), is(false));
final DMNContext context = DMNFactory.newContext();
context.set("an input letter", null);
final DMNResult dmnResult = runtime.evaluateAll(dmnModel, context);
LOG.debug("{}", dmnResult);
DMNRuntimeUtil.formatMessages(dmnResult.getMessages());
assertThat(dmnResult.hasErrors(), is(true));
assertThat(dmnResult.getMessages().stream().anyMatch(m -> m.getSourceId().equals("_24e8b31b-9505-4f52-93af-6dd9ef39c72a")), is(true));
assertThat(dmnResult.getMessages().stream().anyMatch(m -> m.getSourceId().equals("_09945fda-2b89-4148-8758-0bcb91a66e4a")), is(true));
}
use of org.kie.dmn.model.api.ItemDefinition in project drools by kiegroup.
the class TDefinitions method processQNameURIs.
private static void processQNameURIs(ItemDefinition iDef) {
final QName typeRef = iDef.getTypeRef();
if (typeRef != null && XMLConstants.NULL_NS_URI.equals(typeRef.getNamespaceURI())) {
final String namespace = iDef.getNamespaceURI(typeRef.getPrefix());
iDef.setTypeRef(new QName(namespace, typeRef.getLocalPart(), typeRef.getPrefix()));
}
for (ItemDefinition comp : iDef.getItemComponent()) {
processQNameURIs(comp);
}
}
Aggregations