package com.revolsys.geometry.graph.visitor;
import java.util.List;
import java.util.Map;
import com.revolsys.geometry.graph.Edge;
import com.revolsys.geometry.graph.Graph;
import com.revolsys.geometry.graph.Node;
import com.revolsys.util.ObjectProcessor;
public class MapPseudoNodeRemovalVisitor extends AbstractNodeListenerVisitor<Map<String, Object>>
implements ObjectProcessor<Graph<Map<String, Object>>> {
public MapPseudoNodeRemovalVisitor() {
}
@Override
public void accept(final Node<Map<String, Object>> node) {
final List<Edge<Map<String, Object>>> edges = node.getEdges();
if (edges.size() == 2) {
final Edge<Map<String, Object>> edge1 = edges.get(0);
final Edge<Map<String, Object>> edge2 = edges.get(1);
final Graph<Map<String, Object>> graph = node.getGraph();
graph.merge(node, edge1, edge2);
}
}
}