问题标签 [acceleo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
209 浏览

eclipse-emf - 动态 XText 模型反序列化

我有一个 UML 模型,其中包含符合 XText Grammar/MetaModel 的文本的 OpaqueActions。我正在通过 ACCELEO 转换将 UML 模型转换为文本。我想从 ACCELEO 脚本调用一个 Java 服务,该服务将模型中不透明操作中的文本作为输入,并提供相关模型的根元素作为输出,以便我可以从 ACCELEO 无缝使用它。

为此,我需要使用以下方法定义 Java 类:将字符串作为参数,调用 XTEXT,解析文本,如果正确,则生成相关的 EMF 模型。假设文本是 OCL(不是,但我猜过程是一样的),你会怎么做?

0 投票
0 回答
505 浏览

eclipse-emf - Acceleo 调用包装 OCLHelper 的 Java 服务

我需要从导航主 UML 模型的 ACCELEO 脚本中获取包含在 UML 边缘中的条件的 OCL 模型。为此,我定义了以下 Java 类:

}

这是包装它的 ACCELEO 模块:

以下是我尝试从主 ACCELEO 模块调用它的方式:

它不起作用,我不明白为什么,知道吗?

更新

我意识到助手实际上是在输出这个异常

我究竟做错了什么?

0 投票
1 回答
2216 浏览

eclipse-emf - 在 FOR 循环中增加一个变量

我试图计算在 FOR 循环中条件为真的次数。我为模板声明了一个附加变量(FOUND : Integer),并且每次 [IF] 条件为“true”时我都尝试将其递增,但该变量仅在第一次递增,然后它又回到原来的状态价值。基本上,如果一开始 FOUND = 1,那么在每个循环中我都会得到 2 的输出。

这是我正在尝试使用的代码:

你知道我怎么能做到这一点或类似的东西吗?谢谢

0 投票
1 回答
1306 浏览

eclipse - 使用 Xtext 网格化 Acceleo

我正在进行一项旨在从输入 UML 模型生成代码(即 Java)的 Acceleo 转换。

这个 UML 模型的一些元素(即活动不透明操作)包含一些符合 Xtext 语法的文本,我想在 Acceleo 转换中获得等效的 AST Ecore 表示。

为此,我开发了一个带有方法的 Java 类,该方法将包含 DSL 摘录的字符串作为输入,并生成符合它的 Ecore 模型(参见http://www.eclipse.org/forums/index.php/ m/901947/#msg_901947了解更多详情)。我已经在一个单独的 Java 应用程序中对其进行了测试,它似乎可以正常工作。

因此,我编写了一个简单的 Acceleo 模块(即 getDSLModel),包装了该 java 类,使我能够从 DSL 文本表示中获取 Ecore 模型。

假设我的 DSL(和等效的 Ecore)包含一个名为的根元素DSLModel,其中包含 (0..*) 个DSLStatements(这是一种简化)。在 Acceleo 中,我从包含正确 DSL 脚本的字符串调用包装器时,我注意到它正确返回了ModelImpl.

所以 Java 服务和 Xtext 解析正在工作。

但是,如果我尝试获取模型语句,即:

它返回一个“无效”字符串。所以我不能在 for 循环中使用它

因此,我尝试从模型实例调用 eAllContents() OCL 服务,即:

它实际上返回语句列表。我不明白为什么从 Xtext 解析器返回的 Ecore 实体的功能不能正常工作。


这是将字符串转换为我的 DSL 模型(Ecore AST)实例的 Java 服务。我已经用一个独立的 Java 应用程序对其进行了测试,它工作正常!

现在我需要主 Acceleo (UML2Text) 转换中的 AST,因此这里是 Acceleo 包装器

如果运行它,这就是我得到的

更新

在 Acceleo 主模块的 Java 类中,我添加了以下几行

但它的行为仍然相同。

更新

在此链接中,您可以临时找到一个示例 EMF 工作区的压缩文件,其中包含一个 Acceleo 和一个重现该问题的 XText 项目。奇怪的是,如果你将它作为 Java 应用程序运行,它可以工作,但如果你将它作为 Acceleo 应用程序运行,它就不会......

https://docs.google.com/open?id=0B2_ovo8IiZaZaXdNdFdPMTI4Yjg

在左上角,您应该找到一个文件菜单,您可以从中下载 zip 文件。

0 投票
1 回答
1629 浏览

acceleo - Acceleo 的第一个生成器模型教程

我是 Eclipse 和 Acceleo 的新手,我一直在尝试完成第一个生成器模型教程。我正在使用 Juno 4.2 和 Acceleo 3.3。

这是我到目前为止所做的:

  1. 我使用 UML 元模型和生成类型类创建了一个 Accelo 项目。

  2. 我为生成文件添加了提供的代码,并将 [comment @main/] 放在模板行下方。

  3. 我对清单文件进行了更改。在 Bundle SymbolicName 下,我添加了 singleton:=true。我添加了运行时文件,添加了所有必要的插件,在扩展下,我添加了 UML 生成和动态包。

  4. 然后我创建了一个新的 Java 项目,然后选择了 UML 模型并将其制成一个包。然后我通过右键单击包创建一个类,选择 New Child,然后选择类。

  5. 我去启动生成文件。我选择了 uml 模型和目标作为新 Java 项目下的 src 文件。它说它正在启动它,但我看不到生成的文件,或者它实际上并没有生成它。

我真的很感激任何帮助或反馈。我真的坚持这一点!

0 投票
1 回答
63 浏览

user-interface - Acceleo 创建 UI 启动器未找到

我将 acceleo 3 与 eclipse 建模工具 3.7 一起使用。我在最后一步“创建 UI 启动器”中点击此链接http://wiki.eclipse.org/Acceleo/Getting_Started - 我没有 Acceleo 模型文本。

你能帮我解决这个问题吗?

0 投票
0 回答
279 浏览

maven - java.lang.NullPointerException 使用 maven 执行加速

我正在尝试使用 maven 执行 acceleo 项目。这是 pom 配置:

pom.xml

错误

当我执行 pom 时,出现以下错误:

我认为它与我要生成文件的输出文件有关。有人对此有任何想法吗?先感谢您。

0 投票
1 回答
55 浏览

acceleo - 从其他模块访问公共元素

我是 Acceleo 的新手,但我知道模块具有私有和公共元素,其他模块可以访问这些元素(通过扩展/导入这些模块)。

就我而言,我有

我正在导入另一个使用ECore命名空间的模块。

我想访问 Ecore 模块的公共元素 - 这个符号是什么?

0 投票
0 回答
917 浏览

maven - running acceleo using Maven

I am trying to execute my acceleo project using maven. I have included all the dependencies in the pom file. It compile succesfully (with command package). Here is my pom file:

After i give the command: exec:java i get this error:

Any idea, what can be wrong with it ?

Thank you in advance ME

0 投票
1 回答
245 浏览

acceleo - 活动节点在仅接受类类型的模板中执行

我有一个用 Topcased 5.2 制作的 uml 图。uml 包含类图和活动图。我编写了一个模板,它接受作为参数 Class 类型以生成 java 类。

生成了 java 类,但另外我的方法为 Activity 节点执行。如何防止执行 Activity 节点?

按照我的模板:

谢谢你的帮助