Author: yonik
Date: Tue Jul 20 21:16:37 2010
New Revision: 966014

URL: http://svn.apache.org/viewvc?rev=966014&view=rev
Log:
SANDBOX-322: remember to print separators everywhere

Modified:
    commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVPrinter.java

Modified: 
commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVPrinter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVPrinter.java?rev=966014&r1=966013&r2=966014&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVPrinter.java 
(original)
+++ commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVPrinter.java 
Tue Jul 20 21:16:37 2010
@@ -124,20 +124,17 @@ public class CSVPrinter {
 
   public void print(char[] value, int offset, int len, boolean checkForEscape) 
throws IOException {
     if (!checkForEscape) {
-      if (newLine) {
-        newLine = false;
-      } else {
-        out.write(this.strategy.getDelimiter());
-      }
+      printSep();
       out.write(value, offset, len);
       return;
     }
 
-    if (strategy.getEncapsulator() != (char)-2) {
+    if (strategy.getEncapsulator() != CSVStrategy.ENCAPSULATOR_DISABLED) {
       printAndEncapsulate(value, offset, len);
-    } else if (strategy.getEscape() != (char)-2) {
+    } else if (strategy.getEscape() != CSVStrategy.ESCAPE_DISABLED) {
       printAndEscape(value, offset, len);
     } else {
+      printSep();
       out.write(value, offset, len);
     }
   }
@@ -155,11 +152,11 @@ public class CSVPrinter {
     int pos = offset;
     int end = offset + len;
 
+    printSep();
+
     char delim = this.strategy.getDelimiter();
     char escape = this.strategy.getEscape();
 
-    printSep();
-
     while (pos < end) {
       char c = value[pos];
       if (c == '\r' || c=='\n' || c==delim || c==escape) {
@@ -194,11 +191,11 @@ public class CSVPrinter {
     int pos = offset;
     int end = offset + len;
 
+    printSep();    
+
     char delim = this.strategy.getDelimiter();
     char encapsulator = this.strategy.getEncapsulator();
 
-    printSep();
-
     if (len <= 0) {
       // always quote an empty token that is the first
       // on the line, as it may be the only thing on the
@@ -285,6 +282,7 @@ public class CSVPrinter {
   public void print(String value, boolean checkForEscape) throws IOException {
     if (!checkForEscape) {
       // write directly from string
+      printSep();
       out.write(value);
       return;
     }


Reply via email to