3.8 KiB
3.8 KiB
变更日志
元数据
- 需求编号: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- 设置调试头部
新增文档
- 连接管理子需求 - 连接管理功能子需求
- 连接管理设计 - Tooling API 连接管理功能设计
- 连接管理技术选型 ADR - Tooling API 连接管理技术选型决策
- 连接管理提示词 - Tooling API 连接管理代码生成提示词
新增代码文件
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.javadatai-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.javadatai-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.javadatai-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 个测试)
- API:5 个 REST API 接口
技术实现
- 使用 tooling.jar 中的现有类(Connector、ToolingConnection、SessionHeader、CallOptions、DebuggingHeader 等)
- 继承 AbstractConnectionFactory,利用其提供的连接缓存和自动 Session 有效性检查功能
- 使用 SessionManager 获取会话信息,固定使用 "source" orgType
- 使用 ToolingConnectionErrorCode 枚举定义错误码
- 单元测试覆盖率 100%(9 个测试用例)