X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.workbench%2Fsrc%2Forg%2Fsimantics%2Fworkbench%2Finternal%2FSimanticsWorkbenchAdvisor.java;h=cb1ee16d315c28d197016d491130a77d38c98e1c;hb=fe866f9e4d3f464c3ac33b6651ad52df16c5d2fc;hp=bce220c9c3ae24fb64f8248766f0dce4956c1f8f;hpb=f8576d4d2b3b30d76db552d624fc9f087b8940bd;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java b/bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java index bce220c9c..cb1ee16d3 100644 --- a/bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java +++ b/bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java @@ -91,13 +91,11 @@ import org.simantics.Simantics; import org.simantics.SimanticsPlatform; import org.simantics.SimanticsPlatform.OntologyRecoveryPolicy; import org.simantics.SimanticsPlatform.RecoveryPolicy; +import org.simantics.TimingProgressMonitor; import org.simantics.application.arguments.IArguments; import org.simantics.application.arguments.SimanticsArguments; import org.simantics.db.common.Indexing; import org.simantics.db.indexing.DatabaseIndexing; -import org.simantics.db.procore.server.environment.RebootRequiredException; -import org.simantics.db.procore.server.environment.windows.Product; -import org.simantics.internal.TimedSessionCache; import org.simantics.project.IProject; import org.simantics.project.ProjectKeys; import org.simantics.ui.SimanticsUI; @@ -105,7 +103,6 @@ import org.simantics.ui.jobs.SessionGarbageCollectorJob; import org.simantics.ui.workbench.PerspectiveBarsActivator; import org.simantics.ui.workbench.PerspectiveContextActivator; import org.simantics.utils.logging.TimeLogger; -import org.simantics.utils.threads.ThreadUtils; import org.simantics.utils.ui.dialogs.ShowError; import org.simantics.utils.ui.dialogs.ShowMessage; import org.slf4j.Logger; @@ -341,12 +338,6 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor { // Start the database garbage collector after a short while. SessionGarbageCollectorJob.getInstance().scheduleAfterQuietTime(); - // Discard database session undo history at this point to prevent - // the user from undoing any initialization operations performed - // by the platform startup. - SimanticsPlatform.INSTANCE.discardSessionUndoHistory(); - TimeLogger.log("Discarded session undo history"); - // #6353: Workaround for fixBindings(); @@ -415,6 +406,7 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor { if (args.contains(SimanticsArguments.DO_NOT_SYNCHRONIZE_ONTOLOGIES)) { requireSynchronize = false; + ontologyPolicy = OntologyRecoveryPolicy.Bypass; } if (args.contains(SimanticsArguments.DISABLE_INDEX)) { @@ -471,19 +463,7 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor { return false; } catch (Exception e) { log.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e)); - - Throwable cause = e.getCause(); - if (cause instanceof RebootRequiredException) { - RebootRequiredException rre = (RebootRequiredException) cause; - StringBuilder msg = new StringBuilder(); - msg.append("The application must be restarted after installing the following products:\n"); - for (Product product : rre.products) - msg.append("\t" + product + "\n"); - msg.append("\nThe application will now close."); - MessageDialog.openInformation(null, "Restart Required", msg.toString()); - } else { - new ShowError("Platform Startup Failed", "Simantics Platform startup failed:\n\n" + e.getMessage(), e, true); - } + new ShowError("Platform Startup Failed", "Simantics Platform startup failed:\n\n" + e.getMessage(), e, true); return false; } @@ -741,29 +721,13 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor { try { try { progress.subTask("Platform"); - SimanticsPlatform.INSTANCE.shutdown(progress.newChild(50)); + SimanticsPlatform.INSTANCE.shutdown(progress.newChild(100)); } catch (PlatformException e) { Activator.logError("Problems encountered while shutting down Simantics platform, see exception for details.", e); } progress.subTask("Remaining database connections"); SimanticsUI.closeSessions(); - progress.worked(20); - TimedSessionCache.close(); - progress.worked(20); - - progress.subTask("Thread pools"); - ThreadUtils.shutdown(); - progress.worked(5); - - progress.subTask("Clear index status"); - try { - // Everything ok, clear index dirty state. - DatabaseIndexing.clearAllDirty(); - } catch (IOException e) { - Activator.logError("Problems encountered while refreshing database index states, see exception for details.", e); - } - progress.worked(5); progress.setWorkRemaining(0); } finally { @@ -870,7 +834,7 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor { } if (perspectiveId == null) { - IProject project = SimanticsUI.peekProject(); + IProject project = Simantics.peekProject(); if (project != null) perspectiveId = project.getHint(ProjectKeys.DEFAULT_PERSPECTIVE); }