You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Richard Wheeldon (JIRA)" <ji...@apache.org> on 2016/11/22 15:48:58 UTC

[jira] [Created] (CSV-203) withNullString value is printed without quotes when QuoteMode.ALL is specified

Richard Wheeldon created CSV-203:
------------------------------------

             Summary: withNullString value is printed without quotes when QuoteMode.ALL is specified
                 Key: CSV-203
                 URL: https://issues.apache.org/jira/browse/CSV-203
             Project: Commons CSV
          Issue Type: Bug
          Components: Printer
    Affects Versions: 1.4
            Reporter: Richard Wheeldon


When setting QuoteMode.ALL is set we expect all values to be quoted, even those set as a default. This works in Commons 1.2 but doesn't in 1.4.

Consider the following program:
{code}
import org.apache.commons.csv.QuoteMode;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;

public class CommonsCsvIsSlightlyBroken {
    
    public static void main(String[] args) throws Exception {
        CSVFormat format = CSVFormat.EXCEL
            .withNullString("N/A")
            .withIgnoreSurroundingSpaces(true)
            .withQuoteMode(QuoteMode.ALL);
        CSVPrinter printer = new CSVPrinter(System.out, format);
        printer.printRecord(new Object[] { null, "Hello", null, "World" });
    }
}
{code}

For 1.2 we get quoted output:
{code}
richard@kichemaru:~/$ java -cp ~/.m2/repository/org/apache/commons/commons-csv/1.2/commons-csv-1.2.jar:. CommonsCsvIsSlightlyBroken
"N/A","Hello","N/A","World"
{code}

When run with 1.4 we get unquoted output for default fields:
{code}
richard@kichemaru:~/$ java -cp ~/.m2/repository/org/apache/commons/commons-csv/1.4/commons-csv-1.4.jar:. CommonsCsvIsSlightlyBroken
N/A,"Hello",N/A,"World"
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)