You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(112) |
Nov
(44) |
Dec
(49) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(14) |
Feb
(12) |
Mar
(12) |
Apr
(12) |
May
(6) |
Jun
(11) |
Jul
(10) |
Aug
(6) |
Sep
(17) |
Oct
(3) |
Nov
(22) |
Dec
|
2008 |
Jan
(3) |
Feb
(7) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(1) |
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(2) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2012 |
Jan
(3) |
Feb
|
Mar
(2) |
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <be...@us...> - 2006-10-17 21:40:07
|
Revision: 90 http://svn.sourceforge.net/pzfilereader/?rev=90&view=rev Author: benoitx Date: 2006-10-17 14:39:51 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Reduce the scope of some variables that now can be declared 'final', this in turn helps the JVM to optimize the runtime code, as well as keeping the memory requirement to a minimum. Modified Paths: -------------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 21:23:38 UTC (rev 89) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 21:39:51 UTC (rev 90) @@ -325,13 +325,9 @@ // reads the next record and sets it into the row array private boolean readNextDelimited() throws Exception { String line = null; - Row row = null; - List columns = null; boolean processingMultiLine = false; boolean readRecordOk = false; String lineData = ""; - String mdkey = null; - List cmds = null; if (getRows() == null) { setRows(new ArrayList()); @@ -437,10 +433,10 @@ // ******************************************************************** // column values - columns = ParserUtils.splitLine(lineData, this.delimiter, this.qualifier); + final List columns = ParserUtils.splitLine(lineData, this.delimiter, this.qualifier); lineData = ""; - mdkey = ParserUtils.getCMDKeyForDelimitedFile(getColumnMD(), columns); - cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); + final String mdkey = ParserUtils.getCMDKeyForDelimitedFile(getColumnMD(), columns); + final List cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); this.columnCount = cmds.size(); // DEBUG @@ -466,7 +462,7 @@ } } - row = new Row(); + final Row row = new Row(); row.setCols(columns); row.setRowNumber(lineCount); // with the LargeDataSet we are never going to store more than 1 @@ -482,12 +478,7 @@ private boolean readNextFixedLen() throws Exception { String line = null; - Row row = null; - int recordLength = 0; - final int aLineCount = 0; - int recPosition = 0; - String mdkey = null; - List cmds = null; + final int aLineCount = 0; //+++++++++++++++++++++++++++++++++ Paul this does not seem incremented at all... boolean readRecordOk = false; if (getRows() == null) { @@ -510,9 +501,9 @@ continue; } - mdkey = ParserUtils.getCMDKeyForFixedLengthFile(getColumnMD(), line); - recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); - cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); + final String mdkey = ParserUtils.getCMDKeyForFixedLengthFile(getColumnMD(), line); + final int recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); + final List cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); // Incorrect record length on line log the error. Line will not be // included in the @@ -536,8 +527,8 @@ } } - recPosition = 1; - row = new Row(); + int recPosition = 1; + final Row row = new Row(); row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try to // limit the // memory Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java 2006-10-17 21:23:38 UTC (rev 89) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java 2006-10-17 21:39:51 UTC (rev 90) @@ -19,5 +19,5 @@ * Static class which stores the version of this pzFileReader */ public class Version { - public static final String VERSION = "2.2.2"; + public static final String VERSION = "2.3.0"; } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java 2006-10-17 21:23:38 UTC (rev 89) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java 2006-10-17 21:39:51 UTC (rev 90) @@ -54,18 +54,11 @@ * @return int */ public int compare(final Object arg0, final Object arg1) { - OrderColumn oc = null; - Comparable comp0 = null; - Comparable comp1 = null; - Row row0 = null; - Row row1 = null; - int result = 0; + final Row row0 = (Row) arg0; + final Row row1 = (Row) arg1; - row0 = (Row) arg0; - row1 = (Row) arg1; - for (int i = 0; i < orderbys.size(); i++) { - oc = (OrderColumn) orderbys.get(i); + final OrderColumn oc = (OrderColumn) orderbys.get(i); //null indicates "detail" record which is what the parser assigns to <column> 's setup outside of <record> elements //shift all non detail records to the bottom of the DataSet @@ -77,8 +70,8 @@ // convert to one type of case so the comparator does not take case // into account when sorting - comp0 = row0.getValue(ParserUtils.findColumn(oc.getColumnName(), columnMD)).toLowerCase(); - comp1 = row1.getValue(ParserUtils.findColumn(oc.getColumnName(), columnMD)).toLowerCase(); + final Comparable comp0 = row0.getValue(ParserUtils.findColumn(oc.getColumnName(), columnMD)).toLowerCase(); + final Comparable comp1 = row1.getValue(ParserUtils.findColumn(oc.getColumnName(), columnMD)).toLowerCase(); //+ BX will never be equal to null. // if (comp0 == null) { @@ -89,14 +82,13 @@ // } // multiply by the sort indicator to get a ASC or DESC result - result = comp0.compareTo(comp1) * oc.getSortIndicator(); + final int result = comp0.compareTo(comp1) * oc.getSortIndicator(); // if it is = 0 then the primary sort is done, and it can start the // secondary sorts if (result != 0) { return result; } - } return 0; Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java 2006-10-17 21:23:38 UTC (rev 89) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java 2006-10-17 21:39:51 UTC (rev 90) @@ -56,11 +56,6 @@ */ public void writeExcelFile() throws Exception { WritableWorkbook excelWrkBook = null; - WritableSheet wrkSheet = null; - final WritableFont times10ptBold = new WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD); - final WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10, WritableFont.NO_BOLD); - WritableCellFormat cellFormat = null; - Label xlsTextLbl = null; int curDsPointer = 0; try { @@ -72,12 +67,14 @@ ds.goTop(); excelWrkBook = Workbook.createWorkbook(xlsFile); - wrkSheet = excelWrkBook.createSheet("results", 0); + final WritableSheet wrkSheet = excelWrkBook.createSheet("results", 0); + final WritableFont times10ptBold = new WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD); + final WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10, WritableFont.NO_BOLD); // write the column headings in the spreadsheet - cellFormat = new WritableCellFormat(times10ptBold); + WritableCellFormat cellFormat = new WritableCellFormat(times10ptBold); for (int i = 0; i < columnNames.length; i++) { - xlsTextLbl = new Label(i, 0, columnNames[i], cellFormat); + final Label xlsTextLbl = new Label(i, 0, columnNames[i], cellFormat); wrkSheet.addCell(xlsTextLbl); } @@ -85,9 +82,8 @@ int row = 1; while (ds.next()) { for (int i = 0; i < columnNames.length; i++) { - xlsTextLbl = new Label(i, row, ds.getString(columnNames[i]), cellFormat); + final Label xlsTextLbl = new Label(i, row, ds.getString(columnNames[i]), cellFormat); wrkSheet.addCell(xlsTextLbl); - } row++; Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java 2006-10-17 21:23:38 UTC (rev 89) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java 2006-10-17 21:39:51 UTC (rev 90) @@ -59,9 +59,8 @@ * @deprecated */ public static Map parse(final File xmlFile) throws Exception { - Map mdIndex = null; final InputStream xmlStream = ParserUtils.createInputStream(xmlFile); - mdIndex = parse(xmlStream); + Map mdIndex = parse(xmlStream); if (mdIndex == null) { mdIndex = new LinkedHashMap(); } @@ -78,32 +77,26 @@ * @throws Exception */ public static Map parse(final InputStream xmlStream) throws Exception { - Document document = null; - SAXBuilder builder = null; - Element root = null; - List columns = null; - Element xmlElement = null; - final Map mdIndex = new LinkedHashMap(); // retain the same order - // specified in the mapping - - builder = new SAXBuilder(); + SAXBuilder builder = new SAXBuilder(); builder.setValidation(true); // handle the ability to pull DTD from Jar if needed builder.setEntityResolver(new ResolveLocalDTD()); - document = builder.build(xmlStream); + Document document = builder.build(xmlStream); - root = document.getRootElement(); + Element root = document.getRootElement(); // lets first get all of the columns that are declared directly under // the PZMAP - columns = getColumnChildren(root); + List columns = getColumnChildren(root); + final Map mdIndex = new LinkedHashMap(); // retain the same order + // specified in the mapping mdIndex.put("detail", columns); // always force detail to the top of the - // map no matter what + // map no matter what // get all of the "record" elements and the columns under them final Iterator recordDescriptors = root.getChildren("RECORD").iterator(); while (recordDescriptors.hasNext()) { - xmlElement = (Element) recordDescriptors.next(); + Element xmlElement = (Element) recordDescriptors.next(); // make sure the id attribute does not have a value of "detail" this // is the harcoded @@ -132,7 +125,6 @@ // helper to convert to integer private static int convertAttributeToInt(final Attribute attribute) { - if (attribute == null) { return 0; } @@ -143,19 +135,16 @@ } return 0; - } // helper to retrieve the "COLUMN" elements from the given parent private static List getColumnChildren(final Element parent) throws Exception { final List columnResults = new ArrayList(); final Iterator xmlChildren = parent.getChildren("COLUMN").iterator(); - Element xmlColumn = null; - ColumnMetaData cmd = null; while (xmlChildren.hasNext()) { - cmd = new ColumnMetaData(); - xmlColumn = (Element) xmlChildren.next(); + ColumnMetaData cmd = new ColumnMetaData(); + Element xmlColumn = (Element) xmlChildren.next(); // make sure the name attribute is present on the column if (xmlColumn.getAttributeValue("name") == null) { @@ -193,12 +182,12 @@ } private static void showDebug(final Map xmlResults) { - Iterator columns = null; final Iterator mapIt = xmlResults.keySet().iterator(); - XMLRecordElement xmlrecEle = null; +// XMLRecordElement xmlrecEle = null; while (mapIt.hasNext()) { - xmlrecEle = null; + XMLRecordElement xmlrecEle = null; final String recordID = (String) mapIt.next(); + Iterator columns = null; if (recordID.equals("detail")) { columns = ((List) xmlResults.get(recordID)).iterator(); } else { Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java 2006-10-17 21:23:38 UTC (rev 89) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java 2006-10-17 21:39:51 UTC (rev 90) @@ -37,10 +37,8 @@ public InputSource resolveEntity(final String publicId, final String systemId) throws SAXException, IOException { try { if (!systemId.toLowerCase().startsWith("http://")) { - URL resource = null; + URL resource = getClass().getResource("pzfilereader.dtd"); - resource = getClass().getResource("pzfilereader.dtd"); - if (resource != null) { return new InputSource(resource.openStream()); } else { @@ -52,7 +50,6 @@ } // must be pulling from the web, stick with default implementation - return null; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 21:23:53
|
Revision: 89 http://svn.sourceforge.net/pzfilereader/?rev=89&view=rev Author: benoitx Date: 2006-10-17 14:23:38 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Fix the homepage and reduced the scope of some variables. Modified Paths: -------------- trunk/PZFileReader/qalab.xml trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java trunk/src/site/index.xml Modified: trunk/PZFileReader/qalab.xml =================================================================== --- trunk/PZFileReader/qalab.xml 2006-10-17 20:30:59 UTC (rev 88) +++ trunk/PZFileReader/qalab.xml 2006-10-17 21:23:38 UTC (rev 89) @@ -49,9 +49,9 @@ <summaryresult date="2006-10-16" filecount="13" statvalue="23" type="cobertura-branch"/> <summaryresult date="2006-10-17" filecount="18" statvalue="25" type="checkstyle"/> <summaryresult date="2006-10-17" filecount="3" statvalue="5" type="pmd"/> - <summaryresult date="2006-10-17" filecount="7" statvalue="13" type="findbugs"/> - <summaryresult date="2006-10-17" filecount="3" statvalue="116" type="simian"/> - <summaryresult date="2006-10-17" filecount="13" statvalue="17" type="cobertura-line"/> + <summaryresult date="2006-10-17" filecount="7" statvalue="12" type="findbugs"/> + <summaryresult date="2006-10-17" filecount="3" statvalue="114" type="simian"/> + <summaryresult date="2006-10-17" filecount="13" statvalue="16" type="cobertura-line"/> <summaryresult date="2006-10-17" filecount="13" statvalue="23" type="cobertura-branch"/> </summary> <file id="com_pz_reader_ordering_package.html" path="com/pz/reader/ordering/package.html"> @@ -333,7 +333,7 @@ <file id="net_sf_pzfilereader_DataSet.java" path="net/sf/pzfilereader/DataSet.java"> <result date="2006-10-17" statvalue="4" type="checkstyle"/> <result date="2006-10-17" statvalue="1" type="pmd"/> - <result date="2006-10-17" statvalue="3" type="findbugs"/> + <result date="2006-10-17" statvalue="2" type="findbugs"/> <result date="2006-10-17" statvalue="20" type="cobertura-line"/> <result date="2006-10-17" statvalue="26" type="cobertura-branch"/> </file> @@ -349,7 +349,7 @@ <result date="2006-10-17" statvalue="4" type="checkstyle"/> <result date="2006-10-17" statvalue="3" type="pmd"/> <result date="2006-10-17" statvalue="3" type="findbugs"/> - <result date="2006-10-17" statvalue="34" type="cobertura-line"/> + <result date="2006-10-17" statvalue="33" type="cobertura-line"/> <result date="2006-10-17" statvalue="41" type="cobertura-branch"/> </file> <file id="net_sf_pzfilereader_xml_PZMapParser.java" path="net/sf/pzfilereader/xml/PZMapParser.java"> Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 20:30:59 UTC (rev 88) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 21:23:38 UTC (rev 89) @@ -127,28 +127,25 @@ super(); this.handleShortLines = handleShortLines; - String sql = null; ResultSet rs = null; Statement stmt = null; - ColumnMetaData column = null; - boolean hasResults = false; - int recPosition = 1; - final List cmds = new ArrayList(); try { columnMD = new LinkedHashMap(); stmt = con.createStatement(); - sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + String sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; rs = stmt.executeQuery(sql); + int recPosition = 1; + final List cmds = new ArrayList(); // put array of columns together. These will be used to put together // the dataset when reading in the file while (rs.next()) { - column = new ColumnMetaData(); + ColumnMetaData column = new ColumnMetaData(); column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); column.setStartPosition(recPosition); @@ -156,13 +153,11 @@ recPosition += rs.getInt("DATASTRUCTURE_LENGTH"); cmds.add(column); - - hasResults = true; } columnMD.put("detail", cmds); - if (!hasResults) { + if (cmds.isEmpty()) { throw new FileNotFoundException("DATA DEFINITION CAN NOT BE FOUND IN THE DATABASE " + dataDefinition); } @@ -252,7 +247,7 @@ columnMD = new LinkedHashMap(); stmt = con.createStatement(); - String sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + final String sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; rs = stmt.executeQuery(sql); @@ -263,7 +258,7 @@ // the dataset when reading in the file while (rs.next()) { - ColumnMetaData column = new ColumnMetaData(); + final ColumnMetaData column = new ColumnMetaData(); column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); cmds.add(column); @@ -352,7 +347,6 @@ columnMD = PZMapParser.parse(pzmapXMLStream); doDelimitedFile(dataSourceStream, delimiter, qualifier, ignoreFirstRecord, false); - } /** @@ -474,27 +468,21 @@ * mappings, and SQL table mappings */ private void doFixedLengthFile(final InputStream dataSource) throws Exception { - String line = null; InputStreamReader isr = null; BufferedReader br = null; - Row row = null; - int recordLength = 0; - int lineCount = 0; - int recPosition = 0; - // map of record lengths corrisponding to the ID's in the columnMD array - Map recordLengths = null; - String mdkey = null; - List cmds = null; try { rows = new ArrayList(); errors = new ArrayList(); - recordLengths = ParserUtils.calculateRecordLengths(columnMD); + final Map recordLengths = ParserUtils.calculateRecordLengths(columnMD); // Read in the flat file isr = new InputStreamReader(dataSource); br = new BufferedReader(isr); + String line = null; + int lineCount = 0; + // map of record lengths corrisponding to the ID's in the columnMD array // loop through each line in the file while ((line = br.readLine()) != null) { lineCount++; @@ -503,9 +491,9 @@ continue; } - mdkey = ParserUtils.getCMDKeyForFixedLengthFile(columnMD, line); - recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); - cmds = ParserUtils.getColumnMetaData(mdkey, columnMD); + final String mdkey = ParserUtils.getCMDKeyForFixedLengthFile(columnMD, line); + final int recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); + final List cmds = ParserUtils.getColumnMetaData(mdkey, columnMD); // Incorrect record length on line log the error. Line will not // be included in the @@ -527,8 +515,8 @@ } } - recPosition = 1; - row = new Row(); + int recPosition = 1; + final Row row = new Row(); row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try // to // limit @@ -569,19 +557,9 @@ if (dataSource == null) { throw new NullPointerException("dataSource is null"); } - String line = null; InputStreamReader isr = null; BufferedReader br = null; - Row row = null; - int columnCount = 0; - int lineCount = 0; - List columns = null; - boolean processedFirst = false; - boolean processingMultiLine = false; - String lineData = ""; - List cmds = null; - String mdkey = null; try { rows = new ArrayList(); @@ -594,7 +572,13 @@ // fr = new FileReader(dataSource.getAbsolutePath()); isr = new InputStreamReader(dataSource); br = new BufferedReader(isr); + + boolean processedFirst = false; + boolean processingMultiLine = false; + int lineCount = 0; + String lineData = ""; /** loop through each line in the file */ + String line = null; while ((line = br.readLine()) != null) { lineCount++; /** empty line skip past it */ @@ -692,11 +676,11 @@ // ******************************************************************** // column values - columns = ParserUtils.splitLine(lineData, delimiter, qualifier); + List columns = ParserUtils.splitLine(lineData, delimiter, qualifier); lineData = ""; - mdkey = ParserUtils.getCMDKeyForDelimitedFile(columnMD, columns); - cmds = ParserUtils.getColumnMetaData(mdkey, columnMD); - columnCount = cmds.size(); + String mdkey = ParserUtils.getCMDKeyForDelimitedFile(columnMD, columns); + List cmds = ParserUtils.getColumnMetaData(mdkey, columnMD); + int columnCount = cmds.size(); // DEBUG // Incorrect record length on line log the error. Line @@ -721,7 +705,7 @@ } } - row = new Row(); + Row row = new Row(); row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try // to // limit @@ -756,14 +740,11 @@ * exception will be thrown if pointer in not on a valid row */ public void setValue(final String columnName, final String value) throws Exception { - Row row = null; - /** get a reference to the row */ - row = (Row) rows.get(pointer); + Row row = (Row) rows.get(pointer); final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); /** change the value of the column */ row.setValue(ParserUtils.findColumn(columnName, cmds), value); - } /** @@ -846,13 +827,12 @@ * @return double */ public double getDouble(final String column) { - String s = null; final StringBuffer newString = new StringBuffer(); final String[] allowedChars = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "-" }; final Row row = (Row) rows.get(pointer); final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - s = ((Row) rows.get(pointer)).getValue(ParserUtils.findColumn(column, cmds)); + String s = ((Row) rows.get(pointer)).getValue(ParserUtils.findColumn(column, cmds)); if (!strictNumericParse) { if (s.trim().length() == 0) { @@ -887,13 +867,12 @@ * @return double */ public int getInt(final String column) { - String s = null; final StringBuffer newString = new StringBuffer(); final String[] allowedChars = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-" }; final Row row = (Row) rows.get(pointer); final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - s = row.getValue(ParserUtils.findColumn(column, cmds)); + String s = row.getValue(ParserUtils.findColumn(column, cmds)); if (!strictNumericParse) { if (s.trim().length() == 0) { @@ -931,11 +910,10 @@ */ public Date getDate(final String column) throws ParseException { final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String s = null; final Row row = (Row) rows.get(pointer); final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - s = row.getValue(ParserUtils.findColumn(column, cmds)); + String s = row.getValue(ParserUtils.findColumn(column, cmds)); return sdf.parse(s); } @@ -953,11 +931,10 @@ * @return Date */ public Date getDate(final String column, final SimpleDateFormat sdf) throws ParseException { - String s = null; final Row row = (Row) rows.get(pointer); final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - s = row.getValue(ParserUtils.findColumn(column, cmds)); + String s = row.getValue(ParserUtils.findColumn(column, cmds)); return sdf.parse(s); } @@ -991,14 +968,13 @@ * @return String[] */ public String[] getColumns(final String recordID) { - ColumnMetaData column = null; String[] array = null; if (columnMD != null) { final List cmds = ParserUtils.getColumnMetaData(recordID, columnMD); array = new String[cmds.size()]; for (int i = 0; i < cmds.size(); i++) { - column = (ColumnMetaData) cmds.get(i); + ColumnMetaData column = (ColumnMetaData) cmds.get(i); array[i] = column.getColName(); } } @@ -1154,8 +1130,8 @@ // if (columnMD.size() > 1) { // throw new Exception("orderRows does not currently support ordering with <RECORD> mappings"); // } - final List cmds = ParserUtils.getColumnMetaData("detail", columnMD); if (ob != null && rows != null) { + final List cmds = ParserUtils.getColumnMetaData("detail", columnMD); ob.setColumnMD(cmds); Collections.sort(rows, ob); goTop(); @@ -1214,10 +1190,8 @@ * @exception Exception */ public void writeToExcel(final File excelFileToBeWritten) throws Exception { - final ExcelTransformer et = new ExcelTransformer(this, excelFileToBeWritten); et.writeExcelFile(); - } /** @@ -1251,7 +1225,7 @@ return columnMD; } - public void setColumnMD(Map columnMD) { + public void setColumnMD(final Map columnMD) { this.columnMD = columnMD; } @@ -1259,11 +1233,11 @@ return rows; } - public void setRows(List rows) { + public void setRows(final List rows) { this.rows = rows; } - public void setErrors(List errors) { + public void setErrors(final List errors) { this.errors = errors; } } Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-10-17 20:30:59 UTC (rev 88) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-10-17 21:23:38 UTC (rev 89) @@ -701,7 +701,7 @@ * @throws IndexOutOfBoundsException if <code>repeat < 0</code> * @see #repeat(String, int) */ - public static String padding(int repeat, char padChar) { + public static String padding(final int repeat, final char padChar) { if (repeat < 0) { throw new IndexOutOfBoundsException("Cannot pad a negative amount: " + repeat); } Modified: trunk/src/site/index.xml =================================================================== --- trunk/src/site/index.xml 2006-10-17 20:30:59 UTC (rev 88) +++ trunk/src/site/index.xml 2006-10-17 21:23:38 UTC (rev 89) @@ -34,7 +34,7 @@ <p>PZFileReader is part of the ObjectLab Kit family.<a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a></p> - <subsection name="Why should you use PZFileParser?"> + <subsection name="Why should you use PZFileReader?"> <p>There is more to it than one could imagine at first sight:</p> <ul> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 20:31:15
|
Revision: 88 http://svn.sourceforge.net/pzfilereader/?rev=88&view=rev Author: benoitx Date: 2006-10-17 13:30:59 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Link to the documentation (somehow it had been removed...) Modified Paths: -------------- trunk/PZFileReader/src/site/navigation.xml trunk/PZFileReaderSamples/src/site/navigation.xml trunk/src/site/navigation.xml Modified: trunk/PZFileReader/src/site/navigation.xml =================================================================== --- trunk/PZFileReader/src/site/navigation.xml 2006-10-17 20:26:14 UTC (rev 87) +++ trunk/PZFileReader/src/site/navigation.xml 2006-10-17 20:30:59 UTC (rev 88) @@ -8,6 +8,8 @@ href="../../index.html" /> <item name="Examples" href="../pzfilereader-examples/index.html" /> + <item name="Documentation" + href="../../documentation/index.html" /> <item name="Sitemap" href="sitemap.html" /> </menu> <links> Modified: trunk/PZFileReaderSamples/src/site/navigation.xml =================================================================== --- trunk/PZFileReaderSamples/src/site/navigation.xml 2006-10-17 20:26:14 UTC (rev 87) +++ trunk/PZFileReaderSamples/src/site/navigation.xml 2006-10-17 20:30:59 UTC (rev 88) @@ -8,6 +8,8 @@ href="../../index.html" /> <item name="Main Library" href="../pzfilereader/index.html" /> + <item name="Documentation" + href="../../documentation/index.html" /> <item name="Sitemap" href="sitemap.html" /> </menu> <links> Modified: trunk/src/site/navigation.xml =================================================================== --- trunk/src/site/navigation.xml 2006-10-17 20:26:14 UTC (rev 87) +++ trunk/src/site/navigation.xml 2006-10-17 20:30:59 UTC (rev 88) @@ -11,6 +11,8 @@ <menu name="PZFileReader"> <item name="Main library" href="multiproject/pzfilereader/index.html" /> + <item name="Documentation" + href="documentation/index.html" /> <item name="History" href="history.html" /> <item name="Features" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 20:27:15
|
Revision: 87 http://svn.sourceforge.net/pzfilereader/?rev=87&view=rev Author: benoitx Date: 2006-10-17 13:26:14 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Avoid a loop with string addition. Modified Paths: -------------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 20:09:22 UTC (rev 86) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 20:26:14 UTC (rev 87) @@ -246,27 +246,24 @@ this.handleShortLines = handleShortLines; - String sql = null; ResultSet rs = null; Statement stmt = null; - ColumnMetaData column = null; - boolean hasResults = false; - final List cmds = new ArrayList(); - try { columnMD = new LinkedHashMap(); stmt = con.createStatement(); - sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + String sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; rs = stmt.executeQuery(sql); + final List cmds = new ArrayList(); + boolean hasResults = false; // put array of columns together. These will be used to put together // the dataset when reading in the file while (rs.next()) { - column = new ColumnMetaData(); + ColumnMetaData column = new ColumnMetaData(); column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); cmds.add(column); @@ -467,7 +464,6 @@ // read in the fixed length file and construct the DataSet object doFixedLengthFile(dataSourceStream); - } /* @@ -520,9 +516,7 @@ } else if (line.length() < recordLength) { if (handleShortLines) { // We can pad this line out - while (line.length() < recordLength) { - line = line + " "; - } + line += ParserUtils.padding(recordLength-line.length(), ' '); // log a warning addError("PADDED LINE TO CORRECT RECORD LENGTH", lineCount, 1); Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-10-17 20:09:22 UTC (rev 86) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-10-17 20:26:14 UTC (rev 87) @@ -647,9 +647,7 @@ if (!file.canRead()) { throw new FileNotFoundException("file cannot be read " + file.getAbsolutePath()); } - InputStream xmlStream = null; - xmlStream = new FileInputStream(file.getAbsolutePath()); - return xmlStream; + return new FileInputStream(file.getAbsolutePath()); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 20:09:53
|
Revision: 86 http://svn.sourceforge.net/pzfilereader/?rev=86&view=rev Author: benoitx Date: 2006-10-17 13:09:22 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Couple of changes for website. Modified Paths: -------------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java trunk/src/site/history.xml trunk/src/site/index.xml Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 19:36:41 UTC (rev 85) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 20:09:22 UTC (rev 86) @@ -46,6 +46,7 @@ * * @author Paul Zepernick * @version 2.0.1 + * @todo Ought to implement an interface for the access to data. */ public class DataSet { @@ -1198,7 +1199,7 @@ } /** - * erases the dataset and releases memory for the JVM to reclaim + * Erases the dataset early and releases memory for the JVM to reclaim */ public void freeMemory() { if (rows != null) { Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java 2006-10-17 19:36:41 UTC (rev 85) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java 2006-10-17 20:09:22 UTC (rev 86) @@ -57,7 +57,7 @@ * how the entry will be displayed in the menu * @param methodName * name of the public method - * @parem askForRepeat call back for repeat + * @param askForRepeat call back for repeat */ public void addMenuItem(final String menuDisplay, final String methodName, final boolean repeat) { menu.add(menuDisplay); Modified: trunk/src/site/history.xml =================================================================== --- trunk/src/site/history.xml 2006-10-17 19:36:41 UTC (rev 85) +++ trunk/src/site/history.xml 2006-10-17 20:09:22 UTC (rev 86) @@ -5,7 +5,7 @@ </properties> <head> <meta name="description" - content="PZFileReader offers configurable flat file CSV and fixed length parser, released under the business-friendly Apache 2.0 license." + content="How did we here and why?" /> <meta name="keywords" content="CSV, Fixed length file parser" /> @@ -41,7 +41,7 @@ If you have a good experience with this project, and it has benefited you in some way, please spread the word.</p> <p>Recently, <a href="http://www.objectlab.co.uk">ObjectLab</a> from the UK has decided to offer some support to PZFileReader. - PZFileReader is part of the ObjectLab Kit family, a 'support' group for useful open source projects. + PZFileReader is now "kind of" part of the ObjectLab Kit family, a 'support' group for useful open source projects. They developed the Maven build, the website and are active members of this project. They are world leaders in the design and development of bespoke applications for the Securities Finance Industry.</p> Modified: trunk/src/site/index.xml =================================================================== --- trunk/src/site/index.xml 2006-10-17 19:36:41 UTC (rev 85) +++ trunk/src/site/index.xml 2006-10-17 20:09:22 UTC (rev 86) @@ -29,26 +29,28 @@ <p>Substrings in a <strong>fixed width parse</strong> can be daunting to deal with when trying to analyze what existing code is doing, and what about when you have no comments...</p> - <p>We also provide <strong>delimited file parsing</strong>; works with any delimiter / qualifier, multiline records, delimiter or qualifier allowed in column value - This is released under the business-friendly Apache 2.0 license. <a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> - - <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a></p> + <p>We also provide <strong>delimited file parsing</strong>; works with any delimiter / qualifier, multiline records, delimiter or qualifier allowed in column value.</p> - <p>PZFileReader is part of the ObjectLab Kit family.</p> + <p>PZFileReader is part of the ObjectLab Kit family.<a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> + <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a></p> - <subsection name="Problem Sorting Data Prior To File Processing?"> - <p>PZFileReader provides a sorting mechanism for your flat files. This allows for your data to be properly sorted before processing your business logic.</p> - </subsection> + <subsection name="Why should you use PZFileParser?"> + + <p>There is more to it than one could imagine at first sight:</p> + <ul> + + <li><strong>Problem Sorting Data Prior To File Processing?</strong></li> + <ul><li>PZFileReader provides a sorting mechanism for your flat files. This allows for your data to be properly sorted before processing your business logic.</li></ul> + - <subsection name ="Bad Numeric Data?"> - <p> Do often receive numeric data with dollar signs, or commas? PZFileReader has the ability to strip these out and return as a double or int. - Even empty elements or hard spaces can be converted to a numeric without issue.</p> - </subsection> + <li><strong>Bad Numeric Data?</strong></li> + <ul><li>Do you often receive numeric data with dollar signs, or commas? PZFileReader has the ability to strip these out and return as a double or int. + Even empty elements or hard spaces can be converted to a numeric without issue.</li></ul> - - <subsection name ="Problems With One Bad Record Blowing Up The Entire Parse?"> - <p>Bad records get excluded from the DataSet and added to an error collection. This error collection can be checked at the end of the parse to - report on bad records. A description of the error and the line number in the file is provided. Why blow up an entire import for one bad record?</p> + <li><strong>Problems With One Bad Record Blowing Up The Entire Parse?</strong></li> + <ul><li>Bad records get excluded from the DataSet and added to an error collection. This error collection can be checked at the end of the parse to + report on bad records. A description of the error and the line number in the file is provided. Why blow up an entire import for one bad record?</li></ul> + </ul> </subsection> <subsection name="Which JDK?"> @@ -67,21 +69,19 @@ <section name="How do I use it?"> <p>Basic Steps</p> - <ul> - <li>Construct DataSet()</li> + <ol> + <li>Construct DataSet() with a File, a InputStream or a Reader (soon)</li> <li>Call DataSet.next() to advance record pointer</li> <li>Process columns; DataSet.getString("colname"), getInt("colname"), getDouble("colname"), getDate("colname"), etc</li> <li>Check for parse errors; DataSet.getErrors()</li> - <li>Release memmory; DataSet.freeMemory()</li> - </ul> + <li>Release memory early; DataSet.freeMemory()</li> + </ol> <subsection name="Reading Delimited File"> <div class="source"><pre> - DataSet ds = null; - //construct DataSet - ds = new DataSet(new File("ColumnMappings.pzmap.xml"), //xml mapping file + DataSet ds = new DataSet(new File("ColumnMappings.pzmap.xml"), //xml mapping file new File("delimitedfile.txt"), //text file to parse ",", //delimiter "\"", //text qualifier (can be null or empty) @@ -91,7 +91,7 @@ ds.getString("mycolumnName"); } - ds.freeMemory(); + ds.freeMemory(); // probably should be in a finally. </pre></div> </subsection> @@ -99,10 +99,8 @@ <subsection name="Reading Fixed Width File"> <div class="source"><pre> - DataSet ds = null; - //construct DataSet - ds = new DataSet(new File("PEOPLE-FixedLength.pzmap.xml"), //xml mapping file + DataSet ds = new DataSet(new File("PEOPLE-FixedLength.pzmap.xml"), //xml mapping file new File("PEOPLE-FixedLength.txt")); //text file to parse while (ds.next()){ //loop through file @@ -114,6 +112,16 @@ </subsection> + <subsection name="Reading a Message of Fixed Width"> + + <div class="source"><pre> + +... coming soon + + </pre></div> + + </subsection> + </section> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 19:37:10
|
Revision: 85 http://svn.sourceforge.net/pzfilereader/?rev=85&view=rev Author: benoitx Date: 2006-10-17 12:36:41 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Few site changes, also preparing a press release. Modified Paths: -------------- trunk/PZFileReader/qalab.xml trunk/PZFileReader/src/site/navigation.xml trunk/PZFileReaderSamples/qalab.xml trunk/PZFileReaderSamples/src/site/index.xml trunk/PZFileReaderSamples/src/site/navigation.xml trunk/common-build/project.xml trunk/src/site/history.xml trunk/src/site/index.xml trunk/src/site/navigation.xml Added Paths: ----------- trunk/src/site/press/ trunk/src/site/press/index.xml trunk/src/site/press/press-release-2.3.0.txt Modified: trunk/PZFileReader/qalab.xml =================================================================== --- trunk/PZFileReader/qalab.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/PZFileReader/qalab.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -62,7 +62,6 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_package.html" path="com/pz/reader/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -72,7 +71,6 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_util_package.html" path="com/pz/reader/util/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -82,7 +80,6 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_xml_package.html" path="com/pz/reader/xml/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -92,7 +89,6 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_structure_package.html" path="com/pz/reader/structure/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -102,7 +98,6 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_structure_Row.java" path="com/pz/reader/structure/Row.java"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -147,8 +142,6 @@ <result date="2006-10-15" statvalue="1" type="findbugs"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> <result date="2006-10-16" statvalue="44" type="cobertura-line"/> - <result date="2006-10-17" statvalue="1" type="findbugs"/> - <result date="2006-10-17" statvalue="44" type="cobertura-line"/> </file> <file id="com_pz_reader_DataError.java" path="com/pz/reader/DataError.java"> <result date="2006-10-05" statvalue="22" type="checkstyle"/> @@ -159,8 +152,6 @@ <result date="2006-10-15" statvalue="22" type="checkstyle"/> <result date="2006-10-16" statvalue="3" type="checkstyle"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> - <result date="2006-10-17" statvalue="3" type="checkstyle"/> - <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="com_pz_reader_DataSet.java" path="com/pz/reader/DataSet.java"> <result date="2006-10-05" statvalue="485" type="checkstyle"/> @@ -179,11 +170,6 @@ <result date="2006-10-16" statvalue="3" type="findbugs"/> <result date="2006-10-16" statvalue="20" type="cobertura-line"/> <result date="2006-10-16" statvalue="25" type="cobertura-branch"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="pmd"/> - <result date="2006-10-17" statvalue="3" type="findbugs"/> - <result date="2006-10-17" statvalue="21" type="cobertura-line"/> - <result date="2006-10-17" statvalue="26" type="cobertura-branch"/> </file> <file id="com_pz_reader_LargeDataSet.java" path="com/pz/reader/LargeDataSet.java"> <result date="2006-10-05" statvalue="278" type="checkstyle"/> @@ -200,8 +186,6 @@ <result date="2006-10-15" statvalue="3" type="findbugs"/> <result date="2006-10-16" statvalue="5" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_Version.java" path="com/pz/reader/Version.java"> <result date="2006-10-05" statvalue="2" type="checkstyle"/> @@ -210,7 +194,6 @@ <result date="2006-10-14" statvalue="2" type="checkstyle"/> <result date="2006-10-15" statvalue="2" type="checkstyle"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> - <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="com_pz_reader_ordering_OrderBy.java" path="com/pz/reader/ordering/OrderBy.java"> <result date="2006-10-05" statvalue="65" type="checkstyle"/> @@ -226,8 +209,6 @@ <result date="2006-10-15" statvalue="65" type="checkstyle"/> <result date="2006-10-15" statvalue="5" type="findbugs"/> <result date="2006-10-16" statvalue="5" type="findbugs"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> <file id="com_pz_reader_ordering_OrderColumn.java" path="com/pz/reader/ordering/OrderColumn.java"> <result date="2006-10-05" statvalue="25" type="checkstyle"/> @@ -246,8 +227,6 @@ <result date="2006-10-15" statvalue="99" type="checkstyle"/> <result date="2006-10-16" statvalue="50" type="cobertura-line"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> - <result date="2006-10-17" statvalue="50" type="cobertura-line"/> - <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="com_pz_reader_structure_Row.java" path="com/pz/reader/structure/Row.java"/> <file id="com_pz_reader_util_ExcelTransformer.java" path="com/pz/reader/util/ExcelTransformer.java"> @@ -282,11 +261,6 @@ <result date="2006-10-16" statvalue="3" type="findbugs"/> <result date="2006-10-16" statvalue="35" type="cobertura-line"/> <result date="2006-10-16" statvalue="42" type="cobertura-branch"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="3" type="pmd"/> - <result date="2006-10-17" statvalue="3" type="findbugs"/> - <result date="2006-10-17" statvalue="34" type="cobertura-line"/> - <result date="2006-10-17" statvalue="41" type="cobertura-branch"/> </file> <file id="com_pz_reader_xml_PZMapParser.java" path="com/pz/reader/xml/PZMapParser.java"> <result date="2006-10-05" statvalue="257" type="checkstyle"/> @@ -310,9 +284,6 @@ <result date="2006-10-16" statvalue="5" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="pmd"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="pmd"/> - <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_xml_ResolveLocalDTD.java" path="com/pz/reader/xml/ResolveLocalDTD.java"> <result date="2006-10-05" statvalue="40" type="checkstyle"/> @@ -328,7 +299,6 @@ <result date="2006-10-15" statvalue="40" type="checkstyle"/> <result date="2006-10-15" statvalue="2" type="findbugs"/> <result date="2006-10-16" statvalue="2" type="findbugs"/> - <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> <file id="com_pz_reader_xml_XMLRecordElement.java" path="com/pz/reader/xml/XMLRecordElement.java"> <result date="2006-10-05" statvalue="34" type="checkstyle"/> @@ -338,8 +308,70 @@ <result date="2006-10-14" statvalue="34" type="checkstyle"/> <result date="2006-10-15" statvalue="34" type="checkstyle"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> - <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="C:_project_pzfilereader_PZFileReader_src_test_java_com_test_delim_multiLine_TestCSVPerformance.java" path="C:/project/pzfilereader/PZFileReader/src/test/java/com/test/delim/multiLine/TestCSVPerformance.java"/> + <file id="net_sf_pzfilereader_util_package.html" path="net/sf/pzfilereader/util/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_package.html" path="net/sf/pzfilereader/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_ordering_package.html" path="net/sf/pzfilereader/ordering/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_xml_package.html" path="net/sf/pzfilereader/xml/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_structure_package.html" path="net/sf/pzfilereader/structure/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_DataError.java" path="net/sf/pzfilereader/DataError.java"> + <result date="2006-10-17" statvalue="3" type="checkstyle"/> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> + </file> + <file id="net_sf_pzfilereader_DataSet.java" path="net/sf/pzfilereader/DataSet.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="3" type="findbugs"/> + <result date="2006-10-17" statvalue="20" type="cobertura-line"/> + <result date="2006-10-17" statvalue="26" type="cobertura-branch"/> + </file> + <file id="net_sf_pzfilereader_LargeDataSet.java" path="net/sf/pzfilereader/LargeDataSet.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + </file> + <file id="net_sf_pzfilereader_ordering_OrderBy.java" path="net/sf/pzfilereader/ordering/OrderBy.java"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="2" type="findbugs"/> + </file> + <file id="net_sf_pzfilereader_util_ParserUtils.java" path="net/sf/pzfilereader/util/ParserUtils.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="3" type="pmd"/> + <result date="2006-10-17" statvalue="3" type="findbugs"/> + <result date="2006-10-17" statvalue="34" type="cobertura-line"/> + <result date="2006-10-17" statvalue="41" type="cobertura-branch"/> + </file> + <file id="net_sf_pzfilereader_xml_PZMapParser.java" path="net/sf/pzfilereader/xml/PZMapParser.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + </file> + <file id="net_sf_pzfilereader_xml_ResolveLocalDTD.java" path="net/sf/pzfilereader/xml/ResolveLocalDTD.java"> + <result date="2006-10-17" statvalue="2" type="findbugs"/> + </file> + <file id="net_sf_pzfilereader_structure_Row.java" path="net/sf/pzfilereader/structure/Row.java"> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="44" type="cobertura-line"/> + </file> + <file id="net_sf_pzfilereader_structure_ColumnMetaData.java" path="net/sf/pzfilereader/structure/ColumnMetaData.java"> + <result date="2006-10-17" statvalue="50" type="cobertura-line"/> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> + </file> + <file id="net_sf_pzfilereader_Version.java" path="net/sf/pzfilereader/Version.java"> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> + </file> + <file id="net_sf_pzfilereader_xml_XMLRecordElement.java" path="net/sf/pzfilereader/xml/XMLRecordElement.java"> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> + </file> </qalab> Modified: trunk/PZFileReader/src/site/navigation.xml =================================================================== --- trunk/PZFileReader/src/site/navigation.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/PZFileReader/src/site/navigation.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -24,9 +24,13 @@ <item name="ObjectLab" href="http://www.objectlab.co.uk" /> </menu> <footer> + <div style="vertical-align:middle"> <a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=97367&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /> </a> +<a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> + <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a> + </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> Modified: trunk/PZFileReaderSamples/qalab.xml =================================================================== --- trunk/PZFileReaderSamples/qalab.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/PZFileReaderSamples/qalab.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -28,123 +28,96 @@ </summary> <file id="com_pz_reader_examples_numericsanddates_package.html" path="com/pz/reader/examples/numericsanddates/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_exporttoexcel_package.html" path="com/pz/reader/examples/exporttoexcel/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_csvperformancetest_package.html" path="com/pz/reader/examples/csvperformancetest/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_fixedlengthdynamiccolumns_package.html" path="com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_lowlevelparse_package.html" path="com/pz/reader/examples/lowlevelparse/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_largecsvperformancetest_package.html" path="com/pz/reader/examples/largedataset/largecsvperformancetest/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_multilinedelimitedrecord_package.html" path="com/pz/reader/examples/multilinedelimitedrecord/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimitedcolumnnamesinfile_package.html" path="com/pz/reader/examples/delimitedcolumnnamesinfile/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_csvheaderandtrailer_package.html" path="com/pz/reader/examples/csvheaderandtrailer/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_package.html" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthdynamiccolumns_package.html" path="com/pz/reader/examples/fixedlengthdynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_createsamplecsv_package.html" path="com/pz/reader/examples/createsamplecsv/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumnswitherrors_package.html" path="com/pz/reader/examples/delimiteddynamiccolumnswitherrors/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumns_package.html" path="com/pz/reader/examples/delimiteddynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthheaderandtrailer_package.html" path="com/pz/reader/examples/fixedlengthheaderandtrailer/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_createsamplecsv_CSVTestFileCreator.java" path="com/pz/reader/examples/createsamplecsv/CSVTestFileCreator.java"> <result date="2006-10-16" statvalue="7" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="pmd"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> - <result date="2006-10-17" statvalue="7" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="pmd"/> - <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_examples_csvheaderandtrailer_CSVHeaderAndTrailer.java" path="com/pz/reader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java"> <result date="2006-10-16" statvalue="17" type="checkstyle"/> - <result date="2006-10-17" statvalue="17" type="checkstyle"/> </file> <file id="com_pz_reader_examples_csvperformancetest_CSVPerformanceTest.java" path="com/pz/reader/examples/csvperformancetest/CSVPerformanceTest.java"> <result date="2006-10-16" statvalue="14" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> - <result date="2006-10-17" statvalue="15" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_examples_delimitedcolumnnamesinfile_DelimitedColumnNamesInFile.java" path="com/pz/reader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java"> <result date="2006-10-16" statvalue="5" type="checkstyle"/> - <result date="2006-10-17" statvalue="5" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumns_DelimitedWithPZMap.java" path="com/pz/reader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java"> <result date="2006-10-16" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumnswitherrors_DelimitedWithPZMapErrors.java" path="com/pz/reader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java"> <result date="2006-10-16" statvalue="5" type="checkstyle"/> - <result date="2006-10-17" statvalue="5" type="checkstyle"/> </file> <file id="com_pz_reader_examples_exporttoexcel_DelimitedFileExportToExcel.java" path="com/pz/reader/examples/exporttoexcel/DelimitedFileExportToExcel.java"> <result date="2006-10-16" statvalue="2" type="checkstyle"/> - <result date="2006-10-17" statvalue="2" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthdynamiccolumns_FixedLengthWithPZMap.java" path="com/pz/reader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java"> <result date="2006-10-16" statvalue="3" type="checkstyle"/> - <result date="2006-10-17" statvalue="3" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthheaderandtrailer_FixedLengthHeaderAndTrailer.java" path="com/pz/reader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java"> <result date="2006-10-16" statvalue="17" type="checkstyle"/> - <result date="2006-10-17" statvalue="17" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_DelimitedWithPZMap.java" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/DelimitedWithPZMap.java"> @@ -158,42 +131,157 @@ id="com_pz_reader_examples_largedataset_largecsvperformancetest_CSVLarge.java" path="com/pz/reader/examples/largedataset/largecsvperformancetest/CSVLarge.java"> <result date="2006-10-16" statvalue="9" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> - <result date="2006-10-17" statvalue="9" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_examples_lowlevelparse_LowLevelParse.java" path="com/pz/reader/examples/lowlevelparse/LowLevelParse.java"> <result date="2006-10-16" statvalue="4" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="pmd"/> <result date="2006-10-16" statvalue="2" type="findbugs"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="1" type="pmd"/> - <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> <file id="com_pz_reader_examples_multilinedelimitedrecord_DelimitedMultiLine.java" path="com/pz/reader/examples/multilinedelimitedrecord/DelimitedMultiLine.java"> <result date="2006-10-16" statvalue="4" type="checkstyle"/> - <result date="2006-10-17" statvalue="4" type="checkstyle"/> </file> <file id="com_pz_reader_examples_numericsanddates_NumericsAndDates.java" path="com/pz/reader/examples/numericsanddates/NumericsAndDates.java"> <result date="2006-10-16" statvalue="6" type="checkstyle"/> - <result date="2006-10-17" statvalue="6" type="checkstyle"/> </file> - <file id="com_pz_reader_examples_package.html" path="com/pz/reader/examples/package.html"> + <file id="com_pz_reader_examples_package.html" path="com/pz/reader/examples/package.html"/> + <file id="com_pz_reader_examples_Examples.java" path="com/pz/reader/examples/Examples.java"/> + <file + id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_LargeDelimitedWithPZMap.java" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java"/> + <file + id="com_pz_reader_examples_largedataset_fixedlengthdynamiccolumns_LargeFixedLengthWithPZMap.java" path="com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java"/> + <file id="com_pz_reader_examples_ConsoleMenu.java" path="com/pz/reader/examples/ConsoleMenu.java"/> + <file id="net_sf_pzfilereader_examples_package.html" path="net/sf/pzfilereader/examples/package.html"> <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> - <file id="com_pz_reader_examples_Examples.java" path="com/pz/reader/examples/Examples.java"> + <file + id="net_sf_pzfilereader_examples_largedataset_largecsvperformancetest_package.html" path="net/sf/pzfilereader/examples/largedataset/largecsvperformancetest/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_multilinedelimitedrecord_package.html" path="net/sf/pzfilereader/examples/multilinedelimitedrecord/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_numericsanddates_package.html" path="net/sf/pzfilereader/examples/numericsanddates/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_delimitedcolumnnamesinfile_package.html" path="net/sf/pzfilereader/examples/delimitedcolumnnamesinfile/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_delimiteddynamiccolumns_package.html" path="net/sf/pzfilereader/examples/delimiteddynamiccolumns/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_examples_exporttoexcel_package.html" path="net/sf/pzfilereader/examples/exporttoexcel/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_largedataset_fixedlengthdynamiccolumns_package.html" path="net/sf/pzfilereader/examples/largedataset/fixedlengthdynamiccolumns/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_examples_createsamplecsv_package.html" path="net/sf/pzfilereader/examples/createsamplecsv/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_fixedlengthdynamiccolumns_package.html" path="net/sf/pzfilereader/examples/fixedlengthdynamiccolumns/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_largedataset_delimiteddynamiccolumns_package.html" path="net/sf/pzfilereader/examples/largedataset/delimiteddynamiccolumns/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_csvperformancetest_package.html" path="net/sf/pzfilereader/examples/csvperformancetest/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_examples_lowlevelparse_package.html" path="net/sf/pzfilereader/examples/lowlevelparse/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_delimiteddynamiccolumnswitherrors_package.html" path="net/sf/pzfilereader/examples/delimiteddynamiccolumnswitherrors/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_fixedlengthheaderandtrailer_package.html" path="net/sf/pzfilereader/examples/fixedlengthheaderandtrailer/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_csvheaderandtrailer_package.html" path="net/sf/pzfilereader/examples/csvheaderandtrailer/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_examples_Examples.java" path="net/sf/pzfilereader/examples/Examples.java"> <result date="2006-10-17" statvalue="21" type="checkstyle"/> </file> <file - id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_LargeDelimitedWithPZMap.java" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java"> + id="net_sf_pzfilereader_examples_createsamplecsv_CSVTestFileCreator.java" path="net/sf/pzfilereader/examples/createsamplecsv/CSVTestFileCreator.java"> + <result date="2006-10-17" statvalue="7" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + </file> + <file + id="net_sf_pzfilereader_examples_csvheaderandtrailer_CSVHeaderAndTrailer.java" path="net/sf/pzfilereader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java"> + <result date="2006-10-17" statvalue="17" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_csvperformancetest_CSVPerformanceTest.java" path="net/sf/pzfilereader/examples/csvperformancetest/CSVPerformanceTest.java"> + <result date="2006-10-17" statvalue="15" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + </file> + <file + id="net_sf_pzfilereader_examples_delimitedcolumnnamesinfile_DelimitedColumnNamesInFile.java" path="net/sf/pzfilereader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java"> + <result date="2006-10-17" statvalue="5" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_delimiteddynamiccolumns_DelimitedWithPZMap.java" path="net/sf/pzfilereader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java"> <result date="2006-10-17" statvalue="4" type="checkstyle"/> </file> <file - id="com_pz_reader_examples_largedataset_fixedlengthdynamiccolumns_LargeFixedLengthWithPZMap.java" path="com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java"> + id="net_sf_pzfilereader_examples_delimiteddynamiccolumnswitherrors_DelimitedWithPZMapErrors.java" path="net/sf/pzfilereader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java"> + <result date="2006-10-17" statvalue="5" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_exporttoexcel_DelimitedFileExportToExcel.java" path="net/sf/pzfilereader/examples/exporttoexcel/DelimitedFileExportToExcel.java"> + <result date="2006-10-17" statvalue="2" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_fixedlengthdynamiccolumns_FixedLengthWithPZMap.java" path="net/sf/pzfilereader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java"> <result date="2006-10-17" statvalue="3" type="checkstyle"/> </file> - <file id="com_pz_reader_examples_ConsoleMenu.java" path="com/pz/reader/examples/ConsoleMenu.java"> + <file + id="net_sf_pzfilereader_examples_fixedlengthheaderandtrailer_FixedLengthHeaderAndTrailer.java" path="net/sf/pzfilereader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java"> + <result date="2006-10-17" statvalue="17" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_largedataset_delimiteddynamiccolumns_LargeDelimitedWithPZMap.java" path="net/sf/pzfilereader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_largedataset_fixedlengthdynamiccolumns_LargeFixedLengthWithPZMap.java" path="net/sf/pzfilereader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java"> + <result date="2006-10-17" statvalue="3" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_largedataset_largecsvperformancetest_CSVLarge.java" path="net/sf/pzfilereader/examples/largedataset/largecsvperformancetest/CSVLarge.java"> + <result date="2006-10-17" statvalue="9" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + </file> + <file + id="net_sf_pzfilereader_examples_lowlevelparse_LowLevelParse.java" path="net/sf/pzfilereader/examples/lowlevelparse/LowLevelParse.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> + <file + id="net_sf_pzfilereader_examples_multilinedelimitedrecord_DelimitedMultiLine.java" path="net/sf/pzfilereader/examples/multilinedelimitedrecord/DelimitedMultiLine.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + </file> + <file + id="net_sf_pzfilereader_examples_numericsanddates_NumericsAndDates.java" path="net/sf/pzfilereader/examples/numericsanddates/NumericsAndDates.java"> + <result date="2006-10-17" statvalue="6" type="checkstyle"/> + </file> + <file id="net_sf_pzfilereader_examples_ConsoleMenu.java" path="net/sf/pzfilereader/examples/ConsoleMenu.java"> + <result date="2006-10-17" statvalue="2" type="findbugs"/> + </file> </qalab> Modified: trunk/PZFileReaderSamples/src/site/index.xml =================================================================== --- trunk/PZFileReaderSamples/src/site/index.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/PZFileReaderSamples/src/site/index.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -27,7 +27,7 @@ <subsection name="The Examples"> <p>All examples are in the com.pz.reader.examples sub-directories. There is an application to run these, com.px.reader.examples.Examples but - the easiest way is to run the run-examples.bat is in the target directory after build:</p> + the easiest way is to run the <code>run-examples.bat</code> in the target directory after build via Maven:</p> <div class="code"><pre> Menu Options Modified: trunk/PZFileReaderSamples/src/site/navigation.xml =================================================================== --- trunk/PZFileReaderSamples/src/site/navigation.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/PZFileReaderSamples/src/site/navigation.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -24,9 +24,13 @@ <item name="ObjectLab" href="http://www.objectlab.co.uk" /> </menu> <footer> + <div style="vertical-align:middle"> <a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=97367&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /> </a> +<a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> + <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a> + </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> Modified: trunk/common-build/project.xml =================================================================== --- trunk/common-build/project.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/common-build/project.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -161,7 +161,7 @@ <report>maven-simian-plugin</report> <report>maven-cobertura-plugin</report> <report>maven-qalab-plugin</report> - <report>maven-javadoc-plugin</report> + <report>maven-ydoc-plugin</report> <report>maven-jdepend-plugin</report> <report>maven-faq-plugin</report> <report>maven-junit-report-plugin</report> @@ -171,15 +171,15 @@ <versions> <version> + <id>2.3.0</id> + <name>2.3.0</name> + <tag>2.3.0</tag> + </version> + <version> <id>2.2.0</id> <name>2.2.0</name> <tag>v2.2.0</tag> </version> - <version> - <id>2.3.0</id> - <name>2.3.0</name> - <tag>2.3.0</tag> - </version> </versions> </project> Modified: trunk/src/site/history.xml =================================================================== --- trunk/src/site/history.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/src/site/history.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -23,21 +23,28 @@ <p>The base code for PZFileReader was started from a project I worked on at my job. At the time, I was writing quite a few file imports which were mostly fixed width. I kept encountering the same problem; we had to add something - to the file layout somewhere, or expand a length, thus changing all the substrings in the code. I decided that - there must be a way to map out the file so that changing the file layout would not break the code. This is when + to the file layout somewhere, or expand a length, thus changing all the substrings in the code.</p> + + <p>I decided that there must be a way to map out the file so that changing the file layout would not break the code. This is when PZFileReader was born, although it did not have a name as of yet. The first iteration of the code had the field mappings in a database table, and seemed to work very well for my projects at work.</p> <p>At that time, I had been spending a lot of time on the Java Sun forums. The same questions kept re-appearing. How do I read a CSV file, or how do I read fixed text. I decided that with a little more work, my project could - benefit the community. Whenever I had some free time at home I started to make enhancements to the code. - I developed a way to map columns with an XML file instead of having to store the mapping in a database, and + benefit the community. Whenever I had some free time at home I started to make enhancements to the code.</p> + + <p>I developed a way to map columns with an XML file instead of having to store the mapping in a database, and a generic parser to handle any kind of delimited file, the delimited and qualifier were passed into the constructor. </p> <p>This brings us to today. Since the first release, there have been many fixes / enhancements to the parser, mainly the delimited parser. My hope is that this project will take off and become a fixture in the community. If you have a good experience with this project, and it has benefited you in some way, please spread the word.</p> + <p>Recently, <a href="http://www.objectlab.co.uk">ObjectLab</a> from the UK has decided to offer some support to PZFileReader. + PZFileReader is part of the ObjectLab Kit family, a 'support' group for useful open source projects. + They developed the Maven build, the website and are active members of this project. They are world leaders in the design + and development of bespoke applications for the Securities Finance Industry.</p> + </section> </body> Modified: trunk/src/site/index.xml =================================================================== --- trunk/src/site/index.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/src/site/index.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -22,13 +22,19 @@ <!-- The body of the document contains a number of sections --> <section name="PZFileReader Introduction"> - <p>PZFileReader came out of the frustration of having to mix file parsing logic with business logic. - Substrings in a <strong>fixed width parse</strong> can be daunting to deal with when trying to analyze what existing code is doing, - and what about when you have no comments... - We also provide <strong>delimited file parsing</strong>; works with any delimiter / qualifier, multiline records, delimiter or qualifier allowed in column value - This is released under the business-friendly Apache 2.0 license. <a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=ObjectLab%20Kit%3A%20Open%20Source%20Date%20Calculators%20for%20Business%20and%20Finance&bodytext=ObjectLab%20released%20version%201%2E0%2E1%20of%20ObjectLab%20Kit%20for%20Java%201%2E5,%20available%20for%20download%20via%20SourceForge%20or%20the%20Maven%20Central%20Repository%2E%20The%20Kit%20provides%20a%20Date%20Calculator%20that%20handle%20holidays,%20a%20IMM%20Date%20and%20Period%20Count%20Calculator%20and%20comes%20in%20two%20versions%3A%20one%20based%20on%20pure%20JDK%20(1%2E5)%20and%20one%20based%20on%20the%20Joda-time%20library%20(1%2E3%2B,%20JDK%201%2E5)%2E&topic=programming"> + <p>PZFileReader came out of the frustration of having to mix file parsing logic with business logic.</p> + + <p>PZFileReader on SourceForge: a Java (1.4+) flat file parser that handles CSV, fixed length and custom delimiters. The formats are configured in XML, it is fast and released under Apache license 2.0.</p> + + <p>Substrings in a <strong>fixed width parse</strong> can be daunting to deal with when trying to analyze what existing code is doing, + and what about when you have no comments...</p> + + <p>We also provide <strong>delimited file parsing</strong>; works with any delimiter / qualifier, multiline records, delimiter or qualifier allowed in column value + This is released under the business-friendly Apache 2.0 license. <a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> + <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a></p> + <p>PZFileReader is part of the ObjectLab Kit family.</p> <subsection name="Problem Sorting Data Prior To File Processing?"> <p>PZFileReader provides a sorting mechanism for your flat files. This allows for your data to be properly sorted before processing your business logic.</p> @@ -52,8 +58,8 @@ <subsection name="UML?"> <p>We are using yDoc to generate a 'javadoc-like' documentation per module with the added twist of UML diagrams:</p> <ul> - <li><a href="multiproject/PZFileReader/apidocs/index.html">UML for PZFileReader</a></li> - <li><a href="multiproject/PZFileReaderSamples/apidocs/index.html">UML for Examples</a></li> + <li><a href="multiproject/pzfilereader/apidocs/index.html">UML for PZFileReader</a></li> + <li><a href="multiproject/pzfilereader-examples/apidocs/index.html">UML for Examples</a></li> </ul> </subsection> Modified: trunk/src/site/navigation.xml =================================================================== --- trunk/src/site/navigation.xml 2006-10-17 17:26:35 UTC (rev 84) +++ trunk/src/site/navigation.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -29,9 +29,13 @@ <item name="ObjectLab" href="http://www.objectlab.co.uk" /> </menu> <footer> + <div style="vertical-align:middle"> <a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=97367&type=2" width="125" height="37" border="0" alt="SourceForge.net Logo" /> </a> +<a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=Paul%20Zepernick%20and%20ObjectLab%20have%20released%20version%202%2E3%2E0%20of%20PZFileReader%2E&bodytext=PZFileReader%20on%20SourceForge%3A%20a%20Java%20(1%2E4%2B)%20flat%20file%20parser%20that%20handles%20CSV,%20fixed%20length%20and%20custom%20delimiters%2E%20The%20formats%20are%20configured%20in%20XML%20or%20in%20DB%2E%20Once%20parsed%20the%20data%20is%20easily%20accessible%20record%20by%20record%20and%20via%20a%20column%20name,%20regardless%20of%20order%2E%20%20It%20is%20fast%20and%20released%20under%20Apache%20license%202%2E0%2E&topic=programming"> + <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a> + </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> Added: trunk/src/site/press/index.xml =================================================================== --- trunk/src/site/press/index.xml (rev 0) +++ trunk/src/site/press/index.xml 2006-10-17 19:36:41 UTC (rev 85) @@ -0,0 +1,82 @@ +<document> + <properties> + <title>On the web...</title> + </properties> + <head> + <meta name="description" + content="Mentions of the PZFileReader." + /> + + <meta name="keywords" + content="Flat file parser, CSV parser, PZFileReader, sourceforge, java, open source" /> + <meta name="Subject" content="Flat File Parser" /> + <meta name="Copyright" content="Paul Zepernick and ObjectLab Financial Ltd" /> + <meta name="Language" content="English" /> + <meta name="Designer" content="Paul Zepernick" /> + <meta name="Distribution" content="Global" /> + <meta name="robots" content="ALL"/> + <meta name="Revisit-After" content="20 Days" /> + </head> + <body> + <!-- The body of the document contains a number of sections --> + <section name="Release 2.3.0. Oct 2006"> + + <p> + + </p> + + <subsection name="On the web"> + <ul> + <li><a href="press-release-2.3.0.txt">Oct 2006 'press' release</a></li> + </ul> + </subsection> + +<!-- + <subsection name="JavaLobby"> + <ul> + <li><a href="http://www.javalobby.org/java/forums/t82598.html">JavaLobby.org notice</a></li> + <li><a href="homepage-javalobby2.png">JavaLobby.org homepage image</a></li> + <li><a href="homepage-javalobby.pdf">JavaLobby.org homepage PDF</a></li> + </ul> + </subsection> + + <subsection name="The Server Side"> + <ul> + <li><a href="http://www.theserverside.com/news/thread.tss?thread_id=42572">TheServerSide.com notice</a></li> + <li><a href="homepage-theserverside.png">TheServerSide.com homepage image</a></li> + <li><a href="homepage-theserverside.pdf">TheServerSide.com homepage PDF</a></li> + </ul> + </subsection> + + <subsection name="Java.Net"> + <ul> + <li><a href="http://today.java.net/pub/n/ObjectLabKit">The Java.net notice</a></li> + <li><a href="newspage-javanet.png">Java.net News page image</a></li> + <li><a href="newspage-javanet.pdf">Java.net News page PDF</a></li> + </ul> + </subsection> + + <subsection name="JavaRSS.com"> + <ul> + <li><a href="homepage-javarss.png">JavaRSS.com homepage image</a></li> + <li><a href="homepage-javarss.pdf">JavaRSS.com homepage PDF</a></li> + </ul> + </subsection> + + <subsection name="Where are you all?"> + <ul> + <li><a href="visits-map-20061010-12.png">A Google Analytics Map for the week of our first release</a></li> + </ul> + </subsection> + + <subsection name="dZone.com"> + <ul> + <li><a href="homepage-dzone.png">dzone.com homepage image</a></li> + <li><a href="homepage-dzone.pdf">dzone.com homepage PDF</a></li> + </ul> + </subsection> +--> + </section> + + </body> +</document> \ No newline at end of file Added: trunk/src/site/press/press-release-2.3.0.txt =================================================================== --- trunk/src/site/press/press-release-2.3.0.txt (rev 0) +++ trunk/src/site/press/press-release-2.3.0.txt 2006-10-17 19:36:41 UTC (rev 85) @@ -0,0 +1,46 @@ +Paul Zepernick and ObjectLab are pleased to announce release 2.3.0 of +PZFileReader for Java 1.4+. + +Open Source flat file parser (CSV, Fixed Length, Custom) using XML +to configure formats. + +http://pzfilereader.sourceforge.net + +PZFileReader is released under the business friendly Apache License v2.0. + +It is available immediately for download via SourceForge or the Maven Central +Repository (both Maven 1 and Maven 2). The homepage has some very +quick examples. + +The library is small, lightweight and does not force you to adopt a +framework. + +The implementation is useful to any business that deal with flat files. +The library allow you to define an XML mapping (or in a database) of +the format of your file. Once this is done, the parsed data can be accessed +via a simple name lookup mechanism. + +It is our aim to publish at some point some well know file formats for +your immediate use. + +ObjectLab is not new to the open-source community having used numerous OS +projects, It has recently launched the ObjectLab Kit family, including: +- QALab (http://qalab.sourceforge.net), a tool that keeps track over-time + of the static analysis results from FindBugs, Checkstyle, PMD, Cobertura etc. +- DateCalculators (http://objectlabkit.sourceforge.net), a set of generic + lightweight and thread-safe Date calculators for Business and Finance. +- JTreeMap, (http://jtreemap.sourceforge.net), probably the only Java Open + Source implementation of treemap/heatmaps, available as a Swing or SWT + component. + +We would like to thanks our friends and colleagues at XXXX for their help, +reviews and suggestions. + +Sorry for the long email... + +Feel free to pass on to people who may be interested. + +Enjoy!! + +Paul Zepernick and The ObjectLab Team (Benoit Xhenseval, Marcin Jekot) + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:27:33
|
Revision: 84 http://svn.sourceforge.net/pzfilereader/?rev=84&view=rev Author: benoitx Date: 2006-10-17 10:26:35 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Final items for move to net.sf.pzfilereader. Modified Paths: -------------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java trunk/PZFileReaderSamples/.classpath Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 17:19:40 UTC (rev 83) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 17:26:35 UTC (rev 84) @@ -247,8 +247,8 @@ * @param ob - * OrderBy object * @exception Exception - * @see com.pz.reader.ordering.OrderBy - * @see com.pz.reader.ordering.OrderColumn + * @see net.sf.pzfilereader.ordering.OrderBy + * @see net.sf.pzfilereader.ordering.OrderColumn */ public void orderRows(final OrderBy ob) throws Exception { throw new RuntimeException("orderRows() is Not Implemented For LargeDataSet"); Modified: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java 2006-10-17 17:19:40 UTC (rev 83) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java 2006-10-17 17:26:35 UTC (rev 84) @@ -27,7 +27,7 @@ // delimited by a comma // text qualified by double quotes // ignore first record - ds = new DataSet(new File("com/test/delim/columnInFile/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); + ds = new DataSet(new File("net/sf/pzfilereader/columninfile/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); // re order the data set by last name orderby = new OrderBy(); @@ -61,7 +61,7 @@ // used for Junit test public DataSet getDsForTest() throws Exception { - return new DataSet(new File("src/test/java/com/test/delim/columnInFile/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", + return new DataSet(new File("src/test/java/net/sf/pzfilereader/columninfile/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); } } Modified: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java 2006-10-17 17:19:40 UTC (rev 83) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java 2006-10-17 17:26:35 UTC (rev 84) @@ -25,7 +25,7 @@ // delimited by a comma // text qualified by double quotes // ignore first record - tmpFile = new File("com/test/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt"); + tmpFile = new File("net/sf/pzfilereader/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt"); System.out.println("tmp file path: " + tmpFile); // ds = new DataSet(new FileInputStream(tmpFile),"\t","",true); ds = new DataSet(tmpFile, "\t", "\"", true); @@ -63,6 +63,6 @@ // used for Junit test public DataSet getDsForTest() throws Exception { - return new DataSet(new File("src/test/java/com/test/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt"), "\t", "\"", true); + return new DataSet(new File("src/test/java/net/sf/pzfilereader/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt"), "\t", "\"", true); } } Modified: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java 2006-10-17 17:19:40 UTC (rev 83) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java 2006-10-17 17:26:35 UTC (rev 84) @@ -31,7 +31,7 @@ // text qualified by double quotes // ignore first record long timeStarted = System.currentTimeMillis(); - ds = new LargeDataSet(new File("com/test/delim/multiLine/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); + ds = new LargeDataSet(new File("net/sf/pzfilereader/multiLine/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); long timeFinished = System.currentTimeMillis(); String timeMessage = ""; Modified: trunk/PZFileReaderSamples/.classpath =================================================================== --- trunk/PZFileReaderSamples/.classpath 2006-10-17 17:19:40 UTC (rev 83) +++ trunk/PZFileReaderSamples/.classpath 2006-10-17 17:26:35 UTC (rev 84) @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> + <classpath> - <classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER" kind="con"/> - <classpathentry path="src/main/java" kind="src"/> - <classpathentry sourcepath="/PZ_SRC_HOME" path="MAVEN_REPO/com.pz.reader/jars/pzfilereader-2.2.0.jar" kind="var"/> - <classpathentry path="MAVEN_REPO/jdom/jars/jdom-1.0.jar" kind="var"/> - <classpathentry path="MAVEN_REPO/jexcelapi/jars/jxl-2.4.2.jar" kind="var"/> - <classpathentry path="target/classes" kind="output"/> -</classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"></classpathentry> + <classpathentry excluding="" kind="src" path="src/main/java"></classpathentry> + <classpathentry path="MAVEN_REPO/net.sf.pzfilereader/jars/pzfilereader-2.3.0.jar" kind="var"></classpathentry> + <classpathentry path="MAVEN_REPO/jdom/jars/jdom-1.0.jar" kind="var"></classpathentry> + <classpathentry path="MAVEN_REPO/jexcelapi/jars/jxl-2.4.2.jar" kind="var"></classpathentry> + <classpathentry kind="output" path="target/classes"></classpathentry> +</classpath> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:21:08
|
Revision: 83 http://svn.sourceforge.net/pzfilereader/?rev=83&view=rev Author: benoitx Date: 2006-10-17 10:19:40 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved to net.sf.pzfilereader Modified Paths: -------------- trunk/PZFileReader/build.xml trunk/PZFileReader/project.xml trunk/PZFileReaderSamples/project.xml trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Examples.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Repeater.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/createsamplecsv/CSVTestFileCreator.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvperformancetest/CSVPerformanceTest.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/exporttoexcel/DelimitedFileExportToExcel.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/jsptableexample/pzfilereaderwebsamples/index.jsp trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/largecsvperformancetest/CSVLarge.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/lowlevelparse/LowLevelParse.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/multilinedelimitedrecord/DelimitedMultiLine.java trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/numericsanddates/NumericsAndDates.java trunk/common-build/project.properties trunk/common-build/project.xml trunk/project.properties Modified: trunk/PZFileReader/build.xml =================================================================== --- trunk/PZFileReader/build.xml 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReader/build.xml 2006-10-17 17:19:40 UTC (rev 83) @@ -63,7 +63,7 @@ <target name="docs" depends="clean"> <!-- create javadocs --> - <javadoc packagenames="com.pz.reader.*" + <javadoc packagenames="net.sf.pzfilereader.*" sourcepath="${dist}/source" defaultexcludes="yes" destdir="JavaDocs" Modified: trunk/PZFileReader/project.xml =================================================================== --- trunk/PZFileReader/project.xml 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReader/project.xml 2006-10-17 17:19:40 UTC (rev 83) @@ -26,7 +26,7 @@ <extend>../common-build/project.xml</extend> <name>PZFileReader</name> <artifactId>pzfilereader</artifactId> - <package>com.pz.reader</package> + <package>net.sf.pzfilereader</package> <shortDescription>Flat File Parser via XML Mappings (fixed length,csv).</shortDescription> <description> Simple Java delimited and fixed width file parser. Handles CSV, Excel CSV, Tab, Pipe delimiters, just to name a few. Modified: trunk/PZFileReaderSamples/project.xml =================================================================== --- trunk/PZFileReaderSamples/project.xml 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/project.xml 2006-10-17 17:19:40 UTC (rev 83) @@ -26,7 +26,7 @@ <extend>../common-build/project.xml</extend> <name>PZFileReader Examples</name> <artifactId>pzfilereader-examples</artifactId> - <package>com.pz.reader</package> + <package>net.sf.pzfilereader</package> <shortDescription>Examples for Flat File Parser via XML Mappings (fixed length,csv)</shortDescription> <description> Simple Java delimited and fixed width file parser. Handles CSV, Excel CSV, Tab, Pipe delimiters, just to name a few. @@ -42,7 +42,7 @@ </repository> <dependencies> <dependency> - <groupId>com.pz.reader</groupId> + <groupId>net.sf.pzfilereader</groupId> <artifactId>pzfilereader</artifactId> <version>${pom.currentVersion}</version> <type>jar</type> Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/ConsoleMenu.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,7 +1,7 @@ /** * */ -package com.pz.reader.examples; +package net.sf.pzfilereader.examples; import java.io.BufferedReader; import java.io.IOException; Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Examples.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Examples.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Examples.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,24 +1,24 @@ /** * */ -package com.pz.reader.examples; +package net.sf.pzfilereader.examples; import java.lang.reflect.Method; -import com.pz.reader.examples.createsamplecsv.CSVTestFileCreator; -import com.pz.reader.examples.csvheaderandtrailer.CSVHeaderAndTrailer; -import com.pz.reader.examples.csvperformancetest.CSVPerformanceTest; -import com.pz.reader.examples.delimiteddynamiccolumns.DelimitedWithPZMap; -import com.pz.reader.examples.delimiteddynamiccolumnswitherrors.DelimitedWithPZMapErrors; -import com.pz.reader.examples.exporttoexcel.DelimitedFileExportToExcel; -import com.pz.reader.examples.fixedlengthdynamiccolumns.FixedLengthWithPZMap; -import com.pz.reader.examples.fixedlengthheaderandtrailer.FixedLengthHeaderAndTrailer; -import com.pz.reader.examples.largedataset.delimiteddynamiccolumns.LargeDelimitedWithPZMap; -import com.pz.reader.examples.largedataset.fixedlengthdynamiccolumns.LargeFixedLengthWithPZMap; -import com.pz.reader.examples.largedataset.largecsvperformancetest.CSVLarge; -import com.pz.reader.examples.lowlevelparse.LowLevelParse; -import com.pz.reader.examples.multilinedelimitedrecord.DelimitedMultiLine; -import com.pz.reader.examples.numericsanddates.NumericsAndDates; +import net.sf.pzfilereader.examples.createsamplecsv.CSVTestFileCreator; +import net.sf.pzfilereader.examples.csvheaderandtrailer.CSVHeaderAndTrailer; +import net.sf.pzfilereader.examples.csvperformancetest.CSVPerformanceTest; +import net.sf.pzfilereader.examples.delimiteddynamiccolumns.DelimitedWithPZMap; +import net.sf.pzfilereader.examples.delimiteddynamiccolumnswitherrors.DelimitedWithPZMapErrors; +import net.sf.pzfilereader.examples.exporttoexcel.DelimitedFileExportToExcel; +import net.sf.pzfilereader.examples.fixedlengthdynamiccolumns.FixedLengthWithPZMap; +import net.sf.pzfilereader.examples.fixedlengthheaderandtrailer.FixedLengthHeaderAndTrailer; +import net.sf.pzfilereader.examples.largedataset.delimiteddynamiccolumns.LargeDelimitedWithPZMap; +import net.sf.pzfilereader.examples.largedataset.fixedlengthdynamiccolumns.LargeFixedLengthWithPZMap; +import net.sf.pzfilereader.examples.largedataset.largecsvperformancetest.CSVLarge; +import net.sf.pzfilereader.examples.lowlevelparse.LowLevelParse; +import net.sf.pzfilereader.examples.multilinedelimitedrecord.DelimitedMultiLine; +import net.sf.pzfilereader.examples.numericsanddates.NumericsAndDates; /** * @author Benoit Xhenseval Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Repeater.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Repeater.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/Repeater.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,7 +1,7 @@ /** * */ -package com.pz.reader.examples; +package net.sf.pzfilereader.examples; import java.lang.reflect.Method; Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/createsamplecsv/CSVTestFileCreator.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/createsamplecsv/CSVTestFileCreator.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/createsamplecsv/CSVTestFileCreator.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.createsamplecsv; +package net.sf.pzfilereader.examples.createsamplecsv; import java.io.FileWriter; import java.io.PrintWriter; Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.csvheaderandtrailer; +package net.sf.pzfilereader.examples.csvheaderandtrailer; /* * Created on Dec 31, 2004 @@ -7,7 +7,7 @@ import java.io.File; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataSet; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvperformancetest/CSVPerformanceTest.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvperformancetest/CSVPerformanceTest.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/csvperformancetest/CSVPerformanceTest.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.csvperformancetest; +package net.sf.pzfilereader.examples.csvperformancetest; import java.io.BufferedReader; import java.io.File; @@ -6,8 +6,8 @@ import java.util.HashMap; import java.util.Map; -import com.pz.reader.DataError; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.DataSet; /* * Created on Dec 1, 2005 Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.delimitedcolumnnamesinfile; +package net.sf.pzfilereader.examples.delimitedcolumnnamesinfile; /* * Created on Nov 27, 2005 @@ -7,10 +7,10 @@ import java.io.File; -import com.pz.reader.DataError; -import com.pz.reader.DataSet; -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.ordering.OrderColumn; +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.DataSet; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.ordering.OrderColumn; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.delimiteddynamiccolumns; +package net.sf.pzfilereader.examples.delimiteddynamiccolumns; /* * Created on Dec 31, 2004 @@ -7,9 +7,9 @@ import java.io.File; -import com.pz.reader.DataSet; -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.ordering.OrderColumn; +import net.sf.pzfilereader.DataSet; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.ordering.OrderColumn; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.delimiteddynamiccolumnswitherrors; +package net.sf.pzfilereader.examples.delimiteddynamiccolumnswitherrors; /* * Created on Dec 31, 2004 @@ -8,10 +8,10 @@ import java.io.File; import java.util.Iterator; -import com.pz.reader.DataError; -import com.pz.reader.DataSet; -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.ordering.OrderColumn; +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.DataSet; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.ordering.OrderColumn; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/exporttoexcel/DelimitedFileExportToExcel.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/exporttoexcel/DelimitedFileExportToExcel.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/exporttoexcel/DelimitedFileExportToExcel.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.exporttoexcel; +package net.sf.pzfilereader.examples.exporttoexcel; /* * Created on Dec 31, 2004 @@ -7,9 +7,9 @@ import java.io.File; -import com.pz.reader.DataSet; -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.ordering.OrderColumn; +import net.sf.pzfilereader.DataSet; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.ordering.OrderColumn; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.fixedlengthdynamiccolumns; +package net.sf.pzfilereader.examples.fixedlengthdynamiccolumns; /* * Created on Dec 31, 2004 @@ -7,7 +7,7 @@ import java.io.File; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataSet; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.fixedlengthheaderandtrailer; +package net.sf.pzfilereader.examples.fixedlengthheaderandtrailer; /* * Created on Dec 31, 2004 @@ -8,8 +8,8 @@ import java.io.File; import java.util.Iterator; -import com.pz.reader.DataError; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.DataSet; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/jsptableexample/pzfilereaderwebsamples/index.jsp =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/jsptableexample/pzfilereaderwebsamples/index.jsp 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/jsptableexample/pzfilereaderwebsamples/index.jsp 2006-10-17 17:19:40 UTC (rev 83) @@ -1,5 +1,5 @@ -<%@ page language="java" import="java.util.*,com.pz.reader.*,com.pz.reader.ordering.*,java.io.File" %> +<%@ page language="java" import="java.util.*,net.sf.pzfilereader.*,net.sf.pzfilereader.ordering.*,java.io.File" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.largedataset.delimiteddynamiccolumns; +package net.sf.pzfilereader.examples.largedataset.delimiteddynamiccolumns; /* * Created on Dec 31, 2004 @@ -8,7 +8,7 @@ import java.io.File; import java.io.FileInputStream; -import com.pz.reader.LargeDataSet; +import net.sf.pzfilereader.LargeDataSet; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.largedataset.fixedlengthdynamiccolumns; +package net.sf.pzfilereader.examples.largedataset.fixedlengthdynamiccolumns; /* * Created on Dec 31, 2004 @@ -8,7 +8,7 @@ import java.io.File; import java.io.FileInputStream; -import com.pz.reader.LargeDataSet; +import net.sf.pzfilereader.LargeDataSet; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/largecsvperformancetest/CSVLarge.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/largecsvperformancetest/CSVLarge.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/largedataset/largecsvperformancetest/CSVLarge.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.largedataset.largecsvperformancetest; +package net.sf.pzfilereader.examples.largedataset.largecsvperformancetest; import java.io.BufferedReader; import java.io.File; @@ -6,8 +6,8 @@ import java.util.HashMap; import java.util.Map; -import com.pz.reader.DataError; -import com.pz.reader.LargeDataSet; +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.LargeDataSet; /* * Created on Dec 1, 2005 Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/lowlevelparse/LowLevelParse.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/lowlevelparse/LowLevelParse.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/lowlevelparse/LowLevelParse.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,11 +1,11 @@ -package com.pz.reader.examples.lowlevelparse; +package net.sf.pzfilereader.examples.lowlevelparse; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.List; -import com.pz.reader.util.ParserUtils; +import net.sf.pzfilereader.util.ParserUtils; /* * Created on Nov 27, 2005 Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/multilinedelimitedrecord/DelimitedMultiLine.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/multilinedelimitedrecord/DelimitedMultiLine.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/multilinedelimitedrecord/DelimitedMultiLine.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.multilinedelimitedrecord; +package net.sf.pzfilereader.examples.multilinedelimitedrecord; /* * Created on Dec 31, 2004 @@ -7,7 +7,7 @@ import java.io.File; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataSet; /** * @author zepernick Modified: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/numericsanddates/NumericsAndDates.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/numericsanddates/NumericsAndDates.java 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/examples/numericsanddates/NumericsAndDates.java 2006-10-17 17:19:40 UTC (rev 83) @@ -1,4 +1,4 @@ -package com.pz.reader.examples.numericsanddates; +package net.sf.pzfilereader.examples.numericsanddates; /* * Created on Dec 31, 2004 @@ -8,7 +8,7 @@ import java.io.File; import java.text.SimpleDateFormat; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataSet; /** * @author zepernick Modified: trunk/common-build/project.properties =================================================================== --- trunk/common-build/project.properties 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/common-build/project.properties 2006-10-17 17:19:40 UTC (rev 83) @@ -63,7 +63,7 @@ ## ## Y D O C ## -maven.ydoc.packages=com.pz.* +maven.ydoc.packages=net.sf.pzfilereader.* #maven.build.dest = ${basedir}/classes # ------------------------------------------------------------------------ Modified: trunk/common-build/project.xml =================================================================== --- trunk/common-build/project.xml 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/common-build/project.xml 2006-10-17 17:19:40 UTC (rev 83) @@ -26,7 +26,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/3.0.0 http://maven.apache.org/maven-v3_0_0.xsd"> <pomVersion>3</pomVersion> - <groupId>com.pz.reader</groupId> + <groupId>net.sf.pzfilereader</groupId> <currentVersion>2.3.0</currentVersion> <organization> <name>ObjectLab Financial Ltd</name> Modified: trunk/project.properties =================================================================== --- trunk/project.properties 2006-10-17 17:14:30 UTC (rev 82) +++ trunk/project.properties 2006-10-17 17:19:40 UTC (rev 83) @@ -111,6 +111,6 @@ #do.obfuscation=false # -maven.ydoc.packages=com.pz.reader.* +maven.ydoc.packages=net.sf.pzfilereader.* maven.repo.remote=http://repo1.maven.org/maven,http://people.apache.org/repo/m1-snapshot-repository/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:14:42
|
Revision: 82 http://svn.sourceforge.net/pzfilereader/?rev=82&view=rev Author: benoitx Date: 2006-10-17 10:14:30 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Renamed remotely Added Paths: ----------- trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader/ Removed Paths: ------------- trunk/PZFileReaderSamples/src/main/java/net/sf/reader/ Copied: trunk/PZFileReaderSamples/src/main/java/net/sf/pzfilereader (from rev 81, trunk/PZFileReaderSamples/src/main/java/net/sf/reader) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:13:39
|
Revision: 81 http://svn.sourceforge.net/pzfilereader/?rev=81&view=rev Author: benoitx Date: 2006-10-17 10:13:25 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Renamed remotely Added Paths: ----------- trunk/PZFileReaderSamples/src/main/java/net/sf/ Removed Paths: ------------- trunk/PZFileReaderSamples/src/main/java/net/pz/ Copied: trunk/PZFileReaderSamples/src/main/java/net/sf (from rev 80, trunk/PZFileReaderSamples/src/main/java/net/pz) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:12:32
|
Revision: 80 http://svn.sourceforge.net/pzfilereader/?rev=80&view=rev Author: benoitx Date: 2006-10-17 10:12:15 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Renamed remotely Added Paths: ----------- trunk/PZFileReaderSamples/src/main/java/net/ Removed Paths: ------------- trunk/PZFileReaderSamples/src/main/java/com/ Copied: trunk/PZFileReaderSamples/src/main/java/net (from rev 79, trunk/PZFileReaderSamples/src/main/java/com) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:10:58
|
Revision: 79 http://svn.sourceforge.net/pzfilereader/?rev=79&view=rev Author: benoitx Date: 2006-10-17 10:10:39 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved to net.sf.pzfilereader Added Paths: ----------- trunk/PZFileReader/src/test/java/net/ trunk/PZFileReader/src/test/java/net/sf/ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/AllJunitTests.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFileTest.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimitedTest.java trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java Removed Paths: ------------- trunk/PZFileReader/src/test/java/com/ Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/AllJunitTests.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/AllJunitTests.java (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/AllJunitTests.java 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,24 @@ +/* + * Created on Feb 27, 2006 + */ +package net.sf.pzfilereader; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * @author zepernick + * + * This class will execute all Junit tests together + */ +public class AllJunitTests { + + public static Test suite() { + final TestSuite suite = new TestSuite("Test For All PZFileReader Functionality"); + // $JUnit-BEGIN$ + suite.addTest(new TestSuite(net.sf.pzfilereader.columninfile.DelimitedColumnNamesInFileTest.class)); + suite.addTest(new TestSuite(net.sf.pzfilereader.delim.tab.TabDelimitedTest.class)); + // $JUnit-END$ + return suite; + } +} Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFile.java 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,67 @@ +package net.sf.pzfilereader.columninfile; + +/* + * Created on Nov 27, 2005 + * + */ + +import java.io.File; + +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.DataSet; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.ordering.OrderColumn; + +/** + * @author zepernick + * + * TODO To change the template for this generated type comment go to Window - + * Preferences - Java - Code Style - Code Templates + */ +public class DelimitedColumnNamesInFile { + public static void main(final String[] args) throws Exception { + DataSet ds = null; + String[] colNames = null; + OrderBy orderby = null; + + // delimited by a comma + // text qualified by double quotes + // ignore first record + ds = new DataSet(new File("com/test/delim/columnInFile/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); + + // re order the data set by last name + orderby = new OrderBy(); + orderby.addOrderColumn(new OrderColumn("CITY", false)); + orderby.addOrderColumn(new OrderColumn("LASTNAME", true)); + ds.orderRows(orderby); + + colNames = ds.getColumns(); + + while (ds.next()) { + for (int i = 0; i < colNames.length; i++) { + System.out.println("COLUMN NAME: " + colNames[i] + " VALUE: " + ds.getString(colNames[i])); + } + + System.out.println("==========================================================================="); + } + + if (ds.getErrors() != null && ds.getErrors().size() > 0) { + System.out.println("FOUND ERRORS IN FILE...."); + for (int i = 0; i < ds.getErrors().size(); i++) { + final DataError de = (DataError) ds.getErrors().get(i); + System.out.println("Error: " + de.getErrorDesc() + " Line: " + de.getLineNo()); + } + } + + // clear out the DataSet object for the JVM to collect + ds.freeMemory(); + + } + + // used for Junit test + + public DataSet getDsForTest() throws Exception { + return new DataSet(new File("src/test/java/com/test/delim/columnInFile/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", + "\"", false); + } +} Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFileTest.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFileTest.java (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/DelimitedColumnNamesInFileTest.java 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,91 @@ +/* + * Created on Feb 26, 2006 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package net.sf.pzfilereader.columninfile; + +import net.sf.pzfilereader.DataSet; + +import junit.framework.TestCase; + +/** + * @author zepernick + * + * TODO To change the template for this generated type comment go to Window - + * Preferences - Java - Code Style - Code Templates + */ +public class DelimitedColumnNamesInFileTest extends TestCase { + public DelimitedColumnNamesInFileTest(final String name) { + super(name); + } + + // tests to make sure we have 0 errors + public void testErrorCount() { + DataSet ds = null; + + try { + final DelimitedColumnNamesInFile testDelimted = new DelimitedColumnNamesInFile(); + + ds = testDelimted.getDsForTest(); + + // check that we had no errors + assertEquals(0, ds.getErrors().size()); + + } catch (final Exception ex) { + ex.printStackTrace(); + } finally { + if (ds != null) { + ds.freeMemory(); + } + } + } + + // test to make sure we parsed the correct number + // of rows in the file + public void testRowCount() { + DataSet ds = null; + + try { + final DelimitedColumnNamesInFile testDelimted = new DelimitedColumnNamesInFile(); + + ds = testDelimted.getDsForTest(); + + // check that we parsed in the right amount of rows + assertEquals(6, ds.getRows().size()); + + } catch (final Exception ex) { + ex.printStackTrace(); + } finally { + if (ds != null) { + ds.freeMemory(); + } + } + } + + // test to make sure we have the right number of column names from the file + public void testColumnNameCount() { + DataSet ds = null; + + try { + final DelimitedColumnNamesInFile testDelimted = new DelimitedColumnNamesInFile(); + + ds = testDelimted.getDsForTest(); + + // check that we parsed in the right amount of column names + assertEquals(6, ds.getColumns().length); + + } catch (final Exception ex) { + ex.printStackTrace(); + } finally { + if (ds != null) { + ds.freeMemory(); + } + } + } + + public static void main(final String[] args) { + junit.textui.TestRunner.run(DelimitedColumnNamesInFileTest.class); + } +} Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/PEOPLE-CommaDelimitedWithQualifier.txt =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/PEOPLE-CommaDelimitedWithQualifier.txt (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/columninfile/PEOPLE-CommaDelimitedWithQualifier.txt 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,7 @@ +"FIRSTNAME","LASTNAME","ADDRESS","CITY","STATE","ZIP" +"JOHN","ANAME","1234 CIRCLE CT","ELYRIA","OH","44035" +"JIMMY","ZNAME","180 SOME ST","AVON","OH","44011" +"JANE","ANAME","111 MILKY WY","AVON","OH","44001" +"FRED","ZNAME","123 ROCKY WY","ELYRIA","OH","12345" +"FRED","ZNAME","123 ROCKY WY","ELYRIA","OH","12345" +"FRED","ZNAME","Text Qualifier " and seperator, in string","ELYRIA","OH","" Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,3 @@ +COL1 COL2 COL3 COL4 COL5 +"TEST1" TEST2 TEST3 TEST4 TEST5 +TEST1 TEST2 TEST3 TEST4 TEST5 Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimited.java 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,68 @@ +package net.sf.pzfilereader.delim.tab; + +/* + * Created on Nov 27, 2005 + * + */ + +import java.io.File; + +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.DataSet; + +/** + * @author zepernick + * + * TODO To change the template for this generated type comment go to Window - + * Preferences - Java - Code Style - Code Templates + */ +public class TabDelimited { + public static void main(final String[] args) throws Exception { + DataSet ds = null; + String[] colNames = null; + File tmpFile = null; + + // delimited by a comma + // text qualified by double quotes + // ignore first record + tmpFile = new File("com/test/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt"); + System.out.println("tmp file path: " + tmpFile); + // ds = new DataSet(new FileInputStream(tmpFile),"\t","",true); + ds = new DataSet(tmpFile, "\t", "\"", true); + + // re order the data set by last name + /* + * orderby = new OrderBy(); orderby.addOrderColumn(new + * OrderColumn("CITY",false)); orderby.addOrderColumn(new + * OrderColumn("LASTNAME",true)); ds.orderRows(orderby); + */ + + colNames = ds.getColumns(); + + while (ds.next()) { + for (int i = 0; i < colNames.length; i++) { + System.out.println("COLUMN NAME: " + colNames[i] + " VALUE: " + ds.getString(colNames[i])); + } + + System.out.println("==========================================================================="); + } + + if (ds.getErrors() != null && ds.getErrors().size() > 0) { + System.out.println("FOUND ERRORS IN FILE...."); + for (int i = 0; i < ds.getErrors().size(); i++) { + final DataError de = (DataError) ds.getErrors().get(i); + System.out.println("Error: " + de.getErrorDesc() + " Line: " + de.getLineNo()); + } + } + + // clear out the DataSet object for the JVM to collect + ds.freeMemory(); + + } + + // used for Junit test + + public DataSet getDsForTest() throws Exception { + return new DataSet(new File("src/test/java/com/test/delim/tab/PEOPLE-TabDelimitedWithQualifier.txt"), "\t", "\"", true); + } +} Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimitedTest.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimitedTest.java (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/delim/tab/TabDelimitedTest.java 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,91 @@ +/* + * Created on Feb 26, 2006 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package net.sf.pzfilereader.delim.tab; + +import net.sf.pzfilereader.DataSet; + +import junit.framework.TestCase; + +/** + * @author zepernick + * + * TODO To change the template for this generated type comment go to Window - + * Preferences - Java - Code Style - Code Templates + */ +public class TabDelimitedTest extends TestCase { + public TabDelimitedTest(final String name) { + super(name); + } + + // tests to make sure we have 0 errors + public void testErrorCount() { + DataSet ds = null; + + try { + final TabDelimited testTab = new TabDelimited(); + + ds = testTab.getDsForTest(); + + // check that we had no errors + assertEquals(0, ds.getErrors().size()); + + } catch (final Exception ex) { + ex.printStackTrace(); + } finally { + if (ds != null) { + ds.freeMemory(); + } + } + } + + // test to make sure we parsed the correct number + // of rows in the file + public void testRowCount() { + DataSet ds = null; + + try { + final TabDelimited testTab = new TabDelimited(); + + ds = testTab.getDsForTest(); + + // check that we parsed in the right amount of rows + assertEquals(2, ds.getRows().size()); + + } catch (final Exception ex) { + ex.printStackTrace(); + } finally { + if (ds != null) { + ds.freeMemory(); + } + } + } + + // test to make sure we have the right number of column names from the file + public void testColumnNameCount() { + DataSet ds = null; + + try { + final TabDelimited testTab = new TabDelimited(); + + ds = testTab.getDsForTest(); + + // check that we parsed in the right amount of column names + assertEquals(5, ds.getColumns().length); + + } catch (final Exception ex) { + ex.printStackTrace(); + } finally { + if (ds != null) { + ds.freeMemory(); + } + } + } + + public static void main(final String[] args) { + junit.textui.TestRunner.run(TabDelimitedTest.class); + } +} Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/PEOPLE-CommaDelimitedWithQualifier.txt =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/PEOPLE-CommaDelimitedWithQualifier.txt (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/PEOPLE-CommaDelimitedWithQualifier.txt 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,17 @@ +"FIRSTNAME","LASTNAME","ADDRESS","CITY","STATE","ZIP","FREE FORM COMMENTS" +"JOHN","ANAME","1234 CIRCLE CT","ELYRIA","OH","44035", "here is a comment" +"JIMMY","ZNAME","180 SOME ST","AVON","OH","44011","here is a +comment with some line breaks +in it" +"JANE","ANAME","111 MILKY WY +Lets See How It Does +With Some Breaks In The Address +Field","AVON","OH","44001", "comments here" +"FRED","ZNAME","123 ROCKY WY","ELYRIA","OH","12345","more comments" +"FRED","ZNAME","123 ROCKY WY","ELYRIA","OH","12345","" +"FRED","ZNAME line break +in the middle of +the last name","Text Qualifier " and seperator, +in string break +break +break","ELYRIA","OH","","last comment :)" Added: trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java =================================================================== --- trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java (rev 0) +++ trunk/PZFileReader/src/test/java/net/sf/pzfilereader/multiline/TestCSVPerformance.java 2006-10-17 17:10:39 UTC (rev 79) @@ -0,0 +1,89 @@ +package net.sf.pzfilereader.multiline; + +import java.io.File; + +import net.sf.pzfilereader.DataError; +import net.sf.pzfilereader.LargeDataSet; + +/* + * Created on Dec 1, 2005 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ + +/** + * @author zepernick + * + * TODO To change the template for this generated type comment go to Window - + * Preferences - Java - Code Style - Code Templates + */ +public class TestCSVPerformance { + + public static void main(final String[] args) { + + LargeDataSet ds = null; + String[] colNames = null; + + try { + + // delimited by a comma + // text qualified by double quotes + // ignore first record + long timeStarted = System.currentTimeMillis(); + ds = new LargeDataSet(new File("com/test/delim/multiLine/PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", false); + long timeFinished = System.currentTimeMillis(); + + String timeMessage = ""; + + if (timeFinished - timeStarted < 1000) { + timeMessage = (timeFinished - timeStarted) + " Milleseconds..."; + } else { + timeMessage = ((timeFinished - timeStarted) / 1000) + " Seconds..."; + } + + System.out.println(""); + System.out.println("********FILE PARSED IN: " + timeMessage + " ******"); + Thread.sleep(2000); // sleep for a couple seconds to the message + // above can be read + + timeStarted = System.currentTimeMillis(); + + int times = 0; + while (ds.next()) { + colNames = ds.getColumns(); + for (int i = 0; i < colNames.length; i++) { + System.out.println("COLUMN NAME: " + colNames[i] + " VALUE: " + ds.getString(colNames[i])); + } + + System.out.println("==========================================================================="); + times++; + } + timeFinished = System.currentTimeMillis(); + + if (timeFinished - timeStarted < 1000) { + timeMessage = (timeFinished - timeStarted) + " Milleseconds..."; + } else { + timeMessage = ((timeFinished - timeStarted) / 1000) + " Seconds..."; + } + + System.out.println(""); + System.out.println("********Displayed Data To Console In: " + timeMessage + " ******"); + + if (ds.getErrors() != null && ds.getErrors().size() > 0) { + System.out.println("FOUND ERRORS IN FILE...."); + for (int i = 0; i < ds.getErrors().size(); i++) { + final DataError de = (DataError) ds.getErrors().get(i); + System.out.println("Error: " + de.getErrorDesc() + " Line: " + de.getLineNo()); + } + } + + // clear out the DataSet object for the JVM to collect + ds.freeMemory(); + } catch (final Exception ex) { + ex.printStackTrace(); + } + + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:09:43
|
Revision: 78 http://svn.sourceforge.net/pzfilereader/?rev=78&view=rev Author: benoitx Date: 2006-10-17 10:09:30 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved to net.sf.pzfilereader Modified Paths: -------------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/ColumnMetaData.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/XMLRecordElement.java Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/ Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader; +package net.sf.pzfilereader; /** * This class holds errors that occured while parsing or processing a data file. Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader; +package net.sf.pzfilereader; import java.io.BufferedReader; import java.io.File; @@ -33,12 +33,12 @@ import java.util.Map; import java.util.NoSuchElementException; -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.structure.ColumnMetaData; -import com.pz.reader.structure.Row; -import com.pz.reader.util.ExcelTransformer; -import com.pz.reader.util.ParserUtils; -import com.pz.reader.xml.PZMapParser; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.structure.ColumnMetaData; +import net.sf.pzfilereader.structure.Row; +import net.sf.pzfilereader.util.ExcelTransformer; +import net.sf.pzfilereader.util.ParserUtils; +import net.sf.pzfilereader.xml.PZMapParser; /** * This class parses a datafile and holds methods to scroll back and forth @@ -1150,8 +1150,8 @@ * @param ob - * OrderBy object * @exception Exception - * @see com.pz.reader.ordering.OrderBy - * @see com.pz.reader.ordering.OrderColumn + * @see net.sf.pzfilereader.ordering.OrderBy + * @see net.sf.pzfilereader.ordering.OrderColumn */ public void orderRows(final OrderBy ob) throws Exception { //PZ try to handle other <records> by sending them to Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader; +package net.sf.pzfilereader; import java.io.BufferedReader; import java.io.File; @@ -22,11 +22,11 @@ import java.util.List; import java.util.Map; -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.structure.ColumnMetaData; -import com.pz.reader.structure.Row; -import com.pz.reader.util.ParserUtils; -import com.pz.reader.xml.PZMapParser; +import net.sf.pzfilereader.ordering.OrderBy; +import net.sf.pzfilereader.structure.ColumnMetaData; +import net.sf.pzfilereader.structure.Row; +import net.sf.pzfilereader.util.ParserUtils; +import net.sf.pzfilereader.xml.PZMapParser; /** * @author Paul Zepernick Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader; +package net.sf.pzfilereader; /** * Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderBy.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,14 +12,14 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.ordering; +package net.sf.pzfilereader.ordering; import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import com.pz.reader.structure.Row; -import com.pz.reader.util.ParserUtils; +import net.sf.pzfilereader.structure.Row; +import net.sf.pzfilereader.util.ParserUtils; /** * @author paul zepernick Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/OrderColumn.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.ordering; +package net.sf.pzfilereader.ordering; /** * @author paul zepernick Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/ColumnMetaData.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/ColumnMetaData.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/ColumnMetaData.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.structure; +package net.sf.pzfilereader.structure; /** * @author Paul zepernick Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/Row.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.structure; +package net.sf.pzfilereader.structure; import java.util.ArrayList; import java.util.List; Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ExcelTransformer.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.util; +package net.sf.pzfilereader.util; import java.io.File; @@ -23,7 +23,7 @@ import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; -import com.pz.reader.DataSet; +import net.sf.pzfilereader.DataSet; /** * @author Paul Zepernick Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ParserUtils.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.util; +package net.sf.pzfilereader.util; import java.io.BufferedReader; import java.io.File; @@ -30,8 +30,8 @@ import java.util.Map; import java.util.NoSuchElementException; -import com.pz.reader.structure.ColumnMetaData; -import com.pz.reader.xml.XMLRecordElement; +import net.sf.pzfilereader.structure.ColumnMetaData; +import net.sf.pzfilereader.xml.XMLRecordElement; /** * @author zepernick Static utilities that are used to perform parsing in the Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/PZMapParser.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.xml; +package net.sf.pzfilereader.xml; import java.io.File; import java.io.InputStream; @@ -27,8 +27,8 @@ import org.jdom.Element; import org.jdom.input.SAXBuilder; -import com.pz.reader.structure.ColumnMetaData; -import com.pz.reader.util.ParserUtils; +import net.sf.pzfilereader.structure.ColumnMetaData; +import net.sf.pzfilereader.util.ParserUtils; /** * @author zepernick Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ResolveLocalDTD.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.xml; +package net.sf.pzfilereader.xml; import java.io.IOException; import java.net.URL; Modified: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/XMLRecordElement.java =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/XMLRecordElement.java 2006-10-17 17:01:08 UTC (rev 77) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/XMLRecordElement.java 2006-10-17 17:09:30 UTC (rev 78) @@ -12,7 +12,7 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.pz.reader.xml; +package net.sf.pzfilereader.xml; import java.util.List; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 17:03:16
|
Revision: 77 http://svn.sourceforge.net/pzfilereader/?rev=77&view=rev Author: benoitx Date: 2006-10-17 10:01:08 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering/ Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/ordering/ Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ordering (from rev 76, trunk/PZFileReader/src/main/java/com/pz/reader/ordering) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:59:06
|
Revision: 76 http://svn.sourceforge.net/pzfilereader/?rev=76&view=rev Author: benoitx Date: 2006-10-17 09:58:11 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure/ Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/structure/ Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/structure (from rev 75, trunk/PZFileReader/src/main/java/com/pz/reader/structure) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:57:55
|
Revision: 75 http://svn.sourceforge.net/pzfilereader/?rev=75&view=rev Author: benoitx Date: 2006-10-17 09:57:27 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util/ Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/util/ Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/util (from rev 74, trunk/PZFileReader/src/main/java/com/pz/reader/util) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:55:19
|
Revision: 74 http://svn.sourceforge.net/pzfilereader/?rev=74&view=rev Author: benoitx Date: 2006-10-17 09:54:30 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml/ Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/xml/ Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/xml (from rev 73, trunk/PZFileReader/src/main/java/com/pz/reader/xml) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:53:59
|
Revision: 73 http://svn.sourceforge.net/pzfilereader/?rev=73&view=rev Author: benoitx Date: 2006-10-17 09:53:24 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/DataError.java Deleted: trunk/PZFileReader/src/main/java/com/pz/reader/DataError.java =================================================================== --- trunk/PZFileReader/src/main/java/com/pz/reader/DataError.java 2006-10-17 16:52:35 UTC (rev 72) +++ trunk/PZFileReader/src/main/java/com/pz/reader/DataError.java 2006-10-17 16:53:24 UTC (rev 73) @@ -1,96 +0,0 @@ -/* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. - */ -package com.pz.reader; - -/** - * This class holds errors that occured while parsing or processing a data file. - * - * @author Paul Zepernick - * @version 2.0 - */ -public class DataError { - - /** Description of error. */ - private String errorDesc = null; - - /** line number in file error occured on. */ - private int lineNo = 0; - - /** - * Severity of the error 1 = Warning 2 = Moderate 3 = Severe. - */ - private int errorLevel = 0; - - /** default constructor */ - public DataError() { - } - - /** - * Returns the errorDesc. - * - * @return String - */ - public String getErrorDesc() { - return errorDesc; - } - - /** - * Returns the errorLevel. - * - * @return int - */ - public int getErrorLevel() { - return errorLevel; - } - - /** - * Returns the lineNo. - * - * @return int - */ - public int getLineNo() { - return lineNo; - } - - /** - * Sets the errorDesc. - * - * @param errorDesc - * The errorDesc to set - */ - public void setErrorDesc(final String errorDesc) { - this.errorDesc = errorDesc; - } - - /** - * Sets the errorLevel. - * - * @param errorLevel - * The errorLevel to set - */ - public void setErrorLevel(final int errorLevel) { - this.errorLevel = errorLevel; - } - - /** - * Sets the lineNo. - * - * @param lineNo - * The lineNo to set - */ - public void setLineNo(final int lineNo) { - this.lineNo = lineNo; - } -} Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java (from rev 72, trunk/PZFileReader/src/main/java/com/pz/reader/DataError.java) =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java (rev 0) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataError.java 2006-10-17 16:53:24 UTC (rev 73) @@ -0,0 +1,96 @@ +/* + Copyright 2006 Paul Zepernick + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the License. + */ +package com.pz.reader; + +/** + * This class holds errors that occured while parsing or processing a data file. + * + * @author Paul Zepernick + * @version 2.0 + */ +public class DataError { + + /** Description of error. */ + private String errorDesc = null; + + /** line number in file error occured on. */ + private int lineNo = 0; + + /** + * Severity of the error 1 = Warning 2 = Moderate 3 = Severe. + */ + private int errorLevel = 0; + + /** default constructor */ + public DataError() { + } + + /** + * Returns the errorDesc. + * + * @return String + */ + public String getErrorDesc() { + return errorDesc; + } + + /** + * Returns the errorLevel. + * + * @return int + */ + public int getErrorLevel() { + return errorLevel; + } + + /** + * Returns the lineNo. + * + * @return int + */ + public int getLineNo() { + return lineNo; + } + + /** + * Sets the errorDesc. + * + * @param errorDesc + * The errorDesc to set + */ + public void setErrorDesc(final String errorDesc) { + this.errorDesc = errorDesc; + } + + /** + * Sets the errorLevel. + * + * @param errorLevel + * The errorLevel to set + */ + public void setErrorLevel(final int errorLevel) { + this.errorLevel = errorLevel; + } + + /** + * Sets the lineNo. + * + * @param lineNo + * The lineNo to set + */ + public void setLineNo(final int lineNo) { + this.lineNo = lineNo; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:52:58
|
Revision: 72 http://svn.sourceforge.net/pzfilereader/?rev=72&view=rev Author: benoitx Date: 2006-10-17 09:52:35 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/DataSet.java Deleted: trunk/PZFileReader/src/main/java/com/pz/reader/DataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/com/pz/reader/DataSet.java 2006-10-17 16:51:42 UTC (rev 71) +++ trunk/PZFileReader/src/main/java/com/pz/reader/DataSet.java 2006-10-17 16:52:35 UTC (rev 72) @@ -1,1274 +0,0 @@ -/* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. - */ -package com.pz.reader; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Statement; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.NoSuchElementException; - -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.structure.ColumnMetaData; -import com.pz.reader.structure.Row; -import com.pz.reader.util.ExcelTransformer; -import com.pz.reader.util.ParserUtils; -import com.pz.reader.xml.PZMapParser; - -/** - * This class parses a datafile and holds methods to scroll back and forth - * through the datafile along with methods to retreive values from columns. - * - * @author Paul Zepernick - * @version 2.0.1 - */ -public class DataSet { - - /** Array to hold the rows and their values in the text file */ - private List rows = null; - - /** Array of errors that have occured during processing */ - private List errors = null; - - /** Map of column metadata's */ - private Map columnMD = null; - - /** Pointer for the current row in the array we are on */ - private int pointer = -1; - - /** flag to indicate if data should be pulled as lower case */ - private boolean lowerCase = false; - - /** flag to inidicate if data should be pulled as upper case */ - private boolean upperCase = false; - - /** - * flag to indicate if a strict parse should be used when getting doubles - * and ints - */ - private boolean strictNumericParse = false; - - /** - * Flag to indicate that we can cope with lines shorter than the required - * lengh - */ - private boolean handleShortLines = false; - - /** - * empty constructor. THIS SHOULD ONLY BE USED FOR CUSTOM DataSet - * implementations. It provides NO parsing abilities - */ - public DataSet() { - } - - /** - * Constructs a new DataSet using the database table file layout method. - * This is used for a FIXED LENGTH text file. - * - * @param con - - * Connection to database with DATAFILE and DATASTRUCTURE tables - * @param dataSource - - * Fixed length file to read from - * @param dataDefinition - - * Name of dataDefinition in the DATAFILE table DATAFILE_DESC - * column - * @param handleShortLines - - * Pad lines out to fit the fixed length - * @exception Exception - */ - public DataSet(final Connection con, final File dataSource, final String dataDefinition, final boolean handleShortLines) - throws Exception { - this(con, ParserUtils.createInputStream(dataSource), dataDefinition, handleShortLines); - } - - /** - * Constructs a new DataSet using the database table file layout method. - * This is used for a FIXED LENGTH text file. - * - * @param con - - * Connection to database with DATAFILE and DATASTRUCTURE tables - * @param dataSourceStream - - * text file datasource InputStream to read from - * @param dataDefinition - - * Name of dataDefinition in the DATAFILE table DATAFILE_DESC - * column - * @param handleShortLines - - * Pad lines out to fit the fixed length - * @exception Exception - */ - public DataSet(final Connection con, final InputStream dataSourceStream, final String dataDefinition, - final boolean handleShortLines) throws Exception { - super(); - this.handleShortLines = handleShortLines; - - String sql = null; - ResultSet rs = null; - Statement stmt = null; - ColumnMetaData column = null; - boolean hasResults = false; - int recPosition = 1; - final List cmds = new ArrayList(); - - try { - columnMD = new LinkedHashMap(); - stmt = con.createStatement(); - - sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " - + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; - - rs = stmt.executeQuery(sql); - - // put array of columns together. These will be used to put together - // the dataset when reading in the file - while (rs.next()) { - - column = new ColumnMetaData(); - column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); - column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); - column.setStartPosition(recPosition); - column.setEndPosition(recPosition + (rs.getInt("DATASTRUCTURE_LENGTH") - 1)); - recPosition += rs.getInt("DATASTRUCTURE_LENGTH"); - - cmds.add(column); - - hasResults = true; - } - - columnMD.put("detail", cmds); - - if (!hasResults) { - throw new FileNotFoundException("DATA DEFINITION CAN NOT BE FOUND IN THE DATABASE " + dataDefinition); - } - - // read in the fixed length file and construct the DataSet object - doFixedLengthFile(dataSourceStream); - - } finally { - if (rs != null) { - rs.close(); - } - if (stmt != null) { - stmt.close(); - } - } - - } - - /** - * Constructs a new DataSet using the database table file layout method. - * This is used for a DELIMITED text file. esacpe sequence reference: \n - * newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param con - - * Connection to database with DATAFILE and DATASTRUCTURE tables - * @param dataSource - - * text file datasource to read from - * @param dataDefinition - - * Name of dataDefinition in the DATAFILE table DATAFILE_DESC - * column - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param ignoreFirstRecord - - * skips the first line that contains data in the file - * @param handleShortLines - - * Adds missing columns as empty's to the DataSet instead of - * logging them as an error - * @exception Exception - */ - public DataSet(final Connection con, final File dataSource, final String dataDefinition, final String delimiter, - final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { - this(con, ParserUtils.createInputStream(dataSource), dataDefinition, delimiter, qualifier, ignoreFirstRecord, - handleShortLines); - } - - /** - * New constructor based on InputStream. Constructs a new DataSet using the - * database table file layout method. This is used for a DELIMITED text - * file. esacpe sequence reference: \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param con - - * Connection to database with DATAFILE and DATASTRUCTURE tables - * @param dataSourceStream - - * text file datasource InputStream to read from - * @param dataDefinition - - * Name of dataDefinition in the DATAFILE table DATAFILE_DESC - * column - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param ignoreFirstRecord - - * skips the first line that contains data in the file - * @param handleShortLines - - * Adds missing columns as empty's to the DataSet instead of - * logging them as an error - * @exception Exception - */ - public DataSet(final Connection con, final InputStream dataSourceStream, final String dataDefinition, final String delimiter, - final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { - super(); - - this.handleShortLines = handleShortLines; - - String sql = null; - ResultSet rs = null; - Statement stmt = null; - ColumnMetaData column = null; - boolean hasResults = false; - final List cmds = new ArrayList(); - - try { - columnMD = new LinkedHashMap(); - stmt = con.createStatement(); - - sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " - + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; - - rs = stmt.executeQuery(sql); - - // put array of columns together. These will be used to put together - // the dataset when reading in the file - while (rs.next()) { - - column = new ColumnMetaData(); - column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); - column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); - cmds.add(column); - - hasResults = true; - } - - columnMD.put("detail", cmds); - - if (!hasResults) { - throw new FileNotFoundException("DATA DEFINITION CAN NOT BE FOUND IN THE DATABASE " + dataDefinition); - } - - // read in the fixed length file and construct the DataSet object - doDelimitedFile(dataSourceStream, delimiter, qualifier, ignoreFirstRecord, false); - - } finally { - if (rs != null) { - rs.close(); - } - if (stmt != null) { - stmt.close(); - } - } - - } - - /** - * Constructs a new DataSet using the PZMAP XML file layout method. This is - * used for a DELIMITED text file. esacpe sequence reference: \n newline - * <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param pzmapXML - - * Reference to the xml file holding the pzmap - * @param dataSource - - * text file datasource to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param ignoreFirstRecord - - * skips the first line that contains data in the file - * @param handleShortLines - - * Adds missing columns as empty's to the DataSet instead of - * logging them as an error - * @exception Exception - */ - public DataSet(final File pzmapXML, final File dataSource, final String delimiter, final String qualifier, - final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { - this(ParserUtils.createInputStream(pzmapXML), ParserUtils.createInputStream(dataSource), delimiter, qualifier, - ignoreFirstRecord, handleShortLines); - } - - /** - * New constructor based on InputStream. Constructs a new DataSet using the - * PZMAP XML file layout method. This is used for a DELIMITED text file. - * esacpe sequence reference: \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param pzmapXMLStream - - * Reference to the xml file holding the pzmap - * @param dataSourceStream - - * text file datasource InputStream to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param ignoreFirstRecord - - * skips the first line that contains data in the file - * @param handleShortLines - - * Adds missing columns as empty's to the DataSet instead of - * logging them as an error - * @exception Exception - */ - public DataSet(final InputStream pzmapXMLStream, final InputStream dataSourceStream, final String delimiter, - final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { - - this.handleShortLines = handleShortLines; - columnMD = PZMapParser.parse(pzmapXMLStream); - - doDelimitedFile(dataSourceStream, delimiter, qualifier, ignoreFirstRecord, false); - - } - - /** - * Constructs a new DataSet using the first line of data found in the text - * file as the column names. This is used for a DELIMITED text file. esacpe - * sequence reference: \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param dataSource - - * text file datasource to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param handleShortLines - - * when flaged as true, lines with less columns then the amount - * of column headers will be added as empty's instead of - * producing an error - * @exception Exception - */ - public DataSet(final File dataSource, final String delimiter, final String qualifier, final boolean handleShortLines) - throws Exception { - - this.handleShortLines = handleShortLines; - InputStream dataSourceStream = null; - - try { - dataSourceStream = ParserUtils.createInputStream(dataSource); - doDelimitedFile(dataSourceStream, delimiter, qualifier, false, true); - } finally { - if (dataSourceStream != null) { - dataSourceStream.close(); - } - } - } - - /** - * Constructs a new DataSet using the first line of data found in the text - * file as the column names. This is used for a DELIMITED text file. esacpe - * sequence reference: \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param dataSource - - * text file InputStream to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param handleShortLines - - * when flaged as true, lines with less columns then the amount - * of column headers will be added as empty's instead of - * producing an error - * @exception Exception - */ - public DataSet(final InputStream dataSource, final String delimiter, final String qualifier, final boolean handleShortLines) - throws Exception { - - this.handleShortLines = handleShortLines; - - try { - doDelimitedFile(dataSource, delimiter, qualifier, false, true); - } finally { - if (dataSource != null) { - dataSource.close(); - } - } - } - - /** - * Constructs a new DataSet using the PZMAP XML file layout method. This is - * used for a FIXED LENGTH text file. - * - * @param pzmapXML - - * Reference to the xml file holding the pzmap - * @param dataSource - - * Delimited file to read from - * @param handleShortLines - - * Pad lines out to fit the fixed length - * @exception Exception - */ - public DataSet(final File pzmapXML, final File dataSource, final boolean handleShortLines) throws Exception { - this(ParserUtils.createInputStream(pzmapXML), ParserUtils.createInputStream(dataSource), handleShortLines); - } - - /** - * New constructor based on InputStream. Constructs a new DataSet using the - * PZMAP XML file layout method. This is used for a FIXED LENGTH text file. - * - * @param pzmapXMLStream - - * Reference to the xml file InputStream holding the pzmap - * @param dataSourceStream - - * Delimited file InputStream to read from - * @param handleShortLines - - * Pad lines out to fit the fixed length - * @exception Exception - */ - public DataSet(final InputStream pzmapXMLStream, final InputStream dataSourceStream, final boolean handleShortLines) - throws Exception { - - this.handleShortLines = handleShortLines; - - columnMD = PZMapParser.parse(pzmapXMLStream); - - // read in the fixed length file and construct the DataSet object - doFixedLengthFile(dataSourceStream); - - } - - /* - * This is the new version of doDelimitedFile using InputStrem instead of - * File. This is more flexible especially it is working with WebStart. - * - * puts together the dataset for fixed length file. This is used for PZ XML - * mappings, and SQL table mappings - */ - private void doFixedLengthFile(final InputStream dataSource) throws Exception { - String line = null; - InputStreamReader isr = null; - BufferedReader br = null; - Row row = null; - int recordLength = 0; - int lineCount = 0; - int recPosition = 0; - // map of record lengths corrisponding to the ID's in the columnMD array - Map recordLengths = null; - String mdkey = null; - List cmds = null; - - try { - rows = new ArrayList(); - errors = new ArrayList(); - - recordLengths = ParserUtils.calculateRecordLengths(columnMD); - - // Read in the flat file - isr = new InputStreamReader(dataSource); - br = new BufferedReader(isr); - // loop through each line in the file - while ((line = br.readLine()) != null) { - lineCount++; - // empty line skip past it - if (line.trim().length() == 0) { - continue; - } - - mdkey = ParserUtils.getCMDKeyForFixedLengthFile(columnMD, line); - recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); - cmds = ParserUtils.getColumnMetaData(mdkey, columnMD); - - // Incorrect record length on line log the error. Line will not - // be included in the - // dataset - if (line.length() > recordLength) { - addError("LINE TOO LONG. LINE IS " + line.length() + " LONG. SHOULD BE " + recordLength, lineCount, 2); - continue; - } else if (line.length() < recordLength) { - if (handleShortLines) { - // We can pad this line out - while (line.length() < recordLength) { - line = line + " "; - } - - // log a warning - addError("PADDED LINE TO CORRECT RECORD LENGTH", lineCount, 1); - - } else { - addError("LINE TOO SHORT. LINE IS " + line.length() + " LONG. SHOULD BE " + recordLength, lineCount, 2); - continue; - } - } - - recPosition = 1; - row = new Row(); - row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try - // to - // limit - // the - // memory - // use - // Build the columns for the row - for (int i = 0; i < cmds.size(); i++) { - String tempValue = null; - tempValue = line - .substring(recPosition - 1, recPosition + (((ColumnMetaData) cmds.get(i)).getColLength() - 1)); - recPosition += ((ColumnMetaData) cmds.get(i)).getColLength(); - row.addColumn(tempValue.trim()); - } - row.setRowNumber(lineCount); - // add the row to the array - rows.add(row); - } - } finally { - if (isr != null) { - isr.close(); - } - if (br != null) { - br.close(); - } - } - } - - /* - * This is the new version of doDelimitedFile using InputStrem instead of - * File. This is more flexible especially it is working with WebStart. - * - * puts together the dataset for a DELIMITED file. This is used for PZ XML - * mappings, and SQL table mappings - */ - private void doDelimitedFile(final InputStream dataSource, final String delimiter, final String qualifier, - final boolean ignoreFirstRecord, final boolean createMDFromFile) throws Exception { - if (dataSource == null) { - throw new NullPointerException("dataSource is null"); - } - String line = null; - - InputStreamReader isr = null; - BufferedReader br = null; - Row row = null; - int columnCount = 0; - int lineCount = 0; - List columns = null; - boolean processedFirst = false; - boolean processingMultiLine = false; - String lineData = ""; - List cmds = null; - String mdkey = null; - - try { - rows = new ArrayList(); - errors = new ArrayList(); - - // get the total column count - // columnCount = columnMD.size(); - - /** Read in the flat file */ - // fr = new FileReader(dataSource.getAbsolutePath()); - isr = new InputStreamReader(dataSource); - br = new BufferedReader(isr); - /** loop through each line in the file */ - while ((line = br.readLine()) != null) { - lineCount++; - /** empty line skip past it */ - if (!processingMultiLine && line.trim().length() == 0) { - continue; - } - - // check to see if the user has elected to skip the first record - if (!processedFirst && ignoreFirstRecord) { - processedFirst = true; - continue; - } else if (!processedFirst && createMDFromFile) { - processedFirst = true; - columnMD = ParserUtils.getColumnMDFromFile(line, delimiter, qualifier); - continue; - } - - // ******************************************************** - // new functionality as of 2.1.0 check to see if we have - // any line breaks in the middle of the record, this will only - // be checked if we have specified a delimiter - // ******************************************************** - final char[] chrArry = line.trim().toCharArray(); - if (!processingMultiLine && delimiter != null && delimiter.trim().length() > 0) { - processingMultiLine = ParserUtils.isMultiLine(chrArry, delimiter, qualifier); - } - - // check to see if we have reached the end of the linebreak in - // the record - - if (processingMultiLine && lineData.trim().length() > 0) { - // need to do one last check here. it is possible that the " - // could be part of the data - // excel will escape these with another quote; here is some - // data "" This would indicate - // there is more to the multiline - if (line.trim().endsWith(qualifier) && !line.trim().endsWith(qualifier + qualifier)) { - // it is safe to assume we have reached the end of the - // line break - processingMultiLine = false; - if (lineData.trim().length() > 0) { - lineData += "\r\n"; - } - lineData += line; - } else { - - // check to see if this is the last line of the record - // looking for a qualifier followed by a delimiter - if (lineData.trim().length() > 0) { - lineData += "\r\n"; - } - lineData += line; - boolean qualiFound = false; - for (int i = 0; i < chrArry.length; i++) { - if (qualiFound) { - if (chrArry[i] == ' ') { - continue; - } else { - // not a space, if this char is the - // delimiter, then we have reached the end - // of - // the record - if (chrArry[i] == delimiter.charAt(0)) { - // processingMultiLine = false; - // fix put in, setting to false caused - // bug when processing multiple - // multi-line - // columns on the same record - processingMultiLine = ParserUtils.isMultiLine(chrArry, delimiter, qualifier); - break; - } - qualiFound = false; - continue; - } - } else if (chrArry[i] == qualifier.charAt(0)) { - qualiFound = true; - } - } - // check to see if we are still in multi line mode, if - // so grab the next line - if (processingMultiLine) { - continue; - } - } - } else { - // throw the line into lineData var. - lineData += line; - if (processingMultiLine) { - continue; // if we are working on a multiline rec, get - // the data on the next line - } - } - // ******************************************************************** - // end record line break logic - // ******************************************************************** - - // column values - columns = ParserUtils.splitLine(lineData, delimiter, qualifier); - lineData = ""; - mdkey = ParserUtils.getCMDKeyForDelimitedFile(columnMD, columns); - cmds = ParserUtils.getColumnMetaData(mdkey, columnMD); - columnCount = cmds.size(); - // DEBUG - - // Incorrect record length on line log the error. Line - // will not be included in the dataset - if (columns.size() > columnCount) { - // log the error - addError("TOO MANY COLUMNS WANTED: " + columnCount + " GOT: " + columns.size(), lineCount, 2); - continue; - } else if (columns.size() < columnCount) { - if (handleShortLines) { - // We can pad this line out - while (columns.size() < columnCount) { - columns.add(""); - } - - // log a warning - addError("PADDED LINE TO CORRECT NUMBER OF COLUMNS", lineCount, 1); - - } else { - addError("TOO FEW COLUMNS WANTED: " + columnCount + " GOT: " + columns.size(), lineCount, 2); - continue; - } - } - - row = new Row(); - row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try - // to - // limit - // the - // memory - // use - row.setCols(columns); - row.setRowNumber(lineCount); - /** add the row to the array */ - rows.add(row); - } - } finally { - if (isr != null) { - isr.close(); - } - if (br != null) { - br.close(); - } - } - } - - /** - * Changes the value of a specified column in a row in the set. This change - * is in memory, and does not actually change the data in the file that was - * read in. - * - * @param columnName - - * String Name of the column - * @param value - - * String value to assign to the column. - * @exception Exception - - * exception will be thrown if pointer in not on a valid row - */ - public void setValue(final String columnName, final String value) throws Exception { - Row row = null; - - /** get a reference to the row */ - row = (Row) rows.get(pointer); - final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - /** change the value of the column */ - row.setValue(ParserUtils.findColumn(columnName, cmds), value); - - } - - /** - * Goes to the top of the data set. This will put the pointer one record - * before the first in the set. Next() will have to be called to get the - * first record after this call. - */ - public void goTop() { - pointer = -1; - } - - /** - * Goes to the last record in the dataset - */ - public void goBottom() { - pointer = rows.size() - 1; - } - - /** - * Moves to the next record in the set. Returns true if move was a success, - * false if not - * - * @return boolean - */ - public boolean next() { - if (pointer < rows.size() && pointer + 1 != rows.size()) { - pointer++; - return true; - } - return false; - } - - /** - * Moves back to the previous record in the set return true if move was a - * success, false if not - * - * @return boolean - */ - public boolean previous() { - if (pointer <= 0) { - return false; - } - pointer--; - return true; - } - - /** - * Returns the string value of a specified column - * - * @param column - - * Name of the column - * @exception NoSuchElementException - * @return String - */ - public String getString(final String column) { - final Row row = (Row) rows.get(pointer); - final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - - if (upperCase) { - // convert data to uppercase before returning - return row.getValue(ParserUtils.findColumn(column, cmds)).toUpperCase(Locale.getDefault()); - } - - if (lowerCase) { - // convert data to lowercase before returning - return row.getValue(ParserUtils.findColumn(column, cmds)).toLowerCase(Locale.getDefault()); - } - - // return value as how it is in the file - return row.getValue(ParserUtils.findColumn(column, cmds)); - } - - /** - * Returns the double value of a specified column - * - * @param column - - * Name of the column - * @exception NoSuchElementException - * @exception NumberFormatException - * @return double - */ - public double getDouble(final String column) { - String s = null; - final StringBuffer newString = new StringBuffer(); - final String[] allowedChars = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "-" }; - final Row row = (Row) rows.get(pointer); - - final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - s = ((Row) rows.get(pointer)).getValue(ParserUtils.findColumn(column, cmds)); - - if (!strictNumericParse) { - if (s.trim().length() == 0) { - return 0; - } - for (int i = 0; i < s.length(); i++) { - for (int j = 0; j < allowedChars.length; j++) { - if (s.substring(i, i + 1).equals(allowedChars[j])) { - newString.append(s.substring(i, i + 1)); - break; - } - } - } - if (newString.length() == 0 || (newString.length() == 1 && newString.toString().equals(".")) - || (newString.length() == 1 && newString.toString().equals("-"))) { - newString.append("0"); - } - } else { - newString.append(s); - } - - return Double.parseDouble(newString.toString()); - } - - /** - * Returns the interger value of a specified column - * - * @param column - - * Name of the column - * @exception NoSuchElementException - * @exception NumberFormatException - * @return double - */ - public int getInt(final String column) { - String s = null; - final StringBuffer newString = new StringBuffer(); - final String[] allowedChars = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-" }; - final Row row = (Row) rows.get(pointer); - final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - - s = row.getValue(ParserUtils.findColumn(column, cmds)); - - if (!strictNumericParse) { - if (s.trim().length() == 0) { - return 0; - } - for (int i = 0; i < s.length(); i++) { - for (int j = 0; j < allowedChars.length; j++) { - if (s.substring(i, i + 1).equals(allowedChars[j])) { - newString.append(s.substring(i, i + 1)); - break; - } - } - } - // check to make sure we do not have a single length string with - // just a minus sign - if (newString.length() == 0 || (newString.length() == 1 && newString.toString().equals("-"))) { - newString.append("0"); - } - } else { - newString.append(s); - } - - return Integer.parseInt(newString.toString()); - } - - /** - * Returns the date value of a specified column. This assumes the date is in - * yyyyMMdd. If your date is not in this format, see - * getDate(String,SimpleDateFormat) - * - * @param column - - * Name of the column - * @exception ParseException - * @return Date - */ - public Date getDate(final String column) throws ParseException { - final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - String s = null; - final Row row = (Row) rows.get(pointer); - final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - - s = row.getValue(ParserUtils.findColumn(column, cmds)); - return sdf.parse(s); - } - - /** - * Returns the date value of a specified column. This should be used if the - * date is NOT in yyyyMMdd format. The SimpleDateFormat object will specify - * what kind of format the date is in. - * - * @param column - - * Name of the column - * @param sdf - - * SimpleDateFormat of the date - * @exception ParseException - * @see java.text.SimpleDateFormat - * @return Date - */ - public Date getDate(final String column, final SimpleDateFormat sdf) throws ParseException { - String s = null; - final Row row = (Row) rows.get(pointer); - final List cmds = ParserUtils.getColumnMetaData(row.getMdkey(), columnMD); - - s = row.getValue(ParserUtils.findColumn(column, cmds)); - return sdf.parse(s); - } - - /** - * Returns a String array of column names in the DataSet. This will assume - * 'detail' <RECORD> ID. - * - * @return String[] - */ - public String[] getColumns() { - ColumnMetaData column = null; - String[] array = null; - - if (columnMD != null) { - final List cmds = ParserUtils.getColumnMetaData("detail", columnMD); - array = new String[cmds.size()]; - for (int i = 0; i < cmds.size(); i++) { - column = (ColumnMetaData) cmds.get(i); - array[i] = column.getColName(); - } - } - - return array; - } - - /** - * Returns a String array of column names in the DataSet for a given - * <RECORD> id - * - * @param recordID - * @return String[] - */ - public String[] getColumns(final String recordID) { - ColumnMetaData column = null; - String[] array = null; - - if (columnMD != null) { - final List cmds = ParserUtils.getColumnMetaData(recordID, columnMD); - array = new String[cmds.size()]; - for (int i = 0; i < cmds.size(); i++) { - column = (ColumnMetaData) cmds.get(i); - array[i] = column.getColName(); - } - } - - return array; - } - - /** - * Returns the line number the pointer is on. These are the actual line - * numbers from the flat file, before any sorting. - * - * @exception NoSuchElementException - * @exception NumberFormatException - * @return int - */ - public int getRowNo() { - return ((Row) rows.get(pointer)).getRowNumber(); - } - - /** - * Returns A Collection Of DataErrors that happened during processing - * - * @return Vector - */ - public List getErrors() { - return errors; - } - - /** - * Adds a new error to this DataSet. These can be collected, and retreived - * after processing - * - * @param errorDesc - - * String description of error - * @param lineNo - - * int line number error occured on - * @param errorLevel - - * int errorLevel 1,2,3 1=warning 2=error 3= severe error - */ - public void addError(final String errorDesc, final int lineNo, final int errorLevel) { - final DataError de = new DataError(); - de.setErrorDesc(errorDesc); - de.setLineNo(lineNo); - de.setErrorLevel(errorLevel); - errors.add(de); - } - - /** - * Removes a row from the dataset. Once the row is removed the pointer will - * be sitting on the record previous to the deleted row. - */ - public void remove() { - rows.remove(pointer); - pointer--; - } - - /** - * Returns the index the pointer is on for the array - * - * @return int - */ - public int getIndex() { - return pointer; - } - - /** - * Sets the absolute position of the record pointer - * - * @param localPointer - - * int - * @exception IndexOutOfBoundsException - */ - public void absolute(final int localPointer) { - if (localPointer < 0 || localPointer > rows.size() - 1) { - throw new IndexOutOfBoundsException("INVALID POINTER LOCATION: " + localPointer); - } - - pointer = localPointer; - } - - /** - * Checks to see if the row has the given <RECORD> id - * - * @param recordID - * @return boolean - */ - public boolean isRecordID(final String recordID) { - String rowID = ((Row) rows.get(pointer)).getMdkey(); - if (rowID == null) { - rowID = "detail"; - } - - return rowID.equals(recordID); - } - - /** - * Returns the total number of rows parsed in from the file - * - * - * @return int - Row Count - */ - public int getRowCount() { - return rows.size(); - } - - /** - * Returns total number of records which contained a parse error in the - * file. - * - * @return int - Record Error Count - */ - public int getErrorCount() { - if (getErrors() != null) { - return getErrors().size(); - } - - return 0; - } - - /** - * Returns true or false as to whether or not the line number contains an - * error. The import will skip the line if it contains an error and it will - * not be processed - * - * @param lineNo - - * int line number - * @return boolean - */ - public boolean isAnError(final int lineNo) { - for (int i = 0; i < errors.size(); i++) { - if (((DataError) errors.get(i)).getLineNo() == lineNo && ((DataError) errors.get(i)).getErrorLevel() > 1) { - return true; - } - } - return false; - } - - /** - * Orders the data by column(s) specified. This will reposition the cursor - * to the top of the DataSet when executed. This is currently not supported - * when specying <RECORD> elements in the mapping. An exception will be - * thrown if this situation occurs - * - * @param ob - - * OrderBy object - * @exception Exception - * @see com.pz.reader.ordering.OrderBy - * @see com.pz.reader.ordering.OrderColumn - */ - public void orderRows(final OrderBy ob) throws Exception { - //PZ try to handle other <records> by sending them to - //the bottom of the sort - // if (columnMD.size() > 1) { - // throw new Exception("orderRows does not currently support ordering with <RECORD> mappings"); - // } - final List cmds = ParserUtils.getColumnMetaData("detail", columnMD); - if (ob != null && rows != null) { - ob.setColumnMD(cmds); - Collections.sort(rows, ob); - goTop(); - } - } - - /** - * Sets data in the DataSet to lowercase - */ - public void setLowerCase() { - upperCase = false; - lowerCase = true; - } - - /** - * Sets data in the DataSet to uppercase - */ - public void setUpperCase() { - upperCase = true; - lowerCase = false; - } - - /** - * Setting this to True will parse text as is and throw a - * NumberFormatException. Setting to false, which is the default, will - * remove any non numeric charcter from the field. The remaining numeric - * chars's will be returned. If it is an empty string,or there are no - * numeric chars, 0 will be returned for getInt() and getDouble() - * - * @param strictNumericParse - * The strictNumericParse to set. - */ - public void setStrictNumericParse(final boolean strictNumericParse) { - this.strictNumericParse = strictNumericParse; - } - - /** - * erases the dataset and releases memory for the JVM to reclaim - */ - public void freeMemory() { - if (rows != null) { - rows.clear(); - } - if (errors != null) { - errors.clear(); - } - if (columnMD != null) { - columnMD.clear(); - } - } - - /** - * Writes this current DataSet out to the specified Excel file - * - * @param excelFileToBeWritten - * @exception Exception - */ - public void writeToExcel(final File excelFileToBeWritten) throws Exception { - - final ExcelTransformer et = new ExcelTransformer(this, excelFileToBeWritten); - et.writeExcelFile(); - - } - - /** - * Returns the version number of this pzFileReader - * - * @return String - */ - public String getReaderVersion() { - return Version.VERSION; - } - - /** - * @return Returns the handleShortLines. - */ - public boolean isHandleShortLines() { - return handleShortLines; - } - - /** - * This is used for LargeDataSet compatability. Setting this will have no - * affect on the DataSet parser. It must be passed on the constructor - * - * @param handleShortLines - * The handleShortLines to set. - */ - public void setHandleShortLines(final boolean handleShortLines) { - this.handleShortLines = handleShortLines; - } - - public Map getColumnMD() { - return columnMD; - } - - public void setColumnMD(Map columnMD) { - this.columnMD = columnMD; - } - - public List getRows() { - return rows; - } - - public void setRows(List rows) { - this.rows = rows; - } - - public void setErrors(List errors) { - this.errors = errors; - } -} Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java (from rev 71, trunk/PZFileReader/src/main/java/com/pz/reader/DataSet.java) =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java (rev 0) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/DataSet.java 2006-10-17 16:52:35 UTC (rev 72) @@ -0,0 +1,1274 @@ +/* + Copyright 2006 Paul Zepernick + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the License. + */ +package com.pz.reader; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.NoSuchElementException; + +import com.pz.reader.ordering.OrderBy; +import com.pz.reader.structure.ColumnMetaData; +import com.pz.reader.structure.Row; +import com.pz.reader.util.ExcelTransformer; +import com.pz.reader.util.ParserUtils; +import com.pz.reader.xml.PZMapParser; + +/** + * This class parses a datafile and holds methods to scroll back and forth + * through the datafile along with methods to retreive values from columns. + * + * @author Paul Zepernick + * @version 2.0.1 + */ +public class DataSet { + + /** Array to hold the rows and their values in the text file */ + private List rows = null; + + /** Array of errors that have occured during processing */ + private List errors = null; + + /** Map of column metadata's */ + private Map columnMD = null; + + /** Pointer for the current row in the array we are on */ + private int pointer = -1; + + /** flag to indicate if data should be pulled as lower case */ + private boolean lowerCase = false; + + /** flag to inidicate if data should be pulled as upper case */ + private boolean upperCase = false; + + /** + * flag to indicate if a strict parse should be used when getting doubles + * and ints + */ + private boolean strictNumericParse = false; + + /** + * Flag to indicate that we can cope with lines shorter than the required + * lengh + */ + private boolean handleShortLines = false; + + /** + * empty constructor. THIS SHOULD ONLY BE USED FOR CUSTOM DataSet + * implementations. It provides NO parsing abilities + */ + public DataSet() { + } + + /** + * Constructs a new DataSet using the database table file layout method. + * This is used for a FIXED LENGTH text file. + * + * @param con - + * Connection to database with DATAFILE and DATASTRUCTURE tables + * @param dataSource - + * Fixed length file to read from + * @param dataDefinition - + * Name of dataDefinition in the DATAFILE table DATAFILE_DESC + * column + * @param handleShortLines - + * Pad lines out to fit the fixed length + * @exception Exception + */ + public DataSet(final Connection con, final File dataSource, final String dataDefinition, final boolean handleShortLines) + throws Exception { + this(con, ParserUtils.createInputStream(dataSource), dataDefinition, handleShortLines); + } + + /** + * Constructs a new DataSet using the database table file layout method. + * This is used for a FIXED LENGTH text file. + * + * @param con - + * Connection to database with DATAFILE and DATASTRUCTURE tables + * @param dataSourceStream - + * text file datasource InputStream to read from + * @param dataDefinition - + * Name of dataDefinition in the DATAFILE table DATAFILE_DESC + * column + * @param handleShortLines - + * Pad lines out to fit the fixed length + * @exception Exception + */ + public DataSet(final Connection con, final InputStream dataSourceStream, final String dataDefinition, + final boolean handleShortLines) throws Exception { + super(); + this.handleShortLines = handleShortLines; + + String sql = null; + ResultSet rs = null; + Statement stmt = null; + ColumnMetaData column = null; + boolean hasResults = false; + int recPosition = 1; + final List cmds = new ArrayList(); + + try { + columnMD = new LinkedHashMap(); + stmt = con.createStatement(); + + sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; + + rs = stmt.executeQuery(sql); + + // put array of columns together. These will be used to put together + // the dataset when reading in the file + while (rs.next()) { + + column = new ColumnMetaData(); + column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); + column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); + column.setStartPosition(recPosition); + column.setEndPosition(recPosition + (rs.getInt("DATASTRUCTURE_LENGTH") - 1)); + recPosition += rs.getInt("DATASTRUCTURE_LENGTH"); + + cmds.add(column); + + hasResults = true; + } + + columnMD.put("detail", cmds); + + if (!hasResults) { + throw new FileNotFoundException("DATA DEFINITION CAN NOT BE FOUND IN THE DATABASE " + dataDefinition); + } + + // read in the fixed length file and construct the DataSet object + doFixedLengthFile(dataSourceStream); + + } finally { + if (rs != null) { + rs.close(); + } + if (stmt != null) { + stmt.close(); + } + } + + } + + /** + * Constructs a new DataSet using the database table file layout method. + * This is used for a DELIMITED text file. esacpe sequence reference: \n + * newline <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param con - + * Connection to database with DATAFILE and DATASTRUCTURE tables + * @param dataSource - + * text file datasource to read from + * @param dataDefinition - + * Name of dataDefinition in the DATAFILE table DATAFILE_DESC + * column + * @param delimiter - + * Char the file is delimited By + * @param qualifier - + * Char text is qualified by + * @param ignoreFirstRecord - + * skips the first line that contains data in the file + * @param handleShortLines - + * Adds missing columns as empty's to the DataSet instead of + * logging them as an error + * @exception Exception + */ + public DataSet(final Connection con, final File dataSource, final String dataDefinition, final String delimiter, + final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { + this(con, ParserUtils.createInputStream(dataSource), dataDefinition, delimiter, qualifier, ignoreFirstRecord, + handleShortLines); + } + + /** + * New constructor based on InputStream. Constructs a new DataSet using the + * database table file layout method. This is used for a DELIMITED text + * file. esacpe sequence reference: \n newline <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param con - + * Connection to database with DATAFILE and DATASTRUCTURE tables + * @param dataSourceStream - + * text file datasource InputStream to read from + * @param dataDefinition - + * Name of dataDefinition in the DATAFILE table DATAFILE_DESC + * column + * @param delimiter - + * Char the file is delimited By + * @param qualifier - + * Char text is qualified by + * @param ignoreFirstRecord - + * skips the first line that contains data in the file + * @param handleShortLines - + * Adds missing columns as empty's to the DataSet instead of + * logging them as an error + * @exception Exception + */ + public DataSet(final Connection con, final InputStream dataSourceStream, final String dataDefinition, final String delimiter, + final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { + super(); + + this.handleShortLines = handleShortLines; + + String sql = null; + ResultSet rs = null; + Statement stmt = null; + ColumnMetaData column = null; + boolean hasResults = false; + final List cmds = new ArrayList(); + + try { + columnMD = new LinkedHashMap(); + stmt = con.createStatement(); + + sql = "SELECT * FROM DATAFILE INNER JOIN DATASTRUCTURE ON " + "DATAFILE.DATAFILE_NO = DATASTRUCTURE.DATAFILE_NO " + + "WHERE DATAFILE.DATAFILE_DESC = '" + dataDefinition + "' " + "ORDER BY DATASTRUCTURE_COL_ORDER"; + + rs = stmt.executeQuery(sql); + + // put array of columns together. These will be used to put together + // the dataset when reading in the file + while (rs.next()) { + + column = new ColumnMetaData(); + column.setColName(rs.getString("DATASTRUCTURE_COLUMN")); + column.setColLength(rs.getInt("DATASTRUCTURE_LENGTH")); + cmds.add(column); + + hasResults = true; + } + + columnMD.put("detail", cmds); + + if (!hasResults) { + throw new FileNotFoundException("DATA DEFINITION CAN NOT BE FOUND IN THE DATABASE " + dataDefinition); + } + + // read in the fixed length file and construct the DataSet object + doDelimitedFile(dataSourceStream, delimiter, qualifier, ignoreFirstRecord, false); + + } finally { + if (rs != null) { + rs.close(); + } + if (stmt != null) { + stmt.close(); + } + } + + } + + /** + * Constructs a new DataSet using the PZMAP XML file layout method. This is + * used for a DELIMITED text file. esacpe sequence reference: \n newline + * <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param pzmapXML - + * Reference to the xml file holding the pzmap + * @param dataSource - + * text file datasource to read from + * @param delimiter - + * Char the file is delimited By + * @param qualifier - + * Char text is qualified by + * @param ignoreFirstRecord - + * skips the first line that contains data in the file + * @param handleShortLines - + * Adds missing columns as empty's to the DataSet instead of + * logging them as an error + * @exception Exception + */ + public DataSet(final File pzmapXML, final File dataSource, final String delimiter, final String qualifier, + final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { + this(ParserUtils.createInputStream(pzmapXML), ParserUtils.createInputStream(dataSource), delimiter, qualifier, + ignoreFirstRecord, handleShortLines); + } + + /** + * New constructor based on InputStream. Constructs a new DataSet using the + * PZMAP XML file layout method. This is used for a DELIMITED text file. + * esacpe sequence reference: \n newline <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param pzmapXMLStream - + * Reference to the xml file holding the pzmap + * @param dataSourceStream - + * text file datasource InputStream to re... [truncated message content] |
From: <be...@us...> - 2006-10-17 16:52:09
|
Revision: 71 http://svn.sourceforge.net/pzfilereader/?rev=71&view=rev Author: benoitx Date: 2006-10-17 09:51:42 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/LargeDataSet.java Deleted: trunk/PZFileReader/src/main/java/com/pz/reader/LargeDataSet.java =================================================================== --- trunk/PZFileReader/src/main/java/com/pz/reader/LargeDataSet.java 2006-10-17 16:51:10 UTC (rev 70) +++ trunk/PZFileReader/src/main/java/com/pz/reader/LargeDataSet.java 2006-10-17 16:51:42 UTC (rev 71) @@ -1,563 +0,0 @@ -/* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. - */ -package com.pz.reader; - -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import com.pz.reader.ordering.OrderBy; -import com.pz.reader.structure.ColumnMetaData; -import com.pz.reader.structure.Row; -import com.pz.reader.util.ParserUtils; -import com.pz.reader.xml.PZMapParser; - -/** - * @author Paul Zepernick - * - * Provides limited DataSet functionality for large files. This will not read - * the file into memory. The following methods have been disabled previous(), - * goTop(), goBottom(), remove(), getIndex(), absolute(), orderRows() - */ -public class LargeDataSet extends DataSet { - - private static final String DELIMITED_FILE = "delimited"; - - private static final String FIXEDLENGTH_FILE = "fixed"; - - private String fileType; // file type being parsed - - private BufferedReader br = null; // reader used to read the file - - private InputStreamReader isr = null; - - private InputStream is = null; // stream used to read the file - - private int lineCount = 0; // keeps track of the current line being - // procssed in the file - - // used for delimited files - private boolean ignoreFirstRecord = false; - - private boolean createMDFromFile = false; - - private boolean processedFirst = false; - - private String delimiter = null; - - private String qualifier = null; - - private int columnCount = 0; - - /** used for fixed length files, map of record lengths corresponding to the - * ID's in the columnMD array. - */ - private Map recordLengths = null; - - /** - * Constructor based on InputStream. Constructs a new LargeDataSet using the - * PZMAP XML file layout method. This is used for a DELIMITED text file. - * esacpe sequence reference:<br> - * \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param pzmapXMLStream - - * Reference to the xml file holding the pzmap - * @param dataSourceStream - - * text file datasource InputStream to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param ignoreFirstRecord - - * skips the first line that contains data in the file - * @param handleShortLines - - * Adds missing columns as empty's to the DataSet instead of - * logging them as an error - * @exception Exception - */ - public LargeDataSet(final InputStream pzmapXMLStream, final InputStream dataSourceStream, final String delimiter, - final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { - - this.fileType = DELIMITED_FILE; - this.is = dataSourceStream; - this.isr = new InputStreamReader(is); - this.br = new BufferedReader(this.isr); - this.delimiter = delimiter; - this.qualifier = qualifier; - this.ignoreFirstRecord = ignoreFirstRecord; - setHandleShortLines(handleShortLines); - setColumnMD(PZMapParser.parse(pzmapXMLStream)); - - } - - /** - * Constructs a new LargeDataSet using the first line of data found in the - * text file as the column names. This is used for a DELIMITED text file. - * esacpe sequence reference:<br> - * \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param dataSource - - * text file datasource to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param handleShortLines - - * when flaged as true, lines with less columns then the amount - * of column headers will be added as empty's instead of - * producing an error - * @exception Exception - */ - public LargeDataSet(final File dataSource, final String delimiter, final String qualifier, final boolean handleShortLines) - throws Exception { - this(ParserUtils.createInputStream(dataSource), delimiter, qualifier, handleShortLines); - } - - /** - * Constructs a new LargeDataSet using the first line of data found in the - * text file as the column names. This is used for a DELIMITED text file. - * esacpe sequence reference:<br> - * \n newline <br> - * \t tab <br> - * \b backspace <br> - * \r return <br> - * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote - * - * @param dataSource - - * text file datasource to read from - * @param delimiter - - * Char the file is delimited By - * @param qualifier - - * Char text is qualified by - * @param handleShortLines - - * when flaged as true, lines with less columns then the amount - * of column headers will be added as empty's instead of - * producing an error - * @exception Exception - */ - public LargeDataSet(final InputStream dataSource, final String delimiter, final String qualifier, - final boolean handleShortLines) throws Exception { - this.fileType = DELIMITED_FILE; - setHandleShortLines(handleShortLines); - this.is = dataSource; - this.isr = new InputStreamReader(is); - this.br = new BufferedReader(this.isr); - this.delimiter = delimiter; - this.qualifier = qualifier; - this.ignoreFirstRecord = false; - this.createMDFromFile = true; - } - - /** - * New constructor based on InputStream. Constructs a new LargeDataSet using - * the PZMAP XML file layout method. This is used for a FIXED LENGTH text - * file. - * - * @param pzmapXMLStream - - * Reference to the xml file InputStream holding the pzmap - * @param dataSourceStream - - * Delimited file InputStream to read from - * @param handleShortLines - - * Pad lines out to fit the fixed length - * @exception Exception - */ - public LargeDataSet(final InputStream pzmapXMLStream, final InputStream dataSourceStream, final boolean handleShortLines) - throws Exception { - this.fileType = FIXEDLENGTH_FILE; - this.is = dataSourceStream; - this.isr = new InputStreamReader(is); - this.br = new BufferedReader(this.isr); - setHandleShortLines(handleShortLines); - - setColumnMD(PZMapParser.parse(pzmapXMLStream)); - - } - - /** - * Loads up the next record from the file, returns false if EOF - * - * @return boolean - */ - public boolean next() { - try { - if (this.fileType.equals(DELIMITED_FILE)) { - return readNextDelimited(); - } - - // assume fixed length file - return readNextFixedLen(); - } catch (final Exception ex) { - throw new RuntimeException(ex); - } finally { - // Advance the pointer in the DataSet to the first position if - // needed - // we only throw one record into the array at a time - if (super.getIndex() == -1) { - super.next(); - } - } - } - - /** - * Not Supported! - * - * @return boolean - */ - public boolean previous() { - throw new RuntimeException("previous() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - * - * @param excelFileToBeWritten - * @exception Exception - */ - public void writeToExcel(final File excelFileToBeWritten) throws Exception { - throw new RuntimeException("writeToExcel() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - * - * @param ob - - * OrderBy object - * @exception Exception - * @see com.pz.reader.ordering.OrderBy - * @see com.pz.reader.ordering.OrderColumn - */ - public void orderRows(final OrderBy ob) throws Exception { - throw new RuntimeException("orderRows() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - * - * @param localPointer - - * int - * @exception IndexOutOfBoundsException - */ - public void absolute(final int localPointer) { - throw new RuntimeException("absolute() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - */ - public void remove() { - throw new RuntimeException("remove() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - * - * @return int - */ - public int getIndex() { - throw new RuntimeException("getIndex() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - */ - public void goBottom() { - throw new RuntimeException("goBottom() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - */ - public void goTop() { - throw new RuntimeException("goTop() is Not Implemented For LargeDataSet"); - } - - /** - * Not Supported! - * - * @param columnName - - * String Name of the column - * @param value - - * String value to assign to the column. - * @exception Exception - - * exception will be thrown if pointer in not on a valid row - */ - public void setValue(final String columnName, final String value) throws Exception { - throw new RuntimeException("setValue() is Not Implemented For LargeDataSet"); - - } - - /** - * erases the dataset and releases memory for the JVM to reclaim. This will - * also close out the readers used to read the file in. - */ - public void freeMemory() { - super.freeMemory(); - - ParserUtils.closeReader(br); - ParserUtils.closeReader(isr); - ParserUtils.closeReader(is); - } - - // reads the next record and sets it into the row array - private boolean readNextDelimited() throws Exception { - String line = null; - Row row = null; - List columns = null; - boolean processingMultiLine = false; - boolean readRecordOk = false; - String lineData = ""; - String mdkey = null; - List cmds = null; - - if (getRows() == null) { - setRows(new ArrayList()); - } - if (getErrors() == null) { - setErrors(new ArrayList()); - } - - getRows().clear(); - /** loop through each line in the file */ - while ((line = br.readLine()) != null) { - lineCount++; - /** empty line skip past it */ - if (!processingMultiLine && line.trim().length() == 0) { - continue; - } - // check to see if the user has elected to skip the first record - if (!this.processedFirst && this.ignoreFirstRecord) { - this.processedFirst = true; - continue; - } else if (!this.processedFirst && this.createMDFromFile) { - // column names are coming from inside the CSV file - this.processedFirst = true; - setColumnMD(ParserUtils.getColumnMDFromFile(line, delimiter, qualifier)); - continue; - } - - // ******************************************************** - // new functionality as of 2.1.0 check to see if we have - // any line breaks in the middle of the record, this will only - // be checked if we have specified a delimiter - // ******************************************************** - final char[] chrArry = line.trim().toCharArray(); - if (!processingMultiLine && delimiter != null && delimiter.trim().length() > 0) { - processingMultiLine = ParserUtils.isMultiLine(chrArry, delimiter, qualifier); - } - - // check to see if we have reached the end of the linebreak in the - // record - - if (processingMultiLine && lineData.trim().length() > 0) { - // need to do one last check here. it is possible that the " - // could be part of the data - // excel will escape these with another quote; here is some data - // "" This would indicate - // there is more to the multiline - if (line.trim().endsWith(qualifier) && !line.trim().endsWith(qualifier + qualifier)) { - // it is safe to assume we have reached the end of the line - // break - processingMultiLine = false; - if (lineData.trim().length() > 0) { - lineData += "\r\n"; - } - lineData += line; - } else { - - // check to see if this is the last line of the record - // looking for a qualifier followed by a delimiter - if (lineData.trim().length() > 0) { - lineData += "\r\n"; - } - lineData += line; - boolean qualiFound = false; - for (int i = 0; i < chrArry.length; i++) { - if (qualiFound) { - if (chrArry[i] == ' ') { - continue; - } else { - // not a space, if this char is the delimiter, - // then we have reached the end of - // the record - if (chrArry[i] == delimiter.charAt(0)) { - // processingMultiLine = false; - // fix put in, setting to false caused bug - // when processing multiple multi-line - // columns on the same record - processingMultiLine = ParserUtils.isMultiLine(chrArry, delimiter, qualifier); - break; - } - qualiFound = false; - continue; - } - } else if (chrArry[i] == qualifier.charAt(0)) { - qualiFound = true; - } - } - // check to see if we are still in multi line mode, if so - // grab the next line - if (processingMultiLine) { - continue; - } - } - } else { - // throw the line into lineData var. - lineData += line; - if (processingMultiLine) { - continue; // if we are working on a multiline rec, get the - // data on the next line - } - } - // ******************************************************************** - // end record line break logic - // ******************************************************************** - - // column values - columns = ParserUtils.splitLine(lineData, this.delimiter, this.qualifier); - lineData = ""; - mdkey = ParserUtils.getCMDKeyForDelimitedFile(getColumnMD(), columns); - cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); - this.columnCount = cmds.size(); - // DEBUG - - // Incorrect record length on line log the error. Line - // will not be included in the dataset - if (columns.size() > columnCount) { - // log the error - addError("TOO MANY COLUMNS WANTED: " + columnCount + " GOT: " + columns.size(), lineCount, 2); - continue; - } else if (columns.size() < columnCount) { - if (isHandleShortLines()) { - // We can pad this line out - while (columns.size() < columnCount) { - columns.add(""); - } - - // log a warning - addError("PADDED LINE TO CORRECT NUMBER OF COLUMNS", lineCount, 1); - - } else { - addError("TOO FEW COLUMNS WANTED: " + columnCount + " GOT: " + columns.size(), lineCount, 2); - continue; - } - } - - row = new Row(); - row.setCols(columns); - row.setRowNumber(lineCount); - // with the LargeDataSet we are never going to store more than 1 - // record in memory - getRows().add(row); - readRecordOk = true; - break; - } - - return readRecordOk; - - } - - private boolean readNextFixedLen() throws Exception { - String line = null; - Row row = null; - int recordLength = 0; - final int aLineCount = 0; - int recPosition = 0; - String mdkey = null; - List cmds = null; - boolean readRecordOk = false; - - if (getRows() == null) { - setRows(new ArrayList()); - } - if (getErrors() == null) { - setErrors(new ArrayList()); - } - - if (this.recordLengths == null) { - this.recordLengths = ParserUtils.calculateRecordLengths(getColumnMD()); - } - - getRows().clear(); - // loop through each line in the file - while ((line = br.readLine()) != null) { - this.lineCount++; - // empty line skip past it - if (line.trim().length() == 0) { - continue; - } - - mdkey = ParserUtils.getCMDKeyForFixedLengthFile(getColumnMD(), line); - recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); - cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); - - // Incorrect record length on line log the error. Line will not be - // included in the - // dataset - if (line.length() > recordLength) { - addError("LINE TOO LONG. LINE IS " + line.length() + " LONG. SHOULD BE " + recordLength, aLineCount, 2); - continue; - } else if (line.length() < recordLength) { - if (isHandleShortLines()) { - // We can pad this line out - while (line.length() < recordLength) { - line += ParserUtils.padding(recordLength-line.length(), ' '); - } - - // log a warning - addError("PADDED LINE TO CORRECT RECORD LENGTH", aLineCount, 1); - - } else { - addError("LINE TOO SHORT. LINE IS " + line.length() + " LONG. SHOULD BE " + recordLength, aLineCount, 2); - continue; - } - } - - recPosition = 1; - row = new Row(); - row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try to - // limit the - // memory - // use - // Build the columns for the row - for (int i = 0; i < cmds.size(); i++) { - String tempValue = null; - tempValue = line.substring(recPosition - 1, recPosition + (((ColumnMetaData) cmds.get(i)).getColLength() - 1)); - recPosition += ((ColumnMetaData) cmds.get(i)).getColLength(); - row.addColumn(tempValue.trim()); - } - row.setRowNumber(aLineCount); - // add the row to the array - getRows().add(row); - - readRecordOk = true; - break; - } - - return readRecordOk; - - } -} Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java (from rev 70, trunk/PZFileReader/src/main/java/com/pz/reader/LargeDataSet.java) =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java (rev 0) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/LargeDataSet.java 2006-10-17 16:51:42 UTC (rev 71) @@ -0,0 +1,563 @@ +/* + Copyright 2006 Paul Zepernick + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the License. + */ +package com.pz.reader; + +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.pz.reader.ordering.OrderBy; +import com.pz.reader.structure.ColumnMetaData; +import com.pz.reader.structure.Row; +import com.pz.reader.util.ParserUtils; +import com.pz.reader.xml.PZMapParser; + +/** + * @author Paul Zepernick + * + * Provides limited DataSet functionality for large files. This will not read + * the file into memory. The following methods have been disabled previous(), + * goTop(), goBottom(), remove(), getIndex(), absolute(), orderRows() + */ +public class LargeDataSet extends DataSet { + + private static final String DELIMITED_FILE = "delimited"; + + private static final String FIXEDLENGTH_FILE = "fixed"; + + private String fileType; // file type being parsed + + private BufferedReader br = null; // reader used to read the file + + private InputStreamReader isr = null; + + private InputStream is = null; // stream used to read the file + + private int lineCount = 0; // keeps track of the current line being + // procssed in the file + + // used for delimited files + private boolean ignoreFirstRecord = false; + + private boolean createMDFromFile = false; + + private boolean processedFirst = false; + + private String delimiter = null; + + private String qualifier = null; + + private int columnCount = 0; + + /** used for fixed length files, map of record lengths corresponding to the + * ID's in the columnMD array. + */ + private Map recordLengths = null; + + /** + * Constructor based on InputStream. Constructs a new LargeDataSet using the + * PZMAP XML file layout method. This is used for a DELIMITED text file. + * esacpe sequence reference:<br> + * \n newline <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param pzmapXMLStream - + * Reference to the xml file holding the pzmap + * @param dataSourceStream - + * text file datasource InputStream to read from + * @param delimiter - + * Char the file is delimited By + * @param qualifier - + * Char text is qualified by + * @param ignoreFirstRecord - + * skips the first line that contains data in the file + * @param handleShortLines - + * Adds missing columns as empty's to the DataSet instead of + * logging them as an error + * @exception Exception + */ + public LargeDataSet(final InputStream pzmapXMLStream, final InputStream dataSourceStream, final String delimiter, + final String qualifier, final boolean ignoreFirstRecord, final boolean handleShortLines) throws Exception { + + this.fileType = DELIMITED_FILE; + this.is = dataSourceStream; + this.isr = new InputStreamReader(is); + this.br = new BufferedReader(this.isr); + this.delimiter = delimiter; + this.qualifier = qualifier; + this.ignoreFirstRecord = ignoreFirstRecord; + setHandleShortLines(handleShortLines); + setColumnMD(PZMapParser.parse(pzmapXMLStream)); + + } + + /** + * Constructs a new LargeDataSet using the first line of data found in the + * text file as the column names. This is used for a DELIMITED text file. + * esacpe sequence reference:<br> + * \n newline <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param dataSource - + * text file datasource to read from + * @param delimiter - + * Char the file is delimited By + * @param qualifier - + * Char text is qualified by + * @param handleShortLines - + * when flaged as true, lines with less columns then the amount + * of column headers will be added as empty's instead of + * producing an error + * @exception Exception + */ + public LargeDataSet(final File dataSource, final String delimiter, final String qualifier, final boolean handleShortLines) + throws Exception { + this(ParserUtils.createInputStream(dataSource), delimiter, qualifier, handleShortLines); + } + + /** + * Constructs a new LargeDataSet using the first line of data found in the + * text file as the column names. This is used for a DELIMITED text file. + * esacpe sequence reference:<br> + * \n newline <br> + * \t tab <br> + * \b backspace <br> + * \r return <br> + * \f form feed <br> \\ backslash <br> \' single quote <br> \" double quote + * + * @param dataSource - + * text file datasource to read from + * @param delimiter - + * Char the file is delimited By + * @param qualifier - + * Char text is qualified by + * @param handleShortLines - + * when flaged as true, lines with less columns then the amount + * of column headers will be added as empty's instead of + * producing an error + * @exception Exception + */ + public LargeDataSet(final InputStream dataSource, final String delimiter, final String qualifier, + final boolean handleShortLines) throws Exception { + this.fileType = DELIMITED_FILE; + setHandleShortLines(handleShortLines); + this.is = dataSource; + this.isr = new InputStreamReader(is); + this.br = new BufferedReader(this.isr); + this.delimiter = delimiter; + this.qualifier = qualifier; + this.ignoreFirstRecord = false; + this.createMDFromFile = true; + } + + /** + * New constructor based on InputStream. Constructs a new LargeDataSet using + * the PZMAP XML file layout method. This is used for a FIXED LENGTH text + * file. + * + * @param pzmapXMLStream - + * Reference to the xml file InputStream holding the pzmap + * @param dataSourceStream - + * Delimited file InputStream to read from + * @param handleShortLines - + * Pad lines out to fit the fixed length + * @exception Exception + */ + public LargeDataSet(final InputStream pzmapXMLStream, final InputStream dataSourceStream, final boolean handleShortLines) + throws Exception { + this.fileType = FIXEDLENGTH_FILE; + this.is = dataSourceStream; + this.isr = new InputStreamReader(is); + this.br = new BufferedReader(this.isr); + setHandleShortLines(handleShortLines); + + setColumnMD(PZMapParser.parse(pzmapXMLStream)); + + } + + /** + * Loads up the next record from the file, returns false if EOF + * + * @return boolean + */ + public boolean next() { + try { + if (this.fileType.equals(DELIMITED_FILE)) { + return readNextDelimited(); + } + + // assume fixed length file + return readNextFixedLen(); + } catch (final Exception ex) { + throw new RuntimeException(ex); + } finally { + // Advance the pointer in the DataSet to the first position if + // needed + // we only throw one record into the array at a time + if (super.getIndex() == -1) { + super.next(); + } + } + } + + /** + * Not Supported! + * + * @return boolean + */ + public boolean previous() { + throw new RuntimeException("previous() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + * + * @param excelFileToBeWritten + * @exception Exception + */ + public void writeToExcel(final File excelFileToBeWritten) throws Exception { + throw new RuntimeException("writeToExcel() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + * + * @param ob - + * OrderBy object + * @exception Exception + * @see com.pz.reader.ordering.OrderBy + * @see com.pz.reader.ordering.OrderColumn + */ + public void orderRows(final OrderBy ob) throws Exception { + throw new RuntimeException("orderRows() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + * + * @param localPointer - + * int + * @exception IndexOutOfBoundsException + */ + public void absolute(final int localPointer) { + throw new RuntimeException("absolute() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + */ + public void remove() { + throw new RuntimeException("remove() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + * + * @return int + */ + public int getIndex() { + throw new RuntimeException("getIndex() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + */ + public void goBottom() { + throw new RuntimeException("goBottom() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + */ + public void goTop() { + throw new RuntimeException("goTop() is Not Implemented For LargeDataSet"); + } + + /** + * Not Supported! + * + * @param columnName - + * String Name of the column + * @param value - + * String value to assign to the column. + * @exception Exception - + * exception will be thrown if pointer in not on a valid row + */ + public void setValue(final String columnName, final String value) throws Exception { + throw new RuntimeException("setValue() is Not Implemented For LargeDataSet"); + + } + + /** + * erases the dataset and releases memory for the JVM to reclaim. This will + * also close out the readers used to read the file in. + */ + public void freeMemory() { + super.freeMemory(); + + ParserUtils.closeReader(br); + ParserUtils.closeReader(isr); + ParserUtils.closeReader(is); + } + + // reads the next record and sets it into the row array + private boolean readNextDelimited() throws Exception { + String line = null; + Row row = null; + List columns = null; + boolean processingMultiLine = false; + boolean readRecordOk = false; + String lineData = ""; + String mdkey = null; + List cmds = null; + + if (getRows() == null) { + setRows(new ArrayList()); + } + if (getErrors() == null) { + setErrors(new ArrayList()); + } + + getRows().clear(); + /** loop through each line in the file */ + while ((line = br.readLine()) != null) { + lineCount++; + /** empty line skip past it */ + if (!processingMultiLine && line.trim().length() == 0) { + continue; + } + // check to see if the user has elected to skip the first record + if (!this.processedFirst && this.ignoreFirstRecord) { + this.processedFirst = true; + continue; + } else if (!this.processedFirst && this.createMDFromFile) { + // column names are coming from inside the CSV file + this.processedFirst = true; + setColumnMD(ParserUtils.getColumnMDFromFile(line, delimiter, qualifier)); + continue; + } + + // ******************************************************** + // new functionality as of 2.1.0 check to see if we have + // any line breaks in the middle of the record, this will only + // be checked if we have specified a delimiter + // ******************************************************** + final char[] chrArry = line.trim().toCharArray(); + if (!processingMultiLine && delimiter != null && delimiter.trim().length() > 0) { + processingMultiLine = ParserUtils.isMultiLine(chrArry, delimiter, qualifier); + } + + // check to see if we have reached the end of the linebreak in the + // record + + if (processingMultiLine && lineData.trim().length() > 0) { + // need to do one last check here. it is possible that the " + // could be part of the data + // excel will escape these with another quote; here is some data + // "" This would indicate + // there is more to the multiline + if (line.trim().endsWith(qualifier) && !line.trim().endsWith(qualifier + qualifier)) { + // it is safe to assume we have reached the end of the line + // break + processingMultiLine = false; + if (lineData.trim().length() > 0) { + lineData += "\r\n"; + } + lineData += line; + } else { + + // check to see if this is the last line of the record + // looking for a qualifier followed by a delimiter + if (lineData.trim().length() > 0) { + lineData += "\r\n"; + } + lineData += line; + boolean qualiFound = false; + for (int i = 0; i < chrArry.length; i++) { + if (qualiFound) { + if (chrArry[i] == ' ') { + continue; + } else { + // not a space, if this char is the delimiter, + // then we have reached the end of + // the record + if (chrArry[i] == delimiter.charAt(0)) { + // processingMultiLine = false; + // fix put in, setting to false caused bug + // when processing multiple multi-line + // columns on the same record + processingMultiLine = ParserUtils.isMultiLine(chrArry, delimiter, qualifier); + break; + } + qualiFound = false; + continue; + } + } else if (chrArry[i] == qualifier.charAt(0)) { + qualiFound = true; + } + } + // check to see if we are still in multi line mode, if so + // grab the next line + if (processingMultiLine) { + continue; + } + } + } else { + // throw the line into lineData var. + lineData += line; + if (processingMultiLine) { + continue; // if we are working on a multiline rec, get the + // data on the next line + } + } + // ******************************************************************** + // end record line break logic + // ******************************************************************** + + // column values + columns = ParserUtils.splitLine(lineData, this.delimiter, this.qualifier); + lineData = ""; + mdkey = ParserUtils.getCMDKeyForDelimitedFile(getColumnMD(), columns); + cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); + this.columnCount = cmds.size(); + // DEBUG + + // Incorrect record length on line log the error. Line + // will not be included in the dataset + if (columns.size() > columnCount) { + // log the error + addError("TOO MANY COLUMNS WANTED: " + columnCount + " GOT: " + columns.size(), lineCount, 2); + continue; + } else if (columns.size() < columnCount) { + if (isHandleShortLines()) { + // We can pad this line out + while (columns.size() < columnCount) { + columns.add(""); + } + + // log a warning + addError("PADDED LINE TO CORRECT NUMBER OF COLUMNS", lineCount, 1); + + } else { + addError("TOO FEW COLUMNS WANTED: " + columnCount + " GOT: " + columns.size(), lineCount, 2); + continue; + } + } + + row = new Row(); + row.setCols(columns); + row.setRowNumber(lineCount); + // with the LargeDataSet we are never going to store more than 1 + // record in memory + getRows().add(row); + readRecordOk = true; + break; + } + + return readRecordOk; + + } + + private boolean readNextFixedLen() throws Exception { + String line = null; + Row row = null; + int recordLength = 0; + final int aLineCount = 0; + int recPosition = 0; + String mdkey = null; + List cmds = null; + boolean readRecordOk = false; + + if (getRows() == null) { + setRows(new ArrayList()); + } + if (getErrors() == null) { + setErrors(new ArrayList()); + } + + if (this.recordLengths == null) { + this.recordLengths = ParserUtils.calculateRecordLengths(getColumnMD()); + } + + getRows().clear(); + // loop through each line in the file + while ((line = br.readLine()) != null) { + this.lineCount++; + // empty line skip past it + if (line.trim().length() == 0) { + continue; + } + + mdkey = ParserUtils.getCMDKeyForFixedLengthFile(getColumnMD(), line); + recordLength = ((Integer) recordLengths.get(mdkey)).intValue(); + cmds = ParserUtils.getColumnMetaData(mdkey, getColumnMD()); + + // Incorrect record length on line log the error. Line will not be + // included in the + // dataset + if (line.length() > recordLength) { + addError("LINE TOO LONG. LINE IS " + line.length() + " LONG. SHOULD BE " + recordLength, aLineCount, 2); + continue; + } else if (line.length() < recordLength) { + if (isHandleShortLines()) { + // We can pad this line out + while (line.length() < recordLength) { + line += ParserUtils.padding(recordLength-line.length(), ' '); + } + + // log a warning + addError("PADDED LINE TO CORRECT RECORD LENGTH", aLineCount, 1); + + } else { + addError("LINE TOO SHORT. LINE IS " + line.length() + " LONG. SHOULD BE " + recordLength, aLineCount, 2); + continue; + } + } + + recPosition = 1; + row = new Row(); + row.setMdkey(mdkey.equals("detail") ? null : mdkey); // try to + // limit the + // memory + // use + // Build the columns for the row + for (int i = 0; i < cmds.size(); i++) { + String tempValue = null; + tempValue = line.substring(recPosition - 1, recPosition + (((ColumnMetaData) cmds.get(i)).getColLength() - 1)); + recPosition += ((ColumnMetaData) cmds.get(i)).getColLength(); + row.addColumn(tempValue.trim()); + } + row.setRowNumber(aLineCount); + // add the row to the array + getRows().add(row); + + readRecordOk = true; + break; + } + + return readRecordOk; + + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:51:25
|
Revision: 70 http://svn.sourceforge.net/pzfilereader/?rev=70&view=rev Author: benoitx Date: 2006-10-17 09:51:10 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Moved remotely Added Paths: ----------- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java Removed Paths: ------------- trunk/PZFileReader/src/main/java/com/pz/reader/Version.java Deleted: trunk/PZFileReader/src/main/java/com/pz/reader/Version.java =================================================================== --- trunk/PZFileReader/src/main/java/com/pz/reader/Version.java 2006-10-17 16:49:14 UTC (rev 69) +++ trunk/PZFileReader/src/main/java/com/pz/reader/Version.java 2006-10-17 16:51:10 UTC (rev 70) @@ -1,23 +0,0 @@ -/* - Copyright 2006 Paul Zepernick - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software distributed - under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. See the License for - the specific language governing permissions and limitations under the License. - */ -package com.pz.reader; - -/** - * - * Static class which stores the version of this pzFileReader - */ -public class Version { - public static final String VERSION = "2.2.2"; -} Copied: trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java (from rev 69, trunk/PZFileReader/src/main/java/com/pz/reader/Version.java) =================================================================== --- trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java (rev 0) +++ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/Version.java 2006-10-17 16:51:10 UTC (rev 70) @@ -0,0 +1,23 @@ +/* + Copyright 2006 Paul Zepernick + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the License. + */ +package com.pz.reader; + +/** + * + * Static class which stores the version of this pzFileReader + */ +public class Version { + public static final String VERSION = "2.2.2"; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:49:25
|
Revision: 69 http://svn.sourceforge.net/pzfilereader/?rev=69&view=rev Author: benoitx Date: 2006-10-17 09:49:14 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Added Paths: ----------- trunk/PZFileReader/src/main/java/net/ trunk/PZFileReader/src/main/java/net/sf/ trunk/PZFileReader/src/main/java/net/sf/pzfilereader/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 16:35:19
|
Revision: 68 http://svn.sourceforge.net/pzfilereader/?rev=68&view=rev Author: benoitx Date: 2006-10-17 09:35:13 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Paul's main page. Modified Paths: -------------- trunk/src/site/index.xml Modified: trunk/src/site/index.xml =================================================================== --- trunk/src/site/index.xml 2006-10-17 15:05:44 UTC (rev 67) +++ trunk/src/site/index.xml 2006-10-17 16:35:13 UTC (rev 68) @@ -1,47 +1,114 @@ -<document> - <properties> - <author email="Ki...@ob...">Benoit Xhenseval</author> - <title>Introduction</title> - </properties> - <head> - <meta name="description" - content="PZFileReader offers configurable flat file CSV and fixed length parser, released under the business-friendly Apache 2.0 license." - /> - - <meta name="keywords" content="CSV, Fixed length file parser" /> - <meta name="Subject" content="Date Calculators" /> - <meta name="Copyright" content="ObjectLab Financial Ltd" /> - <meta name="Language" content="English" /> - <meta name="Designer" content="ObjectLab Financial Ltd" /> - <meta name="Distribution" content="Global" /> - <meta name="robots" content="ALL"/> - <meta name="Revisit-After" content="20 Days" /> - </head> - <body> - <!-- The body of the document contains a number of sections --> - <section name="PZFileReader Introduction"> - - <p>This one is released under - the business-friendly Apache 2.0 license. <a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=ObjectLab%20Kit%3A%20Open%20Source%20Date%20Calculators%20for%20Business%20and%20Finance&bodytext=ObjectLab%20released%20version%201%2E0%2E1%20of%20ObjectLab%20Kit%20for%20Java%201%2E5,%20available%20for%20download%20via%20SourceForge%20or%20the%20Maven%20Central%20Repository%2E%20The%20Kit%20provides%20a%20Date%20Calculator%20that%20handle%20holidays,%20a%20IMM%20Date%20and%20Period%20Count%20Calculator%20and%20comes%20in%20two%20versions%3A%20one%20based%20on%20pure%20JDK%20(1%2E5)%20and%20one%20based%20on%20the%20Joda-time%20library%20(1%2E3%2B,%20JDK%201%2E5)%2E&topic=programming"> - <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a></p> - - - <subsection name="So, what is on offer?"> - <p>PZFileReader releases one library and a set of examples (pzfilereader-examples.jar)</p> - <p>See the <a href="changes-report.html">changes</a> section for news.</p> - </subsection> - - <subsection name="Documentation"> - <p>The documentation is available here: - <ul> - <li><a href="documentation/pzfilereader-manual.doc">A WORD Document</a></li> - <li><a href="documentation/pzfilereader-manual.pdf">A PDF Document</a></li> - <li><a href="documentation/index.html">A set of examples XML</a></li> - </ul> - </p> - </subsection> - - </section> - - </body> +<document> + <properties> + <author email="pa...@ya...">Paul Zepernick</author> + <title>Introduction</title> + </properties> + <head> + <meta name="description" + content="Flat File Parser (fixed length, csv, etc) via XML Column Mappings, released under the business-friendly Apache 2.0 license." + /> + + <meta name="keywords" + content="Java CSV, Java Fixed Width, Open Source Java Parser, Java Delimited, Java Fixed Width, Java Flat File, Java Text Parser" /> + <meta name="Subject" content="Flat File Parser" /> + <!--<meta name="Copyright" content="ObjectLab Financial Ltd" />--> + <meta name="Language" content="English" /> + <meta name="Designer" content="Paul Zepernick" /> + <meta name="Distribution" content="Global" /> + <meta name="robots" content="ALL"/> + <meta name="Revisit-After" content="20 Days" /> + </head> + <body> + <!-- The body of the document contains a number of sections --> + <section name="PZFileReader Introduction"> + + <p>PZFileReader came out of the frustration of having to mix file parsing logic with business logic. + Substrings in a <strong>fixed width parse</strong> can be daunting to deal with when trying to analyze what existing code is doing, + and what about when you have no comments... + We also provide <strong>delimited file parsing</strong>; works with any delimiter / qualifier, multiline records, delimiter or qualifier allowed in column value + This is released under the business-friendly Apache 2.0 license. <a href="http://digg.com/submit?phase=2&url=objectlabkit.sourceforge.net&title=ObjectLab%20Kit%3A%20Open%20Source%20Date%20Calculators%20for%20Business%20and%20Finance&bodytext=ObjectLab%20released%20version%201%2E0%2E1%20of%20ObjectLab%20Kit%20for%20Java%201%2E5,%20available%20for%20download%20via%20SourceForge%20or%20the%20Maven%20Central%20Repository%2E%20The%20Kit%20provides%20a%20Date%20Calculator%20that%20handle%20holidays,%20a%20IMM%20Date%20and%20Period%20Count%20Calculator%20and%20comes%20in%20two%20versions%3A%20one%20based%20on%20pure%20JDK%20(1%2E5)%20and%20one%20based%20on%20the%20Joda-time%20library%20(1%2E3%2B,%20JDK%201%2E5)%2E&topic=programming"> + <img src="http://digg.com/img/badges/91x17-digg-button.png" width="91" height="17" alt="Digg!" style="vertical-align:middle" /></a></p> + + + <subsection name="Problem Sorting Data Prior To File Processing?"> + <p>PZFileReader provides a sorting mechanism for your flat files. This allows for your data to be properly sorted before processing your business logic.</p> + </subsection> + + <subsection name ="Bad Numeric Data?"> + <p> Do often receive numeric data with dollar signs, or commas? PZFileReader has the ability to strip these out and return as a double or int. + Even empty elements or hard spaces can be converted to a numeric without issue.</p> + </subsection> + + + <subsection name ="Problems With One Bad Record Blowing Up The Entire Parse?"> + <p>Bad records get excluded from the DataSet and added to an error collection. This error collection can be checked at the end of the parse to + report on bad records. A description of the error and the line number in the file is provided. Why blow up an entire import for one bad record?</p> + </subsection> + + <subsection name="Which JDK?"> + <p>1.4 and up</p> + </subsection> + + <subsection name="UML?"> + <p>We are using yDoc to generate a 'javadoc-like' documentation per module with the added twist of UML diagrams:</p> + <ul> + <li><a href="multiproject/PZFileReader/apidocs/index.html">UML for PZFileReader</a></li> + <li><a href="multiproject/PZFileReaderSamples/apidocs/index.html">UML for Examples</a></li> + </ul> + </subsection> + + </section> + + <section name="How do I use it?"> + <p>Basic Steps</p> + <ul> + <li>Construct DataSet()</li> + <li>Call DataSet.next() to advance record pointer</li> + <li>Process columns; DataSet.getString("colname"), getInt("colname"), getDouble("colname"), getDate("colname"), etc</li> + <li>Check for parse errors; DataSet.getErrors()</li> + <li>Release memmory; DataSet.freeMemory()</li> + </ul> + + <subsection name="Reading Delimited File"> + + <div class="source"><pre> + DataSet ds = null; + + //construct DataSet + ds = new DataSet(new File("ColumnMappings.pzmap.xml"), //xml mapping file + new File("delimitedfile.txt"), //text file to parse + ",", //delimiter + "\"", //text qualifier (can be null or empty) + true); //pad out missing columns (we mapped 5 columns but only 3 were there) + + while (ds.next()){ //loop through file + ds.getString("mycolumnName"); + } + + ds.freeMemory(); + </pre></div> + + </subsection> + + <subsection name="Reading Fixed Width File"> + + <div class="source"><pre> + DataSet ds = null; + + //construct DataSet + ds = new DataSet(new File("PEOPLE-FixedLength.pzmap.xml"), //xml mapping file + new File("PEOPLE-FixedLength.txt")); //text file to parse + + while (ds.next()){ //loop through file + ds.getString("mycolumnName"); + } + + ds.freeMemory(); + </pre></div> + + </subsection> + + </section> + + </body> </document> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2006-10-17 15:06:45
|
Revision: 67 http://svn.sourceforge.net/pzfilereader/?rev=67&view=rev Author: benoitx Date: 2006-10-17 08:05:44 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Work on the examples to use a Console menu that the user can launch and then pick which test to run interactively. Modified Paths: -------------- trunk/PZFileReader/project.xml trunk/PZFileReader/qalab.xml trunk/PZFileReaderSamples/.classpath trunk/PZFileReaderSamples/maven.xml trunk/PZFileReaderSamples/project.xml trunk/PZFileReaderSamples/qalab.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/createsamplecsv/CSVTestFileCreator.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvperformancetest/CSVPerformanceTest.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/exporttoexcel/DelimitedFileExportToExcel.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/largecsvperformancetest/CSVLarge.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/lowlevelparse/LowLevelParse.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/multilinedelimitedrecord/DelimitedMultiLine.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/numericsanddates/NumericsAndDates.java trunk/PZFileReaderSamples/src/site/index.xml trunk/common-build/project.xml trunk/maven.xml trunk/project.properties Added Paths: ----------- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/ConsoleMenu.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Examples.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Repeater.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java trunk/PZFileReaderSamples/src/main/script/ trunk/PZFileReaderSamples/src/main/script/INVENTORY-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/script/INVENTORY-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/script/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/script/PEOPLE-CommaDelimitedWithQualifierAndHeaderTrailer.txt trunk/PZFileReaderSamples/src/main/script/PEOPLE-CommaDelimitedWithQualifierMultiLine.txt trunk/PZFileReaderSamples/src/main/script/PEOPLE-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/script/PEOPLE-DelimitedWithHeaderTrailer.pzmap.xml trunk/PZFileReaderSamples/src/main/script/PEOPLE-FixedLength.pzmap.xml trunk/PZFileReaderSamples/src/main/script/PEOPLE-FixedLength.txt trunk/PZFileReaderSamples/src/main/script/PEOPLE-FixedLengthWithHeaderTrailer.pzmap.xml trunk/PZFileReaderSamples/src/main/script/PEOPLE-FixedLengthWithHeaderTrailer.txt trunk/PZFileReaderSamples/src/main/script/SampleCSV.csv trunk/PZFileReaderSamples/src/main/script/run-examples.bat Removed Paths: ------------- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/PEOPLE-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvperformancetest/SampleCSV.csv trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimitedcolumnnamesinfile/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimiteddynamiccolumns/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimiteddynamiccolumns/PEOPLE-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimiteddynamiccolumnswitherrors/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/delimiteddynamiccolumnswitherrors/PEOPLE-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/exporttoexcel/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/exporttoexcel/PEOPLE-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/fixedlengthdynamiccolumns/PEOPLE-FixedLength.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/fixedlengthdynamiccolumns/PEOPLE-FixedLength.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/fixedlengthheaderandtrailer/PEOPLE-FixedLength.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/fixedlengthheaderandtrailer/PEOPLE-FixedLength.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/delimiteddynamiccolumns/DelimitedWithPZMap.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/delimiteddynamiccolumns/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/delimiteddynamiccolumns/PEOPLE-Delimited.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/PEOPLE-FixedLength.pzmap.xml trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/PEOPLE-FixedLength.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/largedataset/largecsvperformancetest/SampleCSV.csv trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/lowlevelparse/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/multilinedelimitedrecord/PEOPLE-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/numericsanddates/INVENTORY-CommaDelimitedWithQualifier.txt trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/numericsanddates/INVENTORY-Delimited.pzmap.xml Modified: trunk/PZFileReader/project.xml =================================================================== --- trunk/PZFileReader/project.xml 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReader/project.xml 2006-10-17 15:05:44 UTC (rev 67) @@ -53,6 +53,15 @@ <exclude>**/Abstract*.java</exclude> </excludes> </unitTest> + <resources> + <resource> + <directory>src/main/java</directory> + <includes> + <include>**/*.dtd</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> </build> </project> Modified: trunk/PZFileReader/qalab.xml =================================================================== --- trunk/PZFileReader/qalab.xml 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReader/qalab.xml 2006-10-17 15:05:44 UTC (rev 67) @@ -47,6 +47,12 @@ <summaryresult date="2006-10-16" filecount="3" statvalue="116" type="simian"/> <summaryresult date="2006-10-16" filecount="13" statvalue="17" type="cobertura-line"/> <summaryresult date="2006-10-16" filecount="13" statvalue="23" type="cobertura-branch"/> + <summaryresult date="2006-10-17" filecount="18" statvalue="25" type="checkstyle"/> + <summaryresult date="2006-10-17" filecount="3" statvalue="5" type="pmd"/> + <summaryresult date="2006-10-17" filecount="7" statvalue="13" type="findbugs"/> + <summaryresult date="2006-10-17" filecount="3" statvalue="116" type="simian"/> + <summaryresult date="2006-10-17" filecount="13" statvalue="17" type="cobertura-line"/> + <summaryresult date="2006-10-17" filecount="13" statvalue="23" type="cobertura-branch"/> </summary> <file id="com_pz_reader_ordering_package.html" path="com/pz/reader/ordering/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -56,6 +62,7 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_package.html" path="com/pz/reader/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -65,6 +72,7 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_util_package.html" path="com/pz/reader/util/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -74,6 +82,7 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_xml_package.html" path="com/pz/reader/xml/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -83,6 +92,7 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_structure_package.html" path="com/pz/reader/structure/package.html"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -92,6 +102,7 @@ <result date="2006-10-14" statvalue="1" type="checkstyle"/> <result date="2006-10-15" statvalue="1" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_structure_Row.java" path="com/pz/reader/structure/Row.java"> <result date="2006-10-05" statvalue="1" type="checkstyle"/> @@ -136,6 +147,8 @@ <result date="2006-10-15" statvalue="1" type="findbugs"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> <result date="2006-10-16" statvalue="44" type="cobertura-line"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="44" type="cobertura-line"/> </file> <file id="com_pz_reader_DataError.java" path="com/pz/reader/DataError.java"> <result date="2006-10-05" statvalue="22" type="checkstyle"/> @@ -146,6 +159,8 @@ <result date="2006-10-15" statvalue="22" type="checkstyle"/> <result date="2006-10-16" statvalue="3" type="checkstyle"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> + <result date="2006-10-17" statvalue="3" type="checkstyle"/> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="com_pz_reader_DataSet.java" path="com/pz/reader/DataSet.java"> <result date="2006-10-05" statvalue="485" type="checkstyle"/> @@ -164,6 +179,11 @@ <result date="2006-10-16" statvalue="3" type="findbugs"/> <result date="2006-10-16" statvalue="20" type="cobertura-line"/> <result date="2006-10-16" statvalue="25" type="cobertura-branch"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="3" type="findbugs"/> + <result date="2006-10-17" statvalue="21" type="cobertura-line"/> + <result date="2006-10-17" statvalue="26" type="cobertura-branch"/> </file> <file id="com_pz_reader_LargeDataSet.java" path="com/pz/reader/LargeDataSet.java"> <result date="2006-10-05" statvalue="278" type="checkstyle"/> @@ -180,6 +200,8 @@ <result date="2006-10-15" statvalue="3" type="findbugs"/> <result date="2006-10-16" statvalue="5" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_Version.java" path="com/pz/reader/Version.java"> <result date="2006-10-05" statvalue="2" type="checkstyle"/> @@ -188,6 +210,7 @@ <result date="2006-10-14" statvalue="2" type="checkstyle"/> <result date="2006-10-15" statvalue="2" type="checkstyle"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="com_pz_reader_ordering_OrderBy.java" path="com/pz/reader/ordering/OrderBy.java"> <result date="2006-10-05" statvalue="65" type="checkstyle"/> @@ -203,6 +226,8 @@ <result date="2006-10-15" statvalue="65" type="checkstyle"/> <result date="2006-10-15" statvalue="5" type="findbugs"/> <result date="2006-10-16" statvalue="5" type="findbugs"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> <file id="com_pz_reader_ordering_OrderColumn.java" path="com/pz/reader/ordering/OrderColumn.java"> <result date="2006-10-05" statvalue="25" type="checkstyle"/> @@ -221,6 +246,8 @@ <result date="2006-10-15" statvalue="99" type="checkstyle"/> <result date="2006-10-16" statvalue="50" type="cobertura-line"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> + <result date="2006-10-17" statvalue="50" type="cobertura-line"/> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="com_pz_reader_structure_Row.java" path="com/pz/reader/structure/Row.java"/> <file id="com_pz_reader_util_ExcelTransformer.java" path="com/pz/reader/util/ExcelTransformer.java"> @@ -255,6 +282,11 @@ <result date="2006-10-16" statvalue="3" type="findbugs"/> <result date="2006-10-16" statvalue="35" type="cobertura-line"/> <result date="2006-10-16" statvalue="42" type="cobertura-branch"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="3" type="pmd"/> + <result date="2006-10-17" statvalue="3" type="findbugs"/> + <result date="2006-10-17" statvalue="34" type="cobertura-line"/> + <result date="2006-10-17" statvalue="41" type="cobertura-branch"/> </file> <file id="com_pz_reader_xml_PZMapParser.java" path="com/pz/reader/xml/PZMapParser.java"> <result date="2006-10-05" statvalue="257" type="checkstyle"/> @@ -278,6 +310,9 @@ <result date="2006-10-16" statvalue="5" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="pmd"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_xml_ResolveLocalDTD.java" path="com/pz/reader/xml/ResolveLocalDTD.java"> <result date="2006-10-05" statvalue="40" type="checkstyle"/> @@ -293,6 +328,7 @@ <result date="2006-10-15" statvalue="40" type="checkstyle"/> <result date="2006-10-15" statvalue="2" type="findbugs"/> <result date="2006-10-16" statvalue="2" type="findbugs"/> + <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> <file id="com_pz_reader_xml_XMLRecordElement.java" path="com/pz/reader/xml/XMLRecordElement.java"> <result date="2006-10-05" statvalue="34" type="checkstyle"/> @@ -302,6 +338,7 @@ <result date="2006-10-14" statvalue="34" type="checkstyle"/> <result date="2006-10-15" statvalue="34" type="checkstyle"/> <result date="2006-10-16" statvalue="100" type="cobertura-branch"/> + <result date="2006-10-17" statvalue="100" type="cobertura-branch"/> </file> <file id="C:_project_pzfilereader_PZFileReader_src_test_java_com_test_delim_multiLine_TestCSVPerformance.java" path="C:/project/pzfilereader/PZFileReader/src/test/java/com/test/delim/multiLine/TestCSVPerformance.java"/> Modified: trunk/PZFileReaderSamples/.classpath =================================================================== --- trunk/PZFileReaderSamples/.classpath 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/.classpath 2006-10-17 15:05:44 UTC (rev 67) @@ -1,10 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> - <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"></classpathentry> - <classpathentry excluding="" kind="src" path="src/main/java"></classpathentry> - <classpathentry path="MAVEN_REPO/com.pz.reader/jars/pzfilereader-2.2.0.jar" kind="var"></classpathentry> - <classpathentry path="MAVEN_REPO/jdom/jars/jdom-1.0.jar" kind="var"></classpathentry> - <classpathentry path="MAVEN_REPO/jexcelapi/jars/jxl-2.4.2.jar" kind="var"></classpathentry> - <classpathentry kind="output" path="target/classes"></classpathentry> -</classpath> \ No newline at end of file + <classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER" kind="con"/> + <classpathentry path="src/main/java" kind="src"/> + <classpathentry sourcepath="/PZ_SRC_HOME" path="MAVEN_REPO/com.pz.reader/jars/pzfilereader-2.2.0.jar" kind="var"/> + <classpathentry path="MAVEN_REPO/jdom/jars/jdom-1.0.jar" kind="var"/> + <classpathentry path="MAVEN_REPO/jexcelapi/jars/jxl-2.4.2.jar" kind="var"/> + <classpathentry path="target/classes" kind="output"/> +</classpath> Modified: trunk/PZFileReaderSamples/maven.xml =================================================================== --- trunk/PZFileReaderSamples/maven.xml 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/maven.xml 2006-10-17 15:05:44 UTC (rev 67) @@ -13,6 +13,28 @@ xmlns:define="jelly:define" xmlns:doc="doc" xmlns:util="jelly:util" xmlns:log="jelly:log"> - <goal name="pz:build" prereqs="jar:install" /> + <goal name="pz:copyscript"> + <ant:copy todir="${maven.build.dir}"> + <ant:fileset dir="${maven.src.dir}/main/script" includes="*.bat"> + </ant:fileset> + <ant:filterset> + <ant:filter token="JARFILEEXAMPLES" value="${maven.jar.final.name}"/> + <ant:filter token="JARFILE" value="${pom.currentVersion}"/> + </ant:filterset> + </ant:copy> + <ant:copy todir="${maven.build.dir}"> + <ant:fileset dir="${basedir}/../pzfilereader/target" includes="*.jar"/> + </ant:copy> + <ant:copy todir="${maven.build.dir}"> + <ant:fileset dir="${basedir}/../common-build/lib" includes="*.jar"/> + </ant:copy> + <ant:copy todir="${maven.build.dir}"> + <ant:fileset dir="${maven.src.dir}/main/script" includes="*.xml"/> + <ant:fileset dir="${maven.src.dir}/main/script" includes="*.txt"/> + <ant:fileset dir="${maven.src.dir}/main/script" includes="*.csv"/> + </ant:copy> + </goal> + + <goal name="pz:build" prereqs="jar:install,pz:copyscript" /> <goal name="pz:rebuild" prereqs="clean,pz:build" /> </project> Modified: trunk/PZFileReaderSamples/project.xml =================================================================== --- trunk/PZFileReaderSamples/project.xml 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/project.xml 2006-10-17 15:05:44 UTC (rev 67) @@ -70,6 +70,14 @@ </includes> <filtering>false</filtering> </resource> +<!-- <resource> + <directory>${basedir}/../pzfilereader/target</directory> + <includes> + <include>**/*.jar</include> + </includes> + <filtering>false</filtering> + </resource> + --> <resource> <directory>${basedir}/../common-build/lib</directory> <includes> Modified: trunk/PZFileReaderSamples/qalab.xml =================================================================== --- trunk/PZFileReaderSamples/qalab.xml 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/qalab.xml 2006-10-17 15:05:44 UTC (rev 67) @@ -21,99 +21,130 @@ <summaryresult date="2006-10-16" filecount="2" statvalue="2" type="pmd"/> <summaryresult date="2006-10-16" filecount="4" statvalue="5" type="findbugs"/> <summaryresult date="2006-10-16" filecount="4" statvalue="74" type="simian"/> + <summaryresult date="2006-10-17" filecount="34" statvalue="142" type="checkstyle"/> + <summaryresult date="2006-10-17" filecount="2" statvalue="2" type="pmd"/> + <summaryresult date="2006-10-17" filecount="5" statvalue="7" type="findbugs"/> + <summaryresult date="2006-10-17" filecount="6" statvalue="82" type="simian"/> </summary> <file id="com_pz_reader_examples_numericsanddates_package.html" path="com/pz/reader/examples/numericsanddates/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_exporttoexcel_package.html" path="com/pz/reader/examples/exporttoexcel/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_csvperformancetest_package.html" path="com/pz/reader/examples/csvperformancetest/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_fixedlengthdynamiccolumns_package.html" path="com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_lowlevelparse_package.html" path="com/pz/reader/examples/lowlevelparse/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_largecsvperformancetest_package.html" path="com/pz/reader/examples/largedataset/largecsvperformancetest/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_multilinedelimitedrecord_package.html" path="com/pz/reader/examples/multilinedelimitedrecord/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimitedcolumnnamesinfile_package.html" path="com/pz/reader/examples/delimitedcolumnnamesinfile/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_csvheaderandtrailer_package.html" path="com/pz/reader/examples/csvheaderandtrailer/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_package.html" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthdynamiccolumns_package.html" path="com/pz/reader/examples/fixedlengthdynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_createsamplecsv_package.html" path="com/pz/reader/examples/createsamplecsv/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumnswitherrors_package.html" path="com/pz/reader/examples/delimiteddynamiccolumnswitherrors/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumns_package.html" path="com/pz/reader/examples/delimiteddynamiccolumns/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthheaderandtrailer_package.html" path="com/pz/reader/examples/fixedlengthheaderandtrailer/package.html"> <result date="2006-10-16" statvalue="1" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> </file> <file id="com_pz_reader_examples_createsamplecsv_CSVTestFileCreator.java" path="com/pz/reader/examples/createsamplecsv/CSVTestFileCreator.java"> <result date="2006-10-16" statvalue="7" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="pmd"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="7" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_examples_csvheaderandtrailer_CSVHeaderAndTrailer.java" path="com/pz/reader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java"> <result date="2006-10-16" statvalue="17" type="checkstyle"/> + <result date="2006-10-17" statvalue="17" type="checkstyle"/> </file> <file id="com_pz_reader_examples_csvperformancetest_CSVPerformanceTest.java" path="com/pz/reader/examples/csvperformancetest/CSVPerformanceTest.java"> <result date="2006-10-16" statvalue="14" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="15" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_examples_delimitedcolumnnamesinfile_DelimitedColumnNamesInFile.java" path="com/pz/reader/examples/delimitedcolumnnamesinfile/DelimitedColumnNamesInFile.java"> <result date="2006-10-16" statvalue="5" type="checkstyle"/> + <result date="2006-10-17" statvalue="5" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumns_DelimitedWithPZMap.java" path="com/pz/reader/examples/delimiteddynamiccolumns/DelimitedWithPZMap.java"> <result date="2006-10-16" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> </file> <file id="com_pz_reader_examples_delimiteddynamiccolumnswitherrors_DelimitedWithPZMapErrors.java" path="com/pz/reader/examples/delimiteddynamiccolumnswitherrors/DelimitedWithPZMapErrors.java"> <result date="2006-10-16" statvalue="5" type="checkstyle"/> + <result date="2006-10-17" statvalue="5" type="checkstyle"/> </file> <file id="com_pz_reader_examples_exporttoexcel_DelimitedFileExportToExcel.java" path="com/pz/reader/examples/exporttoexcel/DelimitedFileExportToExcel.java"> <result date="2006-10-16" statvalue="2" type="checkstyle"/> + <result date="2006-10-17" statvalue="2" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthdynamiccolumns_FixedLengthWithPZMap.java" path="com/pz/reader/examples/fixedlengthdynamiccolumns/FixedLengthWithPZMap.java"> <result date="2006-10-16" statvalue="3" type="checkstyle"/> + <result date="2006-10-17" statvalue="3" type="checkstyle"/> </file> <file id="com_pz_reader_examples_fixedlengthheaderandtrailer_FixedLengthHeaderAndTrailer.java" path="com/pz/reader/examples/fixedlengthheaderandtrailer/FixedLengthHeaderAndTrailer.java"> <result date="2006-10-16" statvalue="17" type="checkstyle"/> + <result date="2006-10-17" statvalue="17" type="checkstyle"/> </file> <file id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_DelimitedWithPZMap.java" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/DelimitedWithPZMap.java"> @@ -127,18 +158,42 @@ id="com_pz_reader_examples_largedataset_largecsvperformancetest_CSVLarge.java" path="com/pz/reader/examples/largedataset/largecsvperformancetest/CSVLarge.java"> <result date="2006-10-16" statvalue="9" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="findbugs"/> + <result date="2006-10-17" statvalue="9" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="findbugs"/> </file> <file id="com_pz_reader_examples_lowlevelparse_LowLevelParse.java" path="com/pz/reader/examples/lowlevelparse/LowLevelParse.java"> <result date="2006-10-16" statvalue="4" type="checkstyle"/> <result date="2006-10-16" statvalue="1" type="pmd"/> <result date="2006-10-16" statvalue="2" type="findbugs"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="1" type="pmd"/> + <result date="2006-10-17" statvalue="2" type="findbugs"/> </file> <file id="com_pz_reader_examples_multilinedelimitedrecord_DelimitedMultiLine.java" path="com/pz/reader/examples/multilinedelimitedrecord/DelimitedMultiLine.java"> <result date="2006-10-16" statvalue="4" type="checkstyle"/> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> </file> <file id="com_pz_reader_examples_numericsanddates_NumericsAndDates.java" path="com/pz/reader/examples/numericsanddates/NumericsAndDates.java"> <result date="2006-10-16" statvalue="6" type="checkstyle"/> + <result date="2006-10-17" statvalue="6" type="checkstyle"/> </file> + <file id="com_pz_reader_examples_package.html" path="com/pz/reader/examples/package.html"> + <result date="2006-10-17" statvalue="1" type="checkstyle"/> + </file> + <file id="com_pz_reader_examples_Examples.java" path="com/pz/reader/examples/Examples.java"> + <result date="2006-10-17" statvalue="21" type="checkstyle"/> + </file> + <file + id="com_pz_reader_examples_largedataset_delimiteddynamiccolumns_LargeDelimitedWithPZMap.java" path="com/pz/reader/examples/largedataset/delimiteddynamiccolumns/LargeDelimitedWithPZMap.java"> + <result date="2006-10-17" statvalue="4" type="checkstyle"/> + </file> + <file + id="com_pz_reader_examples_largedataset_fixedlengthdynamiccolumns_LargeFixedLengthWithPZMap.java" path="com/pz/reader/examples/largedataset/fixedlengthdynamiccolumns/LargeFixedLengthWithPZMap.java"> + <result date="2006-10-17" statvalue="3" type="checkstyle"/> + </file> + <file id="com_pz_reader_examples_ConsoleMenu.java" path="com/pz/reader/examples/ConsoleMenu.java"> + <result date="2006-10-17" statvalue="2" type="findbugs"/> + </file> </qalab> Added: trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/ConsoleMenu.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/ConsoleMenu.java (rev 0) +++ trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/ConsoleMenu.java 2006-10-17 15:05:44 UTC (rev 67) @@ -0,0 +1,409 @@ +/** + * + */ +package com.pz.reader.examples; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintStream; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Benoit Xhenseval + * + */ +public class ConsoleMenu { + private static final int EXIT_CODE = 0; + + private static final int SCREEN_COLUMNS = 110; + + private static final int COL = 10; + + private static final PrintStream OUT = System.out; + + private final List menu = new ArrayList(); + + private final Repeater target; + + private int screenColumns = SCREEN_COLUMNS; + + private final List methods = new ArrayList(); + + private final List askForRepeat = new ArrayList(); + + /** + * @param containingObject + * the object that will be called back once an option is chosen + * in the menu + */ + public ConsoleMenu(final Repeater containingObject) { + target = containingObject; + } + + // ~ Methods + // -------------------------------------------------------------------------------------------------------- + + /** + * add an entry in the menu, sequentially + * + * @param menuDisplay + * how the entry will be displayed in the menu + * @param methodName + * name of the public method + * @parem askForRepeat call back for repeat + */ + public void addMenuItem(final String menuDisplay, final String methodName, final boolean repeat) { + menu.add(menuDisplay); + methods.add(methodName); + askForRepeat.add(Boolean.valueOf(repeat)); + } + + public void setScreenColumns(final int width) { + screenColumns = width; + } + + /** + * display the menu, the application goes into a loop which provides the + * menu and fires the entries selected. It automatically adds an entry to + * exit. + */ + public void displayMenu() { + while (true) { + ConsoleMenu.println(""); + ConsoleMenu.println("Menu Options"); + + final int size = menu.size(); + + displayMenu(size); + + int opt = -1; + + do { + opt = ConsoleMenu.getInt("Enter your choice:", -1); + } while (((opt <= 0) || (opt > methods.size())) && (opt != EXIT_CODE)); + + if (opt == EXIT_CODE) { + ConsoleMenu.println("Exiting menu"); + try { + final Method meth = target.getClass().getMethod("tearDown", new Class[0]); + if (meth != null) { + meth.invoke(target, new Object[0]); + } + } catch (final Exception e) { + e.printStackTrace(); + } + + return; + } + + // now call the method + final String method = (String) methods.get(opt - 1); + final Boolean repeat = (Boolean) askForRepeat.get(opt - 1); + + try { + final Method meth = target.getClass().getMethod(method, new Class[0]); + if (repeat.booleanValue()) { + target.repeat(meth); + } else { + meth.invoke(target, new Object[0]); + } + } catch (final Exception e) { + e.printStackTrace(); + } + } + } + + private void displayMenu(final int size) { + for (int i = 0; i < (size / 2); i++) { + final StringBuffer line = new StringBuffer(); + final String col1 = (String) menu.get(i); + + if ((i + 1) < COL) { + line.append(" "); + } + + final int pos = i + 1; + line.append(" ").append(pos).append(") ").append(col1); + + while (line.length() < (screenColumns / 2)) { + line.append(" "); + } + + if ((i + (size / 2)) < size) { + final String col2 = (String) menu.get(i + (size / 2)); + final int position = i + 1 + (size / 2); + line.append(" ").append(position).append(") ").append(col2); + } + + ConsoleMenu.println(line.toString()); + } + + if (size % 2 != 0) { + final StringBuffer line = new StringBuffer(); + final String col1 = (String) menu.get(size - 1); + + if (size < COL) { + line.append(" "); + } + + line.append(" ").append(size).append(") ").append(col1); + + while (line.length() < (screenColumns / 2)) { + line.append(" "); + } + + line.append(" ").append(EXIT_CODE).append(") ").append("Exit"); + ConsoleMenu.println(line.toString()); + } else { + ConsoleMenu.println(" " + EXIT_CODE + ") Exit"); + } + } + + /** + * Gets an int from the System.in + * + * @param title + * for the command line + * @return int as entered by the user of the console app + */ + public static int getInt(final String title, final int defaultValue) { + int opt = -1; + + do { + try { + final String val = ConsoleMenu.getString(title + " (default:" + defaultValue + ")", null); + if (val.length() == 0) { + opt = defaultValue; + } else { + opt = Integer.parseInt(val); + } + } catch (final NumberFormatException e) { + opt = -1; + } + } while (opt == -1); + + return opt; + } + + /** + * Gets a boolean from the System.in + * + * @param title + * for the command line + * @return boolean as selected by the user of the console app + */ + public static boolean getBoolean(final String title, final boolean defaultValue) { + final String val = ConsoleMenu.selectOne(title, new String[] { "Yes", "No" }, new String[] { Boolean.TRUE.toString(), + Boolean.FALSE.toString() }, defaultValue ? 1 : 2); + + return Boolean.valueOf(val).booleanValue(); + } + + /** + * Gets an BigDecimal from the System.in + * + * @param title + * for the command line + * @return int as entered by the user of the console app + */ + public static BigDecimal getBigDecimal(final String title, final BigDecimal defaultValue) { + BigDecimal opt = null; + + do { + try { + final String val = ConsoleMenu.getString(title + " (default:" + defaultValue + ")", null); + if (val.length() == 0) { + opt = defaultValue; + } else { + opt = new BigDecimal(val); + } + } catch (final NumberFormatException e) { + opt = null; + } + } while (opt == null && defaultValue != null); + + return opt; + } + + public static Date getDate(final String title, final Date defaultValue) { + final SimpleDateFormat fmt = new SimpleDateFormat("dd-MM-yy"); + final String date = ConsoleMenu.getString(title + "(dd-MM-yy" + + (defaultValue != null ? ", default:" + fmt.format(defaultValue) : "") + ")", null); + try { + if (date == null || date.length() == 0) { + return defaultValue; + } + return fmt.parse(date); + } catch (final ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; + } + + /** + * Gets a String from the System.in + * + * @param msg + * for the command line + * @return String as entered by the user of the console app + */ + public static String getString(final String msg, final String defaultValue) { + ConsoleMenu.print(msg + (defaultValue != null ? " (default:" + defaultValue + ") " : "")); + + BufferedReader bufReader = null; + String opt = null; + + try { + bufReader = new BufferedReader(new InputStreamReader(System.in)); + opt = bufReader.readLine(); + } catch (final IOException ex) { + ex.printStackTrace(); + System.exit(1); + } + + if ((opt == null || opt.length() == 0) && defaultValue != null && defaultValue.length() > 0) { + opt = defaultValue; + } + + return opt; + } + + /** + * Generates a menu with a list of options and return the value selected. + * + * @param title + * for the command line + * @param optionNames + * name for each option + * @param optionValues + * value for each option + * @return String as selected by the user of the console app + */ + public static String selectOne(final String title, final String[] optionNames, final String[] optionValues, + final int defaultOption) { + if (optionNames.length != optionValues.length) { + throw new IllegalArgumentException("option names and values must have same length"); + } + + ConsoleMenu.println("Please chose " + title + " (default:" + defaultOption + ")"); + + for (int i = 0; i < optionNames.length; i++) { + ConsoleMenu.println(i + 1 + ") " + optionNames[i]); + } + + int choice = 0; + + do { + choice = ConsoleMenu.getInt("Your Choice 1-" + optionNames.length + ": ", defaultOption); + } while ((choice <= 0) || (choice > optionNames.length)); + + return optionValues[choice - 1]; + } + + /** + * @param prompt + * The prompt to display to the user. + * @return The password as entered by the user. + */ + public static String getPassword(final String prompt) { + try { + // password holder + final StringBuffer password = new StringBuffer(); + final PasswordHidingThread maskingthread = new PasswordHidingThread(prompt); + final Thread thread = new Thread(maskingthread); + thread.start(); + + // block until enter is pressed + while (true) { + char c = (char) System.in.read(); + + // assume enter pressed, stop masking + maskingthread.stopMasking(); + + if (c == '\r') { + c = (char) System.in.read(); + + if (c == '\n') { + break; + } else { + continue; + } + } else if (c == '\n') { + break; + } else { + // store the password + password.append(c); + } + } + + return password.toString(); + } catch (final IOException e) { + e.printStackTrace(); + } + + return null; + } + + // ~ Inner Classes + // -------------------------------------------------------------------------------------------------- + + /** + * This class attempts to erase characters echoed to the console. + */ + static class PasswordHidingThread extends Thread { + private boolean stop = false; + + private final String prompt; + + /** + * @param prompt + * The prompt displayed to the user + */ + public PasswordHidingThread(final String prompt) { + this.prompt = prompt; + } + + /** + * Begin masking until asked to stop. + */ + public void run() { + while (!stop) { + try { + // attempt masking at this rate + Thread.sleep(1); + } catch (final InterruptedException iex) { + iex.printStackTrace(); + } + + if (!stop) { + ConsoleMenu.print("\r" + prompt + " \r" + prompt); + } + + System.out.flush(); + } + } + + /** + * Instruct the thread to stop masking. + */ + public void stopMasking() { + this.stop = true; + } + } + + private static void println(final String txt) { + OUT.println(txt); + } + + private static void print(final String txt) { + OUT.print(txt); + } +} Added: trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Examples.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Examples.java (rev 0) +++ trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Examples.java 2006-10-17 15:05:44 UTC (rev 67) @@ -0,0 +1,215 @@ +/** + * + */ +package com.pz.reader.examples; + +import java.lang.reflect.Method; + +import com.pz.reader.examples.createsamplecsv.CSVTestFileCreator; +import com.pz.reader.examples.csvheaderandtrailer.CSVHeaderAndTrailer; +import com.pz.reader.examples.csvperformancetest.CSVPerformanceTest; +import com.pz.reader.examples.delimiteddynamiccolumns.DelimitedWithPZMap; +import com.pz.reader.examples.delimiteddynamiccolumnswitherrors.DelimitedWithPZMapErrors; +import com.pz.reader.examples.exporttoexcel.DelimitedFileExportToExcel; +import com.pz.reader.examples.fixedlengthdynamiccolumns.FixedLengthWithPZMap; +import com.pz.reader.examples.fixedlengthheaderandtrailer.FixedLengthHeaderAndTrailer; +import com.pz.reader.examples.largedataset.delimiteddynamiccolumns.LargeDelimitedWithPZMap; +import com.pz.reader.examples.largedataset.fixedlengthdynamiccolumns.LargeFixedLengthWithPZMap; +import com.pz.reader.examples.largedataset.largecsvperformancetest.CSVLarge; +import com.pz.reader.examples.lowlevelparse.LowLevelParse; +import com.pz.reader.examples.multilinedelimitedrecord.DelimitedMultiLine; +import com.pz.reader.examples.numericsanddates.NumericsAndDates; + +/** + * @author Benoit Xhenseval + */ +public class Examples implements Repeater { + + public void tearDown() { + } + + /** + * @param args + */ + public static void main(String[] args) { + Examples examples = new Examples(); + examples.run(); + } + + public void repeat(Method target) { + } + + public void doCall() { + System.out.println(""); + System.out.println(" ___ _ _ _ _ _"); + System.out.println(" / _ \\| |__ (_) ___ ___| |_| | __ _| |__"); + System.out.println(" | | | | '_ \\| |/ _ \\/ __| __| | / _` | '_ \\"); + System.out.println(" | |_| | |_) | | __/ (__| |_| |__| (_| | |_) |"); + System.out.println(" \\___/|_.__// |\\___|\\___|\\__|_____\\__,_|_.__/"); + System.out.println(" |__/"); + System.out.println(""); + System.out.println(" w w w . O b j e c t L a b . c o . u k"); + } + + private void run() { + final ConsoleMenu menu = new ConsoleMenu(this); + menu.addMenuItem("CSVTestFileCreator", "doCSVTestFileCreator", false); + menu.addMenuItem("CSVHeaderAndTrailer", "doCSVHeaderAndTrailer", false); + menu.addMenuItem("CSVPerformanceTest", "doCSVPerformanceTest", false); + menu.addMenuItem("DelimitedWithPZMap", "doDelimitedWithPZMap", false); + menu.addMenuItem("DelimitedWithPZMapErrors", "doDelimitedWithPZMapErrors", false); + menu.addMenuItem("DelimitedFileExportToExcel", "doDelimitedFileExportToExcel", false); + menu.addMenuItem("FixedLengthWithPZMap", "doFixedLengthWithPZMap", false); + menu.addMenuItem("FixedLengthHeaderAndTrailer", "doFixedLengthHeaderAndTrailer", false); + menu.addMenuItem("LargeDelimitedWithPZMap", "doLargeDelimitedWithPZMap", false); + menu.addMenuItem("LargeFixedLengthWithPZMap", "doLargeFixedLengthWithPZMap", false); + menu.addMenuItem("CSVLarge", "doCSVLarge", false); + menu.addMenuItem("LowLevelParse", "doLowLevelParse", false); + menu.addMenuItem("DelimitedMultiLine", "doDelimitedMultiLine", false); + menu.addMenuItem("NumericsAndDates", "doNumericsAndDates", false); + + menu.addMenuItem("Who you gonna call?", "doCall", false); + menu.displayMenu(); + } + + public void doCSVTestFileCreator() { + final int cols = ConsoleMenu.getInt("Number of cols", 10); + final int rows = ConsoleMenu.getInt("Number of rows", 100); + CSVTestFileCreator.createFile(cols, rows); + } + + public void doCSVHeaderAndTrailer() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", CSVHeaderAndTrailer.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", CSVHeaderAndTrailer.getDefaultDataFile()); + CSVHeaderAndTrailer.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doCSVPerformanceTest() { + try { + final String mapping = ConsoleMenu.getString("CSV File ", "SampleCSV.csv"); + final boolean data = ConsoleMenu.getBoolean("Verbose", false); + CSVPerformanceTest.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doDelimitedWithPZMap() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", DelimitedWithPZMap.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", DelimitedWithPZMap.getDefaultDataFile()); + DelimitedWithPZMap.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doDelimitedWithPZMapErrors() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", DelimitedWithPZMapErrors.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", DelimitedWithPZMapErrors.getDefaultDataFile()); + DelimitedWithPZMapErrors.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doDelimitedFileExportToExcel() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", DelimitedFileExportToExcel.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", DelimitedFileExportToExcel.getDefaultDataFile()); + DelimitedFileExportToExcel.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doFixedLengthWithPZMap() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", FixedLengthWithPZMap.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", FixedLengthWithPZMap.getDefaultDataFile()); + FixedLengthWithPZMap.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doFixedLengthHeaderAndTrailer() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", FixedLengthHeaderAndTrailer.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", FixedLengthHeaderAndTrailer.getDefaultDataFile()); + FixedLengthHeaderAndTrailer.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doLargeDelimitedWithPZMap() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", LargeDelimitedWithPZMap.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", LargeDelimitedWithPZMap.getDefaultDataFile()); + LargeDelimitedWithPZMap.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + public void doLargeFixedLengthWithPZMap() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", LargeFixedLengthWithPZMap.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", LargeFixedLengthWithPZMap.getDefaultDataFile()); + LargeFixedLengthWithPZMap.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doCSVLarge() { + try { + final int cols = ConsoleMenu.getInt("Number of cols", 10); + final int rows = ConsoleMenu.getInt("Number of rows", 2000000); + String filename = "LargeSampleCSV.csv"; + CSVTestFileCreator.createFile(cols, rows, filename); + + System.out.println("Large file created"); + + CSVLarge.call(filename); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doLowLevelParse() { + try { + final String data = ConsoleMenu.getString( "Data ", LowLevelParse.getDefaultDataFile()); + LowLevelParse.call(data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doDelimitedMultiLine() { + try { + final String data = ConsoleMenu.getString( "Data ", DelimitedMultiLine.getDefaultDataFile()); + DelimitedMultiLine.call(data); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void doNumericsAndDates() { + try { + final String mapping = ConsoleMenu.getString("Mapping ", NumericsAndDates.getDefaultMapping()); + final String data = ConsoleMenu.getString( "Data ", NumericsAndDates.getDefaultDataFile()); + NumericsAndDates.call(mapping,data); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} Added: trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Repeater.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Repeater.java (rev 0) +++ trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/Repeater.java 2006-10-17 15:05:44 UTC (rev 67) @@ -0,0 +1,15 @@ +/** + * + */ +package com.pz.reader.examples; + +import java.lang.reflect.Method; + +/** + * + * @author Benoit Xhenseval + * + */ +public interface Repeater { + void repeat(Method target); +} \ No newline at end of file Modified: trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/createsamplecsv/CSVTestFileCreator.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/createsamplecsv/CSVTestFileCreator.java 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/createsamplecsv/CSVTestFileCreator.java 2006-10-17 15:05:44 UTC (rev 67) @@ -18,8 +18,6 @@ public static void main(final String[] args) { int cols = 0; int rows = 0; - FileWriter fw = null; - PrintWriter out = null; if (args.length != 2) { printUsage(); @@ -34,9 +32,19 @@ return; } + createFile(cols, rows); + } + + public static void createFile(int cols, int rows) { + createFile(cols,rows,"SampleCSV.csv"); + } + + public static void createFile(int cols, int rows, final String filename) { + FileWriter fw = null; + PrintWriter out = null; try { - fw = new FileWriter("SampleCSV.csv"); + fw = new FileWriter(filename); out = new PrintWriter(fw); // write the column names across the top of the file @@ -60,6 +68,9 @@ out.write("\r\n"); out.flush(); + if (i % 100000 == 0) { + System.out.print("."); + } } } catch (final Exception ex) { @@ -76,7 +87,6 @@ } } - } private static void printUsage() { Modified: trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java =================================================================== --- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/CSVHeaderAndTrailer.java 2006-10-17 15:05:44 UTC (rev 67) @@ -17,12 +17,24 @@ */ public class CSVHeaderAndTrailer { public static void main(final String[] args) throws Exception { - DataSet ds = null; + call(getDefaultMapping(), getDefaultDataFile()); + } + + public static String getDefaultMapping() { + return "PEOPLE-DelimitedWithHeaderTrailer.pzmap.xml"; + } + + public static String getDefaultDataFile() { + return "PEOPLE-CommaDelimitedWithQualifier.txt"; + } + + public static void call(final String mapping, final String data) throws Exception { + File mapFile = new File(mapping); + File dataFile = new File(data); // delimited by a comma // text qualified by double quotes // ignore first record - ds = new DataSet(new File("PEOPLE-Delimited.pzmap.xml"), new File("PEOPLE-CommaDelimitedWithQualifier.txt"), ",", "\"", - true, false); + DataSet ds = new DataSet(mapFile, dataFile, ",", "\"", true, false); while (ds.next()) { @@ -57,6 +69,5 @@ // clear out the DataSet object for the JVM to collect ds.freeMemory(); - } } Deleted: trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/PEOPLE-CommaDelimitedWithQualifier.txt =================================================================== --- trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/PEOPLE-CommaDelimitedWithQualifier.txt 2006-10-17 14:22:39 UTC (rev 66) +++ trunk/PZFileReaderSamples/src/main/java/com/pz/reader/examples/csvheaderandtrailer/PEOPLE-CommaDelimitedWithQualifier.txt 2006-10-17 15:05:44 UTC (rev 67) @@ -1,9 +0,0 @@ -"FIRSTNAME","LASTNAME","ADDRESS","CITY","STATE","ZIP" -"H","Some Header Data Here" -"JOHN","ANAME","1234 CIRCLE CT","ELYRIA","OH","44035" -"JIMMY","ZNAME","180 SOME ST","AVON","OH","44011" -"JANE","ANAME","111 MILKY WY","AVON","OH","44001" -"FRED","ZNAME","123 ROCKY WY","ELYRIA","OH","12345" -"FRED","ZNAME","123 ROCKY WY","ELYRIA","OH","12345" -"FRED","ZNAME","Text Qualifier " and seperator, in string","ELYRIA","OH","" -"T","Some Trailer Data Here" Deleted: tru... [truncated message content] |
From: <zep...@us...> - 2006-10-17 14:22:42
|
Revision: 66 http://svn.sourceforge.net/pzfilereader/?rev=66&view=rev Author: zepernick Date: 2006-10-17 07:22:39 -0700 (Tue, 17 Oct 2006) Log Message: ----------- documented change Modified Paths: -------------- trunk/src/site/changes.xml Modified: trunk/src/site/changes.xml =================================================================== --- trunk/src/site/changes.xml 2006-10-17 14:21:32 UTC (rev 65) +++ trunk/src/site/changes.xml 2006-10-17 14:22:39 UTC (rev 66) @@ -8,6 +8,7 @@ </properties> <body> <release version="2.3.0" date="in svn" description="Move to Maven and Subversion"> + <action dev="zepernick" type="add">Ability to issue an OrderBy On DataSet's containing record mapping elements</action> <action dev="benoitx" type="add">Move build to Maven 1.1.x and generate the entire website from the build.</action> <action dev="benoitx" type="fix">Modify code following warning by Findbugs, checkstyle and PMD.</action> <action dev="marchy" type="add">Move to Subversion.</action> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |