* The original DiagramViewer.getRuntime() returns cached version of the
runtime diagram resource
gitlab #416
Change-Id: Id2723f5deb94cdba15e815229d9a1931482ace16
protected GridSnapAdvisor snapAdvisor;
private RuntimeDiagramManager runtimeDiagramManager;
protected GridSnapAdvisor snapAdvisor;
private RuntimeDiagramManager runtimeDiagramManager;
+ private Resource runtimeDiagramResourceCache;
private HasDiagramSourceListener hasDiagramSourceListener;
/**
private HasDiagramSourceListener hasDiagramSourceListener;
/**
*/
protected WorkbenchSelectionProvider selectionProvider;
*/
protected WorkbenchSelectionProvider selectionProvider;
- public Resource getRuntime() {
+ protected Resource getRuntimeFromManager() {
RuntimeDiagramManager rtdm = runtimeDiagramManager;
return (rtdm == null) ? null : rtdm.getRuntimeDiagram();
}
RuntimeDiagramManager rtdm = runtimeDiagramManager;
return (rtdm == null) ? null : rtdm.getRuntimeDiagram();
}
+ public Resource getRuntime() {
+ if (runtimeDiagramResourceCache != null)
+ return runtimeDiagramResourceCache;
+ runtimeDiagramResourceCache = getRuntimeFromManager();
+ return runtimeDiagramResourceCache;
+ }
+
public ParametrizedRead<IResourceEditorInput, Boolean> getInputValidator() {
return INPUT_VALIDATOR;
}
public ParametrizedRead<IResourceEditorInput, Boolean> getInputValidator() {
return INPUT_VALIDATOR;
}