我有一个包含多个图表(带元素)的项目.我想关闭这个特定项目并将图表移动到其他更合适的项目中. 移动图表很简单.问题是,现在我必须手动查找此特定图表的所有相关元素,并将它们逐
移动图表很简单.问题是,现在我必须手动查找此特定图表的所有相关元素,并将它们逐个移动到另一个项目.由于我在原始项目的所有图表中都有相当多的元素,因此这非常繁琐.
我想知道在EA中处理这样的重构有一种更简单的方法吗?
在开箱即用的EA中没有更简单的方法,没有.但是哪里有遗嘱就有办法.首先,制作项目的副本.我所描述的解决方案将破坏其结构.
其次,创建一个空包并在那里移动图表.
第三,在Browserscript组中创建一个VBScript(工具 – 脚本).称之为“收集图元素”.在编辑器中,用以下内容替换已注释掉的otDiagram案例:
case otDiagram ' Code for when a diagram is selected dim theDiagram as EA.Diagram set theDiagram = Repository.GetTreeSelectedObject() dim dObj as EA.DiagramObject dim element as EA.Element for each dObj in theDiagram.DiagramObjects set element = Repository.GetElementByID(dObj.ElementID) element.PackageID = theDiagram.PackageID element.Update() next
此脚本将运行图表中显示的所有元素,并将它们移动到图表所在的包中.
通过右键单击包浏览器中的图并选择“脚本 – 收集图元素”来运行脚本.脚本完成后,您可能需要重新加载包(右键单击包浏览器中的包,选择Contents – Reload Current Package).
最后,将包导出到XMI(在包浏览器中右键单击,选择“导入/导出 – 将包导出到XMI文件”),然后将其导入到目标项目中.