Author: ggregory Date: Fri Oct 12 12:35:46 2012 New Revision: 1397541 URL: http://svn.apache.org/viewvc?rev=1397541&view=rev Log: Refactor constants from various classes into a package private Constants class and use static imports.
Added: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java (with props) Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.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 commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer3.java commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1397541&r1=1397540&r2=1397541&view=diff ============================================================================== --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Fri Oct 12 12:35:46 2012 @@ -17,6 +17,13 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.COMMA; +import static org.apache.commons.csv.Constants.CR; +import static org.apache.commons.csv.Constants.DOUBLE_QUOTE; +import static org.apache.commons.csv.Constants.ESCAPE; +import static org.apache.commons.csv.Constants.LF; +import static org.apache.commons.csv.Constants.TAB; + import java.io.IOException; import java.io.Reader; import java.io.Serializable; @@ -29,20 +36,12 @@ import java.io.StringWriter; */ public class CSVFormat implements Serializable { - private static final String LF = "\n"; - - private static final char ESCAPE = '\\'; - - private static final char TAB = '\t'; - - private static final char DOUBLE_QUOTE = '"'; - - private static final char COMMA = ','; + private static final String LF_STR = "" + LF; private static final long serialVersionUID = 1L; /** According to RFC 4180, line breaks are delimited by CRLF */ - public static final String CRLF = "\r\n"; + public static final String CRLF = "" + CR + LF; private final char delimiter; private final char encapsulator; @@ -127,7 +126,7 @@ public class CSVFormat implements Serial /** * Default MySQL format used by the <tt>SELECT INTO OUTFILE</tt> and <tt>LOAD DATA INFILE</tt> operations. This is - * a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters + * a tab-delimited format with a LF_STR character as the line separator. Values are not quoted and special characters * are escaped with '\'. * * @see <a href="http://dev.mysql.com/doc/refman/5.1/en/load-data.html"> @@ -137,7 +136,7 @@ public class CSVFormat implements Serial PRISTINE .withDelimiter(TAB) .withEscape(ESCAPE) - .withLineSeparator(LF); + .withLineSeparator(LF_STR); /** * Creates a customized CSV format. Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java?rev=1397541&r1=1397540&r2=1397541&view=diff ============================================================================== --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java Fri Oct 12 12:35:46 2012 @@ -17,6 +17,12 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.COMMENT; +import static org.apache.commons.csv.Constants.CR; +import static org.apache.commons.csv.Constants.EMPTY; +import static org.apache.commons.csv.Constants.LF; +import static org.apache.commons.csv.Constants.SP; + import java.io.Flushable; import java.io.IOException; @@ -24,12 +30,6 @@ import java.io.IOException; * Print values as a comma separated list. */ public class CSVPrinter { - - private static final char COMMENT = '#'; - private static final String EMPTY = ""; - private static final char SP = ' '; - private static final char CR = '\r'; - private static final char LF = '\n'; /** The place that the values get written. */ private final Appendable out; Added: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java?rev=1397541&view=auto ============================================================================== --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java (added) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java Fri Oct 12 12:35:46 2012 @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.csv; + +/** + * Constants for this package. + */ +class Constants { + + static final char BELL = '\b'; + static final char COMMA = ','; + static final char COMMENT = '#'; + static final char CR = '\r'; + static final char DOUBLE_QUOTE = '"'; + static final char ESCAPE = '\\'; + static final char FF = '\f'; + static final char LF = '\n'; + static final char SP = ' '; + static final char TAB = '\t'; + static final String EMPTY = ""; + + /** The end of stream symbol */ + static final int END_OF_STREAM = -1; + + /** Undefined state for the lookahead char */ + static final int UNDEFINED = -2; + + +} Propchange: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Constants.java ------------------------------------------------------------------------------ svn:keywords = Id Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java?rev=1397541&r1=1397540&r2=1397541&view=diff ============================================================================== --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java (original) +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/ExtendedBufferedReader.java Fri Oct 12 12:35:46 2012 @@ -17,6 +17,11 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.CR; +import static org.apache.commons.csv.Constants.END_OF_STREAM; +import static org.apache.commons.csv.Constants.LF; +import static org.apache.commons.csv.Constants.UNDEFINED; + import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; @@ -29,16 +34,6 @@ import java.io.Reader; */ class ExtendedBufferedReader extends BufferedReader { - private static final char CR = '\r'; - - private static final char LF = '\n'; - - /** The end of stream symbol */ - static final int END_OF_STREAM = -1; - - /** Undefined state for the lookahead char */ - static final int UNDEFINED = -2; - /** The last char returned */ private int lastChar = UNDEFINED; 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=1397541&r1=1397540&r2=1397541&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 Fri Oct 12 12:35:46 2012 @@ -17,6 +17,14 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.BELL; +import static org.apache.commons.csv.Constants.CR; +import static org.apache.commons.csv.Constants.END_OF_STREAM; +import static org.apache.commons.csv.Constants.FF; +import static org.apache.commons.csv.Constants.LF; +import static org.apache.commons.csv.Constants.TAB; +import static org.apache.commons.csv.Constants.UNDEFINED; + import java.io.IOException; /** @@ -24,12 +32,6 @@ import java.io.IOException; */ abstract class Lexer { - private static final char FF = '\f'; - private static final char BELL = '\b'; - private static final char TAB = '\t'; - private static final char LF = '\n'; - private static final char CR = '\r'; - private final boolean isEncapsulating; private final boolean isEscaping; private final boolean isCommentEnabled; @@ -80,7 +82,7 @@ abstract class Lexer { return BELL; case 'f': return FF; - case ExtendedBufferedReader.END_OF_STREAM: + case END_OF_STREAM: throw new IOException("EOF whilst processing escape sequence"); default: return c; @@ -125,14 +127,14 @@ abstract class Lexer { * @return true if the character is at the start of a line. */ boolean isStartOfLine(final int c) { - return c == LF || c == CR || c == ExtendedBufferedReader.UNDEFINED; + return c == LF || c == CR || c == UNDEFINED; } /** * @return true if the given character indicates end of file */ boolean isEndOfFile(final int c) { - return c == ExtendedBufferedReader.END_OF_STREAM; + return c == END_OF_STREAM; } abstract Token nextToken(Token reusableToken) throws IOException; 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=1397541&r1=1397540&r2=1397541&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 Fri Oct 12 12:35:46 2012 @@ -17,6 +17,7 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.UNDEFINED; import static org.apache.commons.csv.Token.Type.EOF; import static org.apache.commons.csv.Token.Type.EORECORD; import static org.apache.commons.csv.Token.Type.TOKEN; @@ -60,7 +61,7 @@ class CSVLexer1 extends Lexer { // empty line detection: eol AND (last char was EOL or beginning) if (format.getIgnoreEmptyLines()) { while (eol - && (lastChar == '\n' || lastChar == '\r' || lastChar == ExtendedBufferedReader.UNDEFINED) + && (lastChar == '\n' || lastChar == '\r' || lastChar == UNDEFINED) && !isEndOfFile(lastChar)) { // go on char ahead ... lastChar = c; Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer3.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer3.java?rev=1397541&r1=1397540&r2=1397541&view=diff ============================================================================== --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer3.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexer3.java Fri Oct 12 12:35:46 2012 @@ -17,6 +17,7 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.END_OF_STREAM; import static org.apache.commons.csv.Token.Type.COMMENT; import static org.apache.commons.csv.Token.Type.EOF; import static org.apache.commons.csv.Token.Type.EORECORD; @@ -74,7 +75,7 @@ class CSVLexer3 extends Lexer { if (isWhitespace(intch)) { // Must be after EOL check return CharType.WHITESPACE; } - if (intch == ExtendedBufferedReader.END_OF_STREAM) { + if (intch == END_OF_STREAM) { return CharType.EOFCHAR; } return CharType.OTHER; Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java?rev=1397541&r1=1397540&r2=1397541&view=diff ============================================================================== --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/ExtendedBufferedReaderTest.java Fri Oct 12 12:35:46 2012 @@ -17,6 +17,8 @@ package org.apache.commons.csv; +import static org.apache.commons.csv.Constants.END_OF_STREAM; +import static org.apache.commons.csv.Constants.UNDEFINED; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -30,9 +32,9 @@ public class ExtendedBufferedReaderTest @Test public void testEmptyInput() throws Exception { final ExtendedBufferedReader br = getBufferedReader(""); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.read()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.lookAhead()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.readAgain()); + assertEquals(END_OF_STREAM, br.read()); + assertEquals(END_OF_STREAM, br.lookAhead()); + assertEquals(END_OF_STREAM, br.readAgain()); assertNull(br.readLine()); assertEquals(0, br.read(new char[10], 0, 0)); } @@ -41,7 +43,7 @@ public class ExtendedBufferedReaderTest public void testReadLookahead1() throws Exception { final ExtendedBufferedReader br = getBufferedReader("1\n2\r3\n"); assertEquals('1', br.lookAhead()); - assertEquals(ExtendedBufferedReader.UNDEFINED, br.readAgain()); + assertEquals(UNDEFINED, br.readAgain()); assertEquals('1', br.read()); assertEquals('1', br.readAgain()); @@ -79,12 +81,12 @@ public class ExtendedBufferedReaderTest assertEquals('\n', br.readAgain()); assertEquals(3, br.getLineNumber()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.lookAhead()); + assertEquals(END_OF_STREAM, br.lookAhead()); assertEquals('\n', br.readAgain()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.read()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.readAgain()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.read()); - assertEquals(ExtendedBufferedReader.END_OF_STREAM, br.lookAhead()); + assertEquals(END_OF_STREAM, br.read()); + assertEquals(END_OF_STREAM, br.readAgain()); + assertEquals(END_OF_STREAM, br.read()); + assertEquals(END_OF_STREAM, br.lookAhead()); }