切换的优势

老架构逻辑

sequenceDiagram
	user->>designer: 点击切换
	designer->>workspace: 切换远程目录
	workspace->>module: 关闭模块树
	module->>workspace: 关闭完成
	workspace->>workspace: 切换目录
	workspace->>module: 启动模块树
	module->>server: 拉取数据
	server->>module: 返回数据
	module->>workspace: 启动完成
	workspace->>designer: 切换完成
	designer->>user: 设计器可用

新架构逻辑

sequenceDiagram
	user->>designer: 点击切换
	designer->>workspace: 切换远程目录
	workspace->>plugin: 启用设计器相关远程插件
	workspace->>designer: 切换完成

	designer->>designer: 刷新 UI
	designer->>server: 按需拉取数据
	server->>designer: 返回数据
	designer->>user: 设计器可用

当前远程使用的 Operator

未知风险

// 存储文本转化,影响大。
StorageTransfer

// 远程资源
WorkResource

// 配置辅助类
// query
DataFetcher
// update
CommitHelper

// 数据库连接
DataBaseTypeOperator
// 数据连接保存
ConnectionOperator
// 数据连接权限
DBConnectAuth
// 数据连接操作
DataOperatorProvider

// 数据集信息
TableDataOperator

无风险

// 远程信息
WorkspaceHeartbeat
// 资源操作
FileAssistUtilsOperator
// 远程文件
FileNodes

// 缓存配置是否需要自动修改
ESDConfigEventOperator

// 构建信息
BuildInfoOperator

// 通用信息
CommonOperator

// 平台信息
DecisionOperator

// 集群判断
ClusterOperator

// VCS
VcsOperator
VcsMoveOperator
VcsAutoCleanOperator

// 模板导出
TemplateExportOperator

// 模板检测
TemplateChecker

// 模板加密
EncryptOperator

// 模板读写
TplOperator

  • 实际保存 WorkResourceTempRenameStream

// 组件商城
ShareComponentOperator
ShareEmbeddedConverter

// 版本信息
VersionInfoOperator

// 权限
UserAuthority
AuthorityOperator
OrganizationOperator

// 设计器信息
ThemedCellBorderFeature

// 数据连接锁
EditLockOperator
// 模板锁
LockInfoOperator

// 建立 socket 连接
SocketVerifierOperator
SocketInfoOperator

启动过程中访问

SecuritySeedsActivator
安全种子?插件可能会用到。
|450
加载 n 次。

ServiceDiscoveryActivator

ConfigurationActivator、配置项理论上是需要的。

  • ready
    Vcs 请求-2
  • WorkContext.getCurrent().get(VcsOperator.class).isLegacyMode()
  • Vcs 请求
    com.fr.decision.system.monitor.jvm.VersionHelper#getVersion

fvs 插件启动
DumpApp
com.fr.plugin.chart.map.server.ChartGEOJSONHelper
com.fr.decision.webservice.v10.map.geojson.helper.GEOJSONHelper

云端运维插件
com.fr.plugin.cloud.analytics.designer.workspace.WorkspaceInfoProvider

数据源模块
com.fr.data.DatasourceActivator

  • com.fr.data.driver.util.DriverJarFileHelper#removeDeletedJar

com.fr.start.module.DesignerShowActivator

  • com.fr.design.gui.itree.filetree.TemplateFileTree#listFile 模板树
  • com.fr.design.file.TemplateTreePane#refreshDockingView
    • com.fr.design.gui.itree.filetree.TemplateFileTree#listFile

com.fr.chart.activator.ChartBaseActivator

  • com.fr.plugin.chart.map.AbstractMapIndependentVanChart#resetDefaultGeoUrl

com.fr.module.ServerModule

云端运维插件

  • cloud-universal-config-register
  • com.fr.decision.config.IntelliReleaseConfig

com.fr.report.module.ReportBaseActivator

  • com.fr.stable.TemplateIOErrorContextHolder#registerPluginNameMap

com.fr.workspace.server.vcs.VcsFolderManagerActivator

com.fr.start.module.DesignerActivator

  • com.fr.design.data.DesignTableDataManager#getAllEditingDataSet
  • com.fr.workspace.server.authority.user.UserAuthority#getAuthServerDataSetNames
  • com.fr.start.BaseDesigner#getLastOpenFile