@RequestMapping(value = "/wfstepSearch", method = RequestMethod.GET)
  @Scope("request")
  @RequestScoped
  public String searchWFStep(
      @ModelAttribute WFStep wfstepSearch,
      BindingResult bindingResult,
      HttpServletRequest request,
      HttpServletResponse response,
      Model model) {
    response.setCharacterEncoding("UTF-8");

    List<Object[]> list = null;

    List<WFStep> wfstepBean = new ArrayList<WFStep>();

    try {

      String dbField = wfstepSearch.getXmlLabel();
      String operation = wfstepSearch.getOperations();
      String basicSearchId = wfstepSearch.getBasicSearchId();

      if (operation.equals("_%")) {
        operation = " like ";
        basicSearchId = basicSearchId + "%";

      } else if (operation.equals("%_")) {
        operation = " like ";
        basicSearchId = "%" + basicSearchId;

      } else if (operation.equals("%_%")) {
        operation = " like ";
        basicSearchId = "%" + basicSearchId + "%";
      }
      if (basicSearchId == "") {
        list = wfstepService.searchWFStep();
        Iterator<Object[]> iterator = list.iterator();
        while (iterator.hasNext()) {
          WFStep r = new WFStep();
          Object[] object = (Object[]) iterator.next();
          r.setWfstepid((String) object[0]);
          r.setWfstepStageGUID((String) object[1]);
          r.setWfstepStep((String) object[2]);
          r.setWfstepName((String) object[3]);
          r.setWfstepType((String) object[4]);
          r.setWfstepStatus((String) object[5]);
          r.setWfstepAssignedTo((String) object[6]);
          r.setWfstageName((String) object[7]);
          r.setRole((String) object[8]);

          wfstepBean.add(r);
        }
      } else {
        list = wfstepService.basicSearchWFStep(dbField, operation, basicSearchId);
        // list = assertService.searchAssertTypeWithId(id);
        Iterator<Object[]> iterator = list.iterator();
        while (iterator.hasNext()) {
          WFStep r = new WFStep();
          Object[] object = (Object[]) iterator.next();
          r.setWfstepid((String) object[0]);
          r.setWfstepStageGUID((String) object[1]);
          r.setWfstepStep((String) object[2]);
          r.setWfstepName((String) object[3]);
          r.setWfstepType((String) object[4]);
          r.setWfstepStatus((String) object[5]);
          r.setWfstepAssignedTo((String) object[6]);
          r.setWfstageName((String) object[7]);
          r.setRole((String) object[8]);

          wfstepBean.add(r);
        }
      }
      request.setCharacterEncoding("UTF-8");
      request.setAttribute("wfstepSearch", wfstepBean);

    } catch (Exception e) {
      e.printStackTrace();
    }
    model.addAttribute("wfstepAdd", wfstepSearch);

    return "wfstepHome";
  }