]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.interop/src/org/simantics/interop/browsing/INodeEvaluators.java
Merge "Java API for diagrams, work in progress"
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / browsing / INodeEvaluators.java
index e5a7abe733de17c4cc2746251ad77c3a0af1dd88..73293455b2c93b3d5d4159cdad0bd185b83d768f 100644 (file)
@@ -3,6 +3,8 @@ package org.simantics.interop.browsing;
 import java.util.Collection;\r
 import java.util.Collections;\r
 import java.util.Map;\r
+import java.util.function.Consumer;\r
+import java.util.function.Supplier;\r
 \r
 import org.eclipse.jface.resource.ImageDescriptor;\r
 import org.simantics.browsing.ui.BuiltinKeys;\r
@@ -31,8 +33,8 @@ import org.simantics.db.exception.DatabaseException;
 import org.simantics.modeling.ui.modelBrowser.model.IChildrenCallback;\r
 import org.simantics.modeling.ui.modelBrowser.model.IDisposable;\r
 import org.simantics.modeling.ui.modelBrowser.model.IUpdateable;\r
-import org.simantics.utils.datastructures.Callable;\r
-import org.simantics.utils.datastructures.Callback;\r
+import org.slf4j.Logger;\r
+import org.slf4j.LoggerFactory;\r
 \r
 \r
 public class INodeEvaluators {\r
@@ -49,9 +51,12 @@ public class INodeEvaluators {
 }\r
 \r
 abstract class BaseViewpointFactory implements ViewpointFactory {\r
-    protected abstract class VPB extends LazyViewpoint implements Callable<Boolean>, IChildrenCallback {\r
-        public VPB(PrimitiveQueryUpdater updater, NodeContext context, ViewpointKey key) {\r
+    protected abstract class VPB extends LazyViewpoint implements Supplier<Boolean>, IChildrenCallback {\r
+       PrimitiveQueryUpdater updater;\r
+       \r
+       public VPB(PrimitiveQueryUpdater updater, NodeContext context, ViewpointKey key) {\r
             super(updater, context, key);\r
+            this.updater = updater;\r
         }\r
 \r
         @Override\r
@@ -68,9 +73,9 @@ abstract class BaseViewpointFactory implements ViewpointFactory {
             // BaseViewpointFactory unique.\r
             return BaseViewpointFactory.this.getClass();\r
         }\r
-\r
+        \r
         @Override\r
-        public Boolean call() {\r
+        public Boolean get() {\r
             return Boolean.valueOf(updater.isDisposed());\r
         }\r
 \r
@@ -78,7 +83,7 @@ abstract class BaseViewpointFactory implements ViewpointFactory {
         public void refreshChildren(Collection<?> newChildren) {\r
             NodeContext[] ncs = toContextsWithInput(newChildren);\r
             setHasChildren(ncs.length > 0);\r
-            setChildren(ncs);\r
+            setChildren(updater,ncs);\r
             updater.scheduleReplace(context, key, this);\r
         }\r
 \r
@@ -142,6 +147,11 @@ class NodeLabelerFactory implements LabelerFactory {
             public int category(ReadGraph graph) throws DatabaseException {\r
                 return ((INode) context.getConstant(BuiltinKeys.INPUT)).getCategory(graph);\r
             }\r
+\r
+            @Override\r
+            public Logger getLogger() {\r
+                return LoggerFactory.getLogger(NodeLabelerFactory.class);\r
+            }\r
         };\r
     }\r
 }\r
@@ -155,10 +165,11 @@ class NodeImagerFactory implements ImagerFactory {
 \r
         DataSource<ReadGraph> source = updater.getDataSource(ReadGraph.class);\r
 \r
-        source.schedule(new Callback<ReadGraph>() {\r
-            @Override\r
-            public void run(ReadGraph g) {\r
-                try {\r
+        source.schedule(new Consumer<ReadGraph>() {\r
+               \r
+               @Override\r
+               public void accept(ReadGraph g) {\r
+                   try {\r
                        INode node = (INode)context.getConstant(BuiltinKeys.INPUT);\r
                     ImageDescriptor descriptor = node.getImage(g);\r
                        result.setImage(descriptor);\r