errors.add(new ProcessValidationErrorImpl(process,
"State node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection"));
}
}
else if (node instanceof SubProcessNode) {
final SubProcessNode subProcess = (SubProcessNode) node;
if (subProcess.getFrom() == null && !acceptsNoIncomingConnections(node)) {
errors.add(new ProcessValidationErrorImpl(process,
"SubProcess node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection."));
}
if (subProcess.getTo() == null && !acceptsNoOutgoingConnections(node)) {
errors.add(new ProcessValidationErrorImpl(process,
"SubProcess node '" + node.getName() + "' [" + node.getId() + "] has no outgoing connection."));
}
if (subProcess.getProcessId() == null) {
errors.add(new ProcessValidationErrorImpl(process,
"SubProcess node '" + node.getName() + "' [" + node.getId() + "] has no process id."));
}
if (subProcess.getTimers() != null) {
for (Timer timer: subProcess.getTimers().keySet()) {
validateTimer(timer, node, process, errors);
}
}
} else if (node instanceof ActionNode) {
final ActionNode actionNode = (ActionNode) node;