]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.management/src/org/simantics/db/management/SessionContext.java
DB and Layer0 modifications for related issues
[simantics/platform.git] / bundles / org.simantics.db.management / src / org / simantics / db / management / SessionContext.java
index dae8bea7545184cbf7faf82dbc76f6ababa8ab35..88293f42b90f97e79dc9e2ff46113854ba48d43f 100644 (file)
@@ -16,19 +16,14 @@ import java.util.Arrays;
 import java.util.UUID;
 import java.util.concurrent.TimeoutException;
 
-import org.eclipse.core.runtime.IStatus;
 import org.simantics.db.Disposable;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Session;
 import org.simantics.db.VirtualGraph;
-import org.simantics.db.common.processor.MergingDelayedWriteProcessor;
-import org.simantics.db.common.processor.MergingGraphRequestProcessor;
-import org.simantics.db.common.request.ReadRequest;
 import org.simantics.db.exception.DatabaseException;
-import org.simantics.db.management.internal.Activator;
+import org.simantics.db.request.Read;
 import org.simantics.db.service.LifecycleSupport;
 import org.simantics.db.service.VirtualGraphSupport;
-import org.simantics.db.services.GlobalServiceInitializer;
 import org.simantics.layer0.Layer0;
 import org.simantics.utils.datastructures.disposable.DisposeState;
 import org.simantics.utils.datastructures.disposable.IDisposable;
@@ -46,16 +41,11 @@ import org.simantics.utils.threads.SyncListenerList;
  * @author Tuukka Lehtonen
  */
 public class SessionContext extends HintContext implements ISessionContext, Disposable {
-    private static final boolean    SESSION_DEBUG            = false;
 
-//    private final IServerAddress        address;
+       private static final boolean    SESSION_DEBUG            = false;
 
     private Session                 session;
 
-    private boolean                 servicesRegistered       = false;
-
-    private IStatus                 servicesRegisteredStatus = null;
-
     public static SessionContext create(Session session, boolean initialize) throws DatabaseException {
         return new SessionContext(session, initialize);
     }
@@ -67,40 +57,21 @@ public class SessionContext extends HintContext implements ISessionContext, Disp
     }
 
     private void initializeSession(Session s) throws DatabaseException {
-        s.registerService(MergingGraphRequestProcessor.class, new MergingGraphRequestProcessor("SessionService", s, 20));
-        s.registerService(MergingDelayedWriteProcessor.class, new MergingDelayedWriteProcessor(s, 20));
         s.registerService(VirtualGraph.class, s.getService(VirtualGraphSupport.class).getMemoryPersistent(UUID.randomUUID().toString()));
 
         // Builtins needs to be initialized for the new session before
         // anything useful can be done with it.
-        s.syncRequest(new ReadRequest() {
+        s.syncRequest(new Read<Object>() {
             @Override
-            public void run(ReadGraph g) {
+            public Object perform(ReadGraph g) {
                 // Registers Builtins with the ServiceLocator of the Graph's session.
                Layer0.getInstance(g);
+               return null;
             }
         });
+        
     }
 
-    public void registerServices() {
-        if (servicesRegistered)
-            return;
-
-        // Register any services available for the SessionLocator of the new
-        // Session.
-        servicesRegisteredStatus = new GlobalServiceInitializer().initialize(session);
-        if (!servicesRegisteredStatus.isOK()) {
-            Activator.getDefault().getLog().log(servicesRegisteredStatus);
-        }
-
-        servicesRegistered = true;
-    }
-
-//    @Override
-//    public IServerAddress getAddress() {
-//        return address;
-//    }
-
     @Override
     public Session getSession() {
         if (session == null)