use of org.kie.dmn.model.api.DecisionService in project drools by kiegroup.
the class DMNXMLLoaderTest method testLoadingDecisionServices.
@Test
public void testLoadingDecisionServices() {
final DMNMarshaller DMNMarshaller = DMNMarshallerFactory.newMarshallerWithExtensions(Arrays.asList(new DecisionServicesExtensionRegister()));
final InputStream is = this.getClass().getResourceAsStream("0004-decision-services.dmn");
final InputStreamReader isr = new InputStreamReader(is);
final Definitions def = DMNMarshaller.unmarshal(isr);
assertThat(def.getDecisionService().size(), is(2));
DecisionService decisionService1 = def.getDecisionService().get(0);
assertThat(decisionService1.getId(), is("_70386614-9838-420b-a2ae-ff901ada63fb"));
assertThat(decisionService1.getName(), is("A Only Knowing B and C"));
assertThat(decisionService1.getDescription(), is("Description of A (BC)"));
assertThat(decisionService1.getOutputDecision().size(), is(1));
assertThat(decisionService1.getEncapsulatedDecision().size(), is(0));
assertThat(decisionService1.getInputDecision().size(), is(2));
assertThat(decisionService1.getInputData().size(), is(0));
assertThat(decisionService1.getOutputDecision().get(0).getHref(), is("#_c2b44706-d479-4ceb-bb74-73589d26dd04"));
DecisionService decisionService2 = def.getDecisionService().get(1);
assertThat(decisionService2.getId(), is("_4620ef13-248a-419e-bc68-6b601b725a03"));
assertThat(decisionService2.getName(), is("A only as output knowing D and E"));
assertThat(decisionService2.getOutputDecision().size(), is(1));
assertThat(decisionService2.getEncapsulatedDecision().size(), is(2));
assertThat(decisionService2.getInputDecision().size(), is(0));
assertThat(decisionService2.getInputData().size(), is(2));
assertThat(decisionService2.getInputData().get(0).getHref(), is("#_bcea16fb-6c19-4bde-b37d-73407002c064"));
assertThat(decisionService2.getInputData().get(1).getHref(), is("#_207b9195-a441-47f2-9414-2fad64b463f9"));
}
use of org.kie.dmn.model.api.DecisionService in project drools by kiegroup.
the class DecisionServiceConverter method writeChildren.
@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
super.writeChildren(writer, context, parent);
DecisionService decisionService = (DecisionService) parent;
for (DMNElementReference ref : decisionService.getOutputDecision()) {
writeChildrenNode(writer, context, ref, OUTPUT_DECISION);
}
for (DMNElementReference ref : decisionService.getEncapsulatedDecision()) {
writeChildrenNode(writer, context, ref, ENCAPSULATED_DECISION);
}
for (DMNElementReference ref : decisionService.getInputDecision()) {
writeChildrenNode(writer, context, ref, INPUT_DECISION);
}
for (DMNElementReference ref : decisionService.getInputData()) {
writeChildrenNode(writer, context, ref, INPUT_DATA);
}
}
Aggregations