Author: simonetripodi
Date: Tue Jan 31 12:23:07 2012
New Revision: 1238435

URL: http://svn.apache.org/viewvc?rev=1238435&view=rev
Log:
moved the node selection logic from the algorithm execution to node selector 
itself

Modified:
    
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityAlgorithmsSelector.java
    
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityBuilder.java

Modified: 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityAlgorithmsSelector.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityAlgorithmsSelector.java?rev=1238435&r1=1238434&r2=1238435&view=diff
==============================================================================
--- 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityAlgorithmsSelector.java
 (original)
+++ 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityAlgorithmsSelector.java
 Tue Jan 31 12:23:07 2012
@@ -19,7 +19,6 @@ package org.apache.commons.graph.connect
  * under the License.
  */
 
-import static java.util.Arrays.asList;
 import static org.apache.commons.graph.CommonsGraph.visit;
 
 import java.util.ArrayList;
@@ -40,12 +39,12 @@ final class DefaultConnectivityAlgorithm
 
     final private G graph;
 
-    final private V[] includedVertices;
+    final private Iterable<V> includedVertices;
 
-    public DefaultConnectivityAlgorithmsSelector( G graph, V... vertices )
+    public DefaultConnectivityAlgorithmsSelector( G graph, Iterable<V> 
includedVertices )
     {
         this.graph = graph;
-        this.includedVertices = vertices;
+        this.includedVertices = includedVertices;
     }
 
     /**
@@ -55,16 +54,9 @@ final class DefaultConnectivityAlgorithm
     {
         final List<V> untouchedVertices = new ArrayList<V>();
 
-        if ( includedVertices != null )
+        for ( V v : includedVertices )
         {
-            untouchedVertices.addAll( asList( includedVertices ) );
-        }
-        else
-        {
-            for ( V v : graph.getVertices() )
-            {
-                untouchedVertices.add( v );
-            }
+            untouchedVertices.add( v );
         }
 
         final Collection<List<V>> connectedVertices = new 
LinkedList<List<V>>();

Modified: 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityBuilder.java?rev=1238435&r1=1238434&r2=1238435&view=diff
==============================================================================
--- 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityBuilder.java
 (original)
+++ 
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/connectivity/DefaultConnectivityBuilder.java
 Tue Jan 31 12:23:07 2012
@@ -19,6 +19,10 @@ package org.apache.commons.graph.connect
  * under the License.
  */
 
+import static org.apache.commons.graph.utils.Assertions.checkNotNull;
+
+import static java.util.Arrays.asList;
+
 import org.apache.commons.graph.Edge;
 import org.apache.commons.graph.Graph;
 import org.apache.commons.graph.Vertex;
@@ -41,7 +45,9 @@ public class DefaultConnectivityBuilder<
      */
     public ConnectivityAlgorithmsSelector<V, E, G> includingVertices( V... 
vertices )
     {
-        return new DefaultConnectivityAlgorithmsSelector<V, E, G>( graph, 
vertices );
+        vertices = checkNotNull( vertices,
+                                 "Graph connectivity cannote be applied on 
null vertices array, use no-args if you intend specify no vertices" );
+        return new DefaultConnectivityAlgorithmsSelector<V, E, G>( graph, 
asList( vertices ) );
     }
 
     /**
@@ -49,7 +55,7 @@ public class DefaultConnectivityBuilder<
      */
     public ConnectivityAlgorithmsSelector<V, E, G> includingAllVertices()
     {
-        return new DefaultConnectivityAlgorithmsSelector<V, E, G>( graph, 
(V[]) null );
+        return new DefaultConnectivityAlgorithmsSelector<V, E, G>( graph, 
graph.getVertices() );
     }
 
 }


Reply via email to