我有一个包含几个图表(带有元素)的项目。我想关闭这个特定的项目,并将图表移动到其他更合适的项目。在企业架构师的项目之间移动图表
移动图很简单。问题是,现在我必须手动查找这个特定图表的所有相关元素,并将它们逐个移动到另一个项目。由于我在原始项目的所有图表中都有相当多的元素,所以这非常单调乏味。
我想知道在EA中是否有更简单的方式来处理这种重构?
我有一个包含几个图表(带有元素)的项目。我想关闭这个特定的项目,并将图表移动到其他更合适的项目。在企业架构师的项目之间移动图表
移动图很简单。问题是,现在我必须手动查找这个特定图表的所有相关元素,并将它们逐个移动到另一个项目。由于我在原始项目的所有图表中都有相当多的元素,所以这非常单调乏味。
我想知道在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
此脚本通过一个图中所示的所有元件运行,并且将它们移动到包装中的图是在
运行脚本,方法是在软件包浏览器中右键单击该图并选择“脚本 - 收集图表元素”。脚本结束后,您可能需要重新加载软件包(右键单击软件包浏览器中的软件包,选择“目录” - “重新加载当前软件包”)。
最后,将软件包导出到XMI(在软件包浏览器中右键单击,选择导入/导出 - 将软件包导出为XMI文件),然后将其导入到目标项目中。
您还可以尝试将图表放入包中,然后将其导出到XML文件并从目标项目导入它。
结论是,将图表与其元素放在一起来分离包是一种很好的做法。这将允许轻松导出和导入它们。 – rideronthestorm