[
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)