commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From c.@apache.org
Subject svn commit: r1302950 - /commons/sandbox/graph/branches/exporters-with-mappers/src/main/java/org/apache/commons/graph/export/DotExporter.java
Date Tue, 20 Mar 2012 15:49:31 GMT
Author: cs
Date: Tue Mar 20 15:49:31 2012
New Revision: 1302950

URL: http://svn.apache.org/viewvc?rev=1302950&view=rev
Log:
added utility method to generate IDs for vertices and replaced use of vertex hash codes with
IDs when formatting the output (hash codes are not identifiers!)

Modified:
    commons/sandbox/graph/branches/exporters-with-mappers/src/main/java/org/apache/commons/graph/export/DotExporter.java

Modified: commons/sandbox/graph/branches/exporters-with-mappers/src/main/java/org/apache/commons/graph/export/DotExporter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/branches/exporters-with-mappers/src/main/java/org/apache/commons/graph/export/DotExporter.java?rev=1302950&r1=1302949&r2=1302950&view=diff
==============================================================================
--- commons/sandbox/graph/branches/exporters-with-mappers/src/main/java/org/apache/commons/graph/export/DotExporter.java
(original)
+++ commons/sandbox/graph/branches/exporters-with-mappers/src/main/java/org/apache/commons/graph/export/DotExporter.java
Tue Mar 20 15:49:31 2012
@@ -20,6 +20,7 @@ package org.apache.commons.graph.export;
  */
 
 import java.io.PrintWriter;
+import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -48,13 +49,29 @@ final class DotExporter<V, E>
     private static final String WEIGHT = "weight";
     
     private static final String LABEL = "label";
+    
+    private final Map<V, Integer> vertexIdentifiers;
 
     DotExporter( Graph<V, E> graph, String name )
     {
         super( graph, name );
+        this.vertexIdentifiers = generateVertexIdentifiers( graph );
     }
 
-    private PrintWriter printWriter;
+    private Map<V, Integer> generateVertexIdentifiers(Graph<V, E> graph) 
+    {
+    	Map<V, Integer> vertexIdentifiers = new HashMap<V, Integer>();
+    	int count = 1;
+    	
+    	for(V vertex : graph.getVertices()) 
+    	{
+    		vertexIdentifiers.put( vertex, count++ );
+    	}
+    	
+		return vertexIdentifiers;
+	}
+
+	private PrintWriter printWriter;
 
     private String connector;
 
@@ -125,7 +142,7 @@ final class DotExporter<V, E>
     protected void vertex( V vertex, Map<String, Object> properties )
         throws Exception
     {
-        printWriter.format( "  %s", vertex.hashCode() );
+        printWriter.format( "  %s", vertexIdentifiers.get( vertex ) );
 
         printVertexOrEdgeProperties( properties );
     }
@@ -135,9 +152,9 @@ final class DotExporter<V, E>
         throws Exception
     {
         printWriter.format( "  %s %s %s",
-                            head.hashCode(),
+        		            vertexIdentifiers.get( head ),
                             connector,
-                            tail.hashCode() );
+                            vertexIdentifiers.get( tail ) );
 
         printVertexOrEdgeProperties( properties );
     }



Mime
View raw message