kettle版本:8.2.0.0-311
问题描述:创建一个转换或者作业,命名为A并保存到资源库中,打开A,在探索资源库面板将A重命名为B,再打开B,这时Spoon面板会出现A与B两个。实际为一个转换或者作业。
原因分析:
1、分析重命名代码的具体实现步骤,代码入口:browseController.renameContent()
分析以上代码,重命名操作只是修改了数据库和当前面板的缓存数据,并未对Spoon面板进程操作。
2、再来看看打开操作的代码,此处就是为什么会打开两个转换或者作业的原因,代码入口:browseController.openContent()
注意到红圈内代码,打开操作有一个回调函数,该回调接口名为RepositoryExplorerCallback,实际实现在Spoon.exploreRepository()方法中,我们可以看到,该接口只有一个open方法,并没有rename或者其他操作(例如:我们实际应用项目中添加了发布操作),我们再看一下open的具体实现代码(以trans为例,job类似)。
从Spoon.exploreRepository()向下走,进入loadObjectFromReposi