}
if ( milestone.getConstraint() == null ) {
errors.add( new RuleFlowProcessValidationErrorImpl( RuleFlowProcessValidationError.MILESTONE_WITHOUT_CONSTRAINT, "name = " + milestone.getName() ) );
}
} else if ( node instanceof SubFlowNode ) {
final SubFlowNode subFlow = (SubFlowNode) node;
if ( subFlow.getFrom() == null ) {
errors.add( new RuleFlowProcessValidationErrorImpl( RuleFlowProcessValidationError.SUBFLOW_NODE_WITHOUT_INCOMING_CONNECTIONS, "name = " + subFlow.getName() ) );
}
if ( subFlow.getTo() == null ) {
errors.add( new RuleFlowProcessValidationErrorImpl( RuleFlowProcessValidationError.SUBFLOW_NODE_WITHOUT_OUTGOING_CONNECTIONS, "name = " + subFlow.getName() ) );
}
if ( subFlow.getProcessId() == null ) {
errors.add( new RuleFlowProcessValidationErrorImpl( RuleFlowProcessValidationError.SUBFLOW_WITHOUT_PROCESS_ID, "name = " + subFlow.getName() ) );
}
} else if ( node instanceof ActionNode ) {
final ActionNode actionNode = (ActionNode) node;
if ( actionNode.getFrom() == null ) {
errors.add( new RuleFlowProcessValidationErrorImpl( RuleFlowProcessValidationError.ACTION_NODE_WITHOUT_INCOMING_CONNECTIONS, "name = " + actionNode.getName() ) );