if (endNode.getFrom() == null) {
errors.add(new ProcessValidationErrorImpl(process,
"End node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection."));
}
} else if (node instanceof RuleSetNode) {
final RuleSetNode ruleSetNode = (RuleSetNode) node;
if (ruleSetNode.getFrom() == null && !acceptsNoIncomingConnections(node)) {
errors.add(new ProcessValidationErrorImpl(process,
"RuleSet node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection."));
}
if (ruleSetNode.getTo() == null && !acceptsNoOutgoingConnections(node)) {
errors.add(new ProcessValidationErrorImpl(process,
"RuleSet node '" + node.getName() + "' [" + node.getId() + "] has no outgoing connection."));
}
final String ruleFlowGroup = ruleSetNode.getRuleFlowGroup();
if (ruleFlowGroup == null || "".equals(ruleFlowGroup)) {
errors.add( new ProcessValidationErrorImpl(process,
"RuleSet node '" + node.getName() + "' [" + node.getId() + "] has no ruleflow-group."));
}
if (ruleSetNode.getTimers() != null) {
for (Timer timer: ruleSetNode.getTimers().keySet()) {
validateTimer(timer, node, process, errors);
}
}
} else if (node instanceof Split) {
final Split split = (Split) node;