You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2012/03/08 10:59:52 UTC

svn commit: r1298333 - in /commons/sandbox/csv/trunk/src: main/java/org/apache/commons/csv/CSVParser.java test/java/org/apache/commons/csv/CSVParserTest.java

Author: ebourg
Date: Thu Mar  8 09:59:51 2012
New Revision: 1298333

URL: http://svn.apache.org/viewvc?rev=1298333&view=rev
Log:
Renamed CSVParser.getLine() into getRecord() to avoid confusions since a record can span several lines

Modified:
    commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
    commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java

Modified: commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
URL: http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1298333&r1=1298332&r2=1298333&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java (original)
+++ commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java Thu Mar  8 09:59:51 2012
@@ -68,7 +68,7 @@ public class CSVParser implements Iterab
     
     // the following objects are shared to reduce garbage
     
-    /** A record buffer for getLine(). Grows as necessary and is reused. */
+    /** A record buffer for getRecord(). Grows as necessary and is reused. */
     private final List<String> record = new ArrayList<String>();
     private final Token reusableToken = new Token();
 
@@ -112,7 +112,7 @@ public class CSVParser implements Iterab
 
 
     /**
-     * Parses the CSV according to the given format and returns the content
+     * Parses the CSV input according to the given format and returns the content
      * as an array of records (whereas records are arrays of single values).
      * <p/>
      * The returned content starts at the current parse-position in the stream.
@@ -122,26 +122,26 @@ public class CSVParser implements Iterab
      */
     public String[][] getRecords() throws IOException {
         List<String[]> records = new ArrayList<String[]>();
-        String[] values;
-        String[][] ret = null;
-        while ((values = getLine()) != null) {
-            records.add(values);
+        String[] record;
+        while ((record = getRecord()) != null) {
+            records.add(record);
         }
-        if (records.size() > 0) {
-            ret = new String[records.size()][];
-            records.toArray(ret);
+        
+        if (!records.isEmpty()) {
+            return records.toArray(new String[records.size()][]);
+        } else {
+            return null;
         }
-        return ret;
     }
 
     /**
-     * Parses from the current point in the stream til the end of the current line.
+     * Parses the next record from the current point in the stream.
      *
-     * @return array of values til end of line ('null' when end of file has been reached)
+     * @return the record as an array of values, or <tt>null</tt> if the end of the stream has been reached
      * @throws IOException on parse error or input read-failure
      */
-    String[] getLine() throws IOException {
-        String[] ret = EMPTY_STRING_ARRAY;
+    String[] getRecord() throws IOException {
+        String[] result = EMPTY_STRING_ARRAY;
         record.clear();
         while (true) {
             reusableToken.reset();
@@ -157,11 +157,10 @@ public class CSVParser implements Iterab
                     if (reusableToken.isReady) {
                         record.add(reusableToken.content.toString());
                     } else {
-                        ret = null;
+                        result = null;
                     }
                     break;
                 case INVALID:
-                default:
                     // error: throw IOException
                     throw new IOException("(line " + getLineNumber() + ") invalid parse sequence");
                     // unreachable: break;
@@ -171,9 +170,9 @@ public class CSVParser implements Iterab
             }
         }
         if (!record.isEmpty()) {
-            ret = record.toArray(new String[record.size()]);
+            result = record.toArray(new String[record.size()]);
         }
-        return ret;
+        return result;
     }
 
     /**
@@ -209,7 +208,7 @@ public class CSVParser implements Iterab
             
             private String[] getNextLine() {
                 try {
-                    return getLine();
+                    return getRecord();
                 } catch (IOException e) {
                     throw new RuntimeException(e);
                 }

Modified: commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java?rev=1298333&r1=1298332&r2=1298333&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java (original)
+++ commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java Thu Mar  8 09:59:51 2012
@@ -54,10 +54,10 @@ public class CSVParserTest extends TestC
     public void testGetLine() throws IOException {
         CSVParser parser = new CSVParser(new StringReader(code));
         for (String[] re : res) {
-            assertTrue(Arrays.equals(re, parser.getLine()));
+            assertTrue(Arrays.equals(re, parser.getRecord()));
         }
         
-        assertTrue(parser.getLine() == null);
+        assertTrue(parser.getRecord() == null);
     }
 
     public void testGetRecords() throws IOException {