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 );
     }
 
     /**


Reply via email to