public Set<FlowNode> getNodeSet() {
Set<FlowNode> set = new HashSet<FlowNode>();
set.addAll(mapDescTupleToInferNode.values());
- System.out.println("NODESET=" + set);
return set;
}
}
+ public void updateTuple(FlowNode node, NTuple<Descriptor> newTuple) {
+
+ NTuple<Descriptor> curTuple = node.getCurrentDescTuple();
+ Set<FlowEdge> inEdgeSet = getInEdgeSet(node);
+ for (Iterator iterator = inEdgeSet.iterator(); iterator.hasNext();) {
+ FlowEdge flowEdge = (FlowEdge) iterator.next();
+ if (flowEdge.getEndTuple().equals(curTuple)) {
+ flowEdge.setEndTuple(newTuple);
+ }
+ }
+
+ Set<FlowEdge> outEdgeSet = getOutEdgeSet(node);
+ for (Iterator iterator = outEdgeSet.iterator(); iterator.hasNext();) {
+ FlowEdge flowEdge = (FlowEdge) iterator.next();
+ if (flowEdge.getInitTuple().equals(curTuple)) {
+ flowEdge.setInitTuple(newTuple);
+ }
+ }
+
+ node.setBaseTuple(newTuple);
+
+ }
+
public void removeNode(FlowNode node) {
NTuple<Descriptor> tuple = node.getCurrentDescTuple();