public List getIndexOfTimeseriesIndexList()

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


  public List<ITITreeNode> getIndexOfTimeseriesIndexList(
      Long parentOffset, String filePath, QueryByTimeseriesIndexReq req)
      throws InterruptedException, TsfileViewerException {
    filePath = getFullPath(filePath);
    TsFileAnalyserV13 parse = tsfileViewerContainer.getTsfileParser(filePath);
    TimeSeriesMetadataNode root = parse.getTimeSeriesMetadataNode();
    List<ITITreeNode> itiTreeNodes = new ArrayList<>();
    List<TimeSeriesMetadataNode> childrenNode;
    if (parentOffset == null || parentOffset == 0) {
      childrenNode = root.getChildren();
    } else {
      childrenNode = fetchChildrenByParentOffset(root, parentOffset);
    }
    final int[] i = {0};
    Optional.ofNullable(childrenNode)
        .ifPresent(
            timeSeriesMetadataNodes -> {
              List<ITITreeNode> result =
                  timeSeriesMetadataNodes.stream()
                      .map(
                          node -> {
                            ITITreeNode itiTreeNode = new ITITreeNode(node);
                            if (itiTreeNode.getDeviceId() == null
                                && itiTreeNode.getMeasurementId() == null) {
                              itiTreeNode.setTitle(
                                  itiTreeNode.getNodeType().toString() + "[" + i[0] + "]");
                              i[0]++;
                            } else if (itiTreeNode.getMeasurementId() != null) {
                              itiTreeNode.setTitle(itiTreeNode.getMeasurementId());
                            } else if (itiTreeNode.getDeviceId() != null) {
                              itiTreeNode.setTitle(itiTreeNode.getDeviceId());
                            }
                            return itiTreeNode;
                          })
                      .collect(Collectors.toList());
              itiTreeNodes.addAll(result);
            });
    return itiTreeNodes;
  }