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;
// 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);
@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<IDiagram> diagramContainer = viewer.sourceDiagramContainer;
if (diagramContainer != null)
diagramContainer.set( diagram );
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() {
END(task);
} catch (Throwable t) {
viewer = null;
+ LOGGER.error("Failed to complete loading of diagram {} in the canvas thread", viewer.diagramResource, t);
}
}
});
} 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);
}
}