X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.structural2%2Fsrc%2Forg%2Fsimantics%2Fstructural2%2Fscl%2FAbstractCompileStructuralValueRequest.java;h=c4b4e341fb85b2aa551612e028a2dafca387f06c;hp=e4f08db102d0645dbfc2ea1acf64fd62e84797d8;hb=2d97029aeaaf5d6a965eae98c1646eef29ae2f8b;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07 diff --git a/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/AbstractCompileStructuralValueRequest.java b/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/AbstractCompileStructuralValueRequest.java index e4f08db10..c4b4e341f 100644 --- a/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/AbstractCompileStructuralValueRequest.java +++ b/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/AbstractCompileStructuralValueRequest.java @@ -7,13 +7,13 @@ import org.simantics.databoard.Bindings; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.common.procedure.adapter.TransientCacheListener; +import org.simantics.db.common.request.PossibleIndexRoot; import org.simantics.db.common.request.ResourceRead2; import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.scl.AbstractExpressionCompilationContext; import org.simantics.db.layer0.scl.AbstractExpressionCompilationRequest; import org.simantics.db.layer0.util.RuntimeEnvironmentRequest; import org.simantics.db.layer0.util.RuntimeEnvironmentRequest2; -import org.simantics.db.layer0.variable.Variable; import org.simantics.layer0.Layer0; import org.simantics.scl.compiler.elaboration.expressions.EApply; import org.simantics.scl.compiler.elaboration.expressions.EConstant; @@ -33,7 +33,7 @@ import org.simantics.structural2.scl.AbstractCompileStructuralValueRequest.Compi * * @author Antti Villberg */ -abstract public class AbstractCompileStructuralValueRequest extends AbstractExpressionCompilationRequest { +public abstract class AbstractCompileStructuralValueRequest extends AbstractExpressionCompilationRequest { protected final Resource relation; @@ -62,8 +62,10 @@ abstract public class AbstractCompileStructuralValueRequest extends AbstractExpr Layer0 L0 = Layer0.getInstance(graph); String valueType = graph.getPossibleRelatedValue(relation, L0.RequiresValueType, Bindings.STRING); if(valueType != null) { + Resource relationIndexRoot = graph.syncRequest(new PossibleIndexRoot(relation)); + RuntimeEnvironment relationRuntimeEnvironment = relationIndexRoot != null ? graph.syncRequest(new RuntimeEnvironmentRequest(relationIndexRoot)) : context.runtimeEnvironment; try { - return Environments.getType(context.runtimeEnvironment.getEnvironment(), valueType); + return Environments.getType(relationRuntimeEnvironment.getEnvironment(), valueType); } catch (SCLExpressionCompilationException e) { e.printStackTrace(); }