javascript 企业架构师:访问从脚本查看构造型

j5fpnvbx  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(99)

我正在用Javascript在Enterprise Architect 16.1.1622中编写批量编辑脚本。它应该允许用户从所有选定元素的所有公共属性中选择属性。对于每一个选择的属性,我想列出所有可能的预定义值(如果可用)。
这对于Repository.GetReferenceList和Repository.PropertyTypes(通过DetailValue =...)很有效,但是我不能从自定义视图中找到原型的继承属性的预定义值。
我们有一个公司简介(抱歉不太确定正确的术语)包括通过MDG技术。中定义了几种类型。如果我现在将默认操作的原型设置为这个概要文件的类型,那么我的操作将继承该类型的特定属性。假设我们有一个名为“Color”的属性,其预定义值为“red”,“绿色”和“blue”,该属性在公司配置文件中定义并由操作继承。
我现在可以根据GUI中预定义的值更改此操作的此属性。我还可以通过编程方式读取和写入此属性。但是我不能通过编程获得这些预定义值的列表。
这个列表就是我正在寻找的。

svdrlsy4

svdrlsy41#

这些属性的预定义值(AKA标记值)存储在包含在MDG文件中的UML概要文件中。
MDG文件是一个XML,属性可能如下所示:

<Stereotype name="MyStereotype" notes="" cx="0" cy="0" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0" isAbstract="true">
    <TaggedValues>
        <Tag name="color" type="enumeration" description="" unit="" values="green,red,blue,other" default="other"/>
    </TaggedValues>
</Stereotype>

因此,为了知道标记值可以具有哪些值,您必须解析MDG文件。
其中一个问题是EA可以用不同的方式加载MDG文件

  • 导入数据库
  • 在共享位置
  • 在用户自己的配置文件中
  • 作为加载项的一部分加载
  • 其他人???

因此,您基本上需要复制EA加载MDG文件的方式。如果只是为了你公司的千年发展目标,你可以同意把它放在一个固定的位置,这样你就可以阅读。
如果你想做一个通用的加载项/脚本,那么恐怕你运气不好。

相关问题