You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/06/17 19:07:28 UTC
svn commit: r1136940 - in
/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph:
shortestpath/Dijkstra.java visit/Visit.java
Author: simonetripodi
Date: Fri Jun 17 17:07:28 2011
New Revision: 1136940
URL: http://svn.apache.org/viewvc?rev=1136940&view=rev
Log:
discriminated vertix edges depending on the fact if graph is (un)directed
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/Dijkstra.java
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/Visit.java
Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/Dijkstra.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/Dijkstra.java?rev=1136940&r1=1136939&r2=1136940&view=diff
==============================================================================
--- commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/Dijkstra.java (original)
+++ commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/Dijkstra.java Fri Jun 17 17:07:28 2011
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.PriorityQueue;
import java.util.Set;
+import org.apache.commons.graph.DirectedGraph;
import org.apache.commons.graph.Vertex;
import org.apache.commons.graph.WeightedEdge;
import org.apache.commons.graph.WeightedGraph;
@@ -99,7 +100,10 @@ public final class Dijkstra
settledNodes.add( vertex );
- for ( WE edge : graph.getEdges( vertex ) )
+ @SuppressWarnings( "unchecked" ) // graph type driven by input Graph instance
+ Set<WE> edges = ( graph instanceof DirectedGraph ) ? ( (DirectedGraph<V, WE>) graph ).getOutbound( vertex )
+ : graph.getEdges( vertex );
+ for ( WE edge : edges )
{
V v = edge.getTail();
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=1136940&r1=1136939&r2=1136940&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 Fri Jun 17 17:07:28 2011
@@ -24,6 +24,7 @@ import java.util.LinkedList;
import java.util.Set;
import java.util.Stack;
+import org.apache.commons.graph.DirectedGraph;
import org.apache.commons.graph.Edge;
import org.apache.commons.graph.Graph;
import org.apache.commons.graph.Vertex;
@@ -88,7 +89,9 @@ public final class Visit
handler.discoverVertex( v );
}
- for ( E e : graph.getEdges( v ) )
+ Set<E> edges = ( graph instanceof DirectedGraph ) ? ( (DirectedGraph<V, E>) graph ).getOutbound( v )
+ : graph.getEdges( v );
+ for ( E e : edges )
{
V w = e.getTail();
@@ -174,7 +177,9 @@ public final class Visit
handler.discoverVertex( v );
}
- for ( E e : graph.getEdges( v ) )
+ Set<E> edges = ( graph instanceof DirectedGraph ) ? ( (DirectedGraph<V, E>) graph ).getOutbound( v )
+ : graph.getEdges( v );
+ for ( E e : edges )
{
V w = e.getTail();