public List getPageOffsetList()

in tsfile-viewer-web/src/main/java/org/apache/iotdb/ui/service/TsfileViewerService.java [374:410]


  public List<PageOffsetInfo> getPageOffsetList(
      Long offset, String filePath, QueryByTimeseriesIndexReq req)
      throws IOException, InterruptedException, TsfileViewerException {
    filePath = getFullPath(filePath);
    TsFileAnalyserV13 parse = tsfileViewerContainer.getTsfileParser(filePath);
    List<PageOffsetInfo> pageOffsetInfoList = parse.fetchPageOffsetListByChunkOffset(offset);
    AtomicInteger no = new AtomicInteger(1);
    pageOffsetInfoList =
        pageOffsetInfoList.stream()
            .filter(
                pageOffsetInfo -> {
                  if (req.getBeginDate() != null && req.getBeginDate() != 0) {
                    if (req.getBeginDate() > pageOffsetInfo.getEndTime()) {
                      return false;
                    }
                  }
                  if (req.getEndDate() != null && req.getEndDate() != 0) {
                    if (req.getEndDate() < pageOffsetInfo.getStartTime()) {
                      return false;
                    }
                  }
                  return true;
                })
            .map(
                pageOffsetInfo -> {
                  if (pageOffsetInfo.isAligned()) {
                    pageOffsetInfo.setPageNo(
                        no + " .AlignedPage[" + pageOffsetInfo.getOffset() + "]");
                  } else {
                    pageOffsetInfo.setPageNo(no + " .Page[" + pageOffsetInfo.getOffset() + "]");
                  }
                  no.getAndIncrement();
                  return pageOffsetInfo;
                })
            .collect(Collectors.toList());
    return pageOffsetInfoList;
  }