Visual Paradigm 8 でクラス図を作成し、プロジェクトを XMI 2.1 ファイル (Export for UML2) としてエクスポートしました。したがって、2 つのファイル (test.xmi.uml
とtest.xmi.profile.uml
) があります。解析するためtest.xmi.uml
に、Eclipse UML2 と emf を使用して次の Java コードを作成しました。
ResourceSet set = new ResourceSetImpl();
set.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
set.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource res = set.getResource(URI.createFileURI("C:\\test.xmi.uml"), true);
EObject eobj = res.getContents().get(0);
しかし、出力オブジェクト ( eobj
) は、AnyTypeImpl
うまく読み取れません。org.eclipse.uml2.uml.Model
このファイルを解析してオブジェクトのような適切にフォーマットされたオブジェクトを取得するにはどうすればよいですか?