Program: 140019
Project: 140019
Buggy source:
/** 
 * @param outputFolder
 * @throws DataprofilerCoreException
 */
public void saveAnalysis() throws DataprofilerCoreException {
  if (columnSetMultiIndicator.getAnalyzedColumns().size() != 0) {
    indicatorIsBlank=false;
  }
  columnCorrelationAnalysisHandler.clearAnalysis();
  columnSetMultiIndicator.getAnalyzedColumns().clear();
  List<String> comboStringList=new ArrayList<String>();
  List<String> correctString=new ArrayList<String>();
  List<Column> columnSetMultiValueList=treeViewer.getColumnSetMultiValueList();
  for (int i=0; i < columnSetMultiValueList.size(); i++) {
    TdColumn tdColumn=(TdColumn)columnSetMultiValueList.get(i);
    if (columnSetMultiIndicator instanceof CountAvgNullIndicator && Java2SqlType.isDateInSQL(tdColumn.getJavaType())) {
      MessageDialog.openWarning(new Shell(),"String_Node_Str","String_Node_Str");
      return;
    }
 else     if (columnSetMultiIndicator instanceof MinMaxDateIndicator && Java2SqlType.isNumbericInSQL(tdColumn.getJavaType())) {
      MessageDialog.openWarning(new Shell(),"String_Node_Str","String_Node_Str");
      return;
    }
    String comboString=MetadataHelper.getDataminingType(tdColumn).getLiteral();
    comboStringList.add(comboString);
  }
  boolean isSave=true;
  correctString.add(DataminingType.NOMINAL.getLiteral());
  correctString.add(DataminingType.INTERVAL.getLiteral());
  for (  String combo : comboStringList) {
    if (!correctString.contains(combo)) {
      isSave=false;
      break;
    }
  }
  if (!isSave) {
    MessageDialog.openWarning(new Shell(),"String_Node_Str","String_Node_Str");
  }
 else {
    TdDataProvider tdProvider=null;
    EList<ModelElement> tdColumns=columnCorrelationAnalysisHandler.getAnalyzedColumns();
    if (columnSetMultiValueList != null) {
      if (columnSetMultiValueList.size() != 0) {
        tdProvider=DataProviderHelper.getTdDataProvider(SwitchHelpers.COLUMN_SWITCH.doSwitch(columnSetMultiValueList.get(0)));
        analysis.getContext().setConnection(tdProvider);
        columnSetMultiIndicator.getAnalyzedColumns().addAll(columnSetMultiValueList);
      }
      columnCorrelationAnalysisHandler.addIndicator(columnSetMultiValueList,columnSetMultiIndicator);
    }
    columnCorrelationAnalysisHandler.setStringDataFilter(dataFilterComp.getDataFilterString());
    String urlString=analysis.eResource() != null ? analysis.eResource().getURI().toFileString() : PluginConstant.EMPTY_STRING;
    ReturnCode saved=AnaResourceFileHelper.getInstance().save(analysis);
    if (saved.isOk()) {
      if (tdProvider != null) {
        PrvResourceFileHelper.getInstance().save(tdProvider);
      }
      if (log.isDebugEnabled()) {
        log.debug("String_Node_Str" + urlString + "String_Node_Str");
      }
    }
 else {
      throw new DataprofilerCoreException(DefaultMessagesImpl.getString("String_Node_Str",analysis.getName(),urlString,saved.getMessage()));
    }
    treeViewer.setDirty(false);
    dataFilterComp.setDirty(false);
  }
}

Fixed version (ground truth):
/** 
 * @param outputFolder
 * @throws DataprofilerCoreException
 */
public void saveAnalysis() throws DataprofilerCoreException {
  columnCorrelationAnalysisHandler.clearAnalysis();
  columnSetMultiIndicator.getAnalyzedColumns().clear();
  List<String> comboStringList=new ArrayList<String>();
  List<String> correctString=new ArrayList<String>();
  List<Column> columnSetMultiValueList=treeViewer.getColumnSetMultiValueList();
  for (int i=0; i < columnSetMultiValueList.size(); i++) {
    TdColumn tdColumn=(TdColumn)columnSetMultiValueList.get(i);
    if (columnSetMultiIndicator instanceof CountAvgNullIndicator && Java2SqlType.isDateInSQL(tdColumn.getJavaType())) {
      MessageDialog.openWarning(new Shell(),"String_Node_Str","String_Node_Str");
      return;
    }
 else     if (columnSetMultiIndicator instanceof MinMaxDateIndicator && Java2SqlType.isNumbericInSQL(tdColumn.getJavaType())) {
      MessageDialog.openWarning(new Shell(),"String_Node_Str","String_Node_Str");
      return;
    }
    String comboString=MetadataHelper.getDataminingType(tdColumn).getLiteral();
    comboStringList.add(comboString);
  }
  boolean isSave=true;
  correctString.add(DataminingType.NOMINAL.getLiteral());
  correctString.add(DataminingType.INTERVAL.getLiteral());
  for (  String combo : comboStringList) {
    if (!correctString.contains(combo)) {
      isSave=false;
      break;
    }
  }
  if (!isSave) {
    MessageDialog.openWarning(new Shell(),"String_Node_Str","String_Node_Str");
  }
 else {
    TdDataProvider tdProvider=null;
    EList<ModelElement> tdColumns=columnCorrelationAnalysisHandler.getAnalyzedColumns();
    if (columnSetMultiValueList != null) {
      if (columnSetMultiValueList.size() != 0) {
        tdProvider=DataProviderHelper.getTdDataProvider(SwitchHelpers.COLUMN_SWITCH.doSwitch(columnSetMultiValueList.get(0)));
        analysis.getContext().setConnection(tdProvider);
        columnSetMultiIndicator.getAnalyzedColumns().addAll(columnSetMultiValueList);
      }
      columnCorrelationAnalysisHandler.addIndicator(columnSetMultiValueList,columnSetMultiIndicator);
    }
    columnCorrelationAnalysisHandler.setStringDataFilter(dataFilterComp.getDataFilterString());
    String urlString=analysis.eResource() != null ? analysis.eResource().getURI().toFileString() : PluginConstant.EMPTY_STRING;
    ReturnCode saved=AnaResourceFileHelper.getInstance().save(analysis);
    if (saved.isOk()) {
      if (tdProvider != null) {
        PrvResourceFileHelper.getInstance().save(tdProvider);
      }
      if (log.isDebugEnabled()) {
        log.debug("String_Node_Str" + urlString + "String_Node_Str");
      }
    }
 else {
      throw new DataprofilerCoreException(DefaultMessagesImpl.getString("String_Node_Str",analysis.getName(),urlString,saved.getMessage()));
    }
    treeViewer.setDirty(false);
    dataFilterComp.setDirty(false);
  }
}