]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java
Removed deprecated ProCore matter to make the platform less heavy
[simantics/platform.git] / bundles / org.simantics.workbench / src / org / simantics / workbench / internal / SimanticsWorkbenchAdvisor.java
index bce220c9c3ae24fb64f8248766f0dce4956c1f8f..cb1ee16d315c28d197016d491130a77d38c98e1c 100644 (file)
@@ -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);
         }