0
我想比較一個uml文件和它的本地歷史記錄。是否有可能以編程方式進行?EMF以編程方式比較uml文件的本地歷史記錄
我想比較一個uml文件和它的本地歷史記錄。是否有可能以編程方式進行?EMF以編程方式比較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());
}