Program: 107209
Project: 107209
Buggy source:
@Override public List<UserAccountVO> searchForUsers(ListUsersCmd cmd) throws PermissionDeniedException {
  Account account=UserContext.current().getCaller();
  Long domainId=cmd.getDomainId();
  if (domainId != null) {
    if ((account != null) && !_domainDao.isChildDomain(account.getDomainId(),domainId)) {
      throw new PermissionDeniedException("String_Node_Str" + domainId + "String_Node_Str");
    }
  }
 else {
    domainId=((account == null) ? DomainVO.ROOT_DOMAIN : account.getDomainId());
  }
  Filter searchFilter=new Filter(UserAccountVO.class,"String_Node_Str",true,cmd.getStartIndex(),cmd.getPageSizeVal());
  Long id=cmd.getId();
  Object username=cmd.getUsername();
  Object type=cmd.getAccountType();
  Object accountName=cmd.getAccountName();
  Object state=cmd.getState();
  Object keyword=cmd.getKeyword();
  SearchBuilder<UserAccountVO> sb=_userAccountDao.createSearchBuilder();
  sb.and("String_Node_Str",sb.entity().getUsername(),SearchCriteria.Op.LIKE);
  if (id != null && id == 1) {
    List<UserAccountVO> emptyList=new ArrayList<UserAccountVO>();
    return emptyList;
  }
 else   if (id != null) {
    sb.and("String_Node_Str",sb.entity().getId(),SearchCriteria.Op.EQ);
  }
 else {
    sb.and("String_Node_Str",sb.entity().getId(),SearchCriteria.Op.NEQ);
  }
  sb.and("String_Node_Str",sb.entity().getType(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getDomainId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getAccountName(),SearchCriteria.Op.LIKE);
  sb.and("String_Node_Str",sb.entity().getState(),SearchCriteria.Op.EQ);
  if ((accountName == null) && (domainId != null)) {
    SearchBuilder<DomainVO> domainSearch=_domainDao.createSearchBuilder();
    domainSearch.and("String_Node_Str",domainSearch.entity().getPath(),SearchCriteria.Op.LIKE);
    sb.join("String_Node_Str",domainSearch,sb.entity().getDomainId(),domainSearch.entity().getId(),JoinBuilder.JoinType.INNER);
  }
  SearchCriteria<UserAccountVO> sc=sb.create();
  if (keyword != null) {
    SearchCriteria<UserAccountVO> ssc=_userAccountDao.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");
    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");
    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 (username != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + username + "String_Node_Str");
  }
  if (id != null) {
    sc.setParameters("String_Node_Str",id);
  }
 else {
    sc.setParameters("String_Node_Str",1);
  }
  if (type != null) {
    sc.setParameters("String_Node_Str",type);
  }
  if (accountName != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + accountName + "String_Node_Str");
    if (domainId != null) {
      sc.setParameters("String_Node_Str",domainId);
    }
  }
 else   if (domainId != null) {
    DomainVO domainVO=_domainDao.findById(domainId);
    sc.setJoinParameters("String_Node_Str","String_Node_Str",domainVO.getPath() + "String_Node_Str");
  }
  if (state != null) {
    sc.setParameters("String_Node_Str",state);
  }
  return _userAccountDao.search(sc,searchFilter);
}

Fixed version (ground truth):
@Override public List<UserAccountVO> searchForUsers(ListUsersCmd cmd) throws PermissionDeniedException {
  Account account=UserContext.current().getCaller();
  Long domainId=cmd.getDomainId();
  if (domainId != null) {
    if ((account != null) && !_domainDao.isChildDomain(account.getDomainId(),domainId)) {
      throw new PermissionDeniedException("String_Node_Str" + domainId + "String_Node_Str");
    }
  }
 else {
    domainId=((account == null) ? DomainVO.ROOT_DOMAIN : account.getDomainId());
  }
  Filter searchFilter=new Filter(UserAccountVO.class,"String_Node_Str",true,cmd.getStartIndex(),cmd.getPageSizeVal());
  Long id=cmd.getId();
  Object username=cmd.getUsername();
  Object type=cmd.getAccountType();
  Object accountName=cmd.getAccountName();
  Object state=cmd.getState();
  Object keyword=cmd.getKeyword();
  SearchBuilder<UserAccountVO> sb=_userAccountDao.createSearchBuilder();
  sb.and("String_Node_Str",sb.entity().getUsername(),SearchCriteria.Op.LIKE);
  if (id != null && id == 1) {
    List<UserAccountVO> emptyList=new ArrayList<UserAccountVO>();
    return emptyList;
  }
 else   if (id != null) {
    sb.and("String_Node_Str",sb.entity().getId(),SearchCriteria.Op.EQ);
  }
 else {
    sb.and("String_Node_Str",sb.entity().getId(),SearchCriteria.Op.NEQ);
  }
  sb.and("String_Node_Str",sb.entity().getType(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getDomainId(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getAccountName(),SearchCriteria.Op.EQ);
  sb.and("String_Node_Str",sb.entity().getState(),SearchCriteria.Op.EQ);
  if ((accountName == null) && (domainId != null)) {
    SearchBuilder<DomainVO> domainSearch=_domainDao.createSearchBuilder();
    domainSearch.and("String_Node_Str",domainSearch.entity().getPath(),SearchCriteria.Op.LIKE);
    sb.join("String_Node_Str",domainSearch,sb.entity().getDomainId(),domainSearch.entity().getId(),JoinBuilder.JoinType.INNER);
  }
  SearchCriteria<UserAccountVO> sc=sb.create();
  if (keyword != null) {
    SearchCriteria<UserAccountVO> ssc=_userAccountDao.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");
    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");
    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 (username != null) {
    sc.setParameters("String_Node_Str","String_Node_Str" + username + "String_Node_Str");
  }
  if (id != null) {
    sc.setParameters("String_Node_Str",id);
  }
 else {
    sc.setParameters("String_Node_Str",1);
  }
  if (type != null) {
    sc.setParameters("String_Node_Str",type);
  }
  if (accountName != null) {
    sc.setParameters("String_Node_Str",accountName);
    if (domainId != null) {
      sc.setParameters("String_Node_Str",domainId);
    }
  }
 else   if (domainId != null) {
    DomainVO domainVO=_domainDao.findById(domainId);
    sc.setJoinParameters("String_Node_Str","String_Node_Str",domainVO.getPath() + "String_Node_Str");
  }
  if (state != null) {
    sc.setParameters("String_Node_Str",state);
  }
  return _userAccountDao.search(sc,searchFilter);
}