Author: tn Date: Thu Mar 1 17:39:59 2012 New Revision: 1295694 URL: http://svn.apache.org/viewvc?rev=1295694&view=rev Log: fixed unified graph search algorithm in case of non-default visitor implementations
Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/DefaultVisitAlgorithmsSelector.java Modified: commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/DefaultVisitAlgorithmsSelector.java URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/DefaultVisitAlgorithmsSelector.java?rev=1295694&r1=1295693&r2=1295694&view=diff ============================================================================== --- commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/DefaultVisitAlgorithmsSelector.java (original) +++ commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/visit/DefaultVisitAlgorithmsSelector.java Thu Mar 1 17:39:59 2012 @@ -138,6 +138,13 @@ final class DefaultVisitAlgorithmsSelect } } + // only mark the current vertex as visited, if the + // edge leading to should be expanded + if ( !skipVertex ) + { + visitedVertices.add( v ); + } + if ( !skipVertex && handler.discoverVertex( v ) ) { Iterator<V> connected = ( graph instanceof DirectedGraph ) ? @@ -150,7 +157,6 @@ final class DefaultVisitAlgorithmsSelect if ( !visitedVertices.contains( w ) ) { vertexList.addLast( new VertexPair<V>( w, v ) ); - visitedVertices.add( w ); } } }