Affects Version/s: 19.1
Fix Version/s: None
- Bug #194 - Parsing error gives the wrong line number and content in CsvToBean.
- Bug #195 - resolve dependency conflicts.
- Patch #55 - added write(Iterator< T >) method to StatefulBeanToCSV.
- Fixed asciidocs formatting issue in Annotations section.
- Bug #192 - NullPointerException when input is empty and ColumnPositionMappingStrategy is used.
- Feature Request #102 - Allow prebuilt CSVReader (with prebuilt parser) to be injected into CsvToBeanBuilder via constructor.
- Bug #191 - corrected code in asciidocs.
- Bug #193 - fixed issue where RFC4180Parser fails when multiline field is processed and a quote is at the end of a line but not end of a field.
- Merge Request - Merge from Edgar Silva adds a CsvMultilineLimitBrokenException, that extends the current IOException to be backwards compatible,that will contain the row number and context information when the multi line limit is broken.
- Support request #60, feature request #97 - We have introduced a new way to filter beans with BeanVerifier.
- Bug #184 - Bad links in the opencsv.sourceforge.net page. Issue because of Twiki Words in the index.twiki. Have converted documentation to asciidocs for better control and now have a true table of contents.
- Feature request #100 - The offending line of input is now included in most exceptions derived from CsvException, if the input is the reason for the exception.
- Bug 174 (again) - The error message for parsing errors that are not saved with .throwExceptions(false) included the wrong line number and input text.
- Bug 182 - CSVIterator swallows the IOException thrown if the multi-line limit is reached.
- Bug 176 - Allow certain child classes of IOException to be thrown from the CSVReader::isClosed method.
- Missed pt-BR translations slated for 4.3 release.
- Updated dependencies for 4.4 release.
- Fix for a NullPointerException when using a ResultSet that returns a BigInteger that is NULL.
- Bug 177 - No null check on writing CSV files using the CsvNumber annotation.
- Bug 174 - The line number reported in exceptions thrown was actually a record number. That is wrong from the perspective of the expectation based on the variable name (lineNumber), but it is also very unhelpful from the perspective of debugging, when the true line number from the file is necessary to find bad data.
- Bug 179 (sort of) - When using HeaderColumnNameTranslateMappingStrategy, if the target bean was annotated with the opencsv annotations, the mapping did not work at all. Now the annotations are ignored, as documented and expected.
- Support request 55 - Custom converters can now be used with one-to-many and many-to-one conversions (split and join). They are not the same as free-standing custom converters, though, so be sure to read the documentation.
- Addition of "capture" and "format" to the annotations to allow selective conversion of field contents on reading and formatting on writing.
- Bug 180 - Explicit English translations of error files.
- Finished ParseToLine functionality (reverse parse). Now there is a new CSVParserWriter class that you can build with either the CSVParser or the RFC4180Parser so now the same class that reads the CSV will write it as well. You can look at the CSVParserWriterSpec to see it in action.
- Bug 162 - The error message for missing required headers has been extended to include the list of headers actually found.
- Merge Request #10 - merged in code from André Levandovski Rosot that adds a CSVReaderHeaderAware. A child class of CSVReader that allows you to read an individual field by header name or get a map of header, value string for a record instead of a list of strings.
- Support for collections (Feature Request 87) - For those of you who know and use ConvertSplitOnWhitespace, this is a natural extension to that idea. It allows you developers out there to define one field of a CSV file as being a collection of elements that are themselves separated by some string. Simply annotate a field with a type implementing java.util.Collection in your bean and you're pretty much done. See the site Wiki and/or the Javadoc for details.
- Support Request 53 - When the SQL type of a column of a result set is unknown, use Objects.toString() on it instead of returning an empty string.
- Bug #164 - Correct issues in the example code in the documentation.
- Bug #165 - Fix issue where RFC4180Parser returns incorrect results if the last field is a quoted newline.
- Support for combining many input fields into one bean field and vice versa on writing (Feature Request #90). Using new annotations you can ask opencsv to take multiple fields from the input and put them into a MultiValuedMap (from Apache Commons Collections) that can then be easily accessed as a Collection with a simple call to values(). Writing is more of a pain, but it still works.
- Another round of applause goes to André Levandovski Rosot for contributing a translation of the opencsv error messages into Brazilian Portuguese. His hard work and self-sacrifice increased the number of languages we supply by a full 50%!
- Bug #167 - StatefulBeanToCsv now has a withApplyQuotesToAll() method.
- Bug #168 - Fields in base classes were ignored if using the ColumnPositionMappingStrategy.
- Feature Request #95 - Introduced the optional annotation CsvNumber to provide more flexibility when reading and writing formatted numbers.
- For those who use our annotations to populate beans, I have good news: I fixed poor programming of my own and sped up bean population by a whopping 93.5%.
- Bug #172 - The BIGINT type didn't work when using an SQL result set that really had an integer longer than a long could hold.