]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics/src/org/simantics/Simantics.java
(refs #7604) Improvements to graph handling in SCL source modules
[simantics/platform.git] / bundles / org.simantics / src / org / simantics / Simantics.java
index b382fba9151798aa6f414b6b1f65071ebcc21212..c19efde85913a10c0ed6befba804d01f90b1fab7 100644 (file)
@@ -24,6 +24,8 @@ import org.simantics.SimanticsPlatform.RecoveryPolicy;
 import org.simantics.application.arguments.IArguments;
 import org.simantics.application.arguments.SimanticsArguments;
 import org.simantics.db.ReadGraph;
+import org.simantics.db.RequestProcessor;
+import org.simantics.db.RequestProcessorSpecific;
 import org.simantics.db.Resource;
 import org.simantics.db.Session;
 import org.simantics.db.WriteGraph;
@@ -283,6 +285,14 @@ public class Simantics {
             throw new IllegalStateException("Session unavailable, no database session open");
         return ctx.getSession();
     }
+    
+    public static RequestProcessor getAvailableRequestProcessor() {
+        Object graph = SCLContext.getCurrent().get("graph");
+        if(graph instanceof ReadGraph)
+            return (RequestProcessor)graph;
+        else
+            return Simantics.getSession();
+    }
 
     /**
      * Returns the database Session bound to the currently active context.