[ 
https://issues.apache.org/jira/browse/CSV-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14721256#comment-14721256
 ] 

Gary Gregory commented on CSV-154:
----------------------------------

Please see the test method 
{{org.apache.commons.csv.CSVFormatTest.testJIraCsv154()}}:
{code:java}
    @Test
    public void testJIraCsv154() throws IOException {
        final String comment = "This is a header comment";
        CSVFormat format = CSVFormat.EXCEL.withHeader("H1", 
"H2").withCommentMarker('#')
                .withHeaderComments(comment);
        StringBuilder out = new StringBuilder();
        final CSVPrinter printer = format.print(out);
        printer.print("A");
        printer.print("B");
        printer.close();
        String s = out.toString();
        Assert.assertTrue(s, s.contains(comment));
    }
{code}

It prints the following:

{noformat}
# This is a header comment
H1,H2
A,B
{noformat}

What am I missing?


> CSVFormat.withHeaderComments() doesn't print comments header comments 
> depending on when it is called
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CSV-154
>                 URL: https://issues.apache.org/jira/browse/CSV-154
>             Project: Commons CSV
>          Issue Type: Bug
>          Components: Printer
>    Affects Versions: 1.1
>            Reporter: Raffi Khatchadourian
>            Priority: Minor
>
> When building a CSVFormat with header comments, the order in which the with* 
> methods are called determines if the header comments will appear (note that 
> this does not seem to be an issue with the header, just the header comments). 
> For example, the following code *will not* print a header comment:
> {code}
> Stream<String> header = getCSVHeader();
> CSVFormat format = 
> CSVFormat.EXCEL.withHeader(header.toArray(String[]::new)).withHeaderComments("Maximum
>  analysis depth: " + this.getMaximumAnalysisDepth()).withCommentMarker('#');
> System.out.println(format.getHeaderComments());
> {code}
> while this code *will* print them:
> {code}
> Stream<String> header = getCSVHeader();
> CSVFormat format = 
> CSVFormat.EXCEL.withHeader(header.toArray(String[]::new)).withCommentMarker('#').withHeaderComments("Maximum
>  analysis depth: " + this.getMaximumAnalysisDepth());
> System.out.println(format.getHeaderComments());
> {code}



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

Reply via email to