Program: 137323
Project: 137323
Buggy source:
/** 
 * @param outputFolder
 * @throws DataprofilerCoreException
 */
@Override public void saveAnalysis() throws DataprofilerCoreException {
  IRepositoryViewObject reposObject=null;
  analysisHandler.clearAnalysis();
  ModelElementIndicator[] modelElementIndicators=this.getCurrentModelElementIndicators();
  Connection tdProvider=null;
  Analysis analysis=analysisHandler.getAnalysis();
  for (  Domain domain : this.analysisItem.getAnalysis().getParameters().getDataFilter()) {
    domain.setName(this.analysisItem.getAnalysis().getName());
  }
  analysis.getParameters().setExecutionLanguage(ExecutionLanguage.get(execLang));
  try {
    Integer.valueOf(numberOfConnectionsPerAnalysisText.getText());
  }
 catch (  NumberFormatException nfe) {
    MessageDialogWithToggle.openError(null,DefaultMessagesImpl.getString("String_Node_Str"),DefaultMessagesImpl.getString("String_Node_Str",DefaultMessagesImpl.getString("String_Node_Str")));
    String originalValue=TaggedValueHelper.getTaggedValue(TdqAnalysisConnectionPool.NUMBER_OF_CONNECTIONS_PER_ANALYSIS,this.analysisItem.getAnalysis().getTaggedValue()).getValue();
    numberOfConnectionsPerAnalysisText.setText(originalValue);
  }
  this.saveNumberOfConnectionsPerAnalysis();
  try {
    analysis.getParameters().setMaxNumberRows(Integer.parseInt(maxNumText.getText()));
  }
 catch (  NumberFormatException nfe) {
    MessageDialogWithToggle.openError(null,DefaultMessagesImpl.getString("String_Node_Str"),DefaultMessagesImpl.getString("String_Node_Str",DefaultMessagesImpl.getString("String_Node_Str")));
    maxNumText.setText(String.valueOf(analysis.getParameters().getMaxNumberRows()));
  }
  analysis.getParameters().setMaxNumberRows(analysis.getParameters().getMaxNumberRows());
  analysis.getParameters().setStoreData(drillDownCheck.getSelection());
  if (modelElementIndicators != null && modelElementIndicators.length != 0) {
    tdProvider=ModelElementIndicatorHelper.getTdDataProvider(modelElementIndicators[0]);
    if (tdProvider.eIsProxy()) {
      tdProvider=(Connection)EObjectHelper.resolveObject(tdProvider);
    }
    analysis.getContext().setConnection(tdProvider);
    for (    ModelElementIndicator modelElementIndicator : modelElementIndicators) {
      reposObject=modelElementIndicator.getModelElementRepositoryNode().getObject();
      ModelElement modelEle=null;
      if (reposObject instanceof MetadataColumnRepositoryObject) {
        modelEle=((MetadataColumnRepositoryObject)reposObject).getTdColumn();
      }
 else       if (reposObject instanceof MetadataXmlElementTypeRepositoryObject) {
        modelEle=((MetadataXmlElementTypeRepositoryObject)reposObject).getTdXmlElementType();
      }
      analysisHandler.addIndicator(modelEle,modelElementIndicator.getIndicators());
      DataminingType type=MetadataHelper.getDataminingType(modelEle);
      if (type == null) {
        type=MetadataHelper.getDefaultDataminingType(modelElementIndicator.getJavaType());
      }
      analysisHandler.setDatamingType(type.getLiteral(),modelEle);
    }
  }
 else {
    deleteConnectionDependency(analysisItem);
  }
  analysisHandler.setStringDataFilter(dataFilterComp.getDataFilterString());
  ReturnCode saved=new ReturnCode(false);
  this.nameText.setText(analysisHandler.getName());
  HashSet<ModelElement> removedElements=treeViewer.getRemovedElements();
  if (!removedElements.isEmpty()) {
    DependenciesHandler.getInstance().removeDependenciesBetweenModels(analysis,new ArrayList<ModelElement>(removedElements));
  }
  saved=ElementWriterFactory.getInstance().createAnalysisWrite().save(analysisItem,true);
  if (saved.isOk() && !removedElements.isEmpty()) {
    saveRemovedElements();
  }
  logSaved(saved);
  treeViewer.setDirty(false);
  dataFilterComp.setDirty(false);
}

Fixed version (ground truth):
/** 
 * @param outputFolder
 * @throws DataprofilerCoreException
 */
@Override public void saveAnalysis() throws DataprofilerCoreException {
  IRepositoryViewObject reposObject=null;
  analysisHandler.clearAnalysis();
  ModelElementIndicator[] modelElementIndicators=this.getCurrentModelElementIndicators();
  Connection tdProvider=null;
  Analysis analysis=analysisHandler.getAnalysis();
  for (  Domain domain : this.analysisItem.getAnalysis().getParameters().getDataFilter()) {
    domain.setName(this.analysisItem.getAnalysis().getName());
  }
  analysis.getParameters().setExecutionLanguage(ExecutionLanguage.get(execLang));
  try {
    Integer.valueOf(numberOfConnectionsPerAnalysisText.getText());
  }
 catch (  NumberFormatException nfe) {
    MessageDialogWithToggle.openError(null,DefaultMessagesImpl.getString("String_Node_Str"),DefaultMessagesImpl.getString("String_Node_Str",DefaultMessagesImpl.getString("String_Node_Str")));
    String originalValue=TaggedValueHelper.getTaggedValue(TdqAnalysisConnectionPool.NUMBER_OF_CONNECTIONS_PER_ANALYSIS,this.analysisItem.getAnalysis().getTaggedValue()).getValue();
    numberOfConnectionsPerAnalysisText.setText(originalValue);
  }
  this.saveNumberOfConnectionsPerAnalysis();
  try {
    analysis.getParameters().setMaxNumberRows(Integer.parseInt(maxNumText.getText()));
  }
 catch (  NumberFormatException nfe) {
    MessageDialogWithToggle.openError(null,DefaultMessagesImpl.getString("String_Node_Str"),DefaultMessagesImpl.getString("String_Node_Str",DefaultMessagesImpl.getString("String_Node_Str")));
    maxNumText.setText(String.valueOf(analysis.getParameters().getMaxNumberRows()));
  }
  analysis.getParameters().setMaxNumberRows(analysis.getParameters().getMaxNumberRows());
  analysis.getParameters().setStoreData(drillDownCheck.getSelection());
  if (modelElementIndicators != null && modelElementIndicators.length != 0) {
    tdProvider=ModelElementIndicatorHelper.getTdDataProvider(modelElementIndicators[0]);
    if (tdProvider.eIsProxy()) {
      tdProvider=(Connection)EObjectHelper.resolveObject(tdProvider);
    }
    analysis.getContext().setConnection(tdProvider);
    for (    ModelElementIndicator modelElementIndicator : modelElementIndicators) {
      reposObject=modelElementIndicator.getModelElementRepositoryNode().getObject();
      ModelElement modelEle=null;
      if (reposObject instanceof MetadataColumnRepositoryObject) {
        modelEle=((MetadataColumnRepositoryObject)reposObject).getTdColumn();
      }
 else       if (reposObject instanceof MetadataXmlElementTypeRepositoryObject) {
        modelEle=((MetadataXmlElementTypeRepositoryObject)reposObject).getTdXmlElementType();
      }
      analysisHandler.addIndicator(modelEle,modelElementIndicator.getIndicators());
      DataminingType type=MetadataHelper.getDataminingType(modelEle);
      if (type == null) {
        type=MetadataHelper.getDefaultDataminingType(modelElementIndicator.getJavaType());
      }
      analysisHandler.setDatamingType(type.getLiteral(),modelEle);
    }
  }
 else {
    deleteConnectionDependency(analysisItem);
  }
  analysisHandler.setStringDataFilter(dataFilterComp.getDataFilterString());
  ReturnCode saved=new ReturnCode(false);
  this.nameText.setText(analysisHandler.getName());
  saved=ElementWriterFactory.getInstance().createAnalysisWrite().save(analysisItem,true);
  logSaved(saved);
  treeViewer.setDirty(false);
  dataFilterComp.setDirty(false);
}