Program: 126809
Project: 126809
Buggy source:
/** 
 * DOC wzhang Comment method "setDatabaseValue".
 * @param connection
 * @param node
 * @param repositoryValue
 */
private static void setDatabaseValue(DatabaseConnection connection,INode node,String repositoryValue){
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setUsername(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      try {
        connection.setPassword(PasswordEncryptUtil.encryptPassword(TalendQuoteUtils.removeQuotes(value)));
      }
 catch (      Exception e) {
        ExceptionHandler.process(e);
      }
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setServerName(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setPort(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setSID(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      if (connection.getDatabaseType().equals(EDatabaseTypeName.ORACLEFORSID.getDisplayName())) {
        connection.setUiSchema(TalendQuoteUtils.removeQuotes(value.toUpperCase()));
      }
 else {
        connection.setUiSchema(TalendQuoteUtils.removeQuotes(value));
      }
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null && Boolean.valueOf(value).booleanValue()) {
      connection.setCdcTypeMode(CDCTypeMode.LOG_MODE.getName());
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setDBRootPath(value);
    }
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.ORACLEFORSID.getDisplayName())) {
    setDatabaseValueForOracleSid(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.ORACLESN.getDisplayName())) {
    setDatabaseValueForOracleSeverName(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.MYSQL.getDisplayName())) {
    setDatabaseValueForMysql(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.EXASOL.getDisplayName())) {
    setDatabaseValueForEXASolution(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.SYBASEASE.getDisplayName()) || connection.getDatabaseType().equals(EDatabaseTypeName.SYBASEIQ.getDisplayName())) {
    setDatabaseValueForSysbase(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.ACCESS.getDisplayName())) {
    setDatabaseValueForAccess(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.SQLITE.getDisplayName())) {
    setDatabaseValueForSqlite(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.FIREBIRD.getDisplayName())) {
    setDatabaseValueForFileBird(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.AS400.getDisplayName())) {
    setDatabaseValueForAs400(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.VERTICA.getDisplayName())) {
    setDatabaseValueForVertica(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.MSSQL.getDisplayName())) {
    setDatabaseValueForMSSql(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.GODBC.getDisplayName())) {
    setDatabaseValueForDB(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.INGRES.getDisplayName())) {
    setDatabaseValueForIngres(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.INFORMIX.getDisplayName())) {
    setDatabaseValueForInformix(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB.getDisplayName()) || connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB_EMBEDED.getDisplayName()) || connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB_JCCJDBC.getDisplayName())|| connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB_DERBYCLIENT.getDisplayName())) {
    setDatabaseValueForjavadb(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.NETEZZA.getDisplayName())) {
    setDatabaseValueForNetezza(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.GENERAL_JDBC.getDisplayName())) {
    setDatabaseValueForJdbc(connection,node,repositoryValue);
  }
}

Fixed version (ground truth):
/** 
 * DOC wzhang Comment method "setDatabaseValue".
 * @param connection
 * @param node
 * @param repositoryValue
 */
private static void setDatabaseValue(DatabaseConnection connection,INode node,String repositoryValue){
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setUsername(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      try {
        String pwd=TalendQuoteUtils.checkAndRemoveBackslashes(value);
        connection.setPassword(PasswordEncryptUtil.encryptPassword(TalendQuoteUtils.removeQuotes(pwd)));
      }
 catch (      Exception e) {
        ExceptionHandler.process(e);
      }
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setServerName(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setPort(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setSID(TalendQuoteUtils.removeQuotes(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getValueFromRepositoryName(connection,node,"String_Node_Str");
    if (value != null) {
      if (connection.getDatabaseType().equals(EDatabaseTypeName.ORACLEFORSID.getDisplayName())) {
        connection.setUiSchema(TalendQuoteUtils.removeQuotes(value.toUpperCase()));
      }
 else {
        connection.setUiSchema(TalendQuoteUtils.removeQuotes(value));
      }
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null && Boolean.valueOf(value).booleanValue()) {
      connection.setCdcTypeMode(CDCTypeMode.LOG_MODE.getName());
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setDBRootPath(value);
    }
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.ORACLEFORSID.getDisplayName())) {
    setDatabaseValueForOracleSid(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.ORACLESN.getDisplayName())) {
    setDatabaseValueForOracleSeverName(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.MYSQL.getDisplayName())) {
    setDatabaseValueForMysql(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.EXASOL.getDisplayName())) {
    setDatabaseValueForEXASolution(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.SYBASEASE.getDisplayName()) || connection.getDatabaseType().equals(EDatabaseTypeName.SYBASEIQ.getDisplayName())) {
    setDatabaseValueForSysbase(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.ACCESS.getDisplayName())) {
    setDatabaseValueForAccess(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.SQLITE.getDisplayName())) {
    setDatabaseValueForSqlite(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.FIREBIRD.getDisplayName())) {
    setDatabaseValueForFileBird(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.AS400.getDisplayName())) {
    setDatabaseValueForAs400(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.VERTICA.getDisplayName())) {
    setDatabaseValueForVertica(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.MSSQL.getDisplayName())) {
    setDatabaseValueForMSSql(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.GODBC.getDisplayName())) {
    setDatabaseValueForDB(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.INGRES.getDisplayName())) {
    setDatabaseValueForIngres(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.INFORMIX.getDisplayName())) {
    setDatabaseValueForInformix(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB.getDisplayName()) || connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB_EMBEDED.getDisplayName()) || connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB_JCCJDBC.getDisplayName())|| connection.getDatabaseType().equals(EDatabaseTypeName.JAVADB_DERBYCLIENT.getDisplayName())) {
    setDatabaseValueForjavadb(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.NETEZZA.getDisplayName())) {
    setDatabaseValueForNetezza(connection,node,repositoryValue);
  }
  if (connection.getDatabaseType().equals(EDatabaseTypeName.GENERAL_JDBC.getDisplayName())) {
    setDatabaseValueForJdbc(connection,node,repositoryValue);
  }
}