这篇文章介绍了如何自定义将为您的 UML Profiles 生成的工具。本文假定您对配置文件的生成和部署工具的基础知识已经非常熟悉。如果您不熟悉这些内容,请再先浏览这个系列的第一部分“利用
UML 概要文件 (UML Profiles) 定制领域建模,第 1 部分:创建和部署工具”,再继续本文的学习。
来自已被启动实例的工作空间将会被称作运行时间工作空间,当这个工作空间包括您原始的配置文件和产生的插件,它们将被引用为最初的或者开发工作空间。
- 从您的开发工作空间中删除产生的插件。
- 现在再次点击这个配置文件,并选择这个下拉菜单中的Generate Profile Tooling。
提示:
如果您还有产生的模型剩下,那么从先前的产生,第一个向导页面上的快捷复选框,一直到产生工具板,菜单,以及图形都将不再有效。先前的调用设置都将由向导保存。如果您不想保存这些设置,就在重新启动这个向导之前删除产生的这些模型文件。
- 如果可能的话,核查首页上自定义图形的选项,然后点击Next。(如果这个选项已经因为您的重新产生而变成灰色,您可以始终使用各种向导页面中的
Select All 按钮。)
您现在已经在 Profile Tooling 页面(图 1)。
- 在这个页面中,您为您想要生成的工具板条目和下拉菜单选择元素。
图 1. Profile Tooling 页面
提示:
如果您对这个默认的规格不满意,这个向导是可变化的。
这个页面上的条目都会被复核,因为首页上的“All palette items” 和 “All menu items” 都被复核。您可以通过核查或者清除页面顶部的
Name, EClass, 以及 Type 表格的复选框。这个表格是基于您的配置文件中的元素组成的。它包括这些条目:
- 每个固定模型的元类扩展有一个或者多个条目。注意到如果这个元类扩展以前是一个抽象的 EClass,它将不会显示在这个列表中。这是因为您不能为抽象类型创建工具。元类扩展的
EClass 的具体子类型将会自动被添加。EClass 一栏将会包含元类扩展的 UML EClass。
- 一个条目针对一个固定模式联合和一个元类联合。在这些案例中,这个 EClass 栏将包含股东模式联合或者元类联合其中的一种。
注释:
配置文件类和列举在这个释放中是不被支持的;因此,它们不会显示在这个向导中。进一步说,那些不能通过使用这个工具板而合理形成模型的条目(比如
UML 模型)都会被过滤掉。
底部的这个表格显示了您在这个表格顶部选择的元素的属性。注意这些可利用属性将会变更,是建立在选择的元素基础上的。现在,我们将仔细检查这些属性的细节。
提示:
仅仅将“Create menu item” 和 “Create palette entry”属性设置为 “Yes” 将不会产生工具,如果页面顶部表格中的这个元素没有被复核。类似的,仅仅核查这个元素将不会有任何作用,如果“Create
menu item” 和 “Create palette entry”属性都设置为“No。”
默认情况下,所有菜单的条目都被添加到一个叫做“Add [Your Application Name] Element,”的子菜单中,并且它们将属于子菜单中的同一个组。这个组叫做
“defaultGroup。”您可能想将这些条目进一步分组。只需要将这个组名设置为另一个非 defaultGroup 的名称即可。这个组将通过这个下拉菜单中的分隔符被分开。在图
2的例子中, Crew, Agent, System, 和 Miscellaneous 菜单条目已经分成了不同的组。
图 2. 可以通过详细说明不同组命而将条目分组
对于这个工具板 ,您可以对默认工具板或者其它工具板进行促成。正如第 1 部分所阐述的,这个应用软件的名称就是默认工具板的名称。您可以通过键入另一个工具板名称来促成一个新工具板组。链接符通常显示在工具的下面来产生节点。一个分隔符就会自动在节点工具和链接工具之间产生。
如果您使这个图标保留为空,来自这个配置文件的图表选择就会被使用。如果在这个配置文件中没有定义图标,这个对应元类扩展的图标就会被使用。例如,如果有一个带有
Actor 元类扩展的固定模式,这个固定模式在这个配置文件中就没有图标,那么这个 UML 角色的图标就会被使用。
尽管在大多数情况下它对接受带有配置文件元素的图标是非常有意义的,但是仍有一两个案例中您想更改这个图标。然而,您要注意的是,有时候,这个浏览图标的按钮将会变成灰色。当您产生一个还没有被创建的插件时这个按钮也会变成灰色。这是因为您只能从将要产生的插件中选择图标。
因此,首先创建那个插件并在您运行这个向导前将您的图标添加到它上面。为什么?因为当您在这个 plugin.xml 文件中引用这个图标时,您可以仅仅引用相同捆中的图标。(这里有几种通过在genmodel中设置而规避的方法,但是那确实更多高级用户所使用的方法。)
注释:
如果您产生了一个元类联合或者一个固定模型联合,您需要为这个固定模式终端产生工具或者形状。
下一页是 Profile Graphics 向导(图 3)。这个页面是自我说明。要产生自定义编辑部分,要核查这个元素。要使用
Rational 建模的标准 UML 表示法,只需要明晰这些元素即可。利用标准的 UML 表示法,就不会有代码为这个编辑部分呈递而产生。
图 3. Profile Graphics 向导
注释:
如果您选择为它创建工具,就会自动为元类联合和固定模式联合的编辑部分自动产生代码。
提示:
Thegenmodel是一个标准的 EMF 概念,它简称为“Generator Model。”为了尽可能使用它,您不需要是一个
EMF 专家。您所需要了解的是它是一个包含将被产生的代码设置的模型文件,并且这个向导将会从这个映射模型中创建genmodel。稍后我们将进一步了解关于这些文件修改的细节问题。这个配置文件工具的genmodel文件拥有epxgen扩展。
当这个向导完成后,gmftool,gmfgraph,以及epxmap文件将始终被产生。这些包括您在这个向导先前步骤中定义的参数,并且这个向导与工具,图形,以及映射是分别相关联的。这个gmftool和gmfgraph文件为了代码产生而遵从
Eclipse Graphic Modeling Framework (GMF) 模型的标准。
- 在向导的这个步骤中,您拥有产生genmodel以及产生代码的选项。您很可能会奇怪,为什么我只能产生gmftool,gmfgraph,以及epxmap文件?如果我不产生这些代码将会有什么好处?
- 假定gmftool和gmfgraph文件遵从标准的 GMF 模型,您可以通过在产生代码之前使用标准的编者以及调整参数来打开文件。
- 在这种情况下,您可以调用这个图形文件的下拉菜单(上下文),然后选择Generate Profile Gen Model,这个genmodel就会产生。
- 您可以像其它产生的模型文件一样,以相同的方式调整产生的genmodel的参数。当您进行了您所希望的调整之后,您可以在genmodel上调用这个上下文菜单,并选择Generate
Profile Tooling Code。
提示:
如果您清除这个复选框,从而产生genmodel,这个产生代码的复选框同样会自动被创建。这是因为这个代码是从genmodel中定义的参数中所产生的。
- 保留这两个复选框已经被核查,并点击Finish。自定义工具将在具体的项目中被产生。
下面的表格总结了这个向导所产生的构件。
表格1. 由向导所产生的工具和图形的总结
Profile Element |
Create Palette Entries |
Create Menu Items |
Create Graphics |
所链接的固定模式元素的元类扩展 |
Yes(默认的)或者 No |
不可用 |
No (默认的) 或者 Yes |
被链接的固定模式的元素的元类扩展 |
Yes(默认的)或者 No |
Yes(默认的)或者 No |
No (默认的)或者 Yes |
固定模式联合 |
Yes(默认的)或者 No |
不可用 |
如果是为它创建的工具板条目或者菜单条目就是 Yes,否则就不可利用 |
元类联合 |
Yes(默认的)或者 No |
不可用 |
如果是为它创建的工具板条目或者菜单条目就是 Yes,否则就不可利用 |
您已经学习了如何在不编写任何代码的情况下产生自定义配置文件工具。如果您对已经创建的工具十分满意——或者如果您觉得并 没有被激励——您就要准备好分配产生的插件。否则,您就可能在这个模型文件中调整参数,并重新产生。如果您选择编辑这个产生的
Java 代码,注意您的变更将根据重新产生而合并,如果您将这个@generated标签 (在 Javadoc
中)变更为@generated NOT的话。
学习
获得产品和技术
讨论
|