On Fri, Oct 12, 2012 at 8:22 AM, Benedikt Ritter <[email protected]>wrote:
> Hi > > 2012/10/12 <[email protected]>: > > Author: ggregory > > Date: Fri Oct 12 12:12:44 2012 > > New Revision: 1397534 > > > > URL: http://svn.apache.org/viewvc?rev=1397534&view=rev > > Log: > > Refactor magic strings into constants. > > > > Modified: > > > commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java > > > > 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=1397534&r1=1397533&r2=1397534&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:12:44 2012 > > @@ -25,6 +25,12 @@ import java.io.IOException; > > */ > > public class CSVPrinter { > > > > + private static final char COMMENT = '#'; > > How about COMMENT_START ? > I would say yes only /if/ there were a COMMENT_END. Gary > Benedikt > > > + 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; > > private final CSVFormat format; > > @@ -106,19 +112,19 @@ public class CSVPrinter { > > println(); > > } > > out.append(format.getCommentStart()); > > - out.append(' '); > > + out.append(SP); > > for (int i = 0; i < comment.length(); i++) { > > final char c = comment.charAt(i); > > switch (c) { > > - case '\r': > > - if (i + 1 < comment.length() && comment.charAt(i + 1) > == '\n') { > > + case CR: > > + if (i + 1 < comment.length() && comment.charAt(i + 1) > == LF) { > > i++; > > } > > //$FALL-THROUGH$ break intentionally excluded. > > - case '\n': > > + case LF: > > println(); > > out.append(format.getCommentStart()); > > - out.append(' '); > > + out.append(SP); > > break; > > default: > > out.append(c); > > @@ -159,14 +165,14 @@ public class CSVPrinter { > > > > while (pos < end) { > > char c = value.charAt(pos); > > - if (c == '\r' || c == '\n' || c == delim || c == escape) { > > + if (c == CR || c == LF || c == delim || c == escape) { > > // write out segment up until this char > > if (pos > start) { > > out.append(value, start, pos); > > } > > - if (c == '\n') { > > + if (c == LF) { > > c = 'n'; > > - } else if (c == '\r') { > > + } else if (c == CR) { > > c = 'r'; > > } > > > > @@ -212,7 +218,7 @@ public class CSVPrinter { > > if (first && (c < '0' || (c > '9' && c < 'A') || (c > 'Z' > && c < 'a') || (c > 'z'))) { > > quote = true; > > // } else if (c == ' ' || c == '\f' || c == '\t') { > > - } else if (c <= '#') { > > + } else if (c <= COMMENT) { > > // Some other chars at the start of a value caused the > parser to fail, so for now > > // encapsulate if we start in anything less than '#'. > We are being conservative > > // by including the default comment char too. > > @@ -220,7 +226,7 @@ public class CSVPrinter { > > } else { > > while (pos < end) { > > c = value.charAt(pos); > > - if (c == '\n' || c == '\r' || c == encapsulator || > c == delim) { > > + if (c == LF || c == CR || c == encapsulator || c == > delim) { > > quote = true; > > break; > > } > > @@ -233,7 +239,7 @@ public class CSVPrinter { > > // if (c == ' ' || c == '\f' || c == '\t') { > > // Some other chars at the end caused the parser to > fail, so for now > > // encapsulate if we end in anything less than ' ' > > - if (c <= ' ') { > > + if (c <= SP) { > > quote = true; > > } > > } > > @@ -280,7 +286,7 @@ public class CSVPrinter { > > public void print(String value, final boolean checkForEscape) > throws IOException { > > if (value == null) { > > // null values are considered empty > > - value = ""; > > + value = EMPTY; > > } > > > > if (!checkForEscape) { > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- E-Mail: [email protected] | [email protected] JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0 Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory
