X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FComponentTypeScriptRuntimeEnvironmentRequest.java;h=7f2b54559ed35f0ecb7c077fe97c6131a8ddca82;hp=d5f4365b46c7faca8c0de476f7b52ea5fcc827be;hb=refs%2Fchanges%2F38%2F238%2F2;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/ComponentTypeScriptRuntimeEnvironmentRequest.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/ComponentTypeScriptRuntimeEnvironmentRequest.java index d5f4365b4..7f2b54559 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/ComponentTypeScriptRuntimeEnvironmentRequest.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/ComponentTypeScriptRuntimeEnvironmentRequest.java @@ -1,55 +1,55 @@ -package org.simantics.modeling; - -import java.util.ArrayList; - -import org.simantics.db.ReadGraph; -import org.simantics.db.common.request.ParametrizedPrimitiveRead; -import org.simantics.db.procedure.Listener; -import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification; -import org.simantics.scl.compiler.module.repository.ImportFailureException; -import org.simantics.scl.compiler.module.repository.UpdateListener; -import org.simantics.scl.compiler.runtime.RuntimeEnvironment; -import org.simantics.scl.osgi.SCLOsgi; -import org.simantics.scl.runtime.SCLContext; - -public class ComponentTypeScriptRuntimeEnvironmentRequest extends ParametrizedPrimitiveRead { - - // This array list is only needed to keep strong references to update listeners preventing their garbage collection. - ArrayList listeners; - - public ComponentTypeScriptRuntimeEnvironmentRequest(EnvironmentSpecification parameter) { - super(parameter); - } - - @Override - public void register(ReadGraph graph, Listener procedure) { - UpdateListener listener = null; - if(!procedure.isDisposed()) { - listener = new UpdateListener() { - @Override - public void notifyAboutUpdate() { - createRuntimeEnvironment(graph, procedure, this); - } - }; - if(listeners == null) - listeners = new ArrayList(2); - listeners.add(listener); - } - createRuntimeEnvironment(graph, procedure, listener); - } - - private void createRuntimeEnvironment(ReadGraph graph, Listener procedure, UpdateListener listener) { - SCLContext context = SCLContext.getCurrent(); - Object oldGraph = context.put("graph", graph); - try { - procedure.execute(SCLOsgi.MODULE_REPOSITORY.createRuntimeEnvironment(parameter, ComponentTypeScriptRuntimeEnvironmentRequest.class.getClassLoader(), listener)); - } - catch (ImportFailureException e) { - procedure.exception(e); - } - finally { - context.put("graph", oldGraph); - } - } - -} +package org.simantics.modeling; + +import java.util.ArrayList; + +import org.simantics.db.ReadGraph; +import org.simantics.db.common.request.ParametrizedPrimitiveRead; +import org.simantics.db.procedure.Listener; +import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification; +import org.simantics.scl.compiler.module.repository.ImportFailureException; +import org.simantics.scl.compiler.module.repository.UpdateListener; +import org.simantics.scl.compiler.runtime.RuntimeEnvironment; +import org.simantics.scl.osgi.SCLOsgi; +import org.simantics.scl.runtime.SCLContext; + +public class ComponentTypeScriptRuntimeEnvironmentRequest extends ParametrizedPrimitiveRead { + + // This array list is only needed to keep strong references to update listeners preventing their garbage collection. + ArrayList listeners; + + public ComponentTypeScriptRuntimeEnvironmentRequest(EnvironmentSpecification parameter) { + super(parameter); + } + + @Override + public void register(ReadGraph graph, Listener procedure) { + UpdateListener listener = null; + if(!procedure.isDisposed()) { + listener = new UpdateListener() { + @Override + public void notifyAboutUpdate() { + createRuntimeEnvironment(graph, procedure, this); + } + }; + if(listeners == null) + listeners = new ArrayList(2); + listeners.add(listener); + } + createRuntimeEnvironment(graph, procedure, listener); + } + + private void createRuntimeEnvironment(ReadGraph graph, Listener procedure, UpdateListener listener) { + SCLContext context = SCLContext.getCurrent(); + Object oldGraph = context.put("graph", graph); + try { + procedure.execute(SCLOsgi.MODULE_REPOSITORY.createRuntimeEnvironment(parameter, ComponentTypeScriptRuntimeEnvironmentRequest.class.getClassLoader(), listener)); + } + catch (ImportFailureException e) { + procedure.exception(e); + } + finally { + context.put("graph", oldGraph); + } + } + +}