static ImmutableList getSelectPathsRelativeToRoot()

in java/com/google/devtools/bazel/e4b/wizard/DirectoryTreeContentProvider.java [194:216]


  static ImmutableList<String> getSelectPathsRelativeToRoot(CheckboxTreeViewer tv) {
    DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider();
    String root = provider.root.getAbsolutePath();
    ImmutableList.Builder<String> builder = ImmutableList.builder();
    for (Object element : tv.getCheckedElements()) {
      if (!tv.getGrayed(element)) {
        Object parent = provider.getParent(element);
        if (parent == null || tv.getGrayed(parent)) {
          // Only add this element if its parent is not selected (so it's the root).
          String path = ((File) element).getAbsolutePath();
          // Strip root from path
          if (path.startsWith(root)) {
            path = path.substring(root.length());
            if (path.startsWith("/")) {
              path = path.substring(1);
            }
            builder.add(path);
          }
        }
      }
    }
    return builder.build();
  }