Program: 106390
Project: 106390
Buggy source:
private List<HostVO> searchForServers(Long startIndex,Long pageSize,Object name,Object type,Object state,Object zone,Object pod,Object cluster,Object id,Object keyword,Object resourceState,Object haHosts){
  Filter searchFilter=new Filter(HostVO.class,"String_Node_Str",Boolean.TRUE,startIndex,pageSize);
  SearchBuilder<HostVO> sb=_hostDao.createSearchBuilder();
  sb.and("String_Node_Str",sb.entity().getId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getName(),SearchCriteria.Op.LIKE);
  sb.and("String_Node_Str",sb.entity().getType(),SearchCriteria.Op.LIKE);
  sb.and("String_Node_Str",sb.entity().getStatus(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getDataCenterId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getPodId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getClusterId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getResourceState(),SearchCriteria.Op.EQ);
  String haTag=_haMgr.getHaTag();
  SearchBuilder<HostTagVO> hostTagSearch=null;
  if (haHosts != null && haTag != null && !haTag.isEmpty()) {
    hostTagSearch=_hostTagsDao.createSearchBuilder();
    if ((Boolean)haHosts) {
      hostTagSearch.and().op("String_Node_Str",hostTagSearch.entity().getTag(),SearchCriteria.Op.EQ);
    }
 else {
      hostTagSearch.and().op("String_Node_Str",hostTagSearch.entity().getTag(),SearchCriteria.Op.NEQ);
      hostTagSearch.or("String_Node_Str",hostTagSearch.entity().getTag(),SearchCriteria.Op.NULL);
    }
    hostTagSearch.cp();
    sb.join("String_Node_Str",hostTagSearch,sb.entity().getId(),hostTagSearch.entity().getHostId(),JoinBuilder.JoinType.LEFTOUTER);
  }
  SearchCriteria<HostVO> sc=sb.create();
  if (keyword != null) {
    SearchCriteria<HostVO> ssc=_hostDao.createSearchCriteria();
    ssc.addOr("String_Node_Str",SearchCriteria.Op.LIKE,"String_Node_Str" + keyword + "String_Node_Str");
    ssc.addOr("String_Node_Str",SearchCriteria.Op.LIKE,"String_Node_Str" + keyword + "String_Node_Str");
    ssc.addOr("String_Node_Str",SearchCriteria.Op.LIKE,"String_Node_Str" + keyword + "String_Node_Str");
    sc.addAnd("String_Node_Str",SearchCriteria.Op.SC,ssc);
  }
  if (id != null) {
    sc.setParameters("String_Node_Str",id);
  }
  if (name != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + name + "String_Node_Str");
  }
  if (type != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + type);
  }
  if (state != null) {
    sc.setParameters("String_Node_Str",state);
  }
  if (zone != null) {
    sc.setParameters("String_Node_Str",zone);
  }
  if (pod != null) {
    sc.setParameters("String_Node_Str",pod);
  }
  if (cluster != null) {
    sc.setParameters("String_Node_Str",cluster);
  }
  if (resourceState != null) {
    sc.setParameters("String_Node_Str",resourceState);
  }
  if (haHosts != null && haTag != null && !haTag.isEmpty()) {
    sc.setJoinParameters("String_Node_Str","String_Node_Str",haTag);
  }
  return _hostDao.search(sc,searchFilter);
}

Fixed version (ground truth):
private Pair<List<HostVO>,Integer> searchForServers(Long startIndex,Long pageSize,Object name,Object type,Object state,Object zone,Object pod,Object cluster,Object id,Object keyword,Object resourceState,Object haHosts){
  Filter searchFilter=new Filter(HostVO.class,"String_Node_Str",Boolean.TRUE,startIndex,pageSize);
  SearchBuilder<HostVO> sb=_hostDao.createSearchBuilder();
  sb.and("String_Node_Str",sb.entity().getId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getName(),SearchCriteria.Op.LIKE);
  sb.and("String_Node_Str",sb.entity().getType(),SearchCriteria.Op.LIKE);
  sb.and("String_Node_Str",sb.entity().getStatus(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getDataCenterId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getPodId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getClusterId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getResourceState(),SearchCriteria.Op.EQ);
  String haTag=_haMgr.getHaTag();
  SearchBuilder<HostTagVO> hostTagSearch=null;
  if (haHosts != null && haTag != null && !haTag.isEmpty()) {
    hostTagSearch=_hostTagsDao.createSearchBuilder();
    if ((Boolean)haHosts) {
      hostTagSearch.and().op("String_Node_Str",hostTagSearch.entity().getTag(),SearchCriteria.Op.EQ);
    }
 else {
      hostTagSearch.and().op("String_Node_Str",hostTagSearch.entity().getTag(),SearchCriteria.Op.NEQ);
      hostTagSearch.or("String_Node_Str",hostTagSearch.entity().getTag(),SearchCriteria.Op.NULL);
    }
    hostTagSearch.cp();
    sb.join("String_Node_Str",hostTagSearch,sb.entity().getId(),hostTagSearch.entity().getHostId(),JoinBuilder.JoinType.LEFTOUTER);
  }
  SearchCriteria<HostVO> sc=sb.create();
  if (keyword != null) {
    SearchCriteria<HostVO> ssc=_hostDao.createSearchCriteria();
    ssc.addOr("String_Node_Str",SearchCriteria.Op.LIKE,"String_Node_Str" + keyword + "String_Node_Str");
    ssc.addOr("String_Node_Str",SearchCriteria.Op.LIKE,"String_Node_Str" + keyword + "String_Node_Str");
    ssc.addOr("String_Node_Str",SearchCriteria.Op.LIKE,"String_Node_Str" + keyword + "String_Node_Str");
    sc.addAnd("String_Node_Str",SearchCriteria.Op.SC,ssc);
  }
  if (id != null) {
    sc.setParameters("String_Node_Str",id);
  }
  if (name != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + name + "String_Node_Str");
  }
  if (type != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + type);
  }
  if (state != null) {
    sc.setParameters("String_Node_Str",state);
  }
  if (zone != null) {
    sc.setParameters("String_Node_Str",zone);
  }
  if (pod != null) {
    sc.setParameters("String_Node_Str",pod);
  }
  if (cluster != null) {
    sc.setParameters("String_Node_Str",cluster);
  }
  if (resourceState != null) {
    sc.setParameters("String_Node_Str",resourceState);
  }
  if (haHosts != null && haTag != null && !haTag.isEmpty()) {
    sc.setJoinParameters("String_Node_Str","String_Node_Str",haTag);
  }
  return _hostDao.searchAndCount(sc,searchFilter);
}