local_runtime_shared_jetty9/src/main/java/com/google/apphosting/utils/servlet/SearchServlet.java [273:311]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private void fillInSearchResults(
      HttpServletRequest req, Results<ScoredDocument> searchResponse, int start, int numPerPage) {
    Collection<ScoredDocument> searchResults = searchResponse.getResults();
    long matchedCount = searchResponse.getNumberFound();

    // Collect field names
    Set<String> fieldNames = new HashSet<String>();
    for (ScoredDocument result : searchResults) {
      for (Field field : result.getFields()) {
        fieldNames.add(field.getName());
      }
    }
    List<String> sortedFieldNames = new ArrayList<String>(fieldNames);
    Collections.sort(sortedFieldNames);
    req.setAttribute(FIELD_NAMES, sortedFieldNames);

    List<DocumentView> docViews = new ArrayList<DocumentView>();

    for (ScoredDocument result : searchResults) {
      docViews.add(new DocumentView(result, sortedFieldNames));
    }
    req.setAttribute(DOCUMENTS, docViews);

    // Set paging attributes.
    int currentPage = start / numPerPage;
    int numPages = (int) Math.ceil(matchedCount * (1.0 / numPerPage));
    int pageStart = (int) Math.max(Math.floor(currentPage - (MAX_PAGER_LINKS / 2)), 0);
    int pageEnd = Math.min(pageStart + MAX_PAGER_LINKS, numPages);
    List<Page> pages = new ArrayList<Page>();
    for (int i = pageStart + 1; i < pageEnd + 1; i++) {
      pages.add(new Page(i, (i - 1) * numPerPage));
    }
    req.setAttribute(END, start + searchResults.size());
    req.setAttribute(MATCHED_COUNT, matchedCount);
    req.setAttribute(PAGES, pages);
    req.setAttribute(CURRENT_PAGE, currentPage + 1);
    req.setAttribute(PREV_START, currentPage > 0 ? (currentPage - 1) * numPerPage : -1);
    req.setAttribute(NEXT_START, currentPage < numPages - 1 ? (currentPage + 1) * numPerPage : -1);
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



local_runtime_shared_jetty12/src/main/java/com/google/apphosting/utils/servlet/SearchServlet.java [273:311]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private void fillInSearchResults(
      HttpServletRequest req, Results<ScoredDocument> searchResponse, int start, int numPerPage) {
    Collection<ScoredDocument> searchResults = searchResponse.getResults();
    long matchedCount = searchResponse.getNumberFound();

    // Collect field names
    Set<String> fieldNames = new HashSet<String>();
    for (ScoredDocument result : searchResults) {
      for (Field field : result.getFields()) {
        fieldNames.add(field.getName());
      }
    }
    List<String> sortedFieldNames = new ArrayList<String>(fieldNames);
    Collections.sort(sortedFieldNames);
    req.setAttribute(FIELD_NAMES, sortedFieldNames);

    List<DocumentView> docViews = new ArrayList<DocumentView>();

    for (ScoredDocument result : searchResults) {
      docViews.add(new DocumentView(result, sortedFieldNames));
    }
    req.setAttribute(DOCUMENTS, docViews);

    // Set paging attributes.
    int currentPage = start / numPerPage;
    int numPages = (int) Math.ceil(matchedCount * (1.0 / numPerPage));
    int pageStart = (int) Math.max(Math.floor(currentPage - (MAX_PAGER_LINKS / 2)), 0);
    int pageEnd = Math.min(pageStart + MAX_PAGER_LINKS, numPages);
    List<Page> pages = new ArrayList<Page>();
    for (int i = pageStart + 1; i < pageEnd + 1; i++) {
      pages.add(new Page(i, (i - 1) * numPerPage));
    }
    req.setAttribute(END, start + searchResults.size());
    req.setAttribute(MATCHED_COUNT, matchedCount);
    req.setAttribute(PAGES, pages);
    req.setAttribute(CURRENT_PAGE, currentPage + 1);
    req.setAttribute(PREV_START, currentPage > 0 ? (currentPage - 1) * numPerPage : -1);
    req.setAttribute(NEXT_START, currentPage < numPages - 1 ? (currentPage + 1) * numPerPage : -1);
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



local_runtime_shared_jetty12/src/main/java/com/google/apphosting/utils/servlet/ee10/SearchServlet.java [273:311]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private void fillInSearchResults(
      HttpServletRequest req, Results<ScoredDocument> searchResponse, int start, int numPerPage) {
    Collection<ScoredDocument> searchResults = searchResponse.getResults();
    long matchedCount = searchResponse.getNumberFound();

    // Collect field names
    Set<String> fieldNames = new HashSet<String>();
    for (ScoredDocument result : searchResults) {
      for (Field field : result.getFields()) {
        fieldNames.add(field.getName());
      }
    }
    List<String> sortedFieldNames = new ArrayList<String>(fieldNames);
    Collections.sort(sortedFieldNames);
    req.setAttribute(FIELD_NAMES, sortedFieldNames);

    List<DocumentView> docViews = new ArrayList<DocumentView>();

    for (ScoredDocument result : searchResults) {
      docViews.add(new DocumentView(result, sortedFieldNames));
    }
    req.setAttribute(DOCUMENTS, docViews);

    // Set paging attributes.
    int currentPage = start / numPerPage;
    int numPages = (int) Math.ceil(matchedCount * (1.0 / numPerPage));
    int pageStart = (int) Math.max(Math.floor(currentPage - (MAX_PAGER_LINKS / 2)), 0);
    int pageEnd = Math.min(pageStart + MAX_PAGER_LINKS, numPages);
    List<Page> pages = new ArrayList<Page>();
    for (int i = pageStart + 1; i < pageEnd + 1; i++) {
      pages.add(new Page(i, (i - 1) * numPerPage));
    }
    req.setAttribute(END, start + searchResults.size());
    req.setAttribute(MATCHED_COUNT, matchedCount);
    req.setAttribute(PAGES, pages);
    req.setAttribute(CURRENT_PAGE, currentPage + 1);
    req.setAttribute(PREV_START, currentPage > 0 ? (currentPage - 1) * numPerPage : -1);
    req.setAttribute(NEXT_START, currentPage < numPages - 1 ? (currentPage + 1) * numPerPage : -1);
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



