2013-08-01 48 views
5

我有一个包含几个图表(带有元素)的项目。我想关闭这个特定的项目,并将图表移动到其他更合适的项目。在企业架构师的项目之间移动图表

移动图很简单。问题是,现在我必须手动查找这个特定图表的所有相关元素,并将它们逐个移动到另一个项目。由于我在原始项目的所有图表中都有相当多的元素,所以这非常单调乏味。

我想知道在EA中是否有更简单的方式来处理这种重构?

回答

5

在开箱即用的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文件),然后将其导入到目标项目中。

+0

结论是,将图表与其元素放在一起来分离包是一种很好的做法。这将允许轻松导出和导入它们。 – rideronthestorm

0

您还可以尝试将图表放入包中,然后将其导出到XML文件并从目标项目导入它。