Program: 137808
Project: 137808
Buggy source:
/** 
 * DOC hcheng Comment method "verifyColumn". For 7513,Condition striction when save the correlation analysis.
 * @param columns
 * @param className
 * @return
 */
private String verifyColumn(List<RepositoryNode> columns,EClass className){
  List<TdColumn> invalidCols=new ArrayList<TdColumn>();
  List<TdColumn> nominalCols=new ArrayList<TdColumn>();
  List<TdColumn> intervalCols=new ArrayList<TdColumn>();
  String message=null;
  for (int i=0; i < columns.size(); i++) {
    RepositoryNode tdColumnNode=(RepositoryNode)columns.get(i);
    TdColumn tdColumn=(TdColumn)((MetadataColumnRepositoryObject)tdColumnNode.getObject()).getTdColumn();
    if (className == ColumnsetPackage.eINSTANCE.getCountAvgNullIndicator()) {
      if (Java2SqlType.isDateInSQL(tdColumn.getSqlDataType().getJavaDataType())) {
        invalidCols.add(tdColumn);
        break;
      }
    }
 else     if (className == ColumnsetPackage.eINSTANCE.getMinMaxDateIndicator()) {
      if (Java2SqlType.isNumbericInSQL(tdColumn.getSqlDataType().getJavaDataType())) {
        invalidCols.add(tdColumn);
        break;
      }
    }
    if (correlationAnalysisHandler.getDatamingType(tdColumn) == DataminingType.NOMINAL) {
      nominalCols.add(tdColumn);
    }
    if (correlationAnalysisHandler.getDatamingType(tdColumn) == DataminingType.INTERVAL) {
      intervalCols.add(tdColumn);
    }
  }
  if (invalidCols.size() > 0) {
    if (className == ColumnsetPackage.eINSTANCE.getCountAvgNullIndicator()) {
      message=DefaultMessagesImpl.getString("String_Node_Str");
    }
 else     if (className == ColumnsetPackage.eINSTANCE.getMinMaxDateIndicator()) {
      message=DefaultMessagesImpl.getString("String_Node_Str");
    }
  }
 else   if (nominalCols.size() == 0 || intervalCols.size() == 0) {
    message=DefaultMessagesImpl.getString("String_Node_Str");
  }
  return message;
}

Fixed version (ground truth):
/** 
 * DOC hcheng Comment method "verifyColumn". For 7513,Condition striction when save the correlation analysis.
 * @param columns
 * @param className
 * @return
 */
private String verifyColumn(List<RepositoryNode> columns,EClass className){
  List<TdColumn> invalidCols=new ArrayList<TdColumn>();
  List<TdColumn> nominalCols=new ArrayList<TdColumn>();
  List<TdColumn> intervalCols=new ArrayList<TdColumn>();
  String message=null;
  for (int i=0; i < columns.size(); i++) {
    RepositoryNode tdColumnNode=columns.get(i);
    TdColumn tdColumn=(TdColumn)((MetadataColumnRepositoryObject)tdColumnNode.getObject()).getTdColumn();
    if (className == ColumnsetPackage.eINSTANCE.getCountAvgNullIndicator()) {
      if (Java2SqlType.isDateInSQL(tdColumn.getSqlDataType().getJavaDataType())) {
        invalidCols.add(tdColumn);
        break;
      }
    }
 else     if (className == ColumnsetPackage.eINSTANCE.getMinMaxDateIndicator()) {
      if (Java2SqlType.isNumbericInSQL(tdColumn.getSqlDataType().getJavaDataType())) {
        invalidCols.add(tdColumn);
        break;
      }
    }
    if (correlationAnalysisHandler.getDatamingType(tdColumn) == DataminingType.NOMINAL) {
      nominalCols.add(tdColumn);
    }
    if (correlationAnalysisHandler.getDatamingType(tdColumn) == DataminingType.INTERVAL) {
      intervalCols.add(tdColumn);
    }
  }
  if (invalidCols.size() > 0) {
    if (className == ColumnsetPackage.eINSTANCE.getCountAvgNullIndicator()) {
      message=DefaultMessagesImpl.getString("String_Node_Str");
    }
 else     if (className == ColumnsetPackage.eINSTANCE.getMinMaxDateIndicator()) {
      message=DefaultMessagesImpl.getString("String_Node_Str");
    }
  }
 else   if (nominalCols.size() == 0 || intervalCols.size() == 0) {
    message=DefaultMessagesImpl.getString("String_Node_Str");
  }
  return message;
}