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