]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics/src/org/simantics/SimanticsPlatform.java
Playground for Antti.
[simantics/platform.git] / bundles / org.simantics / src / org / simantics / SimanticsPlatform.java
index 2504ba62d8f9ae04f4111bfbdaafa0086409d8f1..2e6449147a05caf9ce2fd9a18aef2f996cc949a5 100644 (file)
@@ -45,6 +45,8 @@ import org.eclipse.osgi.service.datalocation.Location;
 import org.eclipse.osgi.service.resolver.BundleDescription;
 import org.ini4j.Ini;
 import org.ini4j.InvalidFileFormatException;
+import org.simantics.SimanticsPlatform.OntologyRecoveryPolicy;
+import org.simantics.SimanticsPlatform.RecoveryPolicy;
 import org.simantics.databoard.Bindings;
 import org.simantics.databoard.Databoard;
 import org.simantics.datatypes.literal.Font;
@@ -59,6 +61,8 @@ import org.simantics.db.SessionModel;
 import org.simantics.db.UndoContext;
 import org.simantics.db.VirtualGraph;
 import org.simantics.db.WriteGraph;
+import org.simantics.db.common.processor.MergingDelayedWriteProcessor;
+import org.simantics.db.common.processor.MergingGraphRequestProcessor;
 import org.simantics.db.common.request.ObjectsWithType;
 import org.simantics.db.common.request.WriteResultRequest;
 import org.simantics.db.common.utils.Transaction;
@@ -82,6 +86,7 @@ import org.simantics.db.service.QueryControl;
 import org.simantics.db.service.UndoRedoSupport;
 import org.simantics.db.service.VirtualGraphSupport;
 import org.simantics.db.service.XSupport;
+import org.simantics.db.services.GlobalServiceInitializer;
 import org.simantics.graph.db.GraphDependencyAnalyzer;
 import org.simantics.graph.db.GraphDependencyAnalyzer.IU;
 import org.simantics.graph.db.GraphDependencyAnalyzer.IdentityNode;
@@ -950,14 +955,23 @@ public class SimanticsPlatform implements LifecycleListener {
 
     }
 
+    public void registerServices(SessionContext context) {
+
+        new GlobalServiceInitializer().initialize(session);
+        
+    }
+
+
     public SessionContext createSessionContext(boolean init) throws PlatformException {
         try {
             // Construct and initialize SessionContext from Session.
+            session.registerService(MergingGraphRequestProcessor.class, new MergingGraphRequestProcessor("SessionService", session, 20));
+            session.registerService(MergingDelayedWriteProcessor.class, new MergingDelayedWriteProcessor(session, 20));
             SessionContext sessionContext = SessionContext.create(session, init);
             String message = "Session context created";
             LOGGER.info(message);
             if (init) {
-                sessionContext.registerServices();
+                registerServices(sessionContext);
                 message = "Session services registered";
                 LOGGER.info(message);
             }