"Join node '" + node.getName() + "' [" + node.getId() + "] has illegal n value: " + n));
}
}
}
} else if (node instanceof MilestoneNode) {
final MilestoneNode milestone = (MilestoneNode) node;
if (milestone.getFrom() == null && !acceptsNoIncomingConnections(node)) {
errors.add(new ProcessValidationErrorImpl(process,
"Milestone node '" + node.getName() + "' [" + node.getId() + "] has no incoming connection."));
}
if (milestone.getTo() == null && !acceptsNoOutgoingConnections(node)) {
errors.add( new ProcessValidationErrorImpl(process,
"Milestone node '" + node.getName() + "' [" + node.getId() + "] has no outgoing connection."));
}
if (milestone.getConstraint() == null) {
errors.add( new ProcessValidationErrorImpl(process,
"Milestone node '" + node.getName() + "' [" + node.getId() + "] has no constraint."));
}
if (milestone.getTimers() != null) {
for (Timer timer: milestone.getTimers().keySet()) {
validateTimer(timer, node, process, errors);
}
}
} else if (node instanceof StateNode) {
final StateNode stateNode = (StateNode) node;