public Pages getPages()

in webindex/modules/core/src/main/java/webindex/core/IndexClient.java [162:190]


  public Pages getPages(String domain, String next, int pageNum) {
    DomainStats stats = getDomainStats(domain);
    Pages pages = new Pages(domain, pageNum);
    pages.setTotal(stats.getTotal());
    String row = "d:" + URL.reverseHost(domain);
    String cf = Constants.RANK;
    try {
      Scanner scanner = conn.createScanner(accumuloIndexTable, Authorizations.EMPTY);
      Pager pager = Pager.build(scanner, Range.prefix(row + ":"), PAGE_SIZE, entry -> {
        if (entry.isNext()) {
          pages.setNext(entry.getKey().getRowData().toString().split(":", 3)[2]);
        } else {
          String url =
              URL.fromUri(entry.getKey().getRowData().toString().split(":", 4)[3]).toString();
          Long count = Long.parseLong(entry.getValue().toString());
          pages.addPage(url, count);
        }
      });
      if (next.isEmpty()) {
        pager.read(pageNum);
      } else {
        pager.read(new Key(row + ":" + next, cf, ""));

      }
    } catch (TableNotFoundException e) {
      log.error("Table {} not found", accumuloIndexTable);
    }
    return pages;
  }