]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.project/src/org/simantics/project/management/ServerManager.java
Improve startup time for fresh or rollback'd session in index writing
[simantics/platform.git] / bundles / org.simantics.project / src / org / simantics / project / management / ServerManager.java
index 936ded8b31f580d85ca38cbdab4b8ae70f2102b5..6570da33a978891c5c2261206e28e17a07041f7b 100644 (file)
@@ -39,6 +39,7 @@ import org.simantics.db.service.XSupport;
 import org.simantics.graph.db.CoreInitialization;
 import org.simantics.layer0.DatabaseManagementResource;
 import org.simantics.layer0.Layer0;
+import org.simantics.project.SessionDescriptor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -81,7 +82,7 @@ public class ServerManager {
         * @param initialGraphs initialGraphs to install
         * @throws DatabaseException
         */
-       public Session createDatabase(File databaseDirectory) throws DatabaseException {
+       public SessionDescriptor createDatabase(File databaseDirectory) throws DatabaseException {
                try {
                    LOGGER.debug("Creating database to "+ databaseDirectory);
 
@@ -110,7 +111,7 @@ public class ServerManager {
                         }
                     };
                     session.syncRequest(req);
-                    return session;
+                    return new SessionDescriptor(session, false);
                 }
                 CoreInitialization.initializeBuiltins(session);
                                // This will try to initialize Builtins.class but because there is no statements
@@ -142,7 +143,7 @@ public class ServerManager {
                                                mgt.createGraphBundle(graph, l0ex);
                                                graph.flushCluster();
                                        }});
-                   return session;
+                   return new SessionDescriptor(session, true);
                        } finally {
                            if (null == session)
                                server1.stop();