Skip to content

[Task] New Hubble 2.0 version#4

Closed
imbajin wants to merge 69 commits into
masterfrom
hubble2
Closed

[Task] New Hubble 2.0 version#4
imbajin wants to merge 69 commits into
masterfrom
hubble2

Conversation

@imbajin

@imbajin imbajin commented Nov 26, 2025

Copy link
Copy Markdown

Hubble2 合入状态与后续 TODO

更新时间:2026-07-04

当前状态:

  • 已按 #12 -> #14 -> #17 -> #16 -> #15 顺序完成 review、必要修复、rebase、验证和 merge commit 合入。
  • hubble2 最新 head:a3d01a054939fb541fa042e8a9f04256aaf9783f
  • 过程证据保存在 .autonomous/hubble2-pr-merge/,未提交到业务 PR。

Server Env:

  • Use the latest code in master branch (Both standalone & distributed mode)

TODO(按优先级排序)

P0 / Release Blocker

  • [P0][License] 处理 de.schlichtherle.truelicense:truelicense-core:1.33truelicense-xml-1.33.jar 的 AGPL / ASF Category-X 风险。当前只是被 fix(hubble): support upload and shortest path flow #12 的 dependency baseline 暴露出来,尚未移除或替换;release/package sign-off 前必须给出结论。
  • [P0][Release] 生成正式 release candidate 后补齐并校验 .sha512 / .asc。本轮本地 package 没生成 sidecar 文件,因此 fix(hubble): audit binary dist packaging #15 audit 中 checksum/signature 状态为 not_checked

P1 / Release Quality

  • [P1][License] 建立 jar-to-license 的显式映射或 manifest。fix(hubble): audit binary dist packaging #15 已校验 LICENSE / NOTICE / licenses/** / frontend license inventory 非空,但还没有逐个 jar 对应 license 文件的强校验。
  • [P1][Package] 为 native-bearing jars 建立 allowlist 策略。fix(hubble): audit binary dist packaging #15 audit 已记录真实包中有 10 个 native-bearing jars,但当前不做无条件失败;如果 release policy 要求 native 依赖审查,需要补 allowlist 和 NOTICE/license 覆盖检查。
  • [P1][CI] 决定是否把 fix(hubble): inventory algorithm api routes #17 的 algorithm API inventory 接入 CI。当前它作为人工 evidence gate 通过,尚未作为仓库 CI 强制项。
  • [P1][CI] 决定是否把 fix(hubble): add runtime acceptance smokes #16 的 packaged runtime/UI smoke 接入可复跑 CI 或 release job。当前已有 Loader import、Gremlin count、shortestPath graph-view、UI route、i18n switch 的 JSON/截图证据,但运行依赖本地 Server、packaged Hubble、Playwright/Chrome 和可用端口。

P2 / Hygiene

  • [P2][Env] 在 Hubble2 验证文档中明确 Maven/Hubble gate 使用 Java 11。当前本机默认 Java 21,所有本轮 Maven 验证均通过 j11 && ... 对齐 CI。
  • [P2][Repo] 评估是否忽略 .worktrees/ 或明确推荐临时目录 worktree。本轮 PR worktree 放在 /private/tmp/hubble2-pr-worktrees/,避免污染主 checkout。

Copilot AI review requested due to automatic review settings November 26, 2025 07:36
@github-actions

Copy link
Copy Markdown

@codecov-ai-reviewer review

@coderabbitai

coderabbitai Bot commented Nov 26, 2025

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 1045 files, which is 895 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9acfb7b8-9101-422b-b023-7491a2499e2e

📥 Commits

Reviewing files that changed from the base of the PR and between 077802f and 9dee1ff.

⛔ Files ignored due to path filters (75)
  • hugegraph-hubble/hubble-fe/public/logo192.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/public/logo512.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/src/assets/canvas_bg.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/src/assets/ic_arrow.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_arrow_selected.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_biaoge_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_biaoge_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_done_144.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_fail.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_json_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_json_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_loading_back.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_loading_front.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_sousuo_empty.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_straight.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_straight_selected.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_tuzhanshi_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/ic_tuzhanshi_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_add.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_add_node.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_blue.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_white.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_back_32.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_back_32_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_back_32_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_hover.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_cebianshouqi.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_cebianzhankai.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_close_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_close_white.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_daorushuju_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_daorushuju_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_error_12.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_fangda_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_hover.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_liebiaomoshi_black.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_liebiaomoshi_white.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading@2x.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_middle_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_pass.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_progress_done.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_quanping_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_question_mark.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_refresh.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_renwuguanli_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_renwuguanli_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_shuju_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_shuju_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_suoxiao_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_topback.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuichuquanping_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tumoshi_black.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tumoshi_white.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_hover.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_xiazai_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_yingshe_16.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_yuanshuju_normal.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/ic_yuanshuju_pressed.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/icon_clickarrow_left_grey.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/imgs/icon_clickarrow_rigth_grey.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/layout_circular.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/layout_concentric.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/layout_dagre.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/layout_force.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/layout_grid.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/layout_radial.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/assets/logo.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/src/assets/logo_img.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/src/assets/logo_new.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/src/assets/logo_text.png is excluded by !**/*.png
  • hugegraph-hubble/hubble-fe/src/logo.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/pages/GraphDetail/assets/aaa.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/src/pages/GraphDetail/assets/collaboration-full.svg is excluded by !**/*.svg
  • hugegraph-hubble/hubble-fe/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (1045)
  • .codex-task/GLOBAL-TODO.md
  • .github/actions/get-hugegraph-commit/action.yml
  • .github/actions/setup-java-env/action.yml
  • .github/actions/upload-coverage/action.yml
  • .github/labeler.yml
  • .github/workflows/client-ci.yml
  • .github/workflows/client-go-ci.yml
  • .github/workflows/codeql-analysis.yml
  • .github/workflows/hubble-ci.yml
  • .github/workflows/labeler.yml
  • .github/workflows/license-checker.yml
  • .github/workflows/loader-ci.yml
  • .github/workflows/spark-connector-ci.yml
  • .github/workflows/stale.yml
  • .github/workflows/tools-ci.yml
  • .gitignore
  • .serena/project.yml
  • AGENTS.md
  • README.md
  • hugegraph-client/pom.xml
  • hugegraph-client/src/main/java/org/apache/hugegraph/api/auth/UserAPI.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/api/graphs/GraphsAPI.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/api/space/GraphSpaceAPI.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/client/RestClient.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/driver/AuthManager.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/driver/GraphsManager.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/driver/HugeClient.java
  • hugegraph-client/src/main/java/org/apache/hugegraph/driver/HugeClientBuilder.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/BaseClientTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/api/TaskApiTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/api/auth/LoginApiTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/api/auth/LogoutApiTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/api/auth/TokenApiTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/functional/AuthManagerTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/unit/GraphSpaceAPITest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/unit/GraphsAPITest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/unit/RestClientStatusTest.java
  • hugegraph-client/src/test/java/org/apache/hugegraph/unit/UnitTestSuite.java
  • hugegraph-dist/scripts/dependency/known-dependencies.txt
  • hugegraph-hubble/Dockerfile
  • hugegraph-hubble/HUBBLE2_FRONTEND_QA.md
  • hugegraph-hubble/README.md
  • hugegraph-hubble/hubble-be/pom.xml
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/HugeGraphHubble.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/common/AppName.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/common/AppType.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/common/Constant.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/common/Mergeable.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/common/OptionType.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/CacheConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/DatabaseSchemaMigrator.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/GlobalCorsConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/HubbleConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/IngestionProxyServlet.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/JacksonConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/MetaConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/ProxyServletConfiguration.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/TomcatServletConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/config/WebMvcConfig.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/AboutController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/BaseController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/ConfigController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/GraphConnectionController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/SettingController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/algorithm/OlapAlgoController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/algorithm/OltpAlgoController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/algorithm/VermeerAlgoController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/AccessController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/AuthController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/BelongController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/GraphSpaceUserController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/GroupController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/LoginController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/RoleController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/TargetController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/UserController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/auth/WhiteIpListController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/graph/GraphController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/graphs/GraphsController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/ingest/IngestController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/load/FileMappingController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/load/FileUploadController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/load/JobManagerController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/load/LoadTaskController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/DashboardController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/HStoreController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/K8sTokenController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/LogController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/MonitorController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/PDController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/ApplicationInfoController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/CypherController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/EditElementHistoryController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/ExecuteHistoryController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/GremlinCollectionController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/GremlinController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/query/GremlinQueryController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/saas/GraphMetricsController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/saas/GraphSpaceMetricsController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/saas/SaaSMetricsController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/saas/SaasGraphViewController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/EdgeLabelController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/PropertyIndexController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/PropertyKeyController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/VertexLabelController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/sketch/GraphSketchController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/space/ComputerDisController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/space/GraphSpaceController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/space/SchemaTemplateController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/space/ServiceController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/space/VermeerController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/task/AsyncTaskController.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/GraphConnection.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/AdamicadarEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/AllShortestPathsEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/CrossPointsEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/JaccardSimilarityEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/KneighborEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/KoutEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/OlapEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/PathsEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/RaysEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/ResourceallocationEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/RingsEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/SameNeighborsEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/ShortestPath.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/ShortestPathEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/SingleSourceShortestPathEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/algorithm/WeightedShortestPathEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/AccessEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/BelongEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/PasswordEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/RoleEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/UserEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/UserView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/auth/WhiteIpListEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/enums/ExecuteType.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/enums/LoadStatus.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graph/EdgeEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graph/VertexEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graph/VertexQueryEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graphs/GraphCloneEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graphs/GraphCreateEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graphs/GraphEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graphs/GraphStatisticsEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/graphs/GraphUpdateEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/Datasource.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/EdgeMapping.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/ElementMapping.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/FieldMappingItem.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/FileMapping.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/FileSetting.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/FileUploadResult.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/JobManager.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/JobManagerItem.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/JobManagerReasonResult.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/ListFormat.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/LoadParameter.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/LoadTask.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/NullValues.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/ValueMappingItem.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/load/VertexMapping.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/op/AuditEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/op/LogEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/AdjacentQuery.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/ApplicationInfo.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/EgonetView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/ElementEditHistory.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/ExecuteHistory.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/FusiformsimilarityView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/GraphView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/GremlinCollection.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/GremlinQuery.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/GremlinResult.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/JaccardsimilarityView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/JsonView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/OlapView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/RanksView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/query/SameneighborsbatchView.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/ConflictDetail.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/EdgeLabelEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/EdgeLabelStyle.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/LabelUpdateEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/Property.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/PropertyIndex.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/PropertyKeyEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/SchemaConflict.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/SchemaLabelEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/SchemaStyle.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/SchemaType.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/VertexLabelEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/VertexLabelStyle.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/vertexlabel/ParamEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/schema/vertexlabel/ParamStyle.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/space/BuiltInEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/space/ComputerServiceEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/space/GraphSpaceEntity.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/task/AsyncTask.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/entity/task/AsyncTaskResult.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/exception/GenericException.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/exception/HugeException.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/exception/LoginThrottledException.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/exception/ServerCapabilityUnavailableException.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/exception/UnauthorizedException.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/CustomApplicationRunner.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/CustomInterceptor.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/EdgeMappingTypeHandler.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/ErrorCodeMessage.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/ExceptionAdvisor.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/HubbleDisposableBean.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/LoadTaskExecutor.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/LoginInterceptor.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/MessageSourceHandler.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/ResponseAdvisor.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/handler/VertexMappingTypeHandler.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/license/ExtraParam.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/license/LicenseVerifyParam.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/license/MachineInfo.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/GraphConnectionMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/UserInfoMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/algorithm/AsyncTaskMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/load/DatasourceMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/load/FileMappingMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/load/JobManagerMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/load/LoadTaskMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/query/ApplicationInfoMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/query/EditElementHistoryMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/query/ExecuteHistoryMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/mapper/query/GremlinCollectionMapper.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/options/HubbleOptions.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/GraphConnectionService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/HugeClientPoolService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/SettingSSLService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/algorithm/AsyncTaskService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/algorithm/OlapAlgoService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/algorithm/OltpAlgoService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/AccessService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/AuthService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/BelongService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/GraphSpaceUserService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/GroupService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/LoginAttemptGuard.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/ManagerService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/RoleService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/TargetService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/UserService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/auth/WhiteIpListService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/graph/GraphService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/graphs/GraphsService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/license/LicenseService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/load/DatasourceService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/load/FileMappingService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/load/JobManagerService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/load/LoadTaskService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/op/AuditService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/op/ESService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/op/LogService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/query/ApplicationInfoService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/query/EditElementHistoryService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/query/ExecuteHistoryService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/query/GremlinCollectionService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/query/GremlinQueryService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/query/QueryService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/saas/PrometheusService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/schema/EdgeLabelService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/schema/GroovySchemaCompatibility.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/schema/PropertyIndexService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/schema/PropertyKeyService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/schema/SchemaService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/schema/VertexLabelService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/space/ComputerService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/space/GraphSpaceService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/space/HStoreService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/space/OLTPServerService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/space/SchemaTemplateService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/space/VermeerService.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/ESUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/EntityUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/Ex.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/FileUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/GremlinUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/HubbleUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/HugeClientUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/PageUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/SQLUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/util/UrlUtil.java
  • hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/version/HubbleVersion.java
  • hugegraph-hubble/hubble-be/src/main/resources/application.properties
  • hugegraph-hubble/hubble-be/src/main/resources/database/data.sql
  • hugegraph-hubble/hubble-be/src/main/resources/database/schema.sql
  • hugegraph-hubble/hubble-be/src/main/resources/hugegraph-hubble.properties
  • hugegraph-hubble/hubble-be/src/main/resources/i18n/messages.properties
  • hugegraph-hubble/hubble-be/src/main/resources/i18n/messages_zh_CN.properties
  • hugegraph-hubble/hubble-be/src/main/resources/log4j2.xml
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/controller/ingest/IngestControllerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/controller/langchain/LangChainControllerSecurityTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/controller/schema/SchemaControllerSecurityTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/ApiFieldNamingTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/AppTypeTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/AuthSecurityTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/AuthzRouteRegistrationTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/BaseControllerGremlinClientTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/BusinessAssertTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/ConsolePrintTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/CypherHistoryFailureTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/DashboardControllerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/EmptyCatchTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/EntityUtilTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/FileMappingSchemaTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/FileUploadControllerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/FileUtilTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GraphConnectionTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GraphMetricsControllerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GraphServiceImportTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GraphsControllerCanonicalTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GraphsServiceDefaultTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GremlinHistoryFailureTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/GroovySchemaCompatibilityTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/HubbleOptionsTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/JobManagerServiceTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/K8sTokenEndpointSecurityTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/LegacyFacadeRemovalTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/LoadTaskServiceTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/LoaderScopeControllerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/LoginAttemptGuardTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/MessageSourceHandlerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/OltpAlgoControllerTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/OltpAlgoServiceTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/PriorityFixTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/QueryServiceTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/SchemaServiceViewTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/SessionTimeoutConfigTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/UnitTestSuite.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/UrlUtilTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/UserApiContractTest.java
  • hugegraph-hubble/hubble-be/src/test/java/org/apache/hugegraph/unit/UserImportSafetyTest.java
  • hugegraph-hubble/hubble-be/src/test/python/steps/check_server_status.py
  • hugegraph-hubble/hubble-be/src/test/resources/application.properties
  • hugegraph-hubble/hubble-be/src/test/resources/database/data.sql
  • hugegraph-hubble/hubble-be/src/test/resources/database/schema.sql
  • hugegraph-hubble/hubble-be/src/test/resources/langchaincode/excute_langchain.py
  • hugegraph-hubble/hubble-be/src/test/resources/langchaincode/fail.py
  • hugegraph-hubble/hubble-be/src/test/resources/langchaincode/other.py
  • hugegraph-hubble/hubble-be/src/test/resources/langchaincode/secret_no_gremlin.py
  • hugegraph-hubble/hubble-be/src/test/resources/langchaincode/sleep.py
  • hugegraph-hubble/hubble-be/src/test/resources/log4j2.xml
  • hugegraph-hubble/hubble-dist/assembly/descriptor/assembly.xml
  • hugegraph-hubble/hubble-dist/assembly/static/bin/start-hubble.sh
  • hugegraph-hubble/hubble-dist/assembly/static/conf/hugegraph-hubble.properties
  • hugegraph-hubble/hubble-dist/assembly/travis/check-hubble-dist.sh
  • hugegraph-hubble/hubble-dist/assembly/travis/download-hugegraph.sh
  • hugegraph-hubble/hubble-dist/assembly/travis/hugegraph-server1/install-hugegraph.sh
  • hugegraph-hubble/hubble-dist/assembly/travis/hugegraph-server1/rest-server.properties
  • hugegraph-hubble/hubble-dist/assembly/travis/install-hugegraph.sh
  • hugegraph-hubble/hubble-dist/assembly/travis/run_algorithm_api_inventory.py
  • hugegraph-hubble/hubble-dist/assembly/travis/run_live_hubble_smoke.py
  • hugegraph-hubble/hubble-dist/assembly/travis/run_ui_browser_smoke.js
  • hugegraph-hubble/hubble-dist/assembly/travis/run_ui_full_acceptance.js
  • hugegraph-hubble/hubble-dist/assembly/travis/run_ui_i18n_switch_smoke.js
  • hugegraph-hubble/hubble-dist/assembly/travis/start-hubble.sh
  • hugegraph-hubble/hubble-dist/assembly/travis/test_run_live_hubble_smoke.py
  • hugegraph-hubble/hubble-dist/assembly/travis/ui_auth.js
  • hugegraph-hubble/hubble-dist/assembly/travis/ui_auth.test.js
  • hugegraph-hubble/hubble-dist/assembly/travis/verify-hubble-issue-694.sh
  • hugegraph-hubble/hubble-dist/pom.xml
  • hugegraph-hubble/hubble-fe/.env
  • hugegraph-hubble/hubble-fe/.eslintrc.js
  • hugegraph-hubble/hubble-fe/CHANGELOG.md
  • hugegraph-hubble/hubble-fe/CHANGELOG.zh-CN.md
  • hugegraph-hubble/hubble-fe/README.md
  • hugegraph-hubble/hubble-fe/add-license.js
  • hugegraph-hubble/hubble-fe/config-overrides.js
  • hugegraph-hubble/hubble-fe/package.json
  • hugegraph-hubble/hubble-fe/public/index.html
  • hugegraph-hubble/hubble-fe/public/manifest.json
  • hugegraph-hubble/hubble-fe/public/robots.txt
  • hugegraph-hubble/hubble-fe/scripts/check-i18n.js
  • hugegraph-hubble/hubble-fe/scripts/react-app-rewired.js
  • hugegraph-hubble/hubble-fe/src/App.css
  • hugegraph-hubble/hubble-fe/src/App.js
  • hugegraph-hubble/hubble-fe/src/App.scss
  • hugegraph-hubble/hubble-fe/src/App.test.js
  • hugegraph-hubble/hubble-fe/src/accessible-click-actions.test.js
  • hugegraph-hubble/hubble-fe/src/api/analysis-algorithm-error.test.js
  • hugegraph-hubble/hubble-fe/src/api/analysis.js
  • hugegraph-hubble/hubble-fe/src/api/auth-contract.test.js
  • hugegraph-hubble/hubble-fe/src/api/auth.js
  • hugegraph-hubble/hubble-fe/src/api/cloud.js
  • hugegraph-hubble/hubble-fe/src/api/config.js
  • hugegraph-hubble/hubble-fe/src/api/index.js
  • hugegraph-hubble/hubble-fe/src/api/languageHeader.js
  • hugegraph-hubble/hubble-fe/src/api/manage-contract.test.js
  • hugegraph-hubble/hubble-fe/src/api/manage.js
  • hugegraph-hubble/hubble-fe/src/api/request-error-semantics.test.js
  • hugegraph-hubble/hubble-fe/src/api/request-language-header.test.js
  • hugegraph-hubble/hubble-fe/src/api/request.js
  • hugegraph-hubble/hubble-fe/src/api/throttleWarning.js
  • hugegraph-hubble/hubble-fe/src/components/App.tsx
  • hugegraph-hubble/hubble-fe/src/components/CodeEditor/index.js
  • hugegraph-hubble/hubble-fe/src/components/CodeEditor/syntax/cypher.js
  • hugegraph-hubble/hubble-fe/src/components/CodeEditor/syntax/gremlin.js
  • hugegraph-hubble/hubble-fe/src/components/CodeEditor/syntax/index.js
  • hugegraph-hubble/hubble-fe/src/components/ColorSelect/index.js
  • hugegraph-hubble/hubble-fe/src/components/ColorSelect/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/ColorSelect/index.test.js
  • hugegraph-hubble/hubble-fe/src/components/ERView/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/components/ERView/config.js
  • hugegraph-hubble/hubble-fe/src/components/ERView/data/edge.json
  • hugegraph-hubble/hubble-fe/src/components/ERView/data/group.json
  • hugegraph-hubble/hubble-fe/src/components/ERView/data/property.json
  • hugegraph-hubble/hubble-fe/src/components/ERView/data/test.json
  • hugegraph-hubble/hubble-fe/src/components/ERView/data/vertex.json
  • hugegraph-hubble/hubble-fe/src/components/ERView/index.js
  • hugegraph-hubble/hubble-fe/src/components/ERView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/ERView/utils.js
  • hugegraph-hubble/hubble-fe/src/components/ExecutionContent/index.js
  • hugegraph-hubble/hubble-fe/src/components/ExecutionContent/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/FormListAction/index.js
  • hugegraph-hubble/hubble-fe/src/components/GraphinView/index.js
  • hugegraph-hubble/hubble-fe/src/components/IconSelect/index.js
  • hugegraph-hubble/hubble-fe/src/components/IconSelect/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/IconSelect/index.test.js
  • hugegraph-hubble/hubble-fe/src/components/KeyboardAction/index.js
  • hugegraph-hubble/hubble-fe/src/components/KeyboardAction/index.test.js
  • hugegraph-hubble/hubble-fe/src/components/ListButton/index.js
  • hugegraph-hubble/hubble-fe/src/components/RouteErrorBoundary/index.js
  • hugegraph-hubble/hubble-fe/src/components/RowActionButton/index.js
  • hugegraph-hubble/hubble-fe/src/components/Sidebar/index.ant.js
  • hugegraph-hubble/hubble-fe/src/components/Sidebar/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/SlideComponent/index.js
  • hugegraph-hubble/hubble-fe/src/components/SlideComponent/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/Status/index.js
  • hugegraph-hubble/hubble-fe/src/components/Status/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/TableHeader/index.js
  • hugegraph-hubble/hubble-fe/src/components/TableHeader/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/Topbar/index.ant.js
  • hugegraph-hubble/hubble-fe/src/components/Topbar/index.module.scss
  • hugegraph-hubble/hubble-fe/src/components/Topbar/topbar-request-error.test.js
  • hugegraph-hubble/hubble-fe/src/components/common/AppBar.less
  • hugegraph-hubble/hubble-fe/src/components/common/AppBar.tsx
  • hugegraph-hubble/hubble-fe/src/components/common/LoadingDataView.less
  • hugegraph-hubble/hubble-fe/src/components/common/LoadingDataView.tsx
  • hugegraph-hubble/hubble-fe/src/components/common/Tooltip.tsx
  • hugegraph-hubble/hubble-fe/src/components/common/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagement.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagement.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementEmptyList.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementHeader.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementLimitHint.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementList.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementSidebar.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/NewGraphConfig.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskList.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskList.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskResult.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskResult.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyze.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyze.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyzeContent.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyzeInfoDrawer.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DynamicAddEdge.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DynamicAddNode.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/ExecLogAndQueryCollections.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/GremlinKeyWords.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/QueryAndAlgorithmLibrary.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/AllPath.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KHop.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/common/Favorite.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryResult.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/index.ts
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx
  • hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/index.ts
  • hugegraph-hubble/hubble-fe/src/components/hubble-ui/index.tsx
  • hugegraph-hubble/hubble-fe/src/components/hubble-ui/src/index.less
  • hugegraph-hubble/hubble-fe/src/customHook/useCustomEdge.js
  • hugegraph-hubble/hubble-fe/src/customHook/useCustomGrid.js
  • hugegraph-hubble/hubble-fe/src/customHook/useCustomNode.js
  • hugegraph-hubble/hubble-fe/src/customHook/useDownloadJson.js
  • hugegraph-hubble/hubble-fe/src/customHook/useDownloadJson.test.js
  • hugegraph-hubble/hubble-fe/src/dropdown-menu-api.test.js
  • hugegraph-hubble/hubble-fe/src/hooks/index.ts
  • hugegraph-hubble/hubble-fe/src/hooks/useInitDataImport.tsx
  • hugegraph-hubble/hubble-fe/src/hooks/useLocationWithConfirmation.tsx
  • hugegraph-hubble/hubble-fe/src/hooks/useMultiKeyPress.tsx
  • hugegraph-hubble/hubble-fe/src/i18n/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/index.ts
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/components/ERView.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/components/board.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/components/common.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/components/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/AsyncTasks.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/addition.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/common.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/dataAnalyze.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/index.ts
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/index.ts
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/modules/analysis.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/modules/home.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/modules/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/modules/manage.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/modules/modules.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/modules/pages.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/index.ts
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/components/ERView.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/components/board.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/components/common.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/components/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/addition.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/common.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/index.ts
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/index.ts
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/modules/analysis.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/modules/home.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/modules/index.js
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/modules/manage.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/modules/modules.json
  • hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/modules/pages.json
  • hugegraph-hubble/hubble-fe/src/index-router.test.js
  • hugegraph-hubble/hubble-fe/src/index.css
  • hugegraph-hubble/hubble-fe/src/index.js
  • hugegraph-hubble/hubble-fe/src/index.less
  • hugegraph-hubble/hubble-fe/src/index.tsx
  • hugegraph-hubble/hubble-fe/src/layout.ant.js
  • hugegraph-hubble/hubble-fe/src/modules/Context/index.js
  • hugegraph-hubble/hubble-fe/src/modules/GraphAnalysis/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/AlgorithmSearch/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/AlgorithmSearch/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/GraphMenuBar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/GraphToolBar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/JaccView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/JaccView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/NeighborRankView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/NeighborRankView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/RankApiView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/RankApiView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/utils/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/GraphResult/utils/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/LogsDetail/ExecuteLog/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/LogsDetail/ExecuteLog/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/LogsDetail/Favorite/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/LogsDetail/Favorite/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/LogsDetail/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/LogsDetail/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/BoolSelectItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/CapacityItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/DirectionItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/LabelItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/LimitItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/MaxDegreeItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/MaxDepthItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/NearestItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentralityVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentrality/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentralityVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/ClusterCoefficient/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/DegreeCentrality/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/DegreeCentralityVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/FilterSubGraphMatching/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/FilteredRingsDetection/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/KCore/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/KCoreVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithm/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithmVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/Links/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/Louvain/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/OlapComputerItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/OlapItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/PageRank/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/PageRankVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/PersonalPageRank/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/RingsDetection/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/SSSPVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/TriangleCount/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/TriangleCountVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/WeaklyConnectedComponent/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Olap/WeaklyConnectedComponentVermeer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/OlapHome/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/OlapHome/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/AdamicAdar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/AllPaths/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/Crosspoints/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/CustomizedCrosspoints/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/CustomizedCrosspoints/PathPatternForm/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/CustomizedPaths/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/CustomizedPaths/StepItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/Egonet/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/Egonet/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/FindShortestPath/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/FindShortestPathWithWeight/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/FusiformSimilarity/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/JaccardSimilarityGet/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/JaccardSimilarityPost/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/KneighborGet/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/KneighborPost/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/KoutGet/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/KoutPost/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/KoutPost/StepFormItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/MultiNodesShortestPath/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/NeighborRankApi/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/OltpItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/OltpItem/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/Paths/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/RankApi/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/Rays/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/ResourceAllocation/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/Rings/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/SameNeighbors/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/SameNeighborsBatch/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/ShortestPath/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/SingleSourceShortestPath/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/TemplatePaths/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/TemplatePaths/StepFormItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/OltpHome/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/OltpHome/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/StepsItems/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/StepsItems/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/VerticesItems/index.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/VerticesItems/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/algorithm-dom-props.test.js
  • hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/utils/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/Home/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/ExecuteLog/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/ExecuteLog/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/ExecuteLog/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/Favorite/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/Favorite/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/LogsDetail/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryBar/ContentCommon/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryBar/ContentCommon/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryBar/ContentCommon/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryBar/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryBar/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryBar/Home/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/GraphResult/GraphMenubar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/GraphResult/GraphToolBar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/GraphResult/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/GraphResult/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/GraphResult/utils/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/GraphResult/utils/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/Home/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/Home/utils.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/JsonView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/JsonView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/TableView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/TableView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/analysis/QueryResult/TableView/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/asyncTasks/Detail/index.js
  • hugegraph-hubble/hubble-fe/src/modules/asyncTasks/Detail/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/asyncTasks/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/asyncTasks/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/asyncTasks/Result/index.js
  • hugegraph-hubble/hubble-fe/src/modules/asyncTasks/Result/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/Canvas3D/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Canvas3D/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/ClearGraph/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/ClosePanelButton/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/ClosePanelButton/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/Context/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/DynamicAddEdge/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/DynamicAddEdge/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/DynamicAddNode/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/DynamicAddNode/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/EditElement/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/EditElement/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/ExportData/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/ExportData/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/component/FitCenter/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/FixNode/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/FullScreen/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Graph/index.css
  • hugegraph-hubble/hubble-fe/src/modules/component/Graph/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Graph/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/GraphRenderModeSwitcher/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/GraphRenderModeSwitcher/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/GraphStatusView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/GraphStatusView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/ImportData/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/JaccRankView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/JaccRankView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/LayoutConfig/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Legend/customLegend.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Legend/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Menu/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/MenuBar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/MenuBar/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/MiniMap/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/NewConfig/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/NumberCard/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/NumberCard/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/RedoUndo/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/RefreshGraph/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Search/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Search/utils.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Search/utils.test.js
  • hugegraph-hubble/hubble-fe/src/modules/component/SettingConfig/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/SettingConfigPanel/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/SettingConfigPanel/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/Statistics/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/BarChartComponent/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/GraphStatistics/Header/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/GraphStatistics/Header/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/GraphStatistics/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/GraphStatistics/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/LabelStatistics/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/StatisticsPanel/LabelStatistics/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/TaskNavigateView/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/TaskNavigateView/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/ToolBar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/ToolBar/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/Tooltip/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/Tooltip/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/TopBar/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/TopBar/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/ZeroDegreeNode/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/ZoomGraph/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/canvas-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/modules/component/filter/FilterDrawer/FilterForm.js
  • hugegraph-hubble/hubble-fe/src/modules/component/filter/FilterDrawer/config.js
  • hugegraph-hubble/hubble-fe/src/modules/component/filter/FilterDrawer/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/filter/FilterDrawer/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/filter/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Circular/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Circular/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Concentric/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Dagre/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Force/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Grid/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/layoutConfigPanel/Radial/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/styleConfig/ConfigModal/index.js
  • hugegraph-hubble/hubble-fe/src/modules/component/styleConfig/ConfigModal/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/component/styleConfig/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/AdminItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/AdminItem/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/navigation/AdminItem/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/AnalyseItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/AnalyseItem/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ConsoleItem/dashboard.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ConsoleItem/dashboard.test.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ConsoleItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ConsoleItem/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ConsoleItem/index.test.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/Home/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/Home/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/navigation/Item/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/Item/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ManageItem/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ManageItem/index.module.scss
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ModuleButton/index.js
  • hugegraph-hubble/hubble-fe/src/modules/navigation/ModuleButton/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Account/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Account/account-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Account/account-recovery.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Account/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Account/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/AsyncTaskResult/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Datasource/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Datasource/config.js
  • hugegraph-hubble/hubble-fe/src/pages/Datasource/connectionStatus.js
  • hugegraph-hubble/hubble-fe/src/pages/Datasource/datasource-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Datasource/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Datasource/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Error404/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Error404/index.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/Card.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/Card.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/ClearGraphConfirmModal.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/ClearGraphConfirmModal.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/EditLayer.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/default-card-actions.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/graph-default-replace.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/graph-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Graph/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/GraphAnalysis/index.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphDetail/index.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphDetail/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/GraphDetail/index.test.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/Card.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/Card.test.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/graphspace-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/graphspace-recovery.test.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/index.js
  • hugegraph-hubble/hubble-fe/src/pages/GraphSpace/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Login/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Login/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Login/login-request-error.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/Edge/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/Edge/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/EdgeIndex/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/EditLayerRecovery.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/ImageView.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/ListView.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/Property/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/Property/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/Vertex/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/Vertex/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/VertexIndex/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/Colorbox.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/MetaTableStatus.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/RelateProperty.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/RelatePropertyIndex.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/config.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/useMetaTable.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/common/useMetaTable.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/delete-error-owner.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/meta-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Meta/meta-recovery.test.js
  • hugegraph-hubble/hubble-fe/src/pages/My/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/My/index.js
  • hugegraph-hubble/hubble-fe/src/pages/My/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/My/my-recovery.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Navigation/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Resource/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Resource/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Resource/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Role/Auth.js
  • hugegraph-hubble/hubble-fe/src/pages/Role/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Role/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Role/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Role/treeData.js
  • hugegraph-hubble/hubble-fe/src/pages/Schema/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Schema/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Schema/schema-template-error.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Schema/schema-template-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/components/EditLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/components/TopStatistic.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/components/ViewLayer.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/components/ViewLayer.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/components/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Task/config.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/index.js
  • hugegraph-hubble/hubble-fe/src/pages/Task/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/Task/task-i18n.test.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskDetail/index.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/BaseForm/index.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/FieldForm/index.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/MappingForm/Edge.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/MappingForm/Vertex.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/MappingForm/index.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/ScheduleForm/index.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/index.js
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/index.module.scss
  • hugegraph-hubble/hubble-fe/src/pages/TaskEdit/option-recovery.test.js
  • hugegraph-hubble/hubble-fe/src/pages/Test/index.js
  • hugegraph-hubble/hubble-fe/src/pages/pd-error-owner.test.js
  • hugegraph-hubble/hubble-fe/src/react-app-env.d.ts
  • hugegraph-hubble/hubble-fe/src/reportWebVitals.js
  • hugegraph-hubble/hubble-fe/src/routes/index.js
  • hugegraph-hubble/hubble-fe/src/routes/route-guard.test.js
  • hugegraph-hubble/hubble-fe/src/setupProxy.js
  • hugegraph-hubble/hubble-fe/src/setupTests.js
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/asyncTasksStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/graphManagementStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/appStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/asyncTasksStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/algorithmStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataImportRootStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataMapStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/importManagmentStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/serverDataImportStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/index.ts
  • hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/asyncTasksStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataImportStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/graphManagementStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/metadataConfigsStore.ts
  • hugegraph-hubble/hubble-fe/src/stores/types/common.ts
  • hugegraph-hubble/hubble-fe/src/stores/utils/index.ts
  • hugegraph-hubble/hubble-fe/src/third-party.d.ts
  • hugegraph-hubble/hubble-fe/src/utils/calcAlgorithmFormWidth.ts
  • hugegraph-hubble/hubble-fe/src/utils/config.js
  • hugegraph-hubble/hubble-fe/src/utils/constants.js
  • hugegraph-hubble/hubble-fe/src/utils/constants.test.js
  • hugegraph-hubble/hubble-fe/src/utils/convertNumberToChinese.js
  • hugegraph-hubble/hubble-fe/src/utils/convertStringToJSON.js
  • hugegraph-hubble/hubble-fe/src/utils/convertStringToJSON.ts
  • hugegraph-hubble/hubble-fe/src/utils/dataImportUpload.ts
  • hugegraph-hubble/hubble-fe/src/utils/filter.js
  • hugegraph-hubble/hubble-fe/src/utils/filterEmptyAlgorightmParams.ts
  • hugegraph-hubble/hubble-fe/src/utils/format.js
  • hugegraph-hubble/hubble-fe/src/utils/formatAlgorithmStatement.ts
  • hugegraph-hubble/hubble-fe/src/utils/formatGraphInData.js
  • hugegraph-hubble/hubble-fe/src/utils/formatGraphResultData.js
  • hugegraph-hubble/hubble-fe/src/utils/formatGraphResultData.test.js
  • hugegraph-hubble/hubble-fe/src/utils/formatTimeDuration.js
  • hugegraph-hubble/hubble-fe/src/utils/getNodesFromParams.js
  • hugegraph-hubble/hubble-fe/src/utils/getUnicodeLength.ts
  • hugegraph-hubble/hubble-fe/src/utils/graph.js
  • hugegraph-hubble/hubble-fe/src/utils/graph.test.js
  • hugegraph-hubble/hubble-fe/src/utils/handleGraphState.js
  • hugegraph-hubble/hubble-fe/src/utils/index.ts
  • hugegraph-hubble/hubble-fe/src/utils/isDataTypeNumeric.ts
  • hugegraph-hubble/hubble-fe/src/utils/productMode.js
  • hugegraph-hubble/hubble-fe/src/utils/productMode.test.js
  • hugegraph-hubble/hubble-fe/src/utils/removeNilKeys.js
  • hugegraph-hubble/hubble-fe/src/utils/rules.js
  • hugegraph-hubble/hubble-fe/src/utils/rules.test.js
  • hugegraph-hubble/hubble-fe/src/utils/user.js
  • hugegraph-hubble/hubble-fe/src/utils/user.test.js
  • hugegraph-hubble/hubble-fe/tsconfig-extend.json
  • hugegraph-hubble/hubble-fe/tsconfig.eslint.json
  • hugegraph-hubble/hubble-fe/tsconfig.json
  • hugegraph-hubble/pom.xml
  • hugegraph-loader/src/main/java/org/apache/hugegraph/loader/HugeGraphLoader.java
  • hugegraph-loader/src/main/java/org/apache/hugegraph/loader/executor/LoadOptions.java
  • hugegraph-loader/src/main/java/org/apache/hugegraph/loader/reader/jdbc/JDBCFetcher.java
  • hugegraph-loader/src/main/java/org/apache/hugegraph/loader/task/TaskManager.java
  • hugegraph-loader/src/main/java/org/apache/hugegraph/loader/util/HugeClientHolder.java
  • pom.xml
  • tools/checkstyle.xml

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hubble2

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces Hubble 2.0, a major architectural update that removes database-backed graph connections in favor of direct authentication tokens, adds multi-tenant graphspace support, and introduces new user management and algorithm service features.

Key Changes

  • Replaces database-stored connection management with token-based authentication using HugeClientPoolService
  • Adds graphspace-level organization and multi-tenancy capabilities
  • Introduces new algorithm service endpoints for OLTP/OLAP graph analytics
  • Implements user service with role-based access control and space administration

Reviewed changes

Copilot reviewed 205 out of 957 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
GraphsService.java New service for multi-graph management within graphspaces including statistics and built-in data loading
GraphService.java Updated to use HugeClient directly instead of connection IDs with new element operations
WhiteIpListService.java New service for IP whitelist management
UserService.java New comprehensive user management service with authentication and authorization
OltpAlgoService.java Major expansion adding 20+ graph traversal algorithm implementations
HugeClientPoolService.java Complete rewrite to support token-based client creation with URL discovery
GraphConnectionService.java Removed - functionality replaced by client pool service
HubbleOptions.java Added configuration options for PD cluster, dashboard, and monitoring services
CustomInterceptor.java Updated to inject HugeClient into requests based on graphspace/graph context
ExecuteHistory.java Updated schema from conn_id to graphspace/graph identifiers

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

boolean isClearSchema, boolean isClearData) {
// TODO client do not support clear Schema field. Check here
if (isClearSchema) {
client.graphs().clearGraph(graph,"I'm sure to delete all data");

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space after comma in method call argument

Suggested change
client.graphs().clearGraph(graph,"I'm sure to delete all data");
client.graphs().clearGraph(graph, "I'm sure to delete all data");

Copilot uses AI. Check for mistakes.

public void delete(HugeClient client, String graph, String confirmMessage) {
// TODO check if frontend support passing confirm message.
client.graphs().dropGraph(graph,confirmMessage);

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space after comma in method call argument

Suggested change
client.graphs().dropGraph(graph,confirmMessage);
client.graphs().dropGraph(graph, confirmMessage);

Copilot uses AI. Check for mistakes.
client);
HashMap<String, Object> vertexPropertiesMap= new HashMap<>();
vertexPropertiesMap.put("nonNullableProps", vlEntity.getNonNullableProps());
vertexPropertiesMap.put("NullableProps", vlEntity.getNullableProps());

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent naming - key uses PascalCase "NullableProps" while other keys use camelCase. Should be "nullableProps" for consistency

Copilot uses AI. Check for mistakes.
client);
HashMap<String, Object> edgePropertiesMap= new HashMap<>();
edgePropertiesMap.put("nonNullableProps", elEntity.getNonNullableProps());
edgePropertiesMap.put("NullableProps", elEntity.getNullableProps());

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent naming - key uses PascalCase "NullableProps" while other keys use camelCase. Should be "nullableProps" for consistency

Copilot uses AI. Check for mistakes.
Comment on lines +247 to +249
"common.param.must-be-null", "source_id");
Ex.check(entity.getTargetId() != null,
"common.param.must-be-null", "target_id");

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error message key "common.param.must-be-null" is incorrect - should be "cannot-be-null" since the condition checks for null values

Suggested change
"common.param.must-be-null", "source_id");
Ex.check(entity.getTargetId() != null,
"common.param.must-be-null", "target_id");
"common.param.cannot-be-null", "source_id");
Ex.check(entity.getTargetId() != null,
"common.param.cannot-be-null", "target_id");

Copilot uses AI. Check for mistakes.
.map(GremlinUtil::escapeId)
.collect(Collectors.toList());
String ids = StringUtils.join(escapedIds, ",");
if (ids == ""){

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String comparison using == operator instead of isEmpty() or equals(). Should use ids.isEmpty() or ids.equals("")

Suggested change
if (ids == ""){
if (StringUtils.isEmpty(ids)){

Copilot uses AI. Check for mistakes.
.map(GremlinUtil::escapeId)
.collect(Collectors.toList());
String ids = StringUtils.join(escapedIds, ",");
if (ids == ""){

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String comparison using == operator instead of isEmpty() or equals(). Should use ids.isEmpty() or ids.equals("")

Suggested change
if (ids == ""){
if (ids.isEmpty()){

Copilot uses AI. Check for mistakes.
"FROM `load_task` as l LEFT JOIN `file_mapping` as f " +
"ON l.file_id=f.id WHERE l.job_id = #{job_id}")
JobManagerItem computeSizeDuration(@Param("job_id") int jobId);
JobManagerItem computeSizeDuration(@Param("job_id") int job_id);

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parameter name uses snake_case 'job_id' instead of camelCase 'jobId' which is Java convention

Suggested change
JobManagerItem computeSizeDuration(@Param("job_id") int job_id);
JobManagerItem computeSizeDuration(@Param("job_id") int jobId);

Copilot uses AI. Check for mistakes.
HttpServletResponse response,
Object handler) {
String uri = request.getRequestURI();
if ("check".equals(uri) || "/api/v1.3/bill/cron".equals(uri)) { // TODO C rmv required?

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO comment indicates uncertainty about requirement - should be clarified or resolved

Suggested change
if ("check".equals(uri) || "/api/v1.3/bill/cron".equals(uri)) { // TODO C rmv required?
// Allow unauthenticated access to "check" and "/api/v1.3/bill/cron" endpoints (e.g., for health checks or scheduled jobs)
if ("check".equals(uri) || "/api/v1.3/bill/cron".equals(uri)) {

Copilot uses AI. Check for mistakes.
@MergeProperty
@JsonProperty("conn_id")
private Integer connId;
@JsonProperty("graphe")

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Property name misspelled as "graphe" instead of "graph"

Suggested change
@JsonProperty("graphe")
@JsonProperty("graph")

Copilot uses AI. Check for mistakes.
@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello @imbajin, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a new major version of Hubble, version 2.0, marking a significant evolution in its architecture and feature set. The changes move away from direct graph connection management towards a more robust and scalable model centered around 'graphspaces' and 'graphs'. This upgrade brings a wealth of new functionalities, including advanced graph algorithms, comprehensive authentication and authorization, improved monitoring and logging, and cutting-edge AI integration for natural language querying. The underlying build system and dependencies have also been thoroughly modernized to support these new capabilities.

Highlights

  • Architectural Shift to Graphspace/Graph Model: The core change involves a significant architectural shift from managing direct GraphConnection instances to a more flexible graphspace and graph model. This is evident in the removal of GraphConnectionController and GraphConnectionService, and the update of numerous API endpoints and internal services to use graphspace and graph path variables.
  • Major Dependency and Build Tool Updates: The pom.xml has undergone extensive changes, including upgrading Node.js requirements to 18.20.8, updating various Spring Boot, Elasticsearch, Jersey, and other core dependencies. New Maven plugins for compilation, cleaning, and testing have also been introduced.
  • Enhanced Authentication and Authorization: New controllers and services have been added for comprehensive authentication and authorization management, including user login/logout, user and role management, access control, IP whitelisting, and integration with superadmin and graph space admin roles.
  • Expanded Graph Algorithm Capabilities: Numerous new OLTP and OLAP graph algorithms have been integrated, including shortest path variations, rings, k-out/k-neighbor, Jaccard similarity, personal/neighbor rank, fusiform similarity, Adamic-Adar, resource allocation, and egonet. Dedicated controllers for OLAP and Vermeer algorithms are now present.
  • New Monitoring, Logging, and AI Integrations: Hubble now includes new features for monitoring (Prometheus, Dashboard), centralized logging (ES integration), and AI capabilities via LangChain for natural language to Gremlin/Cypher query generation. Proxy servlet configurations are also introduced for ingestion.
  • Schema and Graph Management Enhancements: New endpoints for managing schema templates, importing graph data from JSON, and detailed graph metrics (schema and element counts, growth rates) have been added. The schema definition now supports Groovy scripts for more flexible management.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/hubble-ci.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a significant refactoring for Hubble 2.0, including a more RESTful API structure, improved client management, and new features like LangChain integration. The changes are extensive and move in a good direction. However, the pull request contains several issues that indicate it might be a work-in-progress, such as commented-out critical code (like authentication checks), numerous TODO comments, debug statements, and potential bugs (like a copy-paste error in an enum). These issues, especially the critical ones, should be addressed before this PR is merged to ensure the stability and correctness of the application.

private final String name;

static {
SerialEnum.register(AppName.class);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

There seems to be a copy-paste error here. The enum AppType is trying to register AppName.class with SerialEnum. This should be AppType.class instead. This could lead to incorrect serialization behavior.

Suggested change
SerialEnum.register(AppName.class);
SerialEnum.register(AppType.class);

Comment on lines +37 to +39
// if (request.getSession().getAttribute(Constant.TOKEN_KEY) == null) { // TODO C why anno.?
// throw new UnauthorizedException();
// }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The authentication check in this interceptor is commented out. This effectively disables authentication for the intercepted API endpoints, which is a major security risk. If authentication is intended, this check must be enabled.

Comment on lines 57 to 58
} catch (Exception ignored) {
LOG.error("hugeConfig exception");
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This empty catch block swallows exceptions silently. This is a dangerous practice as it can hide underlying problems. At a minimum, the exception should be logged. The original logging statement was removed in this change.

Comment on lines +61 to +63
HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1,
Constant.STATUS_OK,
"{\"status\": 401}");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

When the user is not authenticated (username == null), the servlet returns an HTTP 200 OK response with a JSON body {"status": 401}. The more standard and correct approach is to return an HTTP 401 Unauthorized status code directly. This makes the API behavior more predictable for clients.

Suggested change
HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1,
Constant.STATUS_OK,
"{\"status\": 401}");
HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1,
401,
"Unauthorized");

public static void main(String[] args) {
System.out.println("user.dir ==> " + System.getProperty("user.dir"));
initEnv();
TimeZone.setDefault(TimeZone.getTimeZone(ZoneOffset.of("+8")));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Setting the default timezone for the entire JVM with TimeZone.setDefault() is generally discouraged as it can have unintended side effects on other parts of the application and its dependencies that rely on the system's default timezone. It's better to handle timezones explicitly where needed, for example, when formatting dates.

Comment on lines +25 to +27
// TODO fix import
//import org.apache.hugegraph.client.api.traverser.NeighborRankAPI;
//import org.apache.hugegraph.client.api.traverser.PersonalRankAPI;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is a TODO fix import comment here, along with commented-out imports. This indicates incomplete work that should be resolved before merging.

Comment on lines +1 to +82
///*
// *
// * Licensed to the Apache Software Foundation (ASF) under one or more
// * contributor license agreements. See the NOTICE file distributed with this
// * work for additional information regarding copyright ownership. The ASF
// * licenses this file to You under the Apache License, Version 2.0 (the
// * "License"); you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// * http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// * License for the specific language governing permissions and limitations
// * under the License.
// */
//
//package org.apache.hugegraph.controller.auth;
//
//import java.util.List;
//
//import org.apache.hugegraph.driver.HugeClient;
//import org.apache.hugegraph.service.auth.AccessService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.DeleteMapping;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.PutMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//
//import org.apache.hugegraph.common.Constant;
//import org.apache.hugegraph.entity.auth.AccessEntity;
//
//@RestController
//@RequestMapping(Constant.API_VERSION + "graphspaces/{graphspace}/auth/accesses")
//public class AccessController extends AuthController {
//
// @Autowired
// AccessService accessService;
//
// @GetMapping
// public List<AccessEntity> list(@PathVariable("graphspace") String graphSpace,
// @RequestParam(value="role_id", required = false) String rid,
// @RequestParam(value="target_id", required = false) String tid) {
// HugeClient client = this.authClient(graphSpace, null);
// return this.accessService.list(client, rid, tid);
// }
//
// @GetMapping("{id}")
// public AccessEntity get(@PathVariable("graphspace") String graphSpace,
// @PathVariable("id") String aid) {
// HugeClient client = this.authClient(graphSpace, null);
// return this.accessService.get(client, aid);
// }
//
// @PostMapping
// public AccessEntity add(@PathVariable("graphspace") String graphSpace,
// @RequestBody AccessEntity accessEntity) {
// HugeClient client = this.authClient(graphSpace, null);
// return this.accessService.addOrUpdate(client, accessEntity);
// }
//
// @PutMapping
// public AccessEntity update(@PathVariable("graphspace") String graphSpace,
// @RequestBody AccessEntity accessEntity) {
// HugeClient client = this.authClient(graphSpace, null);
// return this.accessService.addOrUpdate(client, accessEntity);
// }
//
// @DeleteMapping
// public void delete(@PathVariable("graphspace") String graphSpace,
// @RequestParam("role_id") String roleId,
// @RequestParam("target_id") String targetId) {
// HugeClient client = this.authClient(graphSpace, null);
// this.accessService.delete(client, roleId, targetId);
// }
//}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This entire file is commented out. If this feature is not ready, it should not be included in the pull request. Commented-out code reduces readability and should be removed from the codebase.

user.setSuperadmin(false);
userService.update(this.authClient(null, null), user);
} catch (Exception e) {
e.printStackTrace();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using e.printStackTrace() is discouraged in production code. It's better to use a structured logger (like SLF4J) to log the exception with appropriate context. This provides better control over log levels and output formats.

Suggested change
e.printStackTrace();
logger.error("Failed to delete super admin role for user {}", id, e);

Comment thread hugegraph-hubble/hubble-be/pom.xml Outdated
<version>1.33</version>
</dependency>
<dependency>
<!-- TODO X FIX HERE-->

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This TODO comment indicates that there's an issue to be fixed with this dependency. Such comments should be resolved, or converted into proper issues in a tracking system, before merging the pull request to ensure code quality and maintainability. There are several other TODO comments in this file that should also be addressed.

Comment on lines +262 to +285
//// TODO REMOVED
//public static final ConfigOption<String> AFS_URI =
// new ConfigOption<>(
// "afs.uri",
// "the uri of afs stored for the olap algorithm's result",
// null,
// "afs://cnn-bd-main.afs.baidu.com:9902"
// );
//
//public static final ConfigOption<String> AFS_USER =
// new ConfigOption<>(
// "afs.user",
// "the user name for accessing afs stored",
// null,
// "user"
// );
//
//public static final ConfigOption<String> AFS_PASSWORD =
// new ConfigOption<>(
// "afs.password",
// "the user password for accessing afs stored",
// null,
// "password"
// );

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

These AFS-related options are commented out with a TODO REMOVED comment. This should be cleaned up by either removing the commented-out code block entirely or clarifying the status of this feature.


private void judgeFileExist(String filePath) {
File file = new File(filePath);
if (!file.exists()) {

Check failure

Code scanning / CodeQL

Uncontrolled data used in path expression

This path depends on a [user-provided value](1). This path depends on a [user-provided value](2). This path depends on a [user-provided value](3).
model, ernieClientId, ernieClientSecret);

// 构造ProcessBuilder对象
ProcessBuilder pb = new ProcessBuilder(args1);

Check failure

Code scanning / CodeQL

Uncontrolled command line

This command line depends on a [user-provided value](1).

Copilot Autofix

AI 8 months ago

The best way to fix this problem is to ensure that the pythonPath value (the Python interpreter executable) is not arbitrarily provided by the user but instead restricted to a trusted set of installed interpreters. This can be achieved in several ways:

  • Preferably, maintain a hardcoded list of allowed interpreter paths, or only allow pythonPath to take on values like "python3", "python", or other known safe paths.
  • Alternatively, validate the provided pythonPath against a list of allowed values (either via direct comparison or regex matching for allowed paths, and reject anything containing unsafe characters).
  • If absolute paths must be supported (for multi-interpreter deployments), sanitize the input to allow only well-formed paths, ensuring no shell metacharacters can be injected.

Changes needed:

  • Implement a private method to validate pythonPath (e.g., validatePythonInterpreterPath). This method should reject any path containing potentially dangerous characters (such as ;, &, |, backticks, or whitespace), or only allow paths within a known set.
  • Call this validation method before constructing the command line in langchainNoSchema or within excutePythonByProcessBuilder.
  • Throw an exception if the validation fails, preventing any uncontrolled execution.

No external dependencies are required; standard Java utilities (such as regex or simple string checks) suffice.

Suggested changeset 1
hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
--- a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
@@ -207,6 +207,9 @@
             throw new RuntimeException("fileName must not be null");
         }
 
+        // Validate pythonPath before execution
+        validatePythonInterpreterPath(requestLangChainParams.pythonPath);
+
         List<String> result =
                 this.excutePythonByProcessBuilder(
                         requestLangChainParams.pythonPath, filePath,
@@ -548,6 +551,31 @@
         return argsList.toArray(new String[argsList.size()]);
     }
 
+    /**
+     * Validate python interpreter path to prevent command injection.
+     * Only allows trusted absolute paths or interpreter names.
+     * Throws RuntimeException if validation fails.
+     */
+    private void validatePythonInterpreterPath(String pythonPath) {
+        if (pythonPath == null || pythonPath.isEmpty()) {
+            throw new RuntimeException("pythonPath must not be empty");
+        }
+        // Only accept known interpreter names or absolute paths without dangerous characters
+        // E.g., allow only "python3", "python", "/usr/bin/python3", or "/usr/local/bin/python3"
+        // Disallow any path containing whitespace, semicolon, ampersand, pipe, or backtick
+        String allowedBinaryNames = "python python3";
+        // Check for simple binary name
+        if (allowedBinaryNames.contains(pythonPath.trim())) {
+            return;
+        }
+        // Check for well-formed absolute path, only allow word characters, slashes, dots
+        // Disallow dangerous shell metacharacters
+        if (!pythonPath.matches("^/?([\\w.-]+/)*[\\w.-]+$")) {
+            throw new RuntimeException("Invalid pythonPath: " + pythonPath);
+        }
+        // Optionally, you may check if the executable exists: new File(pythonPath).exists()
+    }
+
     private void checkParamsValid(GremlinQuery query) {
         Ex.check(!StringUtils.isEmpty(query.getContent()),
                 "common.param.cannot-be-null-or-empty",
EOF
@@ -207,6 +207,9 @@
throw new RuntimeException("fileName must not be null");
}

// Validate pythonPath before execution
validatePythonInterpreterPath(requestLangChainParams.pythonPath);

List<String> result =
this.excutePythonByProcessBuilder(
requestLangChainParams.pythonPath, filePath,
@@ -548,6 +551,31 @@
return argsList.toArray(new String[argsList.size()]);
}

/**
* Validate python interpreter path to prevent command injection.
* Only allows trusted absolute paths or interpreter names.
* Throws RuntimeException if validation fails.
*/
private void validatePythonInterpreterPath(String pythonPath) {
if (pythonPath == null || pythonPath.isEmpty()) {
throw new RuntimeException("pythonPath must not be empty");
}
// Only accept known interpreter names or absolute paths without dangerous characters
// E.g., allow only "python3", "python", "/usr/bin/python3", or "/usr/local/bin/python3"
// Disallow any path containing whitespace, semicolon, ampersand, pipe, or backtick
String allowedBinaryNames = "python python3";
// Check for simple binary name
if (allowedBinaryNames.contains(pythonPath.trim())) {
return;
}
// Check for well-formed absolute path, only allow word characters, slashes, dots
// Disallow dangerous shell metacharacters
if (!pythonPath.matches("^/?([\\w.-]+/)*[\\w.-]+$")) {
throw new RuntimeException("Invalid pythonPath: " + pythonPath);
}
// Optionally, you may check if the executable exists: new File(pythonPath).exists()
}

private void checkParamsValid(GremlinQuery query) {
Ex.check(!StringUtils.isEmpty(query.getContent()),
"common.param.cannot-be-null-or-empty",
Copilot is powered by AI and may make mistakes. Always verify output.
Unable to commit as this autofix suggestion is now outdated
// 执行Python文件,并传入参数
List<String> lineList = new ArrayList<>();
try {
Process proc = Runtime.getRuntime().exec(args1);

Check failure

Code scanning / CodeQL

Uncontrolled command line

This command line depends on a [user-provided value](1). This command line depends on a [user-provided value](2).

Copilot Autofix

AI 8 months ago

The best way to fix this vulnerability is to only allow a fixed, hard-coded list of safe executables (Python interpreters) to be launched, instead of allowing the client to provide an arbitrary pythonPath. For instance, the server could maintain a whitelist such as just "python3", or /usr/bin/python3, and completely ignore/disallow the pythonPath input from the user, or only accept a whitelisted value/alias (for example, "python3" or "python3.10", mapping those to real paths). Similarly, it's important to check that other arguments do not permit command injection, but the main vector here is the user input for executable.

Specific steps:

  • In excutePythonRuntime(...) and associated API paths, do not use pythonPath from user input directly.
  • Instead, maintain a hard-coded list of allowed interpreter paths (could be one path, like "python3").
  • In the handler, either always use the default, or if you want to allow selection, only allow a field like pythonVersion: "python3"/"python3.10" and map that to hard-coded safe paths, not using raw user input.
  • You will likely need to update the getExcuteArgs method and where it's called, passing a safe path instead of a user value.

Regions to change:

  • The definition of excutePythonRuntime and calls to it in your controller, to remove user control of the executable path.
  • Optional: If there's a reason to allow multiple versions, accept only an enumerated, mapped value.
  • Remove or replace pythonPath wherever it comes from an untrusted source.

Suggested changeset 1
hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
--- a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/langchain/LangChainController.java
@@ -130,7 +130,9 @@
             throw new RuntimeException("fileName must not be null");
         }
 
-        List<String> result = this.excutePythonRuntime(requestLangChainParams.pythonPath,
+        // Use a whitelisted Python interpreter path (hardcoded for security)
+        String safePythonPath = "python3"; // Or use an absolute path like "/usr/bin/python3"
+        List<String> result = this.excutePythonRuntime(safePythonPath,
                 filePath, requestLangChainParams.query, requestLangChainParams.openKey, schema,
                 requestLangChainParams.model, requestLangChainParams.ernieClientId, requestLangChainParams.ernieClientSecret);
         if (CollectionUtils.isEmpty(result)) {
@@ -250,6 +252,9 @@
      * @param graphSchema
      * @return
      */
+    // Use only hard-coded python interpreter path for safety
+    private static final String PYTHON_INTERPRETER = "python3"; // Or absolute path if desired
+
     private List<String> excutePythonRuntime(String pythonPath,
                                              String pythonScriptPath,
                                              String query,
@@ -258,7 +263,8 @@
                                              String model,
                                              String ernieClientId,
                                              String ernieClientSecret) {
-        String[] args1 = this.getExcuteArgs(pythonPath, pythonScriptPath, query, openKey, graphSchema,
+        // pythonPath param is ignored for security; always use the hardcoded interpreter
+        String[] args1 = this.getExcuteArgs(PYTHON_INTERPRETER, pythonScriptPath, query, openKey, graphSchema,
                 model, ernieClientId, ernieClientSecret);
         log.info("lang chain execute python command:\n [{}] \n", String.join(" ", args1));
 
@@ -522,6 +528,7 @@
                                    String ernieClientId,
                                    String ernieClientSecret) {
         List<String> argsList = new ArrayList<>();
+        // Only use hardcoded allowed pythonPath for security
         argsList.add(pythonPath);
         argsList.add(pythonScriptPath);
         argsList.add("--query");
EOF
@@ -130,7 +130,9 @@
throw new RuntimeException("fileName must not be null");
}

List<String> result = this.excutePythonRuntime(requestLangChainParams.pythonPath,
// Use a whitelisted Python interpreter path (hardcoded for security)
String safePythonPath = "python3"; // Or use an absolute path like "/usr/bin/python3"
List<String> result = this.excutePythonRuntime(safePythonPath,
filePath, requestLangChainParams.query, requestLangChainParams.openKey, schema,
requestLangChainParams.model, requestLangChainParams.ernieClientId, requestLangChainParams.ernieClientSecret);
if (CollectionUtils.isEmpty(result)) {
@@ -250,6 +252,9 @@
* @param graphSchema
* @return
*/
// Use only hard-coded python interpreter path for safety
private static final String PYTHON_INTERPRETER = "python3"; // Or absolute path if desired

private List<String> excutePythonRuntime(String pythonPath,
String pythonScriptPath,
String query,
@@ -258,7 +263,8 @@
String model,
String ernieClientId,
String ernieClientSecret) {
String[] args1 = this.getExcuteArgs(pythonPath, pythonScriptPath, query, openKey, graphSchema,
// pythonPath param is ignored for security; always use the hardcoded interpreter
String[] args1 = this.getExcuteArgs(PYTHON_INTERPRETER, pythonScriptPath, query, openKey, graphSchema,
model, ernieClientId, ernieClientSecret);
log.info("lang chain execute python command:\n [{}] \n", String.join(" ", args1));

@@ -522,6 +528,7 @@
String ernieClientId,
String ernieClientSecret) {
List<String> argsList = new ArrayList<>();
// Only use hardcoded allowed pythonPath for security
argsList.add(pythonPath);
argsList.add(pythonScriptPath);
argsList.add("--query");
Copilot is powered by AI and may make mistakes. Always verify output.
Unable to commit as this autofix suggestion is now outdated
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String fileName = String.format("%s_%s.schema", graphSpace, graph);
response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);

Check warning

Code scanning / CodeQL

HTTP response splitting

This header depends on a [user-provided value](1), which may cause a response-splitting vulnerability. This header depends on a [user-provided value](2), which may cause a response-splitting vulnerability.

Copilot Autofix

AI 8 months ago

The best fix is to sanitize the user-provided graphSpace and graph variables before writing them into the Content-Disposition header. As recommended in the background section, this should be done by either escaping or filtering out CR (\r), LF (\n), and other special characters that could prematurely end the header or inject new headers. The simplest safe approach is to remove any characters except a limited safe subset (such as alphanumerics, dashes, underscores), or to replace dangerous characters with safe alternatives.

Implement a helper method (for example, sanitizeForHeader) that replaces or removes any characters that are not part of a safe set (such as [A-Za-z0-9-_]) from the input. Call this function on both graphSpace and graph before constructing fileName. Place the sanitization function in this class (since that's all the code provided). Apply the sanitized values to construct fileName. No new external dependencies are required.

All edits take place inside hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java. Add the helper method for sanitization (above or near usage), and invoke it in the schemaGroovyExport() method on both graphSpace and graph arguments.

Suggested changeset 1
hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java
--- a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java
+++ b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/schema/SchemaController.java
@@ -72,6 +72,18 @@
         "/{graph}/schema")
 public class SchemaController extends BaseController {
 
+    /**
+     * Sanitizes a string for safe usage in HTTP headers (e.g. Content-Disposition),
+     * removing any CR, LF, or other disallowed/suspicious characters.
+     * Allows only ASCII letters, digits, dash, underscore, dot.
+     */
+    private static String sanitizeForHeader(String value) {
+        if (value == null) {
+            return "";
+        }
+        return value.replaceAll("[^A-Za-z0-9._-]", "");
+    }
+
     public static Logger log = Log.logger(SchemaController.class);
 
     @Autowired
@@ -123,7 +135,9 @@
 
         response.setCharacterEncoding("UTF-8");
         response.setContentType("text/html");
-        String fileName = String.format("%s_%s.schema", graphSpace, graph);
+        String sanitizedGraphSpace = sanitizeForHeader(graphSpace);
+        String sanitizedGraph = sanitizeForHeader(graph);
+        String fileName = String.format("%s_%s.schema", sanitizedGraphSpace, sanitizedGraph);
         response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
         try {
             OutputStream os = response.getOutputStream();
EOF
@@ -72,6 +72,18 @@
"/{graph}/schema")
public class SchemaController extends BaseController {

/**
* Sanitizes a string for safe usage in HTTP headers (e.g. Content-Disposition),
* removing any CR, LF, or other disallowed/suspicious characters.
* Allows only ASCII letters, digits, dash, underscore, dot.
*/
private static String sanitizeForHeader(String value) {
if (value == null) {
return "";
}
return value.replaceAll("[^A-Za-z0-9._-]", "");
}

public static Logger log = Log.logger(SchemaController.class);

@Autowired
@@ -123,7 +135,9 @@

response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
String fileName = String.format("%s_%s.schema", graphSpace, graph);
String sanitizedGraphSpace = sanitizeForHeader(graphSpace);
String sanitizedGraph = sanitizeForHeader(graph);
String fileName = String.format("%s_%s.schema", sanitizedGraphSpace, sanitizedGraph);
response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
try {
OutputStream os = response.getOutputStream();
Copilot is powered by AI and may make mistakes. Always verify output.
Unable to commit as this autofix suggestion is now outdated
@github-actions

Copy link
Copy Markdown

Due to the lack of activity, the current pr is marked as stale and will be closed after 180 days, any update will remove the stale label

imbajin added 2 commits July 12, 2026 02:42
- keep one concise global follow-up list
- stop tracking goal-specific process and evidence files
- ignore local task artifacts by default
- preserve completed audit evidence locally
- capture the unfinished UI and UX refactor
- keep completed legacy and hardening tasks excluded
- preserve detailed execution steps in local task records
imbajin added 5 commits July 12, 2026 04:00
- disable Kubernetes token endpoints\n- validate pagination and close request clients\n- secure CORS and sanitize exception logging\n- clean up graph listeners and loading state\n- add backend security regression coverage
- add configurable exponential backoff after repeated failures
- return HTTP 429 with Retry-After and backend warnings
- serialize concurrent attempts per principal and client address
- show a deduplicated frontend warning and cover regressions
- bind loader entities to graphspace, graph, and job scopes
- protect upload, batch, mutation, and deletion paths
- add scoped access regression coverage
- remove unused secondary request wrapper
- use default Node and Yarn download sources
- align Kotlin runtime dependency versions
- reduce expected parser log noise and mark date migration
Files were using a short-form license header that fails the license-eye
check. Replace with the full standard Apache 2.0 header consistent
with the rest of the project.

Also fix all remaining Checkstyle violations in toolchain modules
including line length, indentation, operator wrapping, and support for
SuppressWarnings filter.

Files fixed (License):
- hubble-be/.../exception/LoginThrottledException.java
- hubble-be/.../service/auth/LoginAttemptGuard.java
- hubble-be/.../unit/LoaderScopeControllerTest.java
- hubble-be/.../unit/LoginAttemptGuardTest.java
- hubble-be/.../unit/PriorityFixTest.java
- hubble-fe/src/api/throttleWarning.js
- hubble-fe/src/components/RouteErrorBoundary/index.js

Files fixed (Checkstyle):
- tools/checkstyle.xml
- hugegraph-client/.../driver/HugeClientBuilder.java
- hugegraph-loader/.../loader/HugeGraphLoader.java
- hugegraph-loader/.../loader/task/TaskManager.java
- hugegraph-loader/.../loader/executor/LoadOptions.java
imbajin added 12 commits July 12, 2026 12:52
- forward only rc-collapse control props across wrappers
- normalize rejected algorithm requests for form recovery
- preserve success, business-error, and auth contracts
- cover all algorithm panels and shared API boundaries
- serialize large graph ids as exact decimal strings
- remove the JSON blob BOM and verify parse round trips
- expose export actions through keyboard-operable menu items
- make the export button open its dropdown on click
- preserve Ant Design keyboard-enabled menu item actions
- verify the explicit trigger contract with targeted tests
- keep option loading failures visible with scoped retries
- clear stale graph and source-field form values
- ignore late responses after context changes
- localize recovery states and cover dual-mode contracts
- scope clear copy and symbols to graph data
- gate incompatible clone actions with accessible reasons
- preserve destructive confirmation and refresh behavior
- lock API and action contracts with regression tests
- rebuild Groovy from structured Schema responses
- preserve nested userdata and quoted separators
- keep legacy Server output unchanged
- verify real PD export and replay
- add compatibility regression coverage
- project BigInt and JSONbig values safely for JSON display
- render table cells without lossy quoting or precision changes
- prevent hidden graph fitting and duplicate layout registration
- persist a controlled reason for synchronous Cypher failures
- keep async submission and execution failure semantics distinct
- close favorite popovers when switching query languages
- cover sync, async, and tab-transition regression paths
- expose graph schema export with identity-safe recovery
- distinguish Meta loading, empty and failure states
- recover vertex and edge detail requests without stale writes
- clarify optional template application during graph creation
- make graph creation and card actions keyboard accessible
- preserve loading, failure and retry contracts across system pages
- prevent stale profile, task and metadata responses from leaking
- replace click-only controls with keyboard-accessible actions
- localize login, recovery and unknown-route semantics
- add focused accessibility and race regression coverage
- add a peer natural-language query tab
- block all placeholder execution and network paths
- recover rejected query and async task requests
- cover zero-call and failure contracts with tests
- align favorite names with backend constraints
- prevent profile validation runtime errors
- explain unavailable PD dashboard actions
- add focused regression tests and QA report
@imbajin imbajin closed this Jul 12, 2026
@imbajin imbajin deleted the hubble2 branch July 12, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants