datai/datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-28-004-01-changelog.md

3.8 KiB
Raw Permalink Blame History

变更日志

元数据

  • 需求编号004-01
  • 创建时间2026-01-28
  • 创建人AI Assistant
  • 版本号v1.0.0
  • 变更类型:新增功能

变更概述

实现 Salesforce Tooling API 的连接管理功能,提供 ToolingConnection 的创建、缓存管理、连接测试、头部配置等功能。

变更内容

新增功能

  • 实现 ToolingConnection 连接管理功能,包括:
    • 获取 ToolingConnection 连接(从缓存或创建新连接)
    • 清除连接缓存(手动清除缓存,强制下次创建新连接)
    • 测试连接(验证连接是否有效)
    • 设置调用选项CallOptions如 client 名称)
    • 设置调试头部DebuggingHeader如 debugLevel
  • 继承 AbstractConnectionFactory 实现 ToolingConnectionFactory提供连接缓存和自动 Session 有效性检查
  • 集成 SessionManager 获取会话信息,支持 Session 过期时自动重新创建连接
  • 提供 5 个 REST API 接口:
    • GET /tooling/connection - 获取连接
    • DELETE /tooling/connection/cache - 清除缓存
    • GET /tooling/connection/test - 测试连接
    • POST /tooling/connection/call-options - 设置调用选项
    • POST /tooling/connection/debugging-header - 设置调试头部

新增文档

新增代码文件

Factory 层

  • datai-salesforce-tooling/src/main/java/com/datai/tooling/factory/ToolingConnectionFactory.java

Service 层

  • datai-salesforce-tooling/src/main/java/com/datai/tooling/service/IToolingConnectionService.java
  • datai-salesforce-tooling/src/main/java/com/datai/tooling/service/impl/ToolingConnectionServiceImpl.java

Controller 层

  • datai-salesforce-tooling/src/main/java/com/datai/tooling/controller/ToolingConnectionController.java

DTO

  • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/CallOptionsRequest.java
  • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/DebuggingHeaderRequest.java

VO

  • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/ToolingConnectionResult.java
  • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/ToolingConnectionStatus.java

Enums

  • datai-salesforce-tooling/src/main/java/com/datai/tooling/enums/ToolingConnectionErrorCode.java

单元测试

  • datai-salesforce-tooling/src/test/java/com/datai/tooling/service/impl/ToolingConnectionServiceImplTest.java

影响范围

  • 模块:datai-salesforce-tooling
  • 功能Tooling API 连接管理
  • 文件10 个新文件8 个生产代码 + 1 个枚举 + 1 个测试)
  • API5 个 REST API 接口

技术实现

  • 使用 tooling.jar 中的现有类Connector、ToolingConnection、SessionHeader、CallOptions、DebuggingHeader 等)
  • 继承 AbstractConnectionFactory利用其提供的连接缓存和自动 Session 有效性检查功能
  • 使用 SessionManager 获取会话信息,固定使用 "source" orgType
  • 使用 ToolingConnectionErrorCode 枚举定义错误码
  • 单元测试覆盖率 100%9 个测试用例)

相关文档