Program: 124146
Project: 124146
Buggy source:
/** 
 * DOC zli Comment method "getUrl".
 * @param process
 */
private static String getUrl(IProcess process){
  String processDBType=(String)process.getElementParameter(EParameterName.DB_TYPE.getName()).getValue();
  if (StatsAndLogsConstants.JDBC_OUTPUT.equals(processDBType)) {
    IElementParameter urlParam=process.getElementParameter(EParameterName.URL.getName());
    if (urlParam != null && urlParam.getValue() != null) {
      return urlParam.getValue().toString();
    }
  }
  int indexOfItemFromList=process.getElementParameter(EParameterName.DB_TYPE.getName()).getIndexOfItemFromList(processDBType);
  String[] listItemsDisplayName=process.getElementParameter(EParameterName.DB_TYPE.getName()).getListItemsDisplayName();
  processDBType=listItemsDisplayName[indexOfItemFromList];
  IElementParameter param=process.getElementParameter(EParameterName.FILENAME.getName());
  final String empty="String_Node_Str";
  String processDBFileName=empty;
  if (param != null) {
    processDBFileName=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.DATASOURCE.getName());
  String processDBDatasouce=empty;
  if (param != null) {
    processDBDatasouce=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.DBNAME.getName());
  String processDBName=empty;
  if (param != null) {
    processDBName=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.HOST.getName());
  String processHost=empty;
  if (param != null) {
    processHost=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.PORT.getName());
  String processDBPort=empty;
  if (param != null) {
    processDBPort=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.PASS.getName());
  String processDBPass=empty;
  if (param != null) {
    processDBPass=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.SCHEMA_DB.getName());
  String processDBSID=empty;
  if (param != null) {
    processDBSID=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.USER.getName());
  String processDBUser=empty;
  if (param != null) {
    processDBUser=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.PROPERTIES.getName());
  String processDBAdditionParameters=empty;
  if (param != null) {
    processDBAdditionParameters=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.DB_VERSION.getName());
  String processDBVersion=empty;
  if (param != null) {
    processDBVersion=(String)param.getValue();
  }
  if (processDBType.equals("String_Node_Str")) {
    processDBSID=processDBName;
  }
  String dbURL=DatabaseConnStrUtil.getURLString(true,processDBType,processDBVersion,processHost,processDBUser,processDBPass,processDBPort,processDBSID,processDBFileName,processDBDatasouce,processDBFileName,processDBAdditionParameters);
  return dbURL;
}

Fixed version (ground truth):
/** 
 * DOC zli Comment method "getUrl".
 * @param process
 */
private static String getUrl(IProcess process){
  String processDBType=(String)process.getElementParameter(EParameterName.DB_TYPE.getName()).getValue();
  if (StatsAndLogsConstants.JDBC_OUTPUT.equals(processDBType)) {
    IElementParameter urlParam=process.getElementParameter(EParameterName.URL.getName());
    if (urlParam != null && urlParam.getValue() != null) {
      return urlParam.getValue().toString();
    }
  }
  int indexOfItemFromList=process.getElementParameter(EParameterName.DB_TYPE.getName()).getIndexOfItemFromList(processDBType);
  String[] listItemsDisplayName=process.getElementParameter(EParameterName.DB_TYPE.getName()).getListItemsDisplayName();
  processDBType=listItemsDisplayName[indexOfItemFromList];
  IElementParameter param=process.getElementParameter(EParameterName.DBFILE.getName());
  final String empty="String_Node_Str";
  String processDBFileName=empty;
  if (param != null) {
    processDBFileName=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.DATASOURCE.getName());
  String processDBDatasouce=empty;
  if (param != null) {
    processDBDatasouce=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.DBNAME.getName());
  String processDBName=empty;
  if (param != null) {
    processDBName=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.HOST.getName());
  String processHost=empty;
  if (param != null) {
    processHost=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.PORT.getName());
  String processDBPort=empty;
  if (param != null) {
    processDBPort=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.PASS.getName());
  String processDBPass=empty;
  if (param != null) {
    processDBPass=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.SCHEMA_DB.getName());
  String processDBSID=empty;
  if (param != null) {
    processDBSID=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.USER.getName());
  String processDBUser=empty;
  if (param != null) {
    processDBUser=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.PROPERTIES.getName());
  String processDBAdditionParameters=empty;
  if (param != null) {
    processDBAdditionParameters=(String)param.getValue();
  }
  param=process.getElementParameter(EParameterName.DB_VERSION.getName());
  String processDBVersion=empty;
  if (param != null) {
    processDBVersion=(String)param.getValue();
  }
  if (processDBType.equals("String_Node_Str")) {
    processDBSID=processDBName;
  }
  String dbURL=DatabaseConnStrUtil.getURLString(true,processDBType,processDBVersion,processHost,processDBUser,processDBPass,processDBPort,processDBSID,processDBFileName,processDBDatasouce,processDBFileName,processDBAdditionParameters);
  return dbURL;
}