Esempio n. 1
0
  private boolean performQuery(QueryForm queryForm, HttpServletRequest request) throws Exception {
    HttpSession session = request.getSession();
    //		try
    //		{
    Query query = new QueryImpl();
    try {
      query.setCriteria(getSearchCriteria(queryForm, request));
    } catch (QuerySpecificationException e1) {
      e1.printStackTrace();
      throw e1;
    } catch (SearchCriteriaSpecificationException e1) {
      e1.printStackTrace();
      throw e1;
    } catch (Exception e1) {
      e1.printStackTrace();
      throw e1;
    }

    int totalResultSize = 0;
    try {
      totalResultSize = query.totalResultSize();
    } catch (QuerySpecificationException e) {
      e.printStackTrace();
      throw e;
    }

    if (totalResultSize > 0) {
      // Query results
      Collection resultCollection = null;
      try {
        resultCollection = query.query(1, new Integer(queryForm.getRecordCount()).intValue());
      } catch (NumberFormatException e) {
        e.printStackTrace();
      } catch (QuerySpecificationException e) {
        e.printStackTrace();
      }
      List resultList = (List) resultCollection;

      // Set Search Result Page information
      SearchResultPage searchResultPage = new SearchResultPage();
      searchResultPage.setTotalResultSize(totalResultSize);
      searchResultPage.setPageSize(new Integer(queryForm.getRecordCount()).intValue());
      searchResultPage.setCurrentPageNumber(1);
      searchResultPage.setSearchResultMessage(Constants.RESULTS_MESSAGE);
      searchResultPage.setSearchResultObjects(resultList);
      searchResultPage.getLastPageNumber();
      // Set Search Results
      session.setAttribute(Constants.SEARCH_RESULTS_PAGE, searchResultPage);
      session.setAttribute(
          Constants.VIEW_PAGE_NUMBER, new Integer(searchResultPage.getCurrentPageNumber()));
      return true;
    } else {

      // Set Search Result Page information
      SearchResultPage searchResultPage = new SearchResultPage();
      searchResultPage.setTotalResultSize(totalResultSize);
      searchResultPage.setSearchResultMessage(Constants.NO_RESULTS_MESSAGE);

      // Set Search Results
      session.setAttribute(Constants.SEARCH_RESULTS_PAGE, searchResultPage);

      return false;
    }
  }