You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/03/28 01:50:04 UTC

svn commit: r1306062 - in /commons/proper/csv/trunk/src: main/java/org/apache/commons/csv/CSVLexer.java main/java/org/apache/commons/csv/Lexer.java test/java/org/apache/commons/csv/CSVLexer1.java

Author: sebb
Date: Tue Mar 27 23:50:04 2012
New Revision: 1306062

URL: http://svn.apache.org/viewvc?rev=1306062&view=rev
Log:
CSV-70 Improve readability of CSVLexer
Remove unnecessary parameters

Modified:
    commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVLexer.java
    commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java
    commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer1.java

Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVLexer.java
URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVLexer.java?rev=1306062&r1=1306061&r2=1306062&view=diff
==============================================================================
--- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVLexer.java (original)
+++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVLexer.java Tue Mar 27 23:50:04 2012
@@ -89,7 +89,7 @@ class CSVLexer extends Lexer {
             }
             
             // ok, start of token reached: comment, encapsulated, or token
-            if (isCommentStart(c)) {
+            if (isCommentStart(c)) { // TODO should only match at start of line
                 // ignore everything till end of line and continue (incr linecount)
                 in.readLine();
                 tkn = nextToken(tkn.reset());
@@ -102,7 +102,7 @@ class CSVLexer extends Lexer {
                 tkn.type = EORECORD;
             } else if (isEncapsulator(c)) {
                 // consume encapsulated token
-                encapsulatedTokenLexer(tkn, c);
+                encapsulatedTokenLexer(tkn);
             } else if (isEndOfFile(c)) {
                 // end of file return EOF()
                 //noop: tkn.content.append("");
@@ -150,7 +150,7 @@ class CSVLexer extends Lexer {
                 tkn.type = TOKEN;
                 break;
             } else if (isEscape(c)) {
-                tkn.content.append((char) readEscape(c));
+                tkn.content.append((char) readEscape());
             } else {
                 tkn.content.append((char) c);
             }
@@ -174,20 +174,20 @@ class CSVLexer extends Lexer {
      * Whitespaces before and after an encapsulated token are ignored.
      *
      * @param tkn the current token
-     * @param c   the current character
      * @return a valid token object
      * @throws IOException on invalid state
      */
-    private Token encapsulatedTokenLexer(Token tkn, int c) throws IOException {
+    private Token encapsulatedTokenLexer(Token tkn) throws IOException {
         // save current line
         int startLineNumber = getLineNumber();
         // ignore the given delimiter
         // assert c == delimiter;
+        int c;
         while (true) {
             c = in.read();
             
             if (isEscape(c)) {
-                tkn.content.append((char) readEscape(c));
+                tkn.content.append((char) readEscape());
             } else if (isEncapsulator(c)) {
                 if (isEncapsulator(in.lookAhead())) {
                     // double or escaped encapsulator -> add single encapsulator to token

Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java
URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java?rev=1306062&r1=1306061&r2=1306062&view=diff
==============================================================================
--- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java (original)
+++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java Tue Mar 27 23:50:04 2012
@@ -60,9 +60,9 @@ abstract class Lexer {
         return in.getLineNumber();
     }
 
-    int readEscape(int c) throws IOException {
+    int readEscape() throws IOException {
         // assume c is the escape char (normally a backslash)
-        c = in.read();
+        int c = in.read();
         switch (c) {
             case 'r':
                 return '\r';

Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer1.java
URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer1.java?rev=1306062&r1=1306061&r2=1306062&view=diff
==============================================================================
--- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer1.java (original)
+++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer1.java Tue Mar 27 23:50:04 2012
@@ -159,7 +159,7 @@ class CSVLexer1 extends Lexer {
                 tkn.isReady = true;
                 break;
             } else if (c == format.getEscape()) {
-                tkn.content.append((char) readEscape(c));
+                tkn.content.append((char) readEscape());
             } else {
                 tkn.content.append((char) c);
             }
@@ -196,7 +196,7 @@ class CSVLexer1 extends Lexer {
             c = in.read();
             
             if (c == format.getEscape()) {
-                tkn.content.append((char) readEscape(c));
+                tkn.content.append((char) readEscape());
             } else if (c == format.getEncapsulator()) {
                 if (in.lookAhead() == format.getEncapsulator()) {
                     // double or escaped encapsulator -> add single encapsulator to token