X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FcomponentTypeEditor%2FDerivedPropertiesSection.java;h=9ef0b31cd24082a5f5a75aa6aee77db67f066235;hp=23777604d35e43e6d221a60f7b2908e01566f777;hb=0b4ab685b0aa54ba8fbe0a5742e27726c862cfd9;hpb=6fc013b9a70621230879014575b244f3714d5ba8 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/DerivedPropertiesSection.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/DerivedPropertiesSection.java index 23777604d..9ef0b31cd 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/DerivedPropertiesSection.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/DerivedPropertiesSection.java @@ -47,10 +47,10 @@ import org.simantics.db.layer0.variable.StandardGraphPropertyVariable; import org.simantics.db.layer0.variable.Variable; import org.simantics.layer0.Layer0; import org.simantics.modeling.scl.CompileProceduralSCLMonitorRequest; -import org.simantics.modeling.scl.CompileSCLMonitorRequest; import org.simantics.modeling.userComponent.ComponentTypeCommands; -import org.simantics.scl.runtime.SCLContext; -import org.simantics.scl.runtime.function.Function1; +import org.simantics.modeling.utils.ComponentTypePropertiesResult; +import org.simantics.modeling.utils.ComponentTypeViewerPropertyInfo; +import org.simantics.modeling.utils.HeadlessComponentTypePropertiesResultRequest; import org.simantics.scl.runtime.function.Function4; import org.simantics.structural.stubs.StructuralResource2; import org.slf4j.Logger; @@ -310,7 +310,7 @@ public class DerivedPropertiesSection implements ComponentTypeViewerSection { if(graph.isInstanceOf(componentType, STR.ProceduralComponentType)) { CompileProceduralSCLMonitorRequest.compileAndEvaluate(graph, context); } else { - compileAndEvaluate(graph, context, expression); + HeadlessComponentTypePropertiesResultRequest.compileAndEvaluate(graph, context, expression); } } catch (Exception e) { @@ -330,23 +330,6 @@ public class DerivedPropertiesSection implements ComponentTypeViewerSection { return null; } - public static void compileAndEvaluate(ReadGraph graph, Variable context, String expression) throws DatabaseException { - SCLContext sclContext = SCLContext.getCurrent(); - Object oldGraph = sclContext.get("graph"); - try { - CompileSCLMonitorRequest compileSCLMonitorRequest = new ValidationCompilationRequest(graph, context, expression); - Function1 exp = graph.syncRequest(compileSCLMonitorRequest); - sclContext.put("graph", graph); - //return exp.apply(context.getParent(graph)); - } catch (DatabaseException e) { - throw (DatabaseException)e; - } catch (Throwable t) { - throw new DatabaseException(t); - } finally { - sclContext.put("graph", oldGraph); - } - } - @Override public void update(ComponentTypePropertiesResult result) { if (table.isDisposed()) @@ -447,29 +430,4 @@ public class DerivedPropertiesSection implements ComponentTypeViewerSection { return 100.0; } - private static final class ValidationCompilationRequest extends CompileSCLMonitorRequest { - private final String expression; - - private ValidationCompilationRequest(ReadGraph graph, Variable context, String expression) - throws DatabaseException { - super(graph, context); - this.expression = expression; - } - - @Override - protected String getExpressionText(ReadGraph graph) throws DatabaseException { - return expression; - } - - @Override - public int hashCode() { - return super.hashCode() + 37 * expression.hashCode(); - } - - @Override - public boolean equals(Object obj) { - return super.equals(obj) && ((ValidationCompilationRequest)obj).expression.equals(expression); - } - } - } \ No newline at end of file