X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.document.server%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fserver%2Fstate%2FStateRealm.java;fp=bundles%2Forg.simantics.document.server%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fserver%2Fstate%2FStateRealm.java;h=2436bad69152e23cee047c349af88c5dc93eaa25;hp=0000000000000000000000000000000000000000;hb=8c8283a01e63980527d605936286747006bea601;hpb=0b65b9e03c2fe0eae91af7a8b87b63df749dc5f9 diff --git a/bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateRealm.java b/bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateRealm.java new file mode 100644 index 000000000..2436bad69 --- /dev/null +++ b/bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateRealm.java @@ -0,0 +1,46 @@ +package org.simantics.document.server.state; + +import java.util.function.Function; + +import org.simantics.simulator.toolkit.StandardNodeManager; +import org.simantics.simulator.toolkit.StandardRealm; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class StateRealm extends StandardRealm { + + private static final Logger LOGGER = LoggerFactory.getLogger(StateRealm.class); + + protected StateRealm(StateNodeManagerSupport engine, String id) { + super(engine, id); + } + + @Override + public Logger getLogger() { + return LOGGER; + } + + @Override + protected StandardNodeManager createManager() { + return new StateNodeManager(this, new StateRootNode()); + } + + @Override + public void asyncExec(Function fun) { + try { + syncExec(fun); + } catch (InterruptedException e) { + LOGGER.error("Execution interrupted.", e); + } + } + + @Override + public void asyncExec(Runnable runnable) { + try { + syncExec(runnable); + } catch (InterruptedException e) { + LOGGER.error("Execution interrupted.", e); + } + } + +}