- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Enterprise Architect 的初学者,我需要编写一个小程序来选择 Enterprise Architect 项目中的所有“事件”类型,以设置“别名”属性的特定值(不相同,但遵循特定逻辑)。我想使用脚本工具来完成此操作,但我在通过脚本访问任何事件对象时遇到了一些困难。
我找到了链接1 “企业架构师对象模型”但我无法解决我的问题。下面附上项目树。
这里有一些我尝试过的 JavaScript 代码:
var elem as EA.Element;
elem = Repository.GetTreeSelectedObject();
elem.Alias = "Hi at all";
但是这段代码有两个问题:
1)需要用鼠标指针选择事件;
2) 运行代码后,事件的“别名”字段为空。
最佳答案
有不同的方法来处理这个问题。一种选择是从选定的Package开始并迭代每个拥有的元素;及其拥有的元素。
大概是这样的(C#,但你明白了它的要点):
public void main()
{
var selectedPackage = Repository.GetTreeSelectedPackage();
processPackage(selectedPackage);
}
private void processPackage(EA.Package package)
{
//process owned elements
foreach (EA.Element element in package.Elements)
{
processElement(element);
}
//process SubPackages
foreach(EA.Package subPackage in package.Packages)
{
processPackage(subPackage);
}
}
private void processElement(EA.Element element)
{
//test type and steroetype to make sure we only treat Activities
if (element.Type == "Activity" && element.Stereotype == "Activity")
{
element.Alias = "newAlias";
element.Update();
}
//process owned Elements
foreach(EA.Element subElement in element.Elements)
{
processElement(subElement);
}
}
这对于有限数量的元素来说效果很好,但如果您想处理分散在大型模型上的大量元素,它会变得非常慢。
在这种情况下,最好使用Repository.GetElementSet(MySQLSelectQuery,2)
。将此操作与 SQL 查询结合使用(第二个参数需要为 2
)来准确选择您需要的元素。
这将比迭代整个模型快一个数量级。
我的 github 存储库中的此方法(以及更多)示例:
这很简单。确保在更改 API 对象的任何属性后调用 Update()
。
关于javascript - 通过 Enterprise Architect 中的脚本访问嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53886506/
Enterprise Architect 中的原型(prototype)“主文档”和“报告包”有什么区别?我将从多个模型文档生成一个文档,我想更好地组织它们以模仿生成的文档的结构。我认为创建“报告包”
我要为我的 EA 项目创建一个脚本。为此,有必要创建一个新的“组”,您可以在该组中添加自己的脚本。 我在硬盘上找到的本地脚本。它们位于 EA-install-dir/Scritps 中。 但是我在哪里
我定义了一个带有操作的类,操作在几个时序图中使用。 有没有办法找出有多少序列图正在使用一个特定的操作? 最佳答案 如果我的理解正确,您应该能够执行以下操作: 在“项目浏览器”中展开您的类以查看操作 右
问题:我们的许多设计和架构文档都是在 Enterprise Architect 中创建和维护的。 ——无论好坏,就是这样。这些文档存储在我们的 subversion 存储库中——这对于创建和更新它们的
我有一个很大的遗留项目。 我加载了整个项目:Project->Source Code Engineering->Import Source Directory:(c++) & (path) 有没有一种
我的元素有 10 个或更多标记值,而不是一次删除一个,有没有办法同时删除它们? 最佳答案 正如 Uffe 指出的那样,您可以使用脚本来完成此操作。有关 EA 脚本的更多信息,请参阅 the EA Us
我有一些代码,我想创建Property Note var metric as EA.Element; metric = thePackage.Elements.AddNew("", "Text")
我正在尝试将一个图表中的用例链接到详细说明该用例的图表。 我正在做的是: 创建新的用例图(右键单击模型 -> 添加 -> 添加图) 将图表称为“测试” 在图表中添加用例(在图表中单击右键 -> 新建元
Sencha Architect 允许您轻松导入项目。但是,该程序要求将项目存档为 .xds 或 .xda。如何为 KitchenSink、Kiva 等默认项目执行此操作? 最佳答案 Thiem 是正
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我无法在“Enterprise Architect”(Sparx Systems)生成的类图中显示参数的名称。我正在尝试在下面添加一个操作 + delayFight(numberOfMinutes:
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
在模型搜索功能中似乎没有办法将结果限制为特定类型,例如类,节点等。有办法实现吗?我知道我可以制作一个 SQL 查询,但是无法找到正确的表名。 编辑 看来我可以做到以下几点 选择 *, Object_T
我有一个 54 页的 UML 图要打印。我想缩小图像大小或页面大小,以便打印不超过 12 页?有没有办法做到这一点? 最佳答案 开图 使用图->属性 在图表选项卡上,单击页面设置下的“高级...” 单
我有一个用例图,其中用例具有扩展关系。我想知道是否有任何 API 可用于了解将哪个扩展点设置为特定的扩展关系(在许多可以应用的扩展点中)。下面显示了用例图以及突出显示的扩展点。 最佳答案 假设这是一个
我正在使用 Enterprise Architect 为 Java 应用程序进行一些类建模,我希望能够导入 Java SDK/API,以便我可以在我的模型中引用它的类。 有关如何执行此操作的任何指示?
我想在我的事件图中添加一个图例,该图例将由 java 和 ea-api 以编程方式生成。我已经知道如何创建图例元素并在图表中显示它(类型:“文本”和子类型:76): Element legend =
有谁知道如何更改 Enterprise Architect 中 UML 类属性的默认范围(我使用的是 9.2 版)?添加新属性时,默认设置为 Private。我主要使用Enterprise Archi
我正在寻找与 Enterprise Architect 中的“在所有图表中查找”功能 (Strg + U) 相对应的 API 功能。 类(class)element提供应该返回图表集合的属性图,但在我
我不精通 UML,但我想根据现有的 C++ 代码创建一个类图。 StackOverflow 的其他问题表明,Enterprise Architect 和 Rational Software Archi
我是一名优秀的程序员,十分优秀!