Author: simonetripodi Date: Sun Nov 20 17:06:32 2011 New Revision: 1204190 URL: http://svn.apache.org/viewvc?rev=1204190&view=rev Log: changed handler method signature, providing more informations, to reduce load that clients have to perform on the Graph
Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/BaseGraphVisitHandler.java commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/GraphVisitHandler.java commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/Visit.java commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/VisitGraphBuilder.java Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/BaseGraphVisitHandler.java URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/BaseGraphVisitHandler.java?rev=1204190&r1=1204189&r2=1204190&view=diff ============================================================================== --- commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/BaseGraphVisitHandler.java (original) +++ commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/BaseGraphVisitHandler.java Sun Nov 20 17:06:32 2011 @@ -52,7 +52,7 @@ public class BaseGraphVisitHandler<V ext /** * {@inheritDoc} */ - public void discoverEdge( E edge ) + public void discoverEdge( V head, E edge, V tail ) { // do nothing } @@ -60,7 +60,7 @@ public class BaseGraphVisitHandler<V ext /** * {@inheritDoc} */ - public void finishEdge( E edge ) + public void finishEdge( V head, E edge, V tail ) { // do nothing } Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/GraphVisitHandler.java URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/GraphVisitHandler.java?rev=1204190&r1=1204189&r2=1204190&view=diff ============================================================================== --- commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/GraphVisitHandler.java (original) +++ commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/GraphVisitHandler.java Sun Nov 20 17:06:32 2011 @@ -42,12 +42,12 @@ public interface GraphVisitHandler<V ext /** * Description of the Method */ - void discoverEdge( E edge ); + void discoverEdge( V head, E edge, V tail ); /** * Description of the Method */ - void finishEdge( E edge ); + void finishEdge( V head, E edge, V tail ); /** * Description of the Method Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/Visit.java URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/Visit.java?rev=1204190&r1=1204189&r2=1204190&view=diff ============================================================================== --- commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/Visit.java (original) +++ commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/Visit.java Sun Nov 20 17:06:32 2011 @@ -99,11 +99,11 @@ public final class Visit { E e = graph.getEdge( v, w ); - handler.discoverEdge( e ); + handler.discoverEdge( v, e, w ); vertexQueue.offer( w ); - handler.finishEdge( e ); + handler.finishEdge( v, e, w ); } } @@ -176,11 +176,11 @@ public final class Visit { E e = graph.getEdge( v, w ); - handler.discoverEdge( e ); + handler.discoverEdge( v, e, w ); vertexStack.push( w ); - handler.finishEdge( e ); + handler.finishEdge( v, e, w ); } } Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/VisitGraphBuilder.java URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/VisitGraphBuilder.java?rev=1204190&r1=1204189&r2=1204190&view=diff ============================================================================== --- commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/VisitGraphBuilder.java (original) +++ commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/VisitGraphBuilder.java Sun Nov 20 17:06:32 2011 @@ -23,7 +23,6 @@ import org.apache.commons.graph.Directed import org.apache.commons.graph.Edge; import org.apache.commons.graph.Graph; import org.apache.commons.graph.Vertex; -import org.apache.commons.graph.VertexPair; import org.apache.commons.graph.model.BaseMutableGraph; import org.apache.commons.graph.model.DirectedMutableGraph; import org.apache.commons.graph.model.UndirectedMutableGraph; @@ -40,16 +39,12 @@ final class VisitGraphBuilder<V extends private BaseMutableGraph<V, E> visitGraph; - private Graph<V, E> graph; - /** * {@inheritDoc} */ @Override public void discoverGraph( Graph<V, E> graph ) { - this.graph = graph; - if ( graph instanceof DirectedGraph ) { visitGraph = new DirectedMutableGraph<V, E>(); @@ -69,19 +64,9 @@ final class VisitGraphBuilder<V extends * {@inheritDoc} */ @Override - public void discoverEdge( E edge ) - { - VertexPair<V> vertexPair = graph.getVertices( edge ); - visitGraph.addEdge( vertexPair.getHead(), edge, vertexPair.getTail() ); - } - - /** - * {@inheritDoc} - */ - @Override - public void finishGraph( Graph<V, E> graph ) + public void discoverEdge( V head, E edge, V tail ) { - this.graph = null; + visitGraph.addEdge( head, edge, tail ); } /**