X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fscl%2FCompileSCLValueRequest.java;h=bfd12fbe12a087d0fcacbb6b9c1fd49695394f37;hb=06ee0c4c71cd9e372969da1570e7fcac2c4397a5;hp=edd7b638c2957d4968e58411a2c57ccb189a6e33;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/scl/CompileSCLValueRequest.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/scl/CompileSCLValueRequest.java index edd7b638c..bfd12fbe1 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/scl/CompileSCLValueRequest.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/scl/CompileSCLValueRequest.java @@ -1,35 +1,35 @@ -package org.simantics.modeling.scl; - -import org.simantics.db.ReadGraph; -import org.simantics.db.common.procedure.adapter.TransientCacheListener; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.variable.Variable; -import org.simantics.scl.runtime.SCLContext; -import org.simantics.scl.runtime.function.Function1; -import org.simantics.structural2.scl.CompileStructuralValueRequest; - -public class CompileSCLValueRequest extends CompileStructuralValueRequest { - - public CompileSCLValueRequest(ReadGraph graph, Variable context) - throws DatabaseException { - super(graph, context); - } - - public static Object compileAndEvaluate(ReadGraph graph, Variable context) throws DatabaseException { - SCLContext sclContext = SCLContext.getCurrent(); - Object oldGraph = sclContext.get("graph"); - try { - Function1 exp = graph.syncRequest(new CompileSCLValueRequest(graph, context), - TransientCacheListener.>instance()); - sclContext.put("graph", graph); - return exp.apply(context); - } catch (DatabaseException e) { - throw (DatabaseException)e; - } catch (Throwable t) { - throw new DatabaseException(t); - } finally { - sclContext.put("graph", oldGraph); - } - } - -} +package org.simantics.modeling.scl; + +import org.simantics.db.ReadGraph; +import org.simantics.db.common.procedure.adapter.TransientCacheListener; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.scl.runtime.SCLContext; +import org.simantics.scl.runtime.function.Function1; +import org.simantics.structural2.scl.CompileStructuralValueRequest; + +public class CompileSCLValueRequest extends CompileStructuralValueRequest { + + public CompileSCLValueRequest(ReadGraph graph, Variable context) + throws DatabaseException { + super(graph, context); + } + + public static Object compileAndEvaluate(ReadGraph graph, Variable context) throws DatabaseException { + SCLContext sclContext = SCLContext.getCurrent(); + Object oldGraph = sclContext.get("graph"); + try { + Function1 exp = graph.syncRequest(new CompileSCLValueRequest(graph, context), + TransientCacheListener.>instance()); + sclContext.put("graph", graph); + return exp.apply(context); + } catch (DatabaseException e) { + throw (DatabaseException)e; + } catch (Throwable t) { + throw new DatabaseException(t); + } finally { + sclContext.put("graph", oldGraph); + } + } + +}