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;
}