You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/12/17 16:12:55 UTC

svn commit: r1050413 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/SSTableExport.java

Author: jbellis
Date: Fri Dec 17 15:12:54 2010
New Revision: 1050413

URL: http://svn.apache.org/viewvc?rev=1050413&view=rev
Log:
merge from 0.6

Modified:
    cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/SSTableExport.java

Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/SSTableExport.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=1050413&r1=1050412&r2=1050413&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/SSTableExport.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/SSTableExport.java Fri Dec 17 15:12:54 2010
@@ -80,72 +80,68 @@ public class SSTableExport
         return String.format("%s: ", quote(val));
     }
     
-    private static String serializeColumns(Collection<IColumn> cols, AbstractType comp)
+    private static void serializeColumns(PrintStream outs, Collection<IColumn> cols, AbstractType comp)
     {
-        StringBuilder json = new StringBuilder("[");
-        
+        outs.print("[");
+
         Iterator<IColumn> iter = cols.iterator();
         while (iter.hasNext())
         {
-            json.append("[");
+            outs.print("[");
             IColumn column = iter.next();
-            json.append(quote(bytesToHex(column.name())));
-            json.append(", ");
-            json.append(quote(bytesToHex(column.value())));
-            json.append(", ");
-            json.append(column.timestamp());
-            json.append(", ");
-            json.append(column.isMarkedForDelete());
+            outs.print(quote(bytesToHex(column.name())));
+            outs.print(", ");
+            outs.print(quote(bytesToHex(column.value())));
+            outs.print(", ");
+            outs.print(column.timestamp());
+            outs.print(", ");
+            outs.print(column.isMarkedForDelete());
             if (column instanceof ExpiringColumn) {
-              json.append(", ");
-              json.append(((ExpiringColumn)column).getTimeToLive());
-              json.append(", ");
-              json.append(column.getLocalDeletionTime());
+              outs.print(", ");
+              outs.print(((ExpiringColumn)column).getTimeToLive());
+              outs.print(", ");
+              outs.print(column.getLocalDeletionTime());
             }
-            json.append("]");
+            outs.print("]");
             if (iter.hasNext())
-                json.append(", ");
+                outs.print(", ");
         }
         
-        json.append("]");
-        
-        return json.toString();
+        outs.print("]");
     }
     
-    private static String serializeRow(SSTableIdentityIterator row) throws IOException
+    private static void serializeRow(PrintStream outs, SSTableIdentityIterator row) throws IOException
     {
         ColumnFamily cf = row.getColumnFamilyWithColumns();
         AbstractType comparator = cf.getComparator();
-        StringBuilder json = new StringBuilder(asKey(bytesToHex(row.getKey().key)));
-        
+        outs.print(asKey(bytesToHex(row.getKey().key)));
+
         if (cf.isSuper())
         {
-            json.append("{ ");
+            outs.print("{ ");
 
             Iterator<IColumn> iter = cf.getSortedColumns().iterator();
             while (iter.hasNext())
             {
                 IColumn column = iter.next();
-                json.append(asKey(bytesToHex(column.name())));
-                json.append("{");
-                json.append(asKey("deletedAt"));
-                json.append(column.getMarkedForDeleteAt());
-                json.append(", ");
-                json.append(asKey("subColumns"));
-                json.append(serializeColumns(column.getSubColumns(), comparator));
-                json.append("}");
+                outs.print(asKey(bytesToHex(column.name())));
+                outs.print("{");
+                outs.print(asKey("deletedAt"));
+                outs.print(column.getMarkedForDeleteAt());
+                outs.print(", ");
+                outs.print(asKey("subColumns"));
+                serializeColumns(outs, column.getSubColumns(), comparator);
+                outs.print("}");
                 if (iter.hasNext())
-                    json.append(", ");
+                    outs.print(", ");
             }
             
-            json.append("}");
+            outs.print("}");
         }
         else
         {
-            json.append(serializeColumns(cf.getSortedColumns(), comparator));
+            serializeColumns(outs, cf.getSortedColumns(), comparator);
         }
-     
-        return json.toString();
     }
 
     /**
@@ -205,10 +201,9 @@ public class SSTableExport
                 SSTableIdentityIterator row = (SSTableIdentityIterator) scanner.next();
                 try
                 {
-                    String jsonOut = serializeRow(row);
+                    serializeRow(outs, row);
                     if (i != 1)
                         outs.println(",");
-                    outs.print("  " + jsonOut);
                 }
                 catch (IOException ioexc)
                 {
@@ -246,8 +241,8 @@ public class SSTableExport
                 continue;
             try
             {
-                String jsonOut = serializeRow(row);
-                outs.print("  " + jsonOut);
+                serializeRow(outs, row);
+                outs.print("  ");
                 if (scanner.hasNext())
                     outs.println(",");
                 else