use of org.kie.dmn.model.api.BusinessKnowledgeModel in project drools by kiegroup.
the class BusinessKnowledgeModelConverter method writeChildren.
@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
super.writeChildren(writer, context, parent);
BusinessKnowledgeModel bkm = (BusinessKnowledgeModel) parent;
if (bkm.getEncapsulatedLogic() != null)
writeChildrenNode(writer, context, bkm.getEncapsulatedLogic(), ENCAPSULATED_LOGIC);
// Now as Invocable: if (bkm.getVariable() != null) writeChildrenNode(writer, context, bkm.getVariable(), VARIABLE);
for (KnowledgeRequirement i : bkm.getKnowledgeRequirement()) {
writeChildrenNode(writer, context, i, KNOWLEDGE_REQUIREMENT);
}
for (AuthorityRequirement a : bkm.getAuthorityRequirement()) {
writeChildrenNode(writer, context, a, AUTHORITY_REQUIREMENT);
}
}
use of org.kie.dmn.model.api.BusinessKnowledgeModel in project drools by kiegroup.
the class BusinessKnowledgeModelConverter method writeChildren.
@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
super.writeChildren(writer, context, parent);
BusinessKnowledgeModel bkm = (BusinessKnowledgeModel) parent;
if (bkm.getEncapsulatedLogic() != null)
writeChildrenNode(writer, context, bkm.getEncapsulatedLogic(), ENCAPSULATED_LOGIC);
// Now as Invocable: if (bkm.getVariable() != null) writeChildrenNode(writer, context, bkm.getVariable(), VARIABLE);
for (KnowledgeRequirement i : bkm.getKnowledgeRequirement()) {
writeChildrenNode(writer, context, i, KNOWLEDGE_REQUIREMENT);
}
for (AuthorityRequirement a : bkm.getAuthorityRequirement()) {
writeChildrenNode(writer, context, a, AUTHORITY_REQUIREMENT);
}
}
use of org.kie.dmn.model.api.BusinessKnowledgeModel 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.BusinessKnowledgeModel in project drools by kiegroup.
the class BusinessKnowledgeModelConverter method writeChildren.
@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
super.writeChildren(writer, context, parent);
BusinessKnowledgeModel bkm = (BusinessKnowledgeModel) parent;
if (bkm.getEncapsulatedLogic() != null)
writeChildrenNode(writer, context, bkm.getEncapsulatedLogic(), ENCAPSULATED_LOGIC);
// Now as Invocable: if (bkm.getVariable() != null) writeChildrenNode(writer, context, bkm.getVariable(), VARIABLE);
for (KnowledgeRequirement i : bkm.getKnowledgeRequirement()) {
writeChildrenNode(writer, context, i, KNOWLEDGE_REQUIREMENT);
}
for (AuthorityRequirement a : bkm.getAuthorityRequirement()) {
writeChildrenNode(writer, context, a, AUTHORITY_REQUIREMENT);
}
}
use of org.kie.dmn.model.api.BusinessKnowledgeModel in project drools by kiegroup.
the class DMNEvaluatorCompiler method inferTypeRef.
public static BaseDMNTypeImpl inferTypeRef(DMNModelImpl model, DecisionTable dt, OutputClause oc) {
BaseDMNTypeImpl typeRef = (BaseDMNTypeImpl) model.getTypeRegistry().unknown();
if (oc.getTypeRef() != null) {
QName outputExpressionTypeRef = oc.getTypeRef();
QName resolvedOutputExpressionTypeRef = DMNCompilerImpl.getNamespaceAndName(oc, model.getImportAliasesForNS(), outputExpressionTypeRef, model.getNamespace());
typeRef = (BaseDMNTypeImpl) model.getTypeRegistry().resolveType(resolvedOutputExpressionTypeRef.getNamespaceURI(), resolvedOutputExpressionTypeRef.getLocalPart());
if (typeRef == null) {
typeRef = (BaseDMNTypeImpl) model.getTypeRegistry().unknown();
}
} else if (dt.getOutput().size() == 1 && (dt.getParent() instanceof Decision || dt.getParent() instanceof BusinessKnowledgeModel || dt.getParent() instanceof ContextEntry)) {
QName inferredTypeRef = recurseUpToInferTypeRef(model, oc, dt);
// if inferredTypeRef is null, a std err will have been reported
if (inferredTypeRef != null) {
QName resolvedInferredTypeRef = DMNCompilerImpl.getNamespaceAndName(oc, model.getImportAliasesForNS(), inferredTypeRef, model.getNamespace());
typeRef = (BaseDMNTypeImpl) model.getTypeRegistry().resolveType(resolvedInferredTypeRef.getNamespaceURI(), resolvedInferredTypeRef.getLocalPart());
}
}
return typeRef;
}
Aggregations