gpt4 book ai didi

java - Eclipse 建模框架 (EMF) : How to get the DomainModel from a Magicdraw UML2 Export

转载 作者:行者123 更新时间:2023-11-30 07:38:51 25 4
gpt4 key购买 nike

我想使用 EMF 生成代码,因此我编写了一些方法来加载我自己生成的 UML2 文件。这适用于以下代码:

protected void registerResources() {
resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);

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

Map<URI, URI> uriMap = resourceSet.getURIConverter().getURIMap();
String resourcesJarPath = Thread.currentThread().getContextClassLoader().getResource("org.eclipse.uml2.uml.resources_2.2.0.v200805131030").toExternalForm();
URI baseUri = URI.createURI(resourcesJarPath);
uriMap.put(URI.createURI(UMLResource.LIBRARIES_PATHMAP), baseUri.appendSegment("libraries").appendSegment(""));
uriMap.put(URI.createURI(UMLResource.METAMODELS_PATHMAP), baseUri.appendSegment("metamodels").appendSegment(""));
uriMap.put(URI.createURI(UMLResource.PROFILES_PATHMAP), baseUri.appendSegment("profiles").appendSegment(""));
}

public Package loadPackage(URI uri) {
Resource resource = resourceSet.getResource(uri, true);
return (Package) EcoreUtil.getObjectByType(resource.getContents(), UMLPackage.Literals.PACKAGE);
}

但是现在,我想将 Magicdraw-Domain 模型导出到 EMF UML2 XMI,我得到了 5 个文件。一个 project.uml 和 4 个配置文件(UML_Standard_Profile.MagicDraw_Profile.DSL_Customization.profile.uml、UML_Standard_Profile.MagicDraw_Profile.profile.uml、UML_Standard_Profile.UML_Standard_Profile.profile.uml、UML_Standard_Profile.Validation_Profile.profile.uml)。因此,如果我想用 loadPackageclass 加载 project.uml,我的包为空。

有没有人有示例应用程序,如何加载 MagicDraw 导出的 UML DomainModel?

多米尼克

最佳答案

您能向我们展示 MagicDraw(作为 XMI)的 UML 模型的前几行吗?在这里,对于某些模型,我需要额外的

resourceSet.getPackageRegistry().put("http://www.eclipse.org/uml2/2.0.0/UML", UMLPackage.eINSTANCE);

加载这些模型(不可否认,这些模型来自 Eclipse 3.4.2 中的旧 MD 版本)。

关于java - Eclipse 建模框架 (EMF) : How to get the DomainModel from a Magicdraw UML2 Export,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1404343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com