Skip to content

Commit

Permalink
business-calendar
Browse files Browse the repository at this point in the history
  • Loading branch information
Abhitocode committed Oct 4, 2024
1 parent a01e6ea commit 2c2faf5
Showing 1 changed file with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,20 @@ protected Node handleNode(final Node node, final Element element, final String u
}
}

String namespace = parameters.get(NAMESPACE_PROP);
String model = parameters.get(MODEL_PROP);
String decision = parameters.get(DECISION_PROP);
String namespace = parameters.getOrDefault(NAMESPACE_PROP, "defaultNamespace");
String model = parameters.getOrDefault(MODEL_PROP, "defaultModel");
String decision = parameters.getOrDefault(DECISION_PROP, "defaultDecision");
String variableRegex = "#\\{[^}]+}";
if (namespace.matches(variableRegex)) {
namespace = resolveProcessVariable(namespace, parser, element);
}
if (model.matches(variableRegex)) {
model = resolveProcessVariable(model, parser, element);
}
if (decision.matches(variableRegex)) {
decision = resolveProcessVariable(decision, parser, element);
}

ruleSetNode.setRuleType(RuleType.decision(
namespace,
model,
Expand All @@ -94,7 +105,6 @@ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
RuleType ruleType = ruleSetNode.getRuleType();
if (ruleType != null) {
xmlDump.append("g:ruleFlowGroup=\"" + XmlBPMNProcessDumper.replaceIllegalCharsAttribute(ruleType.getName()) + "\" " + EOL);
// else DMN
}

xmlDump.append(" implementation=\"" + XmlBPMNProcessDumper.replaceIllegalCharsAttribute(ruleSetNode.getLanguage()) + "\" >" + EOL);
Expand All @@ -104,4 +114,13 @@ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
endNode("businessRuleTask", xmlDump);
}

private String resolveProcessVariable(String expression, Parser parser, Element element) {

String varName = expression.substring(expression.indexOf("#{") + 2, expression.indexOf("}"));

String variableValue = element.getAttribute(varName);

return expression.replace("#{" + varName + "}", variableValue);
}

}

0 comments on commit 2c2faf5

Please sign in to comment.