即使内容未更改,如何强制TextMergeViewer刷新内容?

时间:2016-07-04 14:39:23

标签: java eclipse-rcp

我正在实现一个可以处理远程文档的编辑器。首先下载文档,将其复制到本地缓存文件中,并显示给编辑和保存文档的用户。在'保存'动作,文档被上传回服务器。经典。

但有时,如果远程文档在下载/编辑/上传周期中被其他用户修改,则会检测到冲突并向用户显示比较编辑器:本地版本显示在左窗格中(和可编辑的)和右窗格上的遥远(和只读)。用户进行"合并"手动操作(我不考虑自动合并),当启动保存操作时,比较结果将覆盖随后上传到服务器上的localy缓存文件。这仍然是一个经典问题。

问题是:如果用户想要丢弃远程修改,因此想要保存文档而不修改左窗格,则比较编辑器拒绝刷新本地文件中窗格的内容,我可以未检测到用户启动了保存操作以初始化上载操作。为什么比较编辑器拒绝覆盖本地版本非常简单:因为没有进行任何修改,它认为没有什么可以刷新。

我试图找到一种让它相信某些东西已经发生变化的方法,但似乎处理比较的TextMergeViewer并没有听取任何模型更改,而且距离我的代码还很远,我不会这样做。知道如何到达它(似乎我无法将左窗格设置为脏)。

0 个答案:

没有答案