[graphl-cvs] graphl/src/org/mediavirus/graphl/graph/filter FilteredGraph.java
Status: Pre-Alpha
Brought to you by:
flo1
From: Flo L. <fl...@us...> - 2005-08-24 16:06:41
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4236/src/org/mediavirus/graphl/graph/filter Modified Files: FilteredGraph.java Log Message: filteredGraph now delivers consistent graphs Index: FilteredGraph.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter/FilteredGraph.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FilteredGraph.java 17 Aug 2005 15:52:51 -0000 1.1 --- FilteredGraph.java 24 Aug 2005 16:06:33 -0000 1.2 *************** *** 89,98 **** public void elementsAdded(Graph graph, Collection nodes, Collection edges) { Collection filteredEdges = filterEdges(edges); - if (filteredEdges != null) cachedEdges.addAll(filteredEdges); ! Collection filteredNodes = filterNodes(nodes); if (filteredNodes != null) cachedNodes.addAll(filteredNodes); ! fireElementsAdded(filteredNodes, filteredEdges); } --- 89,108 ---- public void elementsAdded(Graph graph, Collection nodes, Collection edges) { + Collection filteredNodes = filterNodes(nodes); Collection filteredEdges = filterEdges(edges); ! if (filteredEdges != null) { ! cachedEdges.addAll(filteredEdges); ! ! if (filteredNodes == null) filteredNodes = new ArrayList(); ! for (Iterator edgesI = filteredEdges.iterator(); edgesI.hasNext();) { ! Edge edge = (Edge) edgesI.next(); ! if (! filteredNodes.contains(edge.getFrom())) filteredNodes.add(edge.getFrom()); ! if (! filteredNodes.contains(edge.getTo())) filteredNodes.add(edge.getTo()); ! } ! } ! if (filteredNodes != null) cachedNodes.addAll(filteredNodes); ! fireElementsAdded(filteredNodes, filteredEdges); } *************** *** 220,222 **** --- 230,235 ---- } + public void addElements(Collection nodes, Collection edges) { + sourceGraph.addElements(nodes, edges); + } } |