[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-09-05 15:44:16
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14422/src/org/mediavirus/graphl/graph/filter Modified Files: FilteredGraph.java Log Message: corrected update behavior upon changes Index: FilteredGraph.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter/FilteredGraph.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FilteredGraph.java 24 Aug 2005 16:06:33 -0000 1.2 --- FilteredGraph.java 5 Sep 2005 15:44:07 -0000 1.3 *************** *** 16,19 **** --- 16,20 ---- import org.mediavirus.graphl.graph.GraphListener; import org.mediavirus.graphl.graph.Node; + import org.mediavirus.graphl.vocabulary.NS; /** *************** *** 38,45 **** --- 39,48 ---- public void addFilter(GraphFilter filter) { filters.add(filter); + update(); } public void removeFilter(GraphFilter filter) { filters.remove(filter); + update(); } *************** *** 47,51 **** sourceGraph = graph; graph.addGraphListener(this); ! graphContentsChanged(graph); } --- 50,54 ---- sourceGraph = graph; graph.addGraphListener(this); ! update(); } *************** *** 72,85 **** */ public void graphContentsChanged(Graph graph) { cachedEdges.clear(); cachedNodes.clear(); ! Collection filteredEdges = filterEdges(graph.getEdges()); if (filteredEdges != null) cachedEdges.addAll(filteredEdges); ! Collection filteredNodes = filterNodes(graph.getNodes()); if (filteredNodes != null) cachedNodes.addAll(filteredNodes); ! fireGraphContentsChanged(); } --- 75,94 ---- */ public void graphContentsChanged(Graph graph) { + if (graph == sourceGraph) { + update(); + } + } + + public void update() { cachedEdges.clear(); cachedNodes.clear(); ! Collection filteredEdges = filterEdges(sourceGraph.getEdges()); if (filteredEdges != null) cachedEdges.addAll(filteredEdges); ! Collection filteredNodes = filterNodes(sourceGraph.getNodes()); if (filteredNodes != null) cachedNodes.addAll(filteredNodes); ! fireGraphContentsChanged(); } *************** *** 116,119 **** --- 125,131 ---- for (Iterator edgesI = edges.iterator(); edgesI.hasNext();) { Edge edge = (Edge) edgesI.next(); + if (edge.getType().equals(NS.rdfs + "subClassOf") && edge.getTo().getId().equals("http://xmlns.com/wordnet/1.6/Person")) { + System.out.println("foo"); + } if (filterEdge(edge, sourceGraph)) filteredEdges.add(edge); } *************** *** 174,192 **** */ public void elementsRemoved(Graph graph, Collection nodes, Collection edges) { ! List removedNodes = new ArrayList(); ! List removedEdges = new ArrayList(); ! for (Iterator nodesI = nodes.iterator(); nodesI.hasNext();) { ! Node node = (Node) nodesI.next(); ! if (cachedNodes.contains(node)) { ! cachedNodes.remove(node); ! removedNodes.add(node); } } ! for (Iterator edgesI = edges.iterator(); edgesI.hasNext();) { ! Edge edge = (Edge) edgesI.next(); ! if (cachedEdges.contains(edge)) { ! cachedEdges.remove(edge); ! removedEdges.add(edge); } } --- 186,210 ---- */ public void elementsRemoved(Graph graph, Collection nodes, Collection edges) { ! List removedNodes = null; ! List removedEdges = null; ! if (nodes != null) { ! removedNodes = new ArrayList(); ! for (Iterator nodesI = nodes.iterator(); nodesI.hasNext();) { ! Node node = (Node) nodesI.next(); ! if (cachedNodes.contains(node)) { ! cachedNodes.remove(node); ! removedNodes.add(node); ! } } } ! if (edges != null) { ! removedEdges = new ArrayList(); ! for (Iterator edgesI = edges.iterator(); edgesI.hasNext();) { ! Edge edge = (Edge) edgesI.next(); ! if (cachedEdges.contains(edge)) { ! cachedEdges.remove(edge); ! removedEdges.add(edge); ! } } } |