Release History

VersionDateDescription
3.1.1 2007-10-01 Fix
3.1.0 2007-09-10 Name and structure change and new writers
3.0.0 2007-02-11 Move to Maven and Subversion
2.2.2 2006-08-18 Fix
2.2.1 2006-08-12 Fix
2.2.0 2006-06-11 Fix
2.1.0 2006-02-26 Maintenance
2.0.0 2005-11-27 Maintenance
1.0.5 2005-10-01 Maintenance
1.0.4 2005-07-20 Maintenance
1.0.3 2005-05-02 Maintenance
1.0.2 2005-01-27 Maintenance
1.0.1 2005-01-23 Maintenance

Get the RSS feed of the last changes

Release 3.1.1 - 2007-10-01

TypeChangesBy
fix [1818818 ] ClassCastException when accessing header or trailer records zepernick
fix Fixed bug in delimited parse when using Reader for data and map. Parameters were being reversed in the code. zepernick
fix [1811210 ] When parsing multi-line delimited files, blank lines inside the elements were being removed from the result of the parse. Blank lines inside a delimited element were also causing a StringIndexOutOfBoundsException. zepernick

Release 3.1.0 - 2007-09-10

TypeChangesBy
add Paul and I would like to thank Dirk Holmes and Holger Hoffstatte from MuleSource for the initial contribution to the writer package. The writer package will let you EXPORT a DataSet in a fixed length or Delimited (csv, etc) format. Thanks guys! benoitx
change added contains() method to DataSet to check for the existance of a column name on the current row. DataSet must be on a valid row. zepernick
change Added clearRows(), clearErrors(), and clearAll() methods to DataSet zepernick
change Goodbye PZFileReader, Hello FlatPack!!! benoitx
change Moved package strcuture from net.sf.pzfilereader to net.sf.flatpack zepernick
change XML mapping dtd renamed from pzfilereader.dtd to flatpack.dtd zepernick
change pzconvert.properties renamed to fpconvert.properties zepernick
change The following classes had the "PZ" removed from their name; PZMapParser, PZMetaData, BuffReaderDelimPZParser, BuffReaderFixedPZParser, Buff ReaderPZDataSet, BuffReaderPZParseFactory, AbstractDelimiterPZParser, AbstractFixedLengthPZParser, AbstractPZParser, DBDelimiterPZParser, DBFixedLengthPZParser, DefaultPZParserFactory, DelimiterPZParser, FixedLengthPZParser, PZParser, PZParserFactory, PZConverter zepernick
change The following classes had the "PZ" changed to "FP" in their name; PZConstants, PZStringUtils, PZConvertException zepernick
change Created a PZMetaData class for internal use, it contains the list of column names and index for fast access. benoitx
change Feature Request 1596087. Added attribute "elementCount" on record element mapping, which can determine a header, trailer, or detail record by the number of elements contained on the record. This only applies to delimited files. zepernick
change Feature Request 1569891. Added setNullEmptyStrings to the PZParser. This will make the DataSet.getString() return null if the column is empty. zepernick
change Added option to the PZParser setIgnoreParseWarnings(boolean). When true, the parser will not log warning into the error collection in the DataSet. The default is false. zepernick
change Removing deprecated methods in ParserUtils; isMultiLine(), splitLine(), getCMDKeyForFixedLengthFile() zepernick
change Added option to PZParser setColumnNamesCaseSensitive(). This will force the user to lookup the column value in the exact same case as the column was specified in the mapping or file. Deprecated the current method signatures for;ParserUtils.buidColumnIndexMap, ParserUtils.getColumnIndex,ParserUtils.getColumnMDFromFile. Added PZParser parameter to new signatures, however, this parameter CAN BE null. Registered PZParser with the DefaultDataSet. This will provide the ability to see what options were set pertaining to data retrieval. zepernick
change Changing the PZParseFactory to use java.io.Reader instead of File or InputStream. The File and InputStream methods are still available, but are now deprecated. zepernick
change Removed deprecated PZMapParser.parse(File). Added PZMapParser.parse(Reader). Deprecated PZMapParser.parse(InputStream). zepernick
fix Stopped column lookup from being case sensitive zepernick
change Feature Request 1566626. Added setIgnoreExtraColumns() method to the PZParser. Added the ability to ignore extra columns/bytes from delimited & fixed width files. Data is truncated when it goes outside of the column definition. zepernick

Release 3.0.0 - 2007-02-11

TypeChangesBy
change Added new dependency, SLF4j. This is used to log parsing issues. SLF4j is a facade to the following loggers; log4j, jcl, nop, and jdk 1.4. See 3.0 User Doc for further instruction. zepernick
change DataSet.getDate() will now return a null on empty Strings zepernick
change Removed ParserUtils.getColumnMDFromFile(InputStream, String, String) this method was deprecated in 2.2 zepernick
change Removed setters and default constructor from DataError. Error properties are set through the new constructor. zepernick
add added the ability to limit the column which are exported to Excel in the ExcelTransformer class zepernick
add added getObject(String column, Class toConvert) method. PZFileReader will ship with default classes to handle conversions. Custom conversions can be easily added by adding to the pzconvert.properties zepernick
add Unqualified elements have leading and trailing whitespace removed in a delimited parse zepernick
add Ability to issue an OrderBy On DataSet's containing record mapping elements zepernick
add Move build to Maven 1.1.x and generate the entire website from the build. benoitx
fix Modify code following warning by Findbugs, checkstyle and PMD. benoitx
add Move to Subversion. marchy

Release 2.2.2 - 2006-08-18

TypeChangesBy
fix Fixed bug in LargeDataSet. Multiline delimited records were not being parsed correctly. They were showing up as errors when being parsed. zepernick

Release 2.2.1 - 2006-08-12

TypeChangesBy
fix Fixed a bug in the delimited parser. Errors were caused by multiple column multi-line records. Special thanks to Malcolm Dobson for bringing the bug to attention and providing the fix. zepernick

Release 2.2.0 - 2006-06-11

TypeChangesBy
fix When using column names out of the CSV file 2 input streams were being created. One to read the file and the other to get the column names. This has been reduced to one. zepernick
add Added a new constructor to have the ability to provide an InputStream when reading columns from the file. zepernick
add Added a LargeDataSet class. This should be used to read large files. It provides the ability to read large files without reading them into memory. The following methods are not applicable for this class; previous(), writeToExcel, orderRows(), absolute(), remove(), getIndex(), goBottom(), goTop(), setValue(). An exception will be thrown if these are called. zepernick
add Added the ability to spec ify Header, Trailer, or other records which can be uniquly identified by a piece of data on the record. These get mapped to their own set of column names seperate from the detail records. See the documentation included in the download for details on the new options in the mapping file. zepernick
add Added setDebug(boolean) to PZMapParser class. When flagged true, the Parser will spit the results of the XML parse to the console zepernick
add Added 2 new samples; CSVHeaderAndTrailer, FixedLengthHeaderAndTrailer. zepernick

Release 2.1.0 - 2006-02-26

TypeChangesBy
fix A VERY Special Thanks to Roland Klein for contributing the following enchancements:

- Ability to read a file from an InputStream, File object support still exists. This enhancement makes pzfilereader Java Web Start friendly :)

- Added a method in ParserUtils to create an InputStream from a File object.

- Changed all ArrayLists and Vectors to List objects. This affects the getErrors() method which was returning a Vector. This may potentially cause compilation errors if migrating from a previous version..
zepernick
add Implemented Roland's changed in cvs HEAD zepernick
fix Removed constructors deprecated in 2.0.0 zepernick
add Added ability to parse delimited file which have records spanning multiple lines in the file. The element which is breaking to the next line must be qualified. The data can be qualified with any char, a double quote is used in the example. ie. element, element, "element with line break more element data more element data more element data" start next rec here zepernick
add Begining to write some simple Junit tests under com.test.* These will be excluded from the production jar. zepernick
add Added getRowCount() method. This returns the total amount of rows parsed from the file. Rows which had errors during the parse are excluded from this count and are added to the error collection. zepernick
add Added getReaderVersion() method. This will return a String representation for the pzFileReader version being used. zepernick
add Added ability to transform a DataSet into excel. This utilizes JExcelApi which can be found here: http://sourceforge.net/projects/jexcelapi. The jxl.jar has been included in the download for your convience and must be on the classpath if using this new method --> writeToExcel(File) in the DataSet class zepernick
add Changed examples to work with 2.1.0. Some examples still refered to deprecated constructors from 2.0.0 which have been removed in this version. zepernick
add Added 2 new examples to demonstrate the export to Excel and the parsing of multiline records. zepernick
add Updated Java Docs. zepernick

Release 2.0.0 - 2005-11-27

TypeChangesBy
add Re-coded the way the MetaData was being stored. It was being duplicated for every row in the file. It is now only being stored once for the entire file. This will drastically reduce memory usage. zepernick
add Created a ParserUtils class. This class can be used to perform low level reads if needed (no mapping file required). For now, this change only applies to delimited files. zepernick
add Changed the delimited file parser to use a StringBuffer. It was performing a lot of String concatinations which coul d have been bogging down performance, and creating un-necessary overhead. zepernick
add created ANT build build file, and published to CVS zepernick
add Removed the use of the Column object. This was able to cut down on the parse time. zepernick
add Add patch provided by Luke Driscoll [1371162 ] . This provides 2 new constructors for fixed length files. There is a boolean that can now be passed which will tell the parser to allow lines which are shorter then the allowed line length for a record. Missing columns will be filled in with empties. zepernick
add The following objects in the DataSet are now public; rows, errors, columnMD, empty constructor. This allows for the DataSet class to be extended if needed to provide custom functionality. zepernick
add Took patch [1371162 ] a step further and also implemented for delimited files. If the row is missing any columns, the parser will automatically add the columns in as empty's. This functionality happens only when the handleShortLines parameter is set to true. zepernick
add Revamped user documenation. The user documenation is now much more detailed. User documentation and Java Docs are now included with the distribution instead of having them in seperate downloads. zepernick

Release 1.0.5 - 2005-10-01

TypeChangesBy
fix Fixed bug in delimited parse. If the last column of the last column of the file was empty, the row was being logged to the "errors" collection. Thank you very much to Luke Driscoll who found this bug and submitted the patch. See bug [ 1275910 ] CSV File with blank last column, for more information. zepernick
fix While fixing bug 1275910, a couple of other bugs were brought to light. Spaces before or after the delimiter with a text qualifier was breaking the parse. Example...assuming comma as delimter and double quote as the text qualifier. "value1" , "value2" ,"value" zepernick
add Added new method, freeMemory(), when called, the DataSet is cleared. zepernick
add Updated examples and JavaDocs. zepernick

Release 1.0.4 - 2005-07-20

TypeChangesBy
fix Fixed bug in delimited parse. If parsing a delimited file with text qualifiers, and the last column of a line had hard spaces at the end, a string out of bounds exception was being thrown. zepernick
fix Added setStrictNumericParse(boolean) method. This is defaulted to false. When calling getDouble or getInt on a column, all non numeric chars will be striped before performing the parse. If the column is empty after the strip, it will be returned as 0. Setting this to true will parse all numeric values as is. zepernick

Release 1.0.3 - 2005-05-02

TypeChangesBy
add added methods to set data in DataSet to all lower or all upper case setLowerCase(), setUpperCase() zepernick
add Changed the OrderBy class to make sure the elements being compared were the same case, so as not to make case a factor when comparing. If they are not the same case elements are converted to lower before comparing. zepernick
add Added setLowerCase() and setUpperCase() to Java Docs zepernick
add Added JSP example to samples zepernick

Release 1.0.2 - 2005-01-27

TypeChangesBy
add Changed parsing logic for delimited files with text qualifiers. The parser will now parse lines that are qualified and not qualified. For example:

"here",1234,"test",50,test

This will now parse into 5 seperate columns. However if the text contains a delimiter or seperator inside the text, it must be qualified to work correctly.
zepernick

Release 1.0.1 - 2005-01-23

TypeChangesBy
fix Fixed bug in delimted parse. If no elements were found in a line, a string index out of bounds exception was thrown. zepernick
fix Added getDate(String,SimpleDateFormat). By default, the current getDate(String) method was expecting the date in yyyyMMdd format. This method allows for another date format to be specified. This format should match the format in the text file. If you would like to change the formating of the date after it is returned from the DataSet, you can use SimpleDateFormat.format(Date) zepernick
fix Corrected javadocs for the getDate methods. Had return type of double, changed to Date. zepernick
fix Added samples zepernick