Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EMF以编程方式比较uml文件的本地历史_Java_Emf Compare - Fatal编程技术网

Java EMF以编程方式比较uml文件的本地历史

Java EMF以编程方式比较uml文件的本地历史,java,emf-compare,Java,Emf Compare,我试图将uml文件与其本地历史进行比较。是否可以通过编程方式进行修改?可以,但您必须找到合适的历史修订版本,以便与自己进行比较 有关如何检索给定文件的本地历史记录的信息,请参见org.eclipse.core.resources.IFile.getHistory(IProgressMonitor)。然后需要将这些修订作为EMF资源加载,以供EMF比较使用 以下内容应该可以帮助您开始: String uri = "platform:/resource/project/path/to/file.ex

我试图将uml文件与其本地历史进行比较。是否可以通过编程方式进行修改?

可以,但您必须找到合适的历史修订版本,以便与自己进行比较

有关如何检索给定文件的本地历史记录的信息,请参见
org.eclipse.core.resources.IFile.getHistory(IProgressMonitor)
。然后需要将这些修订作为EMF资源加载,以供EMF比较使用

以下内容应该可以帮助您开始:

String uri = "platform:/resource/project/path/to/file.ext";
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(uri));
IFileState[] states = file.getHistory(new NullProgressMonitor());
if (states.length > 0) {
    IFileState lastFromHistory = states[0];
    ResourceSet set = new ResourceSetImpl();
    Resource res = set.createResource(URI.createURI(uri));
    res.load(lastFromHistory.getContents(), Collections.emptyMap());
}