[
https://issues.apache.org/jira/browse/SANDBOX-322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yonik Seeley updated SANDBOX-322:
---------------------------------
Attachment: SANDBOX-322.patch
Patch attached. Overview of changes:
- CSVPrinter no longer wraps the provided writer in a PrintWriter... the reason
is that the passed writer can often be more efficient than PrintWriter.
- CSVPrinter no longer flushes all of the time - that should be up to the user
- users have access to the lowest level if desired... ability to pass a char[]
+ length/offset
- rewrote the output methods: writing no longer uses a StringBuffer, and writes
are done in big chunks, not character-by-character
- removed the use of the system property "line.separator" - local specific
behavior should normally be avoided. A printerNewline was added to the
strategy instead.
- in CSVParser, only throw away leading whitespace if the strategy calls for it
- added round-trip testing with random strings to ensure that encapsulation and
escaping strategies can be both correctly encoded and then decoded with no loss
of information.
During testing, I hit an issue where the tests ran fine in my IDE, but failed
for "mvn test". I tracked this down to the fact that many tests were actually
changing the default strategy object. This test code was changed to make a
clone if they were going to change it.
> CSVPrinter overhaul
> -------------------
>
> Key: SANDBOX-322
> URL: https://issues.apache.org/jira/browse/SANDBOX-322
> Project: Commons Sandbox
> Issue Type: Improvement
> Components: CSV
> Reporter: Yonik Seeley
> Attachments: SANDBOX-322.patch
>
>
> CSVPrinter has a lot of problems to fix, from efficiency, to not producing
> well-formed CSV.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.