我有一个包含多个图表(带元素)的项目.我想关闭这个特定项目并将图表移动到其他更合适的项目中. 移动图表很简单.问题是,现在我必须手动查找此特定图表的所有相关元素,并将它们逐
移动图表很简单.问题是,现在我必须手动查找此特定图表的所有相关元素,并将它们逐个移动到另一个项目.由于我在原始项目的所有图表中都有相当多的元素,因此这非常繁琐.
我想知道在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文件”),然后将其导入到目标项目中.
