3

我正在尝试通过 eclipse MDT/UML2 实现加载存储为 XMI 的 UML 模型。

它是一个状态图模型,它附加了一个概要文件,并将一个原型添加到此概要文件中,用于对具有优先级的转换进行建模。

使用 eclipse EMF 框架加载 *.uml 文件很好。

我现在想用一个独立的 java 项目加载这个 *.uml 文件。我想使用应用的刻板印象访问模型的所有元素。

我可以得到一切,但不是刻板印象。我确定它们没有从 *.uml 文件中加载。

我使用的代码:

URI uri = URI.createURI("model.uml");

ResourceSet set = new ResourceSetImpl();

set.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);

set.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);

set.createResource(uri);

Resource r = set.getResource(uri, true);

Model model = (Model) EcoreUtil.getObjectByType(r.getContents(), UMLPackage.Literals.MODEL);

我现在可以访问模型通过model.allOwnedElements(). 我在 *.uml 文件中找到了与实际模型一起存储的 Profile,但 Stereotypes 未附加到模型中的元素。

我想我错过了一些必须通过getPackageRegistry() and getResourceFactoryRegistry().

4

1 回答 1

0

您应该改用插件项目。

于 2012-12-20T10:24:35.393 回答