X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics%2Fsrc%2Forg%2Fsimantics%2FSimantics.java;h=c19efde85913a10c0ed6befba804d01f90b1fab7;hb=b50d1ae1caae9706ebc9e24ce36bf1dfa5d6915f;hp=b382fba9151798aa6f414b6b1f65071ebcc21212;hpb=c7adae2a1ad46c9f316093213df0320b44461606;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics/src/org/simantics/Simantics.java b/bundles/org.simantics/src/org/simantics/Simantics.java index b382fba91..c19efde85 100644 --- a/bundles/org.simantics/src/org/simantics/Simantics.java +++ b/bundles/org.simantics/src/org/simantics/Simantics.java @@ -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.