X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FdiagramEditor%2FDiagramViewerLoadJob.java;h=dc9d9d1bef72f88c590167b14acc666edf33d19b;hp=85f0dbbe7b432f35548a38488fa30491407036a9;hb=a5ea1d2c1959b9aec22a73381efe11b9d162f684;hpb=04a7cb7f4ec34ddd4747723fd51ea22edd5ede0b diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerLoadJob.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerLoadJob.java index 85f0dbbe7..dc9d9d1be 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerLoadJob.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerLoadJob.java @@ -24,24 +24,28 @@ import org.simantics.g2d.diagram.IDiagram; import org.simantics.modeling.ui.Activator; import org.simantics.utils.DataContainer; import org.simantics.utils.threads.ThreadUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class DiagramViewerLoadJob extends DatabaseJob { + private static final Logger LOGGER = LoggerFactory.getLogger(DiagramViewerLoadJob.class); + private static final boolean PROFILE = false; private DiagramViewer viewer; public DiagramViewerLoadJob(DiagramViewer viewer) { - super("Load Diagram"); + super(Messages.DiagramViewerLoadJob_LoadDiagram); setUser(true); this.viewer = viewer; } @Override protected IStatus run(final IProgressMonitor monitor) { - final SubMonitor mon = SubMonitor.convert(monitor, "Loading Diagram", 200); + final SubMonitor mon = SubMonitor.convert(monitor, Messages.DiagramViewerLoadJob_MonitorLoadingDiagram, 200); try { - Object task = BEGIN("DV.loadDiagram"); + Object task = BEGIN("DV.loadDiagram"); //$NON-NLS-1$ final IDiagram diagram = viewer.loadDiagram(mon.newChild(100), viewer.diagramResource); if (diagram == null) return Status.CANCEL_STATUS; @@ -49,7 +53,7 @@ public class DiagramViewerLoadJob extends DatabaseJob { // Start an activation for the input resource. // This will activate mapping if necessary. - task = BEGIN("DV.performActivation"); + task = BEGIN("DV.performActivation"); //$NON-NLS-1$ viewer.performActivation(mon.newChild(50)); END(task); @@ -58,16 +62,16 @@ public class DiagramViewerLoadJob extends DatabaseJob { @Override public void run() { setThread(viewer.canvasContext.getThreadAccess().getThread()); - mon.setTaskName("Finalize Diagram Loading"); + mon.setTaskName(Messages.DiagramViewerLoadJob_MonitorFinalizeDiagramLoading); try { - Object task = BEGIN("DV.beforeSetDiagram"); + Object task = BEGIN("DV.beforeSetDiagram"); //$NON-NLS-1$ viewer.beforeSetDiagram(diagram); mon.worked(10); END(task); - task = BEGIN("DV.setDiagramHint"); - mon.subTask("Set Diagram"); + task = BEGIN("DV.setDiagramHint"); //$NON-NLS-1$ + mon.subTask(Messages.DiagramViewerLoadJob_SetDiagram); DataContainer diagramContainer = viewer.sourceDiagramContainer; if (diagramContainer != null) diagramContainer.set( diagram ); @@ -79,24 +83,24 @@ public class DiagramViewerLoadJob extends DatabaseJob { viewer.selectionProvider.fireSelection(Collections.emptyList()); // Zoom to fit if no previous view transform is available - task = BEGIN("DV.scheduleZoomToFit"); + task = BEGIN("DV.scheduleZoomToFit"); //$NON-NLS-1$ viewer.scheduleZoomToFit(diagram); mon.worked(10); END(task); - task = BEGIN("DV.onCreated"); - mon.subTask(""); + task = BEGIN("DV.onCreated"); //$NON-NLS-1$ + mon.subTask(""); //$NON-NLS-1$ viewer.onCreated(); mon.worked(10); END(task); - task = BEGIN("DV.applyEditorState"); - mon.subTask("Apply editor state"); + task = BEGIN("DV.applyEditorState"); //$NON-NLS-1$ + mon.subTask(Messages.DiagramViewerLoadJob_ApplyEditorState); viewer.applyEditorState(viewer.editorState, viewer.canvasContext); mon.worked(10); END(task); - task = BEGIN("DV.activateUiContexts"); + task = BEGIN("DV.activateUiContexts"); //$NON-NLS-1$ viewer.contextUtil.inContextThread(new Runnable() { @Override public void run() { @@ -107,6 +111,7 @@ public class DiagramViewerLoadJob extends DatabaseJob { }); END(task); } catch (Throwable t) { + LOGGER.error("Failed to complete loading of diagram {} in the canvas thread", viewer.diagramResource, t); viewer = null; } } @@ -116,11 +121,11 @@ public class DiagramViewerLoadJob extends DatabaseJob { } catch (CancelTransactionException e) { monitor.done(); viewer = null; - return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, "Diagram loading was cancelled.", e); + return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, Messages.DiagramViewerLoadJob_ActivatorDiagramLoadingCancelled, e); } catch (Throwable t) { monitor.done(); viewer = null; - return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Diagram loading failed, see exception for details.", t); + return new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.DiagramViewerLoadJob_ActivatorDiagramLoadingFailed, t); } }