import org.simantics.simulator.toolkit.StandardNodeManager;
import org.simantics.simulator.toolkit.StandardNodeManagerSupport;
import org.simantics.simulator.toolkit.StandardRealm;
+import org.simantics.simulator.variable.exceptions.NodeManagerException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Adds support for Layer0 Variable interface in StandardNodeManager
*/
public class StandardVariableNodeManager<Node, Engine extends StandardNodeManagerSupport<Node>> extends StandardNodeManager<Node,Engine> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(StandardVariableNodeManager.class);
protected NodeSupport<Node> support;
public StandardVariableNodeManager(StandardRealm<Node, Engine> realm, Node root) {
this.support = new NodeSupport<>(this);
}
-/* public void registerNodeSupport(NodeSupport<Node> support) {
- this.support = support;
- }
-
-
- public void registerSupport(NodeSupport<Node> support) {
- this.support = support;
- }*/
-
@Override
public void refreshVariable(Node node) {
+ try {
+ support.refreshCache(node);
+ } catch (NodeManagerException e) {
+ LOGGER.error("Failed to refresh variable", e);
+ throw new RuntimeException(e);
+ }
super.refreshVariable(node);
- support.valueCache.clearExpired();
- support.structureCache.clearExpired();
}
}
\ No newline at end of file