\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
+ 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
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
public Object getIdentity(LabelerKey key) {\r
return NodeLabelerFactory.this.getClass();\r
}\r
-\r
+ \r
@Override\r
public Map<String, String> labels(ReadGraph graph) throws DatabaseException {\r
return Collections.singletonMap(ColumnKeys.SINGLE,\r
((INode) context.getConstant(BuiltinKeys.INPUT)).getLabel(graph));\r
}\r
\r
-// @Override\r
-// public Modifier getModifier(ModificationContext sourcePart, String key) {\r
-// return ((INode) context.getConstant(BuiltinKeys.INPUT)).getModifier(SimanticsUI.getSession(), key);\r
-// }\r
-//\r
-// @Override\r
-// public int category(ReadGraph graph) throws DatabaseException {\r
-// return ((INode) context.getConstant(BuiltinKeys.INPUT)).getCategory(graph);\r
-// }\r
+ @Override\r
+ public int category(ReadGraph graph) throws DatabaseException {\r
+ return ((INode) context.getConstant(BuiltinKeys.INPUT)).getCategory(graph);\r
+ }\r
};\r
}\r
}\r
@Override\r
public void run(ReadGraph g) {\r
try {\r
- ImageDescriptor descriptor = ((INode)context.getConstant(BuiltinKeys.INPUT)).getImage(g);\r
- result.setImage(descriptor);\r
+ INode node = (INode)context.getConstant(BuiltinKeys.INPUT);\r
+ ImageDescriptor descriptor = node.getImage(g);\r
+ result.setImage(descriptor);\r
updater.scheduleReplace(context, key, result);\r
} catch (DatabaseException e) {\r
e.printStackTrace();\r