]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java
Allow "doNotSynchronizeOntologies" to work.
[simantics/platform.git] / bundles / org.simantics.workbench / src / org / simantics / workbench / internal / SimanticsWorkbenchAdvisor.java
index 0bce2a5680cc57cc0af696be3faf7953cd1bb0db..6f70bc56ee3a319edf5b703ff47e84eee580e9bf 100644 (file)
@@ -91,13 +91,13 @@ 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 +105,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 +340,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();
 
@@ -358,7 +351,7 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor {
         try {
             platformShutdownRunnable.run(null);
         } catch (InvocationTargetException e) {
-            Activator.logError(getClass().getSimpleName() + ".openWindows failed", e);
+            Activator.logError(getClass().getSimpleName() + ".openWindows failed", e.getCause());
         } catch (InterruptedException e) {
             Activator.logError(getClass().getSimpleName() + ".openWindows failed", e);
         }
@@ -415,6 +408,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)) {
@@ -741,29 +735,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 +848,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);
         }