From 9d5cfdead88fc54013a797c3c1e04cdcbdbb3800 Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Tue, 20 Mar 2012 12:05:00 +0200 Subject: [PATCH 01/13] Added an Iterable CSV Reader... --- .classpath | 1 + build.version | 6 +- deploy/opencsv-2.3.jar | Bin 0 -> 14146 bytes doc/api/allclasses-frame.html | 49 + doc/api/allclasses-noframe.html | 49 + .../au/com/bytecode/opencsv/CSVParser.html | 634 ++++++++ .../au/com/bytecode/opencsv/CSVReader.html | 574 +++++++ .../au/com/bytecode/opencsv/CSVWriter.html | 754 +++++++++ .../com/bytecode/opencsv/ResultSetHelper.html | 237 +++ .../opencsv/ResultSetHelperService.html | 329 ++++ .../bean/ColumnPositionMappingStrategy.html | 371 +++++ .../com/bytecode/opencsv/bean/CsvToBean.html | 356 +++++ .../bean/HeaderColumnNameMappingStrategy.html | 554 +++++++ ...derColumnNameTranslateMappingStrategy.html | 341 ++++ .../opencsv/bean/MappingStrategy.html | 266 ++++ .../ColumnPositionMappingStrategy.html | 145 ++ .../opencsv/bean/class-use/CsvToBean.html | 145 ++ .../HeaderColumnNameMappingStrategy.html | 190 +++ ...derColumnNameTranslateMappingStrategy.html | 145 ++ .../bean/class-use/MappingStrategy.html | 233 +++ .../bytecode/opencsv/bean/package-frame.html | 49 + .../opencsv/bean/package-summary.html | 204 +++ .../bytecode/opencsv/bean/package-tree.html | 162 ++ .../bytecode/opencsv/bean/package-use.html | 178 +++ .../bytecode/opencsv/class-use/CSVParser.html | 145 ++ .../bytecode/opencsv/class-use/CSVReader.html | 208 +++ .../bytecode/opencsv/class-use/CSVWriter.html | 145 ++ .../opencsv/class-use/ResultSetHelper.html | 198 +++ .../class-use/ResultSetHelperService.html | 145 ++ .../com/bytecode/opencsv/package-frame.html | 49 + .../com/bytecode/opencsv/package-summary.html | 204 +++ .../au/com/bytecode/opencsv/package-tree.html | 162 ++ .../au/com/bytecode/opencsv/package-use.html | 192 +++ doc/api/constant-values.html | 301 ++++ doc/api/deprecated-list.html | 147 ++ doc/api/help-doc.html | 224 +++ doc/api/index-all.html | 493 ++++++ doc/api/index.html | 39 + doc/api/overview-frame.html | 44 + doc/api/overview-summary.html | 164 ++ doc/api/overview-tree.html | 164 ++ doc/api/resources/inherit.gif | Bin 0 -> 57 bytes doc/api/stylesheet.css | 29 + doc/site/fml/index.fml | 16 +- examples/JdbcExample.java | 56 + examples/MockResultSet.java | 1374 +++++++++++++++++ pom.xml | 411 +++-- setJava5.sh | 15 + src/au/com/bytecode/opencsv/CSVParser.java | 61 +- src/au/com/bytecode/opencsv/CSVReader.java | 238 +-- src/au/com/bytecode/opencsv/CSVWriter.java | 285 ++-- .../opencsv/IterableCSVToBeanReader.java | 83 + .../com/bytecode/opencsv/ResultSetHelper.java | 15 +- .../opencsv/ResultSetHelperService.java | 190 ++- .../bean/ColumnPositionMappingStrategy.java | 40 +- .../opencsv/bean/CsvToBeanIterator.java | 91 ++ .../exception/CSVRuntimeException.java | 23 + .../com/bytecode/opencsv/CSVParserTest.java | 85 +- .../com/bytecode/opencsv/CSVReaderTest.java | 51 - .../com/bytecode/opencsv/CSVWriterTest.java | 265 ++-- .../com/bytecode/opencsv/MockResultSet.java | 851 ++++++++++ .../bytecode/opencsv/MockResultSetHelper.java | 45 + .../opencsv/MockResultSetMetaData.java | 130 ++ .../opencsv/ResultSetHelperServiceTest.java | 245 ++- .../ColumnPositionMappingStrategyTest.java | 33 +- .../HeaderColumnNameMappingStrategyTest.java | 23 +- .../issue3189428/CsvSample.java | 4 +- 67 files changed, 12509 insertions(+), 1146 deletions(-) create mode 100644 deploy/opencsv-2.3.jar create mode 100644 doc/api/allclasses-frame.html create mode 100644 doc/api/allclasses-noframe.html create mode 100644 doc/api/au/com/bytecode/opencsv/CSVParser.html create mode 100644 doc/api/au/com/bytecode/opencsv/CSVReader.html create mode 100644 doc/api/au/com/bytecode/opencsv/CSVWriter.html create mode 100644 doc/api/au/com/bytecode/opencsv/ResultSetHelper.html create mode 100644 doc/api/au/com/bytecode/opencsv/ResultSetHelperService.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/CsvToBean.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/MappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/class-use/ColumnPositionMappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/class-use/CsvToBean.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameMappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameTranslateMappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/class-use/MappingStrategy.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/package-frame.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/package-summary.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/package-tree.html create mode 100644 doc/api/au/com/bytecode/opencsv/bean/package-use.html create mode 100644 doc/api/au/com/bytecode/opencsv/class-use/CSVParser.html create mode 100644 doc/api/au/com/bytecode/opencsv/class-use/CSVReader.html create mode 100644 doc/api/au/com/bytecode/opencsv/class-use/CSVWriter.html create mode 100644 doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelper.html create mode 100644 doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelperService.html create mode 100644 doc/api/au/com/bytecode/opencsv/package-frame.html create mode 100644 doc/api/au/com/bytecode/opencsv/package-summary.html create mode 100644 doc/api/au/com/bytecode/opencsv/package-tree.html create mode 100644 doc/api/au/com/bytecode/opencsv/package-use.html create mode 100644 doc/api/constant-values.html create mode 100644 doc/api/deprecated-list.html create mode 100644 doc/api/help-doc.html create mode 100644 doc/api/index-all.html create mode 100644 doc/api/index.html create mode 100644 doc/api/overview-frame.html create mode 100644 doc/api/overview-summary.html create mode 100644 doc/api/overview-tree.html create mode 100644 doc/api/resources/inherit.gif create mode 100644 doc/api/stylesheet.css create mode 100644 examples/JdbcExample.java create mode 100644 examples/MockResultSet.java create mode 100644 setJava5.sh create mode 100644 src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java create mode 100644 src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java create mode 100644 src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java create mode 100644 test/au/com/bytecode/opencsv/MockResultSet.java create mode 100644 test/au/com/bytecode/opencsv/MockResultSetHelper.java create mode 100644 test/au/com/bytecode/opencsv/MockResultSetMetaData.java diff --git a/.classpath b/.classpath index a6c4fc0..baa80fa 100644 --- a/.classpath +++ b/.classpath @@ -4,5 +4,6 @@ + diff --git a/build.version b/build.version index 9b4cb62..dab3d1a 100644 --- a/build.version +++ b/build.version @@ -2,6 +2,6 @@ #Wed Aug 23 06:33:41 EST 2006 build.release.major=2 build.number=001 -build.user=Glen -build.release.minor=4 -build.date=2011/04/16 10\:52 +build.user=sconway +build.release.minor=3 +build.date=2011/04/14 10\:57 diff --git a/deploy/opencsv-2.3.jar b/deploy/opencsv-2.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..32b00f927594a1854b371fe5bdeacc30f8aa75f8 GIT binary patch literal 14146 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
hi4iPC@6 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 + + + + + +All Classes (opencsv API 2.3) + + + + + + + + + + + +All Classes +
+ + + + + +
ColumnPositionMappingStrategy +
+CSVParser +
+CSVReader +
+CsvToBean +
+CSVWriter +
+HeaderColumnNameMappingStrategy +
+HeaderColumnNameTranslateMappingStrategy +
+MappingStrategy +
+ResultSetHelper +
+ResultSetHelperService +
+
+ + + diff --git a/doc/api/allclasses-noframe.html b/doc/api/allclasses-noframe.html new file mode 100644 index 0000000..d2e26dc --- /dev/null +++ b/doc/api/allclasses-noframe.html @@ -0,0 +1,49 @@ + + + + + + +All Classes (opencsv API 2.3) + + + + + + + + + + + +All Classes +
+ + + + + +
ColumnPositionMappingStrategy +
+CSVParser +
+CSVReader +
+CsvToBean +
+CSVWriter +
+HeaderColumnNameMappingStrategy +
+HeaderColumnNameTranslateMappingStrategy +
+MappingStrategy +
+ResultSetHelper +
+ResultSetHelperService +
+
+ + + diff --git a/doc/api/au/com/bytecode/opencsv/CSVParser.html b/doc/api/au/com/bytecode/opencsv/CSVParser.html new file mode 100644 index 0000000..ad0607e --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/CSVParser.html @@ -0,0 +1,634 @@ + + + + + + +CSVParser (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv +
+Class CSVParser

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.CSVParser
+
+
+
+
public class CSVParser
extends java.lang.Object
+ + +

+A very simple CSV parser released under a commercial-friendly license. + This just implements splitting a single line into fields. +

+ +

+

+
Author:
+
Glen Smith, Rainer Pruy
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static charDEFAULT_ESCAPE_CHARACTER + +
+          The default escape character to use if none is supplied to the + constructor.
+static booleanDEFAULT_IGNORE_LEADING_WHITESPACE + +
+          The default leading whitespace behavior to use if none is supplied to the + constructor
+static charDEFAULT_QUOTE_CHARACTER + +
+          The default quote character to use if none is supplied to the + constructor.
+static charDEFAULT_SEPARATOR + +
+          The default separator to use if none is supplied to the constructor.
+static booleanDEFAULT_STRICT_QUOTES + +
+          The default strict quote behavior to use if none is supplied to the + constructor
+static intINITIAL_READ_SIZE + +
+           
+static charNULL_CHARACTER + +
+          This is the "null" character - if a value is set to this then it is ignored.
+  + + + + + + + + + + + + + + + + + + + + + + + + + +
+Constructor Summary
CSVParser() + +
+          Constructs CSVParser using a comma for the separator.
CSVParser(char separator) + +
+          Constructs CSVParser with supplied separator.
CSVParser(char separator, + char quotechar) + +
+          Constructs CSVParser with supplied separator and quote char.
CSVParser(char separator, + char quotechar, + char escape) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVParser(char separator, + char quotechar, + char escape, + boolean strictQuotes) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVParser(char separator, + char quotechar, + char escape, + boolean strictQuotes, + boolean ignoreLeadingWhiteSpace) + +
+          Constructs CSVReader with supplied separator and quote char.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  booleanisAllWhiteSpace(java.lang.CharSequence sb) + +
+          precondition: sb.length() > 0
+protected  booleanisNextCharacterEscapable(java.lang.String nextLine, + boolean inQuotes, + int i) + +
+          precondition: the current character is an escape
+ booleanisPending() + +
+           
+ java.lang.String[]parseLine(java.lang.String nextLine) + +
+           
+ java.lang.String[]parseLineMulti(java.lang.String nextLine) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+DEFAULT_SEPARATOR

+
+public static final char DEFAULT_SEPARATOR
+
+
The default separator to use if none is supplied to the constructor. +

+

+
See Also:
Constant Field Values
+
+
+ +

+INITIAL_READ_SIZE

+
+public static final int INITIAL_READ_SIZE
+
+
+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_QUOTE_CHARACTER

+
+public static final char DEFAULT_QUOTE_CHARACTER
+
+
The default quote character to use if none is supplied to the + constructor. +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_ESCAPE_CHARACTER

+
+public static final char DEFAULT_ESCAPE_CHARACTER
+
+
The default escape character to use if none is supplied to the + constructor. +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_STRICT_QUOTES

+
+public static final boolean DEFAULT_STRICT_QUOTES
+
+
The default strict quote behavior to use if none is supplied to the + constructor +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_IGNORE_LEADING_WHITESPACE

+
+public static final boolean DEFAULT_IGNORE_LEADING_WHITESPACE
+
+
The default leading whitespace behavior to use if none is supplied to the + constructor +

+

+
See Also:
Constant Field Values
+
+
+ +

+NULL_CHARACTER

+
+public static final char NULL_CHARACTER
+
+
This is the "null" character - if a value is set to this then it is ignored. + I.E. if the quote character is set to null then there is no quote character. +

+

+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+CSVParser

+
+public CSVParser()
+
+
Constructs CSVParser using a comma for the separator. +

+

+
+ +

+CSVParser

+
+public CSVParser(char separator)
+
+
Constructs CSVParser with supplied separator. +

+

+
Parameters:
separator - the delimiter to use for separating entries.
+
+
+ +

+CSVParser

+
+public CSVParser(char separator,
+                 char quotechar)
+
+
Constructs CSVParser with supplied separator and quote char. +

+

+
Parameters:
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
+
+
+ +

+CSVParser

+
+public CSVParser(char separator,
+                 char quotechar,
+                 char escape)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
+
+
+ +

+CSVParser

+
+public CSVParser(char separator,
+                 char quotechar,
+                 char escape,
+                 boolean strictQuotes)
+
+
Constructs CSVReader with supplied separator and quote char. + Allows setting the "strict quotes" flag +

+

+
Parameters:
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
strictQuotes - if true, characters outside the quotes are ignored
+
+
+ +

+CSVParser

+
+public CSVParser(char separator,
+                 char quotechar,
+                 char escape,
+                 boolean strictQuotes,
+                 boolean ignoreLeadingWhiteSpace)
+
+
Constructs CSVReader with supplied separator and quote char. + Allows setting the "strict quotes" and "ignore leading whitespace" flags +

+

+
Parameters:
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
strictQuotes - if true, characters outside the quotes are ignored
ignoreLeadingWhiteSpace - if true, white space in front of a quote in a field is ignored
+
+ + + + + + + + +
+Method Detail
+ +

+isPending

+
+public boolean isPending()
+
+
+ +
Returns:
true if something was left over from last call(s)
+
+
+
+ +

+parseLineMulti

+
+public java.lang.String[] parseLineMulti(java.lang.String nextLine)
+                                  throws java.io.IOException
+
+
+ +
Throws: +
java.io.IOException
+
+
+
+ +

+parseLine

+
+public java.lang.String[] parseLine(java.lang.String nextLine)
+                             throws java.io.IOException
+
+
+ +
Throws: +
java.io.IOException
+
+
+
+ +

+isNextCharacterEscapable

+
+protected boolean isNextCharacterEscapable(java.lang.String nextLine,
+                                           boolean inQuotes,
+                                           int i)
+
+
precondition: the current character is an escape +

+

+
Parameters:
nextLine - the current line
inQuotes - true if the current context is quoted
i - current index in line +
Returns:
true if the following character is a quote
+
+
+
+ +

+isAllWhiteSpace

+
+protected boolean isAllWhiteSpace(java.lang.CharSequence sb)
+
+
precondition: sb.length() > 0 +

+

+
Parameters:
sb - A sequence of characters to examine +
Returns:
true if every character in the sequence is whitespace
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/CSVReader.html b/doc/api/au/com/bytecode/opencsv/CSVReader.html new file mode 100644 index 0000000..7eec6ec --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/CSVReader.html @@ -0,0 +1,574 @@ + + + + + + +CSVReader (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv +
+Class CSVReader

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.CSVReader
+
+
+
All Implemented Interfaces:
java.io.Closeable
+
+
+
+
public class CSVReader
extends java.lang.Object
implements java.io.Closeable
+ + +

+A very simple CSV reader released under a commercial-friendly license. +

+ +

+

+
Author:
+
Glen Smith
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static intDEFAULT_SKIP_LINES + +
+          The default line to start reading.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Constructor Summary
CSVReader(java.io.Reader reader) + +
+          Constructs CSVReader using a comma for the separator.
CSVReader(java.io.Reader reader, + char separator) + +
+          Constructs CSVReader with supplied separator.
CSVReader(java.io.Reader reader, + char separator, + char quotechar) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVReader(java.io.Reader reader, + char separator, + char quotechar, + boolean strictQuotes) + +
+          Constructs CSVReader with supplied separator, quote char and quote handling + behavior.
CSVReader(java.io.Reader reader, + char separator, + char quotechar, + char escape) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVReader(java.io.Reader reader, + char separator, + char quotechar, + char escape, + int line) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVReader(java.io.Reader reader, + char separator, + char quotechar, + char escape, + int line, + boolean strictQuotes) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVReader(java.io.Reader reader, + char separator, + char quotechar, + char escape, + int line, + boolean strictQuotes, + boolean ignoreLeadingWhiteSpace) + +
+          Constructs CSVReader with supplied separator and quote char.
CSVReader(java.io.Reader reader, + char separator, + char quotechar, + int line) + +
+          Constructs CSVReader with supplied separator and quote char.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclose() + +
+          Closes the underlying reader.
+ java.util.List<java.lang.String[]>readAll() + +
+          Reads the entire file into a List with each element being a String[] of + tokens.
+ java.lang.String[]readNext() + +
+          Reads the next line from the buffer and converts to a string array.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+DEFAULT_SKIP_LINES

+
+public static final int DEFAULT_SKIP_LINES
+
+
The default line to start reading. +

+

+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader)
+
+
Constructs CSVReader using a comma for the separator. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator)
+
+
Constructs CSVReader with supplied separator. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries.
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar,
+                 boolean strictQuotes)
+
+
Constructs CSVReader with supplied separator, quote char and quote handling + behavior. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
strictQuotes - sets if characters outside the quotes are ignored
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar,
+                 char escape)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar,
+                 int line)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
line - the line number to skip for start reading
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar,
+                 char escape,
+                 int line)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
line - the line number to skip for start reading
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar,
+                 char escape,
+                 int line,
+                 boolean strictQuotes)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
line - the line number to skip for start reading
strictQuotes - sets if characters outside the quotes are ignored
+
+
+ +

+CSVReader

+
+public CSVReader(java.io.Reader reader,
+                 char separator,
+                 char quotechar,
+                 char escape,
+                 int line,
+                 boolean strictQuotes,
+                 boolean ignoreLeadingWhiteSpace)
+
+
Constructs CSVReader with supplied separator and quote char. +

+

+
Parameters:
reader - the reader to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escape - the character to use for escaping a separator or quote
line - the line number to skip for start reading
strictQuotes - sets if characters outside the quotes are ignored
ignoreLeadingWhiteSpace - it true, parser should ignore white space before a quote in a field
+
+ + + + + + + + +
+Method Detail
+ +

+readAll

+
+public java.util.List<java.lang.String[]> readAll()
+                                           throws java.io.IOException
+
+
Reads the entire file into a List with each element being a String[] of + tokens. +

+

+
+
+
+ +
Returns:
a List of String[], with each String[] representing a line of the + file. +
Throws: +
java.io.IOException - if bad things happen during the read
+
+
+
+ +

+readNext

+
+public java.lang.String[] readNext()
+                            throws java.io.IOException
+
+
Reads the next line from the buffer and converts to a string array. +

+

+
+
+
+ +
Returns:
a string array with each comma-separated element as a separate + entry. +
Throws: +
java.io.IOException - if bad things happen during the read
+
+
+
+ +

+close

+
+public void close()
+           throws java.io.IOException
+
+
Closes the underlying reader. +

+

+
Specified by:
close in interface java.io.Closeable
+
+
+ +
Throws: +
java.io.IOException - if the close fails
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/CSVWriter.html b/doc/api/au/com/bytecode/opencsv/CSVWriter.html new file mode 100644 index 0000000..b9b0d4b --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/CSVWriter.html @@ -0,0 +1,754 @@ + + + + + + +CSVWriter (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv +
+Class CSVWriter

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.CSVWriter
+
+
+
All Implemented Interfaces:
java.io.Closeable
+
+
+
+
public class CSVWriter
extends java.lang.Object
implements java.io.Closeable
+ + +

+A very simple CSV writer released under a commercial-friendly license. +

+ +

+

+
Author:
+
Glen Smith
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static charDEFAULT_ESCAPE_CHARACTER + +
+          The character used for escaping quotes.
+static java.lang.StringDEFAULT_LINE_END + +
+          Default line terminator uses platform encoding.
+static charDEFAULT_QUOTE_CHARACTER + +
+          The default quote character to use if none is supplied to the + constructor.
+static charDEFAULT_SEPARATOR + +
+          The default separator to use if none is supplied to the constructor.
+static intINITIAL_STRING_SIZE + +
+           
+static charNO_ESCAPE_CHARACTER + +
+          The escape constant to use when you wish to suppress all escaping.
+static charNO_QUOTE_CHARACTER + +
+          The quote constant to use when you wish to suppress all quoting.
+  + + + + + + + + + + + + + + + + + + + + + + + + + +
+Constructor Summary
CSVWriter(java.io.Writer writer) + +
+          Constructs CSVWriter using a comma for the separator.
CSVWriter(java.io.Writer writer, + char separator) + +
+          Constructs CSVWriter with supplied separator.
CSVWriter(java.io.Writer writer, + char separator, + char quotechar) + +
+          Constructs CSVWriter with supplied separator and quote char.
CSVWriter(java.io.Writer writer, + char separator, + char quotechar, + char escapechar) + +
+          Constructs CSVWriter with supplied separator and quote char.
CSVWriter(java.io.Writer writer, + char separator, + char quotechar, + char escapechar, + java.lang.String lineEnd) + +
+          Constructs CSVWriter with supplied separator, quote char, escape char and line ending.
CSVWriter(java.io.Writer writer, + char separator, + char quotechar, + java.lang.String lineEnd) + +
+          Constructs CSVWriter with supplied separator and quote char.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleancheckError() + +
+          Checks to see if the there has been an error in the printstream.
+ voidclose() + +
+          Close the underlying stream writer flushing any buffered content.
+ voidflush() + +
+          Flush underlying stream to writer.
+protected  java.lang.StringBuilderprocessLine(java.lang.String nextElement) + +
+           
+ voidsetResultService(ResultSetHelper resultService) + +
+           
+ voidwriteAll(java.util.List<java.lang.String[]> allLines) + +
+          Writes the entire list to a CSV file.
+ voidwriteAll(java.sql.ResultSet rs, + boolean includeColumnNames) + +
+          Writes the entire ResultSet to a CSV file.
+protected  voidwriteColumnNames(java.sql.ResultSet rs) + +
+           
+ voidwriteNext(java.lang.String[] nextLine) + +
+          Writes the next line to the file.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+INITIAL_STRING_SIZE

+
+public static final int INITIAL_STRING_SIZE
+
+
+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_ESCAPE_CHARACTER

+
+public static final char DEFAULT_ESCAPE_CHARACTER
+
+
The character used for escaping quotes. +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_SEPARATOR

+
+public static final char DEFAULT_SEPARATOR
+
+
The default separator to use if none is supplied to the constructor. +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_QUOTE_CHARACTER

+
+public static final char DEFAULT_QUOTE_CHARACTER
+
+
The default quote character to use if none is supplied to the + constructor. +

+

+
See Also:
Constant Field Values
+
+
+ +

+NO_QUOTE_CHARACTER

+
+public static final char NO_QUOTE_CHARACTER
+
+
The quote constant to use when you wish to suppress all quoting. +

+

+
See Also:
Constant Field Values
+
+
+ +

+NO_ESCAPE_CHARACTER

+
+public static final char NO_ESCAPE_CHARACTER
+
+
The escape constant to use when you wish to suppress all escaping. +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_LINE_END

+
+public static final java.lang.String DEFAULT_LINE_END
+
+
Default line terminator uses platform encoding. +

+

+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+CSVWriter

+
+public CSVWriter(java.io.Writer writer)
+
+
Constructs CSVWriter using a comma for the separator. +

+

+
Parameters:
writer - the writer to an underlying CSV source.
+
+
+ +

+CSVWriter

+
+public CSVWriter(java.io.Writer writer,
+                 char separator)
+
+
Constructs CSVWriter with supplied separator. +

+

+
Parameters:
writer - the writer to an underlying CSV source.
separator - the delimiter to use for separating entries.
+
+
+ +

+CSVWriter

+
+public CSVWriter(java.io.Writer writer,
+                 char separator,
+                 char quotechar)
+
+
Constructs CSVWriter with supplied separator and quote char. +

+

+
Parameters:
writer - the writer to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
+
+
+ +

+CSVWriter

+
+public CSVWriter(java.io.Writer writer,
+                 char separator,
+                 char quotechar,
+                 char escapechar)
+
+
Constructs CSVWriter with supplied separator and quote char. +

+

+
Parameters:
writer - the writer to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escapechar - the character to use for escaping quotechars or escapechars
+
+
+ +

+CSVWriter

+
+public CSVWriter(java.io.Writer writer,
+                 char separator,
+                 char quotechar,
+                 java.lang.String lineEnd)
+
+
Constructs CSVWriter with supplied separator and quote char. +

+

+
Parameters:
writer - the writer to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
lineEnd - the line feed terminator to use
+
+
+ +

+CSVWriter

+
+public CSVWriter(java.io.Writer writer,
+                 char separator,
+                 char quotechar,
+                 char escapechar,
+                 java.lang.String lineEnd)
+
+
Constructs CSVWriter with supplied separator, quote char, escape char and line ending. +

+

+
Parameters:
writer - the writer to an underlying CSV source.
separator - the delimiter to use for separating entries
quotechar - the character to use for quoted elements
escapechar - the character to use for escaping quotechars or escapechars
lineEnd - the line feed terminator to use
+
+ + + + + + + + +
+Method Detail
+ +

+writeAll

+
+public void writeAll(java.util.List<java.lang.String[]> allLines)
+
+
Writes the entire list to a CSV file. The list is assumed to be a + String[] +

+

+
+
+
+
Parameters:
allLines - a List of String[], with each String[] representing a line of + the file.
+
+
+
+ +

+writeColumnNames

+
+protected void writeColumnNames(java.sql.ResultSet rs)
+                         throws java.sql.SQLException
+
+
+
+
+
+ +
Throws: +
java.sql.SQLException
+
+
+
+ +

+writeAll

+
+public void writeAll(java.sql.ResultSet rs,
+                     boolean includeColumnNames)
+              throws java.sql.SQLException,
+                     java.io.IOException
+
+
Writes the entire ResultSet to a CSV file. + + The caller is responsible for closing the ResultSet. +

+

+
+
+
+
Parameters:
rs - the recordset to write
includeColumnNames - true if you want column names in the output, false otherwise +
Throws: +
java.io.IOException - thrown by getColumnValue +
java.sql.SQLException - thrown by getColumnValue
+
+
+
+ +

+writeNext

+
+public void writeNext(java.lang.String[] nextLine)
+
+
Writes the next line to the file. +

+

+
+
+
+
Parameters:
nextLine - a string array with each comma-separated element as a separate + entry.
+
+
+
+ +

+processLine

+
+protected java.lang.StringBuilder processLine(java.lang.String nextElement)
+
+
+
+
+
+
+
+
+
+ +

+flush

+
+public void flush()
+           throws java.io.IOException
+
+
Flush underlying stream to writer. +

+

+
+
+
+ +
Throws: +
java.io.IOException - if bad things happen
+
+
+
+ +

+close

+
+public void close()
+           throws java.io.IOException
+
+
Close the underlying stream writer flushing any buffered content. +

+

+
Specified by:
close in interface java.io.Closeable
+
+
+ +
Throws: +
java.io.IOException - if bad things happen
+
+
+
+ +

+checkError

+
+public boolean checkError()
+
+
Checks to see if the there has been an error in the printstream. +

+

+
+
+
+
+
+
+
+ +

+setResultService

+
+public void setResultService(ResultSetHelper resultService)
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/ResultSetHelper.html b/doc/api/au/com/bytecode/opencsv/ResultSetHelper.html new file mode 100644 index 0000000..447b0b4 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/ResultSetHelper.html @@ -0,0 +1,237 @@ + + + + + + +ResultSetHelper (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv +
+Interface ResultSetHelper

+
+
All Known Implementing Classes:
ResultSetHelperService
+
+
+
+
public interface ResultSetHelper
+ + +

+


+ +

+ + + + + + + + + + + + + + + + +
+Method Summary
+ java.lang.String[]getColumnNames(java.sql.ResultSet rs) + +
+           
+ java.lang.String[]getColumnValues(java.sql.ResultSet rs) + +
+           
+  +

+ + + + + + + + +
+Method Detail
+ +

+getColumnNames

+
+java.lang.String[] getColumnNames(java.sql.ResultSet rs)
+                                  throws java.sql.SQLException
+
+
+ +
Throws: +
java.sql.SQLException
+
+
+
+ +

+getColumnValues

+
+java.lang.String[] getColumnValues(java.sql.ResultSet rs)
+                                   throws java.sql.SQLException,
+                                          java.io.IOException
+
+
+ +
Throws: +
java.sql.SQLException +
java.io.IOException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/ResultSetHelperService.html b/doc/api/au/com/bytecode/opencsv/ResultSetHelperService.html new file mode 100644 index 0000000..f18c2a8 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/ResultSetHelperService.html @@ -0,0 +1,329 @@ + + + + + + +ResultSetHelperService (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv +
+Class ResultSetHelperService

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.ResultSetHelperService
+
+
+
All Implemented Interfaces:
ResultSetHelper
+
+
+
+
public class ResultSetHelperService
extends java.lang.Object
implements ResultSetHelper
+ + +

+helper class for processing JDBC ResultSet objects +

+ +

+


+ +

+ + + + + + + + + + + +
+Field Summary
+static intCLOBBUFFERSIZE + +
+           
+  + + + + + + + + + + +
+Constructor Summary
ResultSetHelperService() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ java.lang.String[]getColumnNames(java.sql.ResultSet rs) + +
+           
+ java.lang.String[]getColumnValues(java.sql.ResultSet rs) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+CLOBBUFFERSIZE

+
+public static final int CLOBBUFFERSIZE
+
+
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+ResultSetHelperService

+
+public ResultSetHelperService()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getColumnNames

+
+public java.lang.String[] getColumnNames(java.sql.ResultSet rs)
+                                  throws java.sql.SQLException
+
+
+
Specified by:
getColumnNames in interface ResultSetHelper
+
+
+ +
Throws: +
java.sql.SQLException
+
+
+
+ +

+getColumnValues

+
+public java.lang.String[] getColumnValues(java.sql.ResultSet rs)
+                                   throws java.sql.SQLException,
+                                          java.io.IOException
+
+
+
Specified by:
getColumnValues in interface ResultSetHelper
+
+
+ +
Throws: +
java.sql.SQLException +
java.io.IOException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.html new file mode 100644 index 0000000..dfa65ea --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.html @@ -0,0 +1,371 @@ + + + + + + +ColumnPositionMappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv.bean +
+Class ColumnPositionMappingStrategy<T>

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy<T>
+      extended by au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy<T>
+
+
+
All Implemented Interfaces:
MappingStrategy<T>
+
+
+
+
public class ColumnPositionMappingStrategy<T>
extends HeaderColumnNameMappingStrategy<T>
+ + +

+Copyright 2007 Kyle Miller. + + 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. +

+ +

+


+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy
descriptorMap, header, type
+  + + + + + + + + + + +
+Constructor Summary
ColumnPositionMappingStrategy() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcaptureHeader(CSVReader reader) + +
+          Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties.
+ java.lang.String[]getColumnMapping() + +
+           
+protected  java.lang.StringgetColumnName(int col) + +
+           
+ voidsetColumnMapping(java.lang.String[] columnMapping) + +
+           
+ + + + + + + +
Methods inherited from class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy
createBean, findDescriptor, findDescriptor, getType, loadDescriptorMap, matches, setType
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ColumnPositionMappingStrategy

+
+public ColumnPositionMappingStrategy()
+
+
+ + + + + + + + +
+Method Detail
+ +

+captureHeader

+
+public void captureHeader(CSVReader reader)
+                   throws java.io.IOException
+
+
Description copied from interface: MappingStrategy
+
Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties. +

+

+
Specified by:
captureHeader in interface MappingStrategy<T>
Overrides:
captureHeader in class HeaderColumnNameMappingStrategy<T>
+
+
+
Parameters:
reader - the CSVReader to use for header parsing +
Throws: +
java.io.IOException - if parsing fails
+
+
+
+ +

+getColumnName

+
+protected java.lang.String getColumnName(int col)
+
+
+
Overrides:
getColumnName in class HeaderColumnNameMappingStrategy<T>
+
+
+
+
+
+
+ +

+getColumnMapping

+
+public java.lang.String[] getColumnMapping()
+
+
+
+
+
+
+ +

+setColumnMapping

+
+public void setColumnMapping(java.lang.String[] columnMapping)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/CsvToBean.html b/doc/api/au/com/bytecode/opencsv/bean/CsvToBean.html new file mode 100644 index 0000000..1a5e91f --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/CsvToBean.html @@ -0,0 +1,356 @@ + + + + + + +CsvToBean (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv.bean +
+Class CsvToBean<T>

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.bean.CsvToBean<T>
+
+
+
+
public class CsvToBean<T>
extends java.lang.Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
CsvToBean() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  java.lang.ObjectconvertValue(java.lang.String value, + java.beans.PropertyDescriptor prop) + +
+           
+protected  java.beans.PropertyEditorgetPropertyEditor(java.beans.PropertyDescriptor desc) + +
+           
+ java.util.List<T>parse(MappingStrategy<T> mapper, + CSVReader csv) + +
+           
+ java.util.List<T>parse(MappingStrategy<T> mapper, + java.io.Reader reader) + +
+           
+protected  TprocessLine(MappingStrategy<T> mapper, + java.lang.String[] line) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+CsvToBean

+
+public CsvToBean()
+
+
+ + + + + + + + +
+Method Detail
+ +

+parse

+
+public java.util.List<T> parse(MappingStrategy<T> mapper,
+                               java.io.Reader reader)
+
+
+
+
+
+
+ +

+parse

+
+public java.util.List<T> parse(MappingStrategy<T> mapper,
+                               CSVReader csv)
+
+
+
+
+
+
+ +

+processLine

+
+protected T processLine(MappingStrategy<T> mapper,
+                        java.lang.String[] line)
+                 throws java.lang.IllegalAccessException,
+                        java.lang.reflect.InvocationTargetException,
+                        java.lang.InstantiationException,
+                        java.beans.IntrospectionException
+
+
+ +
Throws: +
java.lang.IllegalAccessException +
java.lang.reflect.InvocationTargetException +
java.lang.InstantiationException +
java.beans.IntrospectionException
+
+
+
+ +

+convertValue

+
+protected java.lang.Object convertValue(java.lang.String value,
+                                        java.beans.PropertyDescriptor prop)
+                                 throws java.lang.InstantiationException,
+                                        java.lang.IllegalAccessException
+
+
+ +
Throws: +
java.lang.InstantiationException +
java.lang.IllegalAccessException
+
+
+
+ +

+getPropertyEditor

+
+protected java.beans.PropertyEditor getPropertyEditor(java.beans.PropertyDescriptor desc)
+                                               throws java.lang.InstantiationException,
+                                                      java.lang.IllegalAccessException
+
+
+ +
Throws: +
java.lang.InstantiationException +
java.lang.IllegalAccessException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.html new file mode 100644 index 0000000..7f62faf --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.html @@ -0,0 +1,554 @@ + + + + + + +HeaderColumnNameMappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv.bean +
+Class HeaderColumnNameMappingStrategy<T>

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy<T>
+
+
+
All Implemented Interfaces:
MappingStrategy<T>
+
+
+
Direct Known Subclasses:
ColumnPositionMappingStrategy, HeaderColumnNameTranslateMappingStrategy
+
+
+
+
public class HeaderColumnNameMappingStrategy<T>
extends java.lang.Object
implements MappingStrategy<T>
+ + +

+Copyright 2007 Kyle Miller. +

+ 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. +

+ +

+


+ +

+ + + + + + + + + + + + + + + + + + + +
+Field Summary
+protected  java.util.Map<java.lang.String,java.beans.PropertyDescriptor>descriptorMap + +
+           
+protected  java.lang.String[]header + +
+           
+protected  java.lang.Class<T>type + +
+           
+  + + + + + + + + + + +
+Constructor Summary
HeaderColumnNameMappingStrategy() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcaptureHeader(CSVReader reader) + +
+          Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties.
+ TcreateBean() + +
+           
+ java.beans.PropertyDescriptorfindDescriptor(int col) + +
+          Implementation will have to return a property descriptor from a bean based on the current column.
+protected  java.beans.PropertyDescriptorfindDescriptor(java.lang.String name) + +
+           
+protected  java.lang.StringgetColumnName(int col) + +
+           
+ java.lang.Class<T>getType() + +
+           
+protected  java.util.Map<java.lang.String,java.beans.PropertyDescriptor>loadDescriptorMap(java.lang.Class<T> cls) + +
+           
+protected  booleanmatches(java.lang.String name, + java.beans.PropertyDescriptor desc) + +
+           
+ voidsetType(java.lang.Class<T> type) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+header

+
+protected java.lang.String[] header
+
+
+
+
+
+ +

+descriptorMap

+
+protected java.util.Map<java.lang.String,java.beans.PropertyDescriptor> descriptorMap
+
+
+
+
+
+ +

+type

+
+protected java.lang.Class<T> type
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+HeaderColumnNameMappingStrategy

+
+public HeaderColumnNameMappingStrategy()
+
+
+ + + + + + + + +
+Method Detail
+ +

+captureHeader

+
+public void captureHeader(CSVReader reader)
+                   throws java.io.IOException
+
+
Description copied from interface: MappingStrategy
+
Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties. +

+

+
Specified by:
captureHeader in interface MappingStrategy<T>
+
+
+
Parameters:
reader - the CSVReader to use for header parsing +
Throws: +
java.io.IOException - if parsing fails
+
+
+
+ +

+findDescriptor

+
+public java.beans.PropertyDescriptor findDescriptor(int col)
+                                             throws java.beans.IntrospectionException
+
+
Description copied from interface: MappingStrategy
+
Implementation will have to return a property descriptor from a bean based on the current column. +

+

+
Specified by:
findDescriptor in interface MappingStrategy<T>
+
+
+
Parameters:
col - the column to find the description for +
Returns:
the related PropertyDescriptor +
Throws: +
java.beans.IntrospectionException
+
+
+
+ +

+getColumnName

+
+protected java.lang.String getColumnName(int col)
+
+
+
+
+
+
+
+
+
+ +

+findDescriptor

+
+protected java.beans.PropertyDescriptor findDescriptor(java.lang.String name)
+                                                throws java.beans.IntrospectionException
+
+
+
+
+
+ +
Throws: +
java.beans.IntrospectionException
+
+
+
+ +

+matches

+
+protected boolean matches(java.lang.String name,
+                          java.beans.PropertyDescriptor desc)
+
+
+
+
+
+
+
+
+
+ +

+loadDescriptorMap

+
+protected java.util.Map<java.lang.String,java.beans.PropertyDescriptor> loadDescriptorMap(java.lang.Class<T> cls)
+                                                                                   throws java.beans.IntrospectionException
+
+
+
+
+
+ +
Throws: +
java.beans.IntrospectionException
+
+
+
+ +

+createBean

+
+public T createBean()
+             throws java.lang.InstantiationException,
+                    java.lang.IllegalAccessException
+
+
+
Specified by:
createBean in interface MappingStrategy<T>
+
+
+ +
Throws: +
java.lang.InstantiationException +
java.lang.IllegalAccessException
+
+
+
+ +

+getType

+
+public java.lang.Class<T> getType()
+
+
+
+
+
+
+
+
+
+ +

+setType

+
+public void setType(java.lang.Class<T> type)
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.html new file mode 100644 index 0000000..8798441 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.html @@ -0,0 +1,341 @@ + + + + + + +HeaderColumnNameTranslateMappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv.bean +
+Class HeaderColumnNameTranslateMappingStrategy<T>

+
+java.lang.Object
+  extended by au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy<T>
+      extended by au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy<T>
+
+
+
All Implemented Interfaces:
MappingStrategy<T>
+
+
+
+
public class HeaderColumnNameTranslateMappingStrategy<T>
extends HeaderColumnNameMappingStrategy<T>
+ + +

+Copyright 2007,2010 Kyle Miller. + + 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. +

+ +

+


+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy
descriptorMap, header, type
+  + + + + + + + + + + +
+Constructor Summary
HeaderColumnNameTranslateMappingStrategy() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ java.util.Map<java.lang.String,java.lang.String>getColumnMapping() + +
+           
+protected  java.lang.StringgetColumnName(int col) + +
+           
+ voidsetColumnMapping(java.util.Map<java.lang.String,java.lang.String> columnMapping) + +
+           
+ + + + + + + +
Methods inherited from class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy
captureHeader, createBean, findDescriptor, findDescriptor, getType, loadDescriptorMap, matches, setType
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+HeaderColumnNameTranslateMappingStrategy

+
+public HeaderColumnNameTranslateMappingStrategy()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getColumnName

+
+protected java.lang.String getColumnName(int col)
+
+
+
Overrides:
getColumnName in class HeaderColumnNameMappingStrategy<T>
+
+
+
+
+
+
+ +

+getColumnMapping

+
+public java.util.Map<java.lang.String,java.lang.String> getColumnMapping()
+
+
+
+
+
+
+ +

+setColumnMapping

+
+public void setColumnMapping(java.util.Map<java.lang.String,java.lang.String> columnMapping)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/MappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/MappingStrategy.html new file mode 100644 index 0000000..82da663 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/MappingStrategy.html @@ -0,0 +1,266 @@ + + + + + + +MappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +au.com.bytecode.opencsv.bean +
+Interface MappingStrategy<T>

+
+
All Known Implementing Classes:
ColumnPositionMappingStrategy, HeaderColumnNameMappingStrategy, HeaderColumnNameTranslateMappingStrategy
+
+
+
+
public interface MappingStrategy<T>
+ + +

+


+ +

+ + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcaptureHeader(CSVReader reader) + +
+          Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties.
+ TcreateBean() + +
+           
+ java.beans.PropertyDescriptorfindDescriptor(int col) + +
+          Implementation will have to return a property descriptor from a bean based on the current column.
+  +

+ + + + + + + + +
+Method Detail
+ +

+findDescriptor

+
+java.beans.PropertyDescriptor findDescriptor(int col)
+                                             throws java.beans.IntrospectionException
+
+
Implementation will have to return a property descriptor from a bean based on the current column. +

+

+
Parameters:
col - the column to find the description for +
Returns:
the related PropertyDescriptor +
Throws: +
java.beans.IntrospectionException
+
+
+
+ +

+createBean

+
+T createBean()
+             throws java.lang.InstantiationException,
+                    java.lang.IllegalAccessException
+
+
+ +
Throws: +
java.lang.InstantiationException +
java.lang.IllegalAccessException
+
+
+
+ +

+captureHeader

+
+void captureHeader(CSVReader reader)
+                   throws java.io.IOException
+
+
Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties. +

+

+
Parameters:
reader - the CSVReader to use for header parsing +
Throws: +
java.io.IOException - if parsing fails
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/class-use/ColumnPositionMappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/class-use/ColumnPositionMappingStrategy.html new file mode 100644 index 0000000..6c779c7 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/class-use/ColumnPositionMappingStrategy.html @@ -0,0 +1,145 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy

+
+No usage of au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/class-use/CsvToBean.html b/doc/api/au/com/bytecode/opencsv/bean/class-use/CsvToBean.html new file mode 100644 index 0000000..0cbde33 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/class-use/CsvToBean.html @@ -0,0 +1,145 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.bean.CsvToBean (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.bean.CsvToBean

+
+No usage of au.com.bytecode.opencsv.bean.CsvToBean +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameMappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameMappingStrategy.html new file mode 100644 index 0000000..76a7417 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameMappingStrategy.html @@ -0,0 +1,190 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy

+
+ + + + + + + + + +
+Packages that use HeaderColumnNameMappingStrategy
au.com.bytecode.opencsv.bean +A simple bean binding interface for use with opencsv. 
+  +

+ + + + + +
+Uses of HeaderColumnNameMappingStrategy in au.com.bytecode.opencsv.bean
+  +

+ + + + + + + + + + + + + +
Subclasses of HeaderColumnNameMappingStrategy in au.com.bytecode.opencsv.bean
+ classColumnPositionMappingStrategy<T> + +
+          Copyright 2007 Kyle Miller.
+ classHeaderColumnNameTranslateMappingStrategy<T> + +
+          Copyright 2007,2010 Kyle Miller.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameTranslateMappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameTranslateMappingStrategy.html new file mode 100644 index 0000000..a1c8c57 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/class-use/HeaderColumnNameTranslateMappingStrategy.html @@ -0,0 +1,145 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy

+
+No usage of au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/class-use/MappingStrategy.html b/doc/api/au/com/bytecode/opencsv/bean/class-use/MappingStrategy.html new file mode 100644 index 0000000..f232338 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/class-use/MappingStrategy.html @@ -0,0 +1,233 @@ + + + + + + +Uses of Interface au.com.bytecode.opencsv.bean.MappingStrategy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
au.com.bytecode.opencsv.bean.MappingStrategy

+
+ + + + + + + + + +
+Packages that use MappingStrategy
au.com.bytecode.opencsv.bean +A simple bean binding interface for use with opencsv. 
+  +

+ + + + + +
+Uses of MappingStrategy in au.com.bytecode.opencsv.bean
+  +

+ + + + + + + + + + + + + + + + + +
Classes in au.com.bytecode.opencsv.bean that implement MappingStrategy
+ classColumnPositionMappingStrategy<T> + +
+          Copyright 2007 Kyle Miller.
+ classHeaderColumnNameMappingStrategy<T> + +
+          Copyright 2007 Kyle Miller.
+ classHeaderColumnNameTranslateMappingStrategy<T> + +
+          Copyright 2007,2010 Kyle Miller.
+  +

+ + + + + + + + + + + + + + + + + +
Methods in au.com.bytecode.opencsv.bean with parameters of type MappingStrategy
+ java.util.List<T>CsvToBean.parse(MappingStrategy<T> mapper, + CSVReader csv) + +
+           
+ java.util.List<T>CsvToBean.parse(MappingStrategy<T> mapper, + java.io.Reader reader) + +
+           
+protected  TCsvToBean.processLine(MappingStrategy<T> mapper, + java.lang.String[] line) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/package-frame.html b/doc/api/au/com/bytecode/opencsv/bean/package-frame.html new file mode 100644 index 0000000..ae2b5fb --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/package-frame.html @@ -0,0 +1,49 @@ + + + + + + +au.com.bytecode.opencsv.bean (opencsv API 2.3) + + + + + + + + + + + +au.com.bytecode.opencsv.bean + + + + +
+Interfaces  + +
+MappingStrategy
+ + + + + + +
+Classes  + +
+ColumnPositionMappingStrategy +
+CsvToBean +
+HeaderColumnNameMappingStrategy +
+HeaderColumnNameTranslateMappingStrategy
+ + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/package-summary.html b/doc/api/au/com/bytecode/opencsv/bean/package-summary.html new file mode 100644 index 0000000..6569d66 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/package-summary.html @@ -0,0 +1,204 @@ + + + + + + +au.com.bytecode.opencsv.bean (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package au.com.bytecode.opencsv.bean +

+ +A simple bean binding interface for use with opencsv. +

+See: +
+          Description +

+ + + + + + + + + +
+Interface Summary
MappingStrategy<T> 
+  + +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
ColumnPositionMappingStrategy<T>Copyright 2007 Kyle Miller.
CsvToBean<T> 
HeaderColumnNameMappingStrategy<T>Copyright 2007 Kyle Miller.
HeaderColumnNameTranslateMappingStrategy<T>Copyright 2007,2010 Kyle Miller.
+  + +

+

+Package au.com.bytecode.opencsv.bean Description +

+ +

+

+A simple bean binding interface for use with opencsv. +

+
+opencsv.sourceforge.net +

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/package-tree.html b/doc/api/au/com/bytecode/opencsv/bean/package-tree.html new file mode 100644 index 0000000..631bb01 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/package-tree.html @@ -0,0 +1,162 @@ + + + + + + +au.com.bytecode.opencsv.bean Class Hierarchy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package au.com.bytecode.opencsv.bean +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/bean/package-use.html b/doc/api/au/com/bytecode/opencsv/bean/package-use.html new file mode 100644 index 0000000..94386be --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/bean/package-use.html @@ -0,0 +1,178 @@ + + + + + + +Uses of Package au.com.bytecode.opencsv.bean (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
au.com.bytecode.opencsv.bean

+
+ + + + + + + + + +
+Packages that use au.com.bytecode.opencsv.bean
au.com.bytecode.opencsv.bean +A simple bean binding interface for use with opencsv. 
+  +

+ + + + + + + + + + + +
+Classes in au.com.bytecode.opencsv.bean used by au.com.bytecode.opencsv.bean
HeaderColumnNameMappingStrategy + +
+          Copyright 2007 Kyle Miller.
MappingStrategy + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/class-use/CSVParser.html b/doc/api/au/com/bytecode/opencsv/class-use/CSVParser.html new file mode 100644 index 0000000..b0b7069 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/class-use/CSVParser.html @@ -0,0 +1,145 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.CSVParser (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.CSVParser

+
+No usage of au.com.bytecode.opencsv.CSVParser +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/class-use/CSVReader.html b/doc/api/au/com/bytecode/opencsv/class-use/CSVReader.html new file mode 100644 index 0000000..0c9ff69 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/class-use/CSVReader.html @@ -0,0 +1,208 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.CSVReader (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.CSVReader

+
+ + + + + + + + + +
+Packages that use CSVReader
au.com.bytecode.opencsv.bean +A simple bean binding interface for use with opencsv. 
+  +

+ + + + + +
+Uses of CSVReader in au.com.bytecode.opencsv.bean
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Methods in au.com.bytecode.opencsv.bean with parameters of type CSVReader
+ voidHeaderColumnNameMappingStrategy.captureHeader(CSVReader reader) + +
+           
+ voidColumnPositionMappingStrategy.captureHeader(CSVReader reader) + +
+           
+ voidMappingStrategy.captureHeader(CSVReader reader) + +
+          Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties.
+ java.util.List<T>CsvToBean.parse(MappingStrategy<T> mapper, + CSVReader csv) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/class-use/CSVWriter.html b/doc/api/au/com/bytecode/opencsv/class-use/CSVWriter.html new file mode 100644 index 0000000..01ec694 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/class-use/CSVWriter.html @@ -0,0 +1,145 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.CSVWriter (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.CSVWriter

+
+No usage of au.com.bytecode.opencsv.CSVWriter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelper.html b/doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelper.html new file mode 100644 index 0000000..b7beda9 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelper.html @@ -0,0 +1,198 @@ + + + + + + +Uses of Interface au.com.bytecode.opencsv.ResultSetHelper (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
au.com.bytecode.opencsv.ResultSetHelper

+
+ + + + + + + + + +
+Packages that use ResultSetHelper
au.com.bytecode.opencsv +A very simple CSV parser for Java released under a commercial-friendly license. 
+  +

+ + + + + +
+Uses of ResultSetHelper in au.com.bytecode.opencsv
+  +

+ + + + + + + + + +
Classes in au.com.bytecode.opencsv that implement ResultSetHelper
+ classResultSetHelperService + +
+          helper class for processing JDBC ResultSet objects
+  +

+ + + + + + + + + +
Methods in au.com.bytecode.opencsv with parameters of type ResultSetHelper
+ voidCSVWriter.setResultService(ResultSetHelper resultService) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelperService.html b/doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelperService.html new file mode 100644 index 0000000..008153a --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/class-use/ResultSetHelperService.html @@ -0,0 +1,145 @@ + + + + + + +Uses of Class au.com.bytecode.opencsv.ResultSetHelperService (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
au.com.bytecode.opencsv.ResultSetHelperService

+
+No usage of au.com.bytecode.opencsv.ResultSetHelperService +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/package-frame.html b/doc/api/au/com/bytecode/opencsv/package-frame.html new file mode 100644 index 0000000..5d7a4f8 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/package-frame.html @@ -0,0 +1,49 @@ + + + + + + +au.com.bytecode.opencsv (opencsv API 2.3) + + + + + + + + + + + +au.com.bytecode.opencsv + + + + +
+Interfaces  + +
+ResultSetHelper
+ + + + + + +
+Classes  + +
+CSVParser +
+CSVReader +
+CSVWriter +
+ResultSetHelperService
+ + + + diff --git a/doc/api/au/com/bytecode/opencsv/package-summary.html b/doc/api/au/com/bytecode/opencsv/package-summary.html new file mode 100644 index 0000000..1b35ee5 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/package-summary.html @@ -0,0 +1,204 @@ + + + + + + +au.com.bytecode.opencsv (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package au.com.bytecode.opencsv +

+ +A very simple CSV parser for Java released under a commercial-friendly license. +

+See: +
+          Description +

+ + + + + + + + + +
+Interface Summary
ResultSetHelper 
+  + +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
CSVParserA very simple CSV parser released under a commercial-friendly license.
CSVReaderA very simple CSV reader released under a commercial-friendly license.
CSVWriterA very simple CSV writer released under a commercial-friendly license.
ResultSetHelperServicehelper class for processing JDBC ResultSet objects
+  + +

+

+Package au.com.bytecode.opencsv Description +

+ +

+

+A very simple CSV parser for Java released under a commercial-friendly license. +

+
+opencsv.sourceforge.net +

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/package-tree.html b/doc/api/au/com/bytecode/opencsv/package-tree.html new file mode 100644 index 0000000..e8b44c6 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/package-tree.html @@ -0,0 +1,162 @@ + + + + + + +au.com.bytecode.opencsv Class Hierarchy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package au.com.bytecode.opencsv +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/au/com/bytecode/opencsv/package-use.html b/doc/api/au/com/bytecode/opencsv/package-use.html new file mode 100644 index 0000000..9ff1653 --- /dev/null +++ b/doc/api/au/com/bytecode/opencsv/package-use.html @@ -0,0 +1,192 @@ + + + + + + +Uses of Package au.com.bytecode.opencsv (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
au.com.bytecode.opencsv

+
+ + + + + + + + + + + + + +
+Packages that use au.com.bytecode.opencsv
au.com.bytecode.opencsv +A very simple CSV parser for Java released under a commercial-friendly license. 
au.com.bytecode.opencsv.bean +A simple bean binding interface for use with opencsv. 
+  +

+ + + + + + + + +
+Classes in au.com.bytecode.opencsv used by au.com.bytecode.opencsv
ResultSetHelper + +
+           
+  +

+ + + + + + + + +
+Classes in au.com.bytecode.opencsv used by au.com.bytecode.opencsv.bean
CSVReader + +
+          A very simple CSV reader released under a commercial-friendly license.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/constant-values.html b/doc/api/constant-values.html new file mode 100644 index 0000000..412da50 --- /dev/null +++ b/doc/api/constant-values.html @@ -0,0 +1,301 @@ + + + + + + +Constant Field Values (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Constant Field Values

+
+
+Contents + + + + + + +
+au.com.*
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
au.com.bytecode.opencsv.CSVParser
+public static final charDEFAULT_ESCAPE_CHARACTER92
+public static final booleanDEFAULT_IGNORE_LEADING_WHITESPACEtrue
+public static final charDEFAULT_QUOTE_CHARACTER34
+public static final charDEFAULT_SEPARATOR44
+public static final booleanDEFAULT_STRICT_QUOTESfalse
+public static final intINITIAL_READ_SIZE128
+public static final charNULL_CHARACTER0
+ +

+ +

+ + + + + + + + + + + + +
au.com.bytecode.opencsv.CSVReader
+public static final intDEFAULT_SKIP_LINES0
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
au.com.bytecode.opencsv.CSVWriter
+public static final charDEFAULT_ESCAPE_CHARACTER34
+public static final java.lang.StringDEFAULT_LINE_END"\n"
+public static final charDEFAULT_QUOTE_CHARACTER34
+public static final charDEFAULT_SEPARATOR44
+public static final intINITIAL_STRING_SIZE128
+public static final charNO_ESCAPE_CHARACTER0
+public static final charNO_QUOTE_CHARACTER0
+ +

+ +

+ + + + + + + + + + + + +
au.com.bytecode.opencsv.ResultSetHelperService
+public static final intCLOBBUFFERSIZE2048
+ +

+ +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/deprecated-list.html b/doc/api/deprecated-list.html new file mode 100644 index 0000000..186ead5 --- /dev/null +++ b/doc/api/deprecated-list.html @@ -0,0 +1,147 @@ + + + + + + +Deprecated List (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Deprecated API

+
+
+Contents
    +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/help-doc.html b/doc/api/help-doc.html new file mode 100644 index 0000000..059a013 --- /dev/null +++ b/doc/api/help-doc.html @@ -0,0 +1,224 @@ + + + + + + +API Help (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Overview

+
+ +

+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
+
+

+Class/Interface

+
+ +

+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+ +

+Annotation Type

+
+ +

+Each annotation type has its own separate page with the following sections:

    +
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
+
+ +

+Enum

+
+ +

+Each enum has its own separate page with the following sections:

    +
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
+
+

+Use

+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+

+Constant Field Values

+The Constant Field Values page lists the static final fields and their values. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/index-all.html b/doc/api/index-all.html new file mode 100644 index 0000000..a5c8f18 --- /dev/null +++ b/doc/api/index-all.html @@ -0,0 +1,493 @@ + + + + + + +Index (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +A C D F G H I L M N P R S T W
+

+A

+
+
au.com.bytecode.opencsv - package au.com.bytecode.opencsv
+A very simple CSV parser for Java released under a commercial-friendly license.
au.com.bytecode.opencsv.bean - package au.com.bytecode.opencsv.bean
+A simple bean binding interface for use with opencsv.
+
+

+C

+
+
captureHeader(CSVReader) - +Method in class au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy +
  +
captureHeader(CSVReader) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
captureHeader(CSVReader) - +Method in interface au.com.bytecode.opencsv.bean.MappingStrategy +
Implementation of this method can grab the header line before parsing begins to use to map columns + to bean properties. +
checkError() - +Method in class au.com.bytecode.opencsv.CSVWriter +
Checks to see if the there has been an error in the printstream. +
CLOBBUFFERSIZE - +Static variable in class au.com.bytecode.opencsv.ResultSetHelperService +
  +
close() - +Method in class au.com.bytecode.opencsv.CSVReader +
Closes the underlying reader. +
close() - +Method in class au.com.bytecode.opencsv.CSVWriter +
Close the underlying stream writer flushing any buffered content. +
ColumnPositionMappingStrategy<T> - Class in au.com.bytecode.opencsv.bean
Copyright 2007 Kyle Miller.
ColumnPositionMappingStrategy() - +Constructor for class au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy +
  +
convertValue(String, PropertyDescriptor) - +Method in class au.com.bytecode.opencsv.bean.CsvToBean +
  +
createBean() - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
createBean() - +Method in interface au.com.bytecode.opencsv.bean.MappingStrategy +
  +
CSVParser - Class in au.com.bytecode.opencsv
A very simple CSV parser released under a commercial-friendly license.
CSVParser() - +Constructor for class au.com.bytecode.opencsv.CSVParser +
Constructs CSVParser using a comma for the separator. +
CSVParser(char) - +Constructor for class au.com.bytecode.opencsv.CSVParser +
Constructs CSVParser with supplied separator. +
CSVParser(char, char) - +Constructor for class au.com.bytecode.opencsv.CSVParser +
Constructs CSVParser with supplied separator and quote char. +
CSVParser(char, char, char) - +Constructor for class au.com.bytecode.opencsv.CSVParser +
Constructs CSVReader with supplied separator and quote char. +
CSVParser(char, char, char, boolean) - +Constructor for class au.com.bytecode.opencsv.CSVParser +
Constructs CSVReader with supplied separator and quote char. +
CSVParser(char, char, char, boolean, boolean) - +Constructor for class au.com.bytecode.opencsv.CSVParser +
Constructs CSVReader with supplied separator and quote char. +
CSVReader - Class in au.com.bytecode.opencsv
A very simple CSV reader released under a commercial-friendly license.
CSVReader(Reader) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader using a comma for the separator. +
CSVReader(Reader, char) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator. +
CSVReader(Reader, char, char) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator and quote char. +
CSVReader(Reader, char, char, boolean) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator, quote char and quote handling + behavior. +
CSVReader(Reader, char, char, char) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator and quote char. +
CSVReader(Reader, char, char, int) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator and quote char. +
CSVReader(Reader, char, char, char, int) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator and quote char. +
CSVReader(Reader, char, char, char, int, boolean) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator and quote char. +
CSVReader(Reader, char, char, char, int, boolean, boolean) - +Constructor for class au.com.bytecode.opencsv.CSVReader +
Constructs CSVReader with supplied separator and quote char. +
CsvToBean<T> - Class in au.com.bytecode.opencsv.bean
 
CsvToBean() - +Constructor for class au.com.bytecode.opencsv.bean.CsvToBean +
  +
CSVWriter - Class in au.com.bytecode.opencsv
A very simple CSV writer released under a commercial-friendly license.
CSVWriter(Writer) - +Constructor for class au.com.bytecode.opencsv.CSVWriter +
Constructs CSVWriter using a comma for the separator. +
CSVWriter(Writer, char) - +Constructor for class au.com.bytecode.opencsv.CSVWriter +
Constructs CSVWriter with supplied separator. +
CSVWriter(Writer, char, char) - +Constructor for class au.com.bytecode.opencsv.CSVWriter +
Constructs CSVWriter with supplied separator and quote char. +
CSVWriter(Writer, char, char, char) - +Constructor for class au.com.bytecode.opencsv.CSVWriter +
Constructs CSVWriter with supplied separator and quote char. +
CSVWriter(Writer, char, char, String) - +Constructor for class au.com.bytecode.opencsv.CSVWriter +
Constructs CSVWriter with supplied separator and quote char. +
CSVWriter(Writer, char, char, char, String) - +Constructor for class au.com.bytecode.opencsv.CSVWriter +
Constructs CSVWriter with supplied separator, quote char, escape char and line ending. +
+
+

+D

+
+
DEFAULT_ESCAPE_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVParser +
The default escape character to use if none is supplied to the + constructor. +
DEFAULT_ESCAPE_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
The character used for escaping quotes. +
DEFAULT_IGNORE_LEADING_WHITESPACE - +Static variable in class au.com.bytecode.opencsv.CSVParser +
The default leading whitespace behavior to use if none is supplied to the + constructor +
DEFAULT_LINE_END - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
Default line terminator uses platform encoding. +
DEFAULT_QUOTE_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVParser +
The default quote character to use if none is supplied to the + constructor. +
DEFAULT_QUOTE_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
The default quote character to use if none is supplied to the + constructor. +
DEFAULT_SEPARATOR - +Static variable in class au.com.bytecode.opencsv.CSVParser +
The default separator to use if none is supplied to the constructor. +
DEFAULT_SEPARATOR - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
The default separator to use if none is supplied to the constructor. +
DEFAULT_SKIP_LINES - +Static variable in class au.com.bytecode.opencsv.CSVReader +
The default line to start reading. +
DEFAULT_STRICT_QUOTES - +Static variable in class au.com.bytecode.opencsv.CSVParser +
The default strict quote behavior to use if none is supplied to the + constructor +
descriptorMap - +Variable in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
+
+

+F

+
+
findDescriptor(int) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
findDescriptor(String) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
findDescriptor(int) - +Method in interface au.com.bytecode.opencsv.bean.MappingStrategy +
Implementation will have to return a property descriptor from a bean based on the current column. +
flush() - +Method in class au.com.bytecode.opencsv.CSVWriter +
Flush underlying stream to writer. +
+
+

+G

+
+
getColumnMapping() - +Method in class au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy +
  +
getColumnMapping() - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy +
  +
getColumnName(int) - +Method in class au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy +
  +
getColumnName(int) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
getColumnName(int) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy +
  +
getColumnNames(ResultSet) - +Method in interface au.com.bytecode.opencsv.ResultSetHelper +
  +
getColumnNames(ResultSet) - +Method in class au.com.bytecode.opencsv.ResultSetHelperService +
  +
getColumnValues(ResultSet) - +Method in interface au.com.bytecode.opencsv.ResultSetHelper +
  +
getColumnValues(ResultSet) - +Method in class au.com.bytecode.opencsv.ResultSetHelperService +
  +
getPropertyEditor(PropertyDescriptor) - +Method in class au.com.bytecode.opencsv.bean.CsvToBean +
  +
getType() - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
+
+

+H

+
+
header - +Variable in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
HeaderColumnNameMappingStrategy<T> - Class in au.com.bytecode.opencsv.bean
Copyright 2007 Kyle Miller.
HeaderColumnNameMappingStrategy() - +Constructor for class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
HeaderColumnNameTranslateMappingStrategy<T> - Class in au.com.bytecode.opencsv.bean
Copyright 2007,2010 Kyle Miller.
HeaderColumnNameTranslateMappingStrategy() - +Constructor for class au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy +
  +
+
+

+I

+
+
INITIAL_READ_SIZE - +Static variable in class au.com.bytecode.opencsv.CSVParser +
  +
INITIAL_STRING_SIZE - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
  +
isAllWhiteSpace(CharSequence) - +Method in class au.com.bytecode.opencsv.CSVParser +
precondition: sb.length() > 0 +
isNextCharacterEscapable(String, boolean, int) - +Method in class au.com.bytecode.opencsv.CSVParser +
precondition: the current character is an escape +
isPending() - +Method in class au.com.bytecode.opencsv.CSVParser +
  +
+
+

+L

+
+
loadDescriptorMap(Class<T>) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
+
+

+M

+
+
MappingStrategy<T> - Interface in au.com.bytecode.opencsv.bean
 
matches(String, PropertyDescriptor) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
+
+

+N

+
+
NO_ESCAPE_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
The escape constant to use when you wish to suppress all escaping. +
NO_QUOTE_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVWriter +
The quote constant to use when you wish to suppress all quoting. +
NULL_CHARACTER - +Static variable in class au.com.bytecode.opencsv.CSVParser +
This is the "null" character - if a value is set to this then it is ignored. +
+
+

+P

+
+
parse(MappingStrategy<T>, Reader) - +Method in class au.com.bytecode.opencsv.bean.CsvToBean +
  +
parse(MappingStrategy<T>, CSVReader) - +Method in class au.com.bytecode.opencsv.bean.CsvToBean +
  +
parseLine(String) - +Method in class au.com.bytecode.opencsv.CSVParser +
  +
parseLineMulti(String) - +Method in class au.com.bytecode.opencsv.CSVParser +
  +
processLine(MappingStrategy<T>, String[]) - +Method in class au.com.bytecode.opencsv.bean.CsvToBean +
  +
processLine(String) - +Method in class au.com.bytecode.opencsv.CSVWriter +
  +
+
+

+R

+
+
readAll() - +Method in class au.com.bytecode.opencsv.CSVReader +
Reads the entire file into a List with each element being a String[] of + tokens. +
readNext() - +Method in class au.com.bytecode.opencsv.CSVReader +
Reads the next line from the buffer and converts to a string array. +
ResultSetHelper - Interface in au.com.bytecode.opencsv
 
ResultSetHelperService - Class in au.com.bytecode.opencsv
helper class for processing JDBC ResultSet objects
ResultSetHelperService() - +Constructor for class au.com.bytecode.opencsv.ResultSetHelperService +
  +
+
+

+S

+
+
setColumnMapping(String[]) - +Method in class au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy +
  +
setColumnMapping(Map<String, String>) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameTranslateMappingStrategy +
  +
setResultService(ResultSetHelper) - +Method in class au.com.bytecode.opencsv.CSVWriter +
  +
setType(Class<T>) - +Method in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
+
+

+T

+
+
type - +Variable in class au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy +
  +
+
+

+W

+
+
writeAll(List<String[]>) - +Method in class au.com.bytecode.opencsv.CSVWriter +
Writes the entire list to a CSV file. +
writeAll(ResultSet, boolean) - +Method in class au.com.bytecode.opencsv.CSVWriter +
Writes the entire ResultSet to a CSV file. +
writeColumnNames(ResultSet) - +Method in class au.com.bytecode.opencsv.CSVWriter +
  +
writeNext(String[]) - +Method in class au.com.bytecode.opencsv.CSVWriter +
Writes the next line to the file. +
+
+A C D F G H I L M N P R S T W + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/index.html b/doc/api/index.html new file mode 100644 index 0000000..48d2ac8 --- /dev/null +++ b/doc/api/index.html @@ -0,0 +1,39 @@ + + + + + + +opencsv API 2.3 + + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> + + + diff --git a/doc/api/overview-frame.html b/doc/api/overview-frame.html new file mode 100644 index 0000000..db1e4f2 --- /dev/null +++ b/doc/api/overview-frame.html @@ -0,0 +1,44 @@ + + + + + + +Overview List (opencsv API 2.3) + + + + + + + + + + + + + + + +
+
+ + + + + +
All Classes +

+ +Packages +
+au.com.bytecode.opencsv +
+au.com.bytecode.opencsv.bean +
+

+ +

+  + + diff --git a/doc/api/overview-summary.html b/doc/api/overview-summary.html new file mode 100644 index 0000000..9a529fe --- /dev/null +++ b/doc/api/overview-summary.html @@ -0,0 +1,164 @@ + + + + + + +Overview (opencsv API 2.3) + + + + + + + + + + + + +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+

opencsv

+ + +
+ + + + + + + + + + + + + +
+Packages
au.com.bytecode.opencsv +A very simple CSV parser for Java released under a commercial-friendly license.
au.com.bytecode.opencsv.bean +A simple bean binding interface for use with opencsv.
+ +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/overview-tree.html b/doc/api/overview-tree.html new file mode 100644 index 0000000..cb273d7 --- /dev/null +++ b/doc/api/overview-tree.html @@ -0,0 +1,164 @@ + + + + + + +Class Hierarchy (opencsv API 2.3) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
au.com.bytecode.opencsv, au.com.bytecode.opencsv.bean
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2007 Bytecode Pty Ltd. + + + diff --git a/doc/api/resources/inherit.gif b/doc/api/resources/inherit.gif new file mode 100644 index 0000000000000000000000000000000000000000..c814867a13deb0ca7ea2156c6ca1d5a03372af7e GIT binary patch literal 57 zcmZ?wbhEHbIIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X literal 0 HcmV?d00001 diff --git a/doc/api/stylesheet.css b/doc/api/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/doc/api/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/doc/site/fml/index.fml b/doc/site/fml/index.fml index 4ba7159..a07e2e9 100644 --- a/doc/site/fml/index.fml +++ b/doc/site/fml/index.fml @@ -210,21 +210,7 @@ List list = csv.parse(strat, yourReader); opencsv Development Stuff Is there a snapshot Maven repo for opencsv? - Yes. We're using a repo provided by the good folk at Sonatype. - - - - I'm an opencsv developer, how do you go about releasing a new version? - Here's the general process for a release: -
    -
  • First you talk to everyone else on the team to make sure they're on the same page.
  • -
  • After that you can follow the detailed instructions found on the Sonatype site to get a JIRA username/password
  • -
  • As part of that process, you'll need to add your JIRA account name as a comment to our existing JIRA ticket.
  • -
  • Once you have access, change your Maven settings.xml on your local machine per Step 7a.1. in the Sonatype setup doc.
  • -
  • With all that in place, you can do a "mvn deploy" to release snapshots, or if you're ready to release, create a new branch, set the version in the POM, and "mvn release" again.
  • -
  • For prod releases, the release process puts things in the staging Nexus at Sonatype. It's a manual step from there to release (see step 8 of the Sonatype setup doc). First you have to "Close" the release in the staging repo (which checks the signatures and metadata), then they sent you an email, then you have to "Release" the release to central.
  • -
  • Finally, update the Sourceforge website with the latest Javadoc by using a "mvn site:deploy" (Details here)
  • -
+ Yes. We're using a repo provided by the good folk at Sonatype.
diff --git a/examples/JdbcExample.java b/examples/JdbcExample.java new file mode 100644 index 0000000..49925fc --- /dev/null +++ b/examples/JdbcExample.java @@ -0,0 +1,56 @@ +/* + * + * + */ + +import au.com.bytecode.opencsv.CSVWriter; + +import java.io.StringWriter; +import java.sql.ResultSet; +import java.sql.SQLException; + +public class JdbcExample +{ + + public static void main(String[] args) + { + ResultSet rs = null; + + try + { + rs = getResultSet(); + + StringWriter sw = new StringWriter(); + + CSVWriter writer = new CSVWriter(sw); + writer.writeAll(rs, false); + writer.close(); + + System.out.println(sw); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + finally + { + if (rs != null) + { + try + { + rs.close(); + } + catch (SQLException ignore) + { + // ignore + } + } + } + + } + + private static ResultSet getResultSet() + { + return new MockResultSet(10); + } +} diff --git a/examples/MockResultSet.java b/examples/MockResultSet.java new file mode 100644 index 0000000..32e37db --- /dev/null +++ b/examples/MockResultSet.java @@ -0,0 +1,1374 @@ +import java.io.InputStream; +import java.io.Reader; +import java.math.BigDecimal; +import java.net.MalformedURLException; +import java.net.URL; +import java.sql.*; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Map; + +/** + * + * + * mock ResultSet + * + * + * + */ +public class MockResultSet implements ResultSet +{ + private int currentRow = -1; + private int rowCount = 0; + private MockResultSetMetaData metadata; + private long currentTime = System.currentTimeMillis(); + + public MockResultSet(int rows) + { + this(rows, MockResultSetMetaData.getDefaultMetaData()); + } + + public MockResultSet(int rows, MockResultSetMetaData meta) + { + rowCount = rows; + metadata = meta; + } + + public MockResultSet() + { + metadata = MockResultSetMetaData.getDefaultMetaData(); + } + + public int getRowCount() + { + return rowCount; + } + + public boolean next() throws SQLException + { + if (currentRow + 1 >= rowCount) + { + return false; + } + else + { + currentRow++; + return true; + } + + + } + + public void close() throws SQLException + { + } + + public boolean wasNull() throws SQLException + { + return false; + } + + protected MockColumn getColumn(int columnIndex) + { + return metadata.getColumn(columnIndex); + } + + public String getString(int columnIndex) throws SQLException + { + return "string-" + getCurrentRow(); + } + + public boolean getBoolean(int columnIndex) throws SQLException + { + return ((getCurrentRow() % 2) == 0); + } + + public byte getByte(int columnIndex) throws SQLException + { + return 0; + } + + public short getShort(int columnIndex) throws SQLException + { + return (short) getCurrentRow(); + } + + public int getInt(int columnIndex) throws SQLException + { + return getCurrentRow(); + } + + public long getLong(int columnIndex) throws SQLException + { + return getCurrentRow(); + } + + public float getFloat(int columnIndex) throws SQLException + { + return getCurrentRow() + 0.25f; + } + + public double getDouble(int columnIndex) throws SQLException + { + return getCurrentRow() + 0.33d; + } + + public BigDecimal getBigDecimal(int columnIndex, int scale) + throws SQLException + { + return new BigDecimal(getCurrentRow() + 0.44d); + } + + public byte[] getBytes(int columnIndex) throws SQLException + { + return "foo".getBytes(); + } + + public Date getDate(int columnIndex) throws SQLException + { + return new Date(currentTime); + } + + public Time getTime(int columnIndex) throws SQLException + { + return new java.sql.Time(currentTime); + } + + public Timestamp getTimestamp(int columnIndex) throws SQLException + { + return new Timestamp(currentTime); + } + + public InputStream getAsciiStream(int columnIndex) throws SQLException + { + return null; // todo + } + + public InputStream getUnicodeStream(int columnIndex) throws SQLException + { + return null; + } + + public InputStream getBinaryStream(int columnIndex) throws SQLException + { + return null; + } + + public String getString(String columnName) throws SQLException + { + return columnName + getCurrentRow(); + } + + public boolean getBoolean(String columnName) throws SQLException + { + return ((getCurrentRow() % 2) == 0); + } + + public byte getByte(String columnName) throws SQLException + { + return 0; + } + + public short getShort(String columnName) throws SQLException + { + return (short) getCurrentRow(); + } + + public int getInt(String columnName) throws SQLException + { + return getCurrentRow(); + } + + public long getLong(String columnName) throws SQLException + { + return (long) getCurrentRow(); + } + + public float getFloat(String columnName) throws SQLException + { + return (float) getCurrentRow() + 0.01f; + } + + public double getDouble(String columnName) throws SQLException + { + return (double) getCurrentRow() + 0.05d; + } + + public BigDecimal getBigDecimal(String columnName, int scale) + throws SQLException + { + return new java.math.BigDecimal(getCurrentRow() + 0.25); + } + + public byte[] getBytes(String columnName) throws SQLException + { + return columnName.getBytes(); + } + + public Date getDate(String columnName) throws SQLException + { + return new Date(currentTime); + } + + public Time getTime(String columnName) throws SQLException + { + return new java.sql.Time(currentTime); + } + + public Timestamp getTimestamp(String columnName) throws SQLException + { + return new Timestamp(currentTime); + } + + public InputStream getAsciiStream(String columnName) throws SQLException + { + return null; + } + + public InputStream getUnicodeStream(String columnName) throws SQLException + { + return null; + } + + public InputStream getBinaryStream(String columnName) throws SQLException + { + return null; + } + + public SQLWarning getWarnings() throws SQLException + { + return null; + } + + public void clearWarnings() throws SQLException + { + } + + public String getCursorName() throws SQLException + { + return "CursorName"; + } + + public ResultSetMetaData getMetaData() throws SQLException + { + return metadata; + } + + public Object getObject(int columnIndex) throws SQLException + { + return new StringBuilder("Object[row " + + getCurrentRow() + + ", column " + + columnIndex + + "]"); + } + + public Object getObject(String columnName) throws SQLException + { + return new StringBuilder("Object-" + getCurrentRow()); + } + + public int findColumn(String columnName) throws SQLException + { + return 0; // todo ? + } + + public Reader getCharacterStream(int columnIndex) throws SQLException + { + return null; // todo ? + } + + public Reader getCharacterStream(String columnName) throws SQLException + { + return null; // todo ? + } + + public BigDecimal getBigDecimal(int columnIndex) throws SQLException + { + return new BigDecimal(getCurrentRow() + 0.25d); + } + + public BigDecimal getBigDecimal(String columnName) throws SQLException + { + return new BigDecimal(getCurrentRow() + 0.25d); + } + + public boolean isBeforeFirst() throws SQLException + { + return (getCurrentRow() < 0); + } + + public boolean isAfterLast() throws SQLException + { + return (getCurrentRow() >= getRowCount()); + } + + public boolean isFirst() throws SQLException + { + return (getCurrentRow() == 0); + } + + public boolean isLast() throws SQLException + { + return (getCurrentRow() == (getRowCount() - 1)); + } + + public void beforeFirst() throws SQLException + { + currentRow = -1; + } + + public void afterLast() throws SQLException + { + throw new SQLException("not implemented"); + } + + public boolean first() throws SQLException + { + currentRow = 0; + return true; + } + + public boolean last() throws SQLException + { + currentRow = getRowCount() - 1; + return true; + } + + public int getRow() throws SQLException + { + return currentRow; + } + + public boolean absolute(int row) throws SQLException + { + throw new SQLException("not implemented"); + } + + public boolean relative(int rows) throws SQLException + { + throw new SQLException("not implemented"); + } + + public boolean previous() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void setFetchDirection(int direction) throws SQLException + { + throw new SQLException("not implemented"); + } + + public int getFetchDirection() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void setFetchSize(int rows) throws SQLException + { + throw new SQLException("not implemented"); + } + + public int getFetchSize() throws SQLException + { + throw new SQLException("not implemented"); + } + + public int getType() throws SQLException + { + throw new SQLException("not implemented"); + } + + public int getConcurrency() throws SQLException + { + throw new SQLException("not implemented"); + } + + public boolean rowUpdated() throws SQLException + { + throw new SQLException("not implemented"); + } + + public boolean rowInserted() throws SQLException + { + throw new SQLException("not implemented"); + } + + public boolean rowDeleted() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateNull(int columnIndex) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBoolean(int columnIndex, boolean x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateByte(int columnIndex, byte x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateShort(int columnIndex, short x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateInt(int columnIndex, int x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateLong(int columnIndex, long x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateFloat(int columnIndex, float x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateDouble(int columnIndex, double x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBigDecimal(int columnIndex, BigDecimal x) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateString(int columnIndex, String x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBytes(int columnIndex, byte[] x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateDate(int columnIndex, Date x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateTime(int columnIndex, Time x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateTimestamp(int columnIndex, Timestamp x) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateAsciiStream(int columnIndex, InputStream x, int length) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBinaryStream(int columnIndex, InputStream x, int length) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateCharacterStream(int columnIndex, Reader x, int length) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateObject(int columnIndex, Object x, int scale) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateObject(int columnIndex, Object x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateNull(String columnName) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBoolean(String columnName, boolean x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateByte(String columnName, byte x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateShort(String columnName, short x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateInt(String columnName, int x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateLong(String columnName, long x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateFloat(String columnName, float x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateDouble(String columnName, double x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBigDecimal(String columnName, BigDecimal x) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateString(String columnName, String x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBytes(String columnName, byte[] x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateDate(String columnName, Date x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateTime(String columnName, Time x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateTimestamp(String columnName, Timestamp x) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateAsciiStream(String columnName, InputStream x, int length) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBinaryStream(String columnName, InputStream x, int length) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateCharacterStream(String columnName, Reader reader, + int length) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateObject(String columnName, Object x, int scale) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateObject(String columnName, Object x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void insertRow() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateRow() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void deleteRow() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void refreshRow() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void cancelRowUpdates() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void moveToInsertRow() throws SQLException + { + throw new SQLException("not implemented"); + } + + public void moveToCurrentRow() throws SQLException + { + throw new SQLException("not implemented"); + } + + public Statement getStatement() throws SQLException + { + throw new SQLException("not implemented"); + } + + public Object getObject(int arg0, Map> arg1) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public Ref getRef(int i) throws SQLException + { + throw new SQLException("not implemented"); + } + + public Blob getBlob(int i) throws SQLException + { + throw new SQLException("not implemented"); + } + + public Clob getClob(int i) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + public Array getArray(int i) throws SQLException + { + throw new SQLException("not implemented"); + } + + public Object getObject(String arg0, Map> arg1) + throws SQLException + { + throw new SQLException("not implemented"); + } + + public Ref getRef(String colName) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + public Blob getBlob(String colName) throws SQLException + { + throw new SQLException("not implemented"); + } + + public Clob getClob(String colName) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + public Array getArray(String colName) throws SQLException + { + throw new SQLException("not implemented"); + } + + public Date getDate(int columnIndex, Calendar cal) throws SQLException + { + return new Date(currentTime); + } + + public Date getDate(String columnName, Calendar cal) throws SQLException + { + return new Date(currentTime); + } + + public Time getTime(int columnIndex, Calendar cal) throws SQLException + { + return new Time(currentTime); + } + + public Time getTime(String columnName, Calendar cal) throws SQLException + { + return new Time(currentTime); + } + + public Timestamp getTimestamp(int columnIndex, Calendar cal) + throws SQLException + { + return new Timestamp(currentTime); + } + + public Timestamp getTimestamp(String columnName, Calendar cal) + throws SQLException + { + return new Timestamp(currentTime); + } + + public URL getURL(int columnIndex) throws SQLException + { + try + { + return new URL("http://www.google.com/"); + } + catch (MalformedURLException ex) + { + throw new SQLException(); + } + } + + public URL getURL(String columnName) throws SQLException + { + try + { + return new URL("http://www.google.com/"); + } + catch (MalformedURLException ex) + { + throw new SQLException(); + } + } + + public void updateRef(int columnIndex, Ref x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateRef(String columnName, Ref x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBlob(int columnIndex, Blob x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateBlob(String columnName, Blob x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateClob(int columnIndex, Clob x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateClob(String columnName, Clob x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateArray(int columnIndex, Array x) throws SQLException + { + throw new SQLException("not implemented"); + } + + public void updateArray(String columnName, Array x) throws SQLException + { + throw new SQLException("not implemented"); + } + + protected int getCurrentRow() + { + return currentRow; + } + + @Override + public int getHoldability() throws SQLException + { + // TODO Auto-generated method stub + return 0; + } + + @Override + public Reader getNCharacterStream(int arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public Reader getNCharacterStream(String arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public NClob getNClob(int arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public NClob getNClob(String arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getNString(int arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getNString(String arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public RowId getRowId(int arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public RowId getRowId(String arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public SQLXML getSQLXML(int arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public SQLXML getSQLXML(String arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isClosed() throws SQLException + { + // TODO Auto-generated method stub + return false; + } + + @Override + public void updateAsciiStream(int arg0, InputStream arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateAsciiStream(String arg0, InputStream arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateAsciiStream(int arg0, InputStream arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateAsciiStream(String arg0, InputStream arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBinaryStream(int arg0, InputStream arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBinaryStream(String arg0, InputStream arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBinaryStream(int arg0, InputStream arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBinaryStream(String arg0, InputStream arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBlob(int arg0, InputStream arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBlob(String arg0, InputStream arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBlob(int arg0, InputStream arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateBlob(String arg0, InputStream arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateCharacterStream(int arg0, Reader arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateCharacterStream(String arg0, Reader arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateCharacterStream(int arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateCharacterStream(String arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateClob(int arg0, Reader arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateClob(String arg0, Reader arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateClob(int arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateClob(String arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNCharacterStream(int arg0, Reader arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNCharacterStream(String arg0, Reader arg1) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNCharacterStream(int arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNCharacterStream(String arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNClob(int arg0, NClob arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNClob(String arg0, NClob arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNClob(int arg0, Reader arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNClob(String arg0, Reader arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNClob(int arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNClob(String arg0, Reader arg1, long arg2) + throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNString(int arg0, String arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateNString(String arg0, String arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateRowId(int arg0, RowId arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateRowId(String arg0, RowId arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateSQLXML(int arg0, SQLXML arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public void updateSQLXML(String arg0, SQLXML arg1) throws SQLException + { + // TODO Auto-generated method stub + + } + + @Override + public boolean isWrapperFor(Class arg0) throws SQLException + { + // TODO Auto-generated method stub + return false; + } + + @Override + public T unwrap(Class arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } +} + + +class MockColumn +{ + private String columnName; + private int type; + + + public MockColumn(int type, String name) + { + this.columnName = name; + this.type = type; + } + + public int getDisplaySize() + { + return 10; + } + + public String getName() + { + return this.columnName; + } + + public int getType() + { + return type; + } + + public String toString() + { + return this.getName(); + } +} + +class MockResultSetMetaData implements ResultSetMetaData +{ + + public static MockResultSetMetaData getDefaultMetaData() + { + MockResultSetMetaData meta = new MockResultSetMetaData(); + + meta.addColumn(new MockColumn(Types.VARCHAR, "VarcharColumn")); + meta.addColumn(new MockColumn(Types.BOOLEAN, "BooleanColumn")); + meta.addColumn(new MockColumn(Types.INTEGER, "IntegerColumn")); + meta.addColumn(new MockColumn(Types.DOUBLE, "DoubleColumn")); + meta.addColumn(new MockColumn(Types.TIME, "TimeColumn")); + meta.addColumn(new MockColumn(Types.DATE, "DateColumn")); + meta.addColumn(new MockColumn(Types.CHAR, "CharColumn")); + meta.addColumn(new MockColumn(Types.JAVA_OBJECT, "JavaObjectColumn")); + meta.addColumn(new MockColumn(Types.TIMESTAMP, "TimeStampColumn")); + meta.addColumn(new MockColumn(Types.NUMERIC, "NumericColumn")); + meta.addColumn(new MockColumn(Types.DECIMAL, "DecimalColumn")); + meta.addColumn(new MockColumn(Types.BIGINT, "BigIntegerColumn")); + + return meta; + } + + private ArrayList columns = new ArrayList(); + + public MockResultSetMetaData() + { + + } + + public void clear() + { + columns.clear(); + } + + public void addColumn(MockColumn c) + { + columns.add(c); + } + + + public int getColumnCount() throws SQLException + { + return columns.size(); + } + + public boolean isAutoIncrement(int column) throws SQLException + { + return false; + } + + public boolean isCaseSensitive(int column) throws SQLException + { + return false; + } + + public boolean isSearchable(int column) throws SQLException + { + return false; + } + + public boolean isCurrency(int column) throws SQLException + { + return false; + } + + public int isNullable(int column) throws SQLException + { + return ResultSetMetaData.columnNoNulls; + } + + public boolean isSigned(int column) throws SQLException + { + return false; + } + + public MockColumn getColumn(int column) + { + return columns.get(column - 1); + + } + public int getColumnDisplaySize(int column) throws SQLException + { + return getColumn(column).getDisplaySize(); + } + + public String getColumnLabel(int column) throws SQLException + { + return this.getColumnName(column); + } + + public String getColumnName(int column) throws SQLException + { + return getColumn(column).getName(); + } + + public String getSchemaName(int column) throws SQLException + { + return "SchemaName"; + } + + public int getPrecision(int column) throws SQLException + { + return 0; + } + + public int getScale(int column) throws SQLException + { + return 0; + } + + public String getTableName(int column) throws SQLException + { + return "Table" + column; + } + + public String getCatalogName(int column) throws SQLException + { + return "Catalog" + column; + } + + public int getColumnType(int column) throws SQLException + { + return getColumn(column).getType(); + } + + public String getColumnTypeName(int column) throws SQLException + { + return "ColumnTypeName" + column; + } + + public boolean isReadOnly(int column) throws SQLException + { + return false; + } + + public boolean isWritable(int column) throws SQLException + { + return false; + } + + public boolean isDefinitelyWritable(int column) throws SQLException + { + return false; + } + + public String getColumnClassName(int column) throws SQLException + { + return "ColumnClassName" + column; + } + + @Override + public boolean isWrapperFor(Class arg0) throws SQLException + { + // TODO Auto-generated method stub + return false; + } + + @Override + public T unwrap(Class arg0) throws SQLException + { + // TODO Auto-generated method stub + return null; + } + +} + diff --git a/pom.xml b/pom.xml index be27d53..1edaa98 100644 --- a/pom.xml +++ b/pom.xml @@ -1,219 +1,196 @@ - 4.0.0 - net.sf.opencsv - opencsv - bundle - 2.4-SNAPSHOT - opencsv - A simple library for reading and writing CSV in Java - http://opencsv.sf.net - - org.sonatype.oss - oss-parent - 7 - - - - Apache 2 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - - - scm:svn:https://opencsv.svn.sourceforge.net/svnroot/opencsv/trunk - scm:svn:https://opencsv.svn.sourceforge.net/svnroot/opencsv/trunk - http://opencsv.svn.sourceforge.net/viewvc/opencsv/ - - - - glen-smith - Glen Smith - glen_a_smith@users.sourceforge.net - http://blogs.bytecode.com.au/glen - +10 - - - sean-sullivan - Sean Sullivan - sullis@users.sourceforge.net - - - scott_conway - Scott Conway - sconway@users.sourceforge.net - - - - Sourceforge - http://sourceforge.net/tracker/?group_id=148905 - - - src - test - - - maven-compiler-plugin - 2.3.2 - - 1.5 - 1.5 - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.8.1 - - - **/Test*.java - - - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - - attach-sources - package - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.7 - - - attach-javadocs - package - - jar - - - - - - maven-assembly-plugin - 2.2.1 - - - project - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.2 - - - sign-artifacts - verify - - sign - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - 1.0-beta-1 - - - enforce-versions - install - - enforce - - - - - [1.5,1.6) - - - - - - - - org.apache.felix - maven-bundle-plugin - 2.3.4 - true - - - J2SE-1.5,JavaSE-1.6 - au.com.bytecode.opencsv.*;version="${project.version}" - - - - - - - - junit - junit - 4.8.2 - test - - - org.mockito - mockito-core - 1.8.1 - test - - - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.4 - - - org.codehaus.mojo - findbugs-maven-plugin - 2.3.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.7 - - - org.apache.maven.plugins - maven-jxr-plugin - 2.2 - - - org.apache.maven.plugins - maven-site-plugin - 2.2 - - doc/site - - - - - - - - opencsv.sf.net - scp://shell.sourceforge.net/home/project-web/opencsv/htdocs - - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + 4.0.0 + net.sf.opencsv + opencsv + jar + 2.3 + opencsv + A simple library for reading and writing CSV in Java + http://opencsv.sf.net + + + Apache 2 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + A business-friendly OSS license + + + + scm:svn:https://opencsv.svn.sourceforge.net/svnroot/opencsv/trunk + scm:svn:https://opencsv.svn.sourceforge.net/svnroot/opencsv/trunk + http://opencsv.svn.sourceforge.net/viewvc/opencsv/ + + + + glen-smith + Glen Smith + glen_a_smith@users.sourceforge.net + http://blogs.bytecode.com.au/glen + +10 + + + sean-sullivan + Sean Sullivan + sullis@users.sourceforge.net + + + scott_conway + Scott Conway + sconway@users.sourceforge.net + + + + Sourceforge + http://sourceforge.net/tracker/?group_id=148905 + + + src + test + + + maven-compiler-plugin + + 1.5 + 1.5 + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/Test*.java + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + package + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + attach-javadocs + package + + jar + + + + + + maven-assembly-plugin + + + project + + + + + + org.apache.maven.plugins + maven-gpg-plugin + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 1.0-beta-1 + + + enforce-versions + install + + enforce + + + + + [1.5,1.6) + + + + + + + + + + + junit + junit + 4.7 + test + + + + + + org.codehaus.mojo + cobertura-maven-plugin + 2.3 + + + org.codehaus.mojo + findbugs-maven-plugin + 2.1 + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.6 + + + org.apache.maven.plugins + maven-jxr-plugin + 2.1 + + + org.apache.maven.plugins + maven-site-plugin + 2.0.1 + + doc/site + + + + + + + sonatype-repo + Sonatype Release Repo + http://oss.sonatype.org/content/repositories/sourceforge-releases/ + + + sonatype-repo + Sonatype Snapshot Repo + http://oss.sonatype.org/content/repositories/sourceforge-snapshots/ + + + opencsv.sf.net + scp://shell.sourceforge.net/home/groups/o/op/opencsv/htdocs + + diff --git a/setJava5.sh b/setJava5.sh new file mode 100644 index 0000000..79efc0a --- /dev/null +++ b/setJava5.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +JAVA_HOME=/home/scott/Compilers/java5 + +export JAVA_HOME + +PATH=$JAVA_HOME/bin:$PATH + +export PATH + +echo $JAVA_HOME +echo +echo $PATH + +mvn assembly:assembly diff --git a/src/au/com/bytecode/opencsv/CSVParser.java b/src/au/com/bytecode/opencsv/CSVParser.java index f2a9a34..6ae036f 100644 --- a/src/au/com/bytecode/opencsv/CSVParser.java +++ b/src/au/com/bytecode/opencsv/CSVParser.java @@ -29,20 +29,18 @@ */ public class CSVParser { - final char separator; + private final char separator; - final char quotechar; + private final char quotechar; - final char escape; + private final char escape; - final boolean strictQuotes; + private final boolean strictQuotes; private String pending; private boolean inField = false; - final boolean ignoreLeadingWhiteSpace; - - final boolean ignoreQuotations; + private final boolean ignoreLeadingWhiteSpace; /** * The default separator to use if none is supplied to the constructor. @@ -76,15 +74,11 @@ public class CSVParser { */ public static final boolean DEFAULT_IGNORE_LEADING_WHITESPACE = true; - /** - * I.E. if the quote character is set to null then there is no quote character. - */ - public static final boolean DEFAULT_IGNORE_QUOTATIONS = false; - /** * This is the "null" character - if a value is set to this then it is ignored. + * I.E. if the quote character is set to null then there is no quote character. */ - static final char NULL_CHARACTER = '\0'; + public static final char NULL_CHARACTER = '\0'; /** * Constructs CSVParser using a comma for the separator. @@ -125,7 +119,7 @@ public CSVParser(char separator, char quotechar, char escape) { } /** - * Constructs CSVParser with supplied separator and quote char. + * Constructs CSVReader with supplied separator and quote char. * Allows setting the "strict quotes" flag * * @param separator the delimiter to use for separating entries @@ -138,7 +132,7 @@ public CSVParser(char separator, char quotechar, char escape, boolean strictQuot } /** - * Constructs CSVParser with supplied separator and quote char. + * Constructs CSVReader with supplied separator and quote char. * Allows setting the "strict quotes" and "ignore leading whitespace" flags * * @param separator the delimiter to use for separating entries @@ -148,21 +142,6 @@ public CSVParser(char separator, char quotechar, char escape, boolean strictQuot * @param ignoreLeadingWhiteSpace if true, white space in front of a quote in a field is ignored */ public CSVParser(char separator, char quotechar, char escape, boolean strictQuotes, boolean ignoreLeadingWhiteSpace) { - this(separator, quotechar, escape, strictQuotes, ignoreLeadingWhiteSpace, DEFAULT_IGNORE_QUOTATIONS); - } - - /** - * Constructs CSVParser with supplied separator and quote char. - * Allows setting the "strict quotes" and "ignore leading whitespace" flags - * - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escape the character to use for escaping a separator or quote - * @param strictQuotes if true, characters outside the quotes are ignored - * @param ignoreLeadingWhiteSpace if true, white space in front of a quote in a field is ignored - */ - public CSVParser(char separator, char quotechar, char escape, boolean strictQuotes, boolean ignoreLeadingWhiteSpace, - boolean ignoreQuotations) { if (anyCharactersAreTheSame(separator, quotechar, escape)) { throw new UnsupportedOperationException("The separator, quote, and escape characters must be different!"); } @@ -174,7 +153,6 @@ public CSVParser(char separator, char quotechar, char escape, boolean strictQuot this.escape = escape; this.strictQuotes = strictQuotes; this.ignoreLeadingWhiteSpace = ignoreLeadingWhiteSpace; - this.ignoreQuotations = ignoreQuotations; } private boolean anyCharactersAreTheSame(char separator, char quotechar, char escape) { @@ -230,22 +208,22 @@ private String[] parseLine(String nextLine, boolean multi) throws IOException { if (pending != null) { sb.append(pending); pending = null; - inQuotes = !this.ignoreQuotations;//true; + inQuotes = true; } for (int i = 0; i < nextLine.length(); i++) { char c = nextLine.charAt(i); if (c == this.escape) { - if (isNextCharacterEscapable(nextLine, (inQuotes && !ignoreQuotations) || inField, i)) { + if (isNextCharacterEscapable(nextLine, inQuotes || inField, i)) { sb.append(nextLine.charAt(i + 1)); i++; } } else if (c == quotechar) { - if (isNextCharacterEscapedQuote(nextLine, (inQuotes && !ignoreQuotations) || inField, i)) { + if (isNextCharacterEscapedQuote(nextLine, inQuotes || inField, i)) { sb.append(nextLine.charAt(i + 1)); i++; } else { - inQuotes = !inQuotes; + //inQuotes = !inQuotes; // the tricky case of an embedded quote in the middle: a,bc"d"ef,g if (!strictQuotes) { @@ -256,28 +234,31 @@ private String[] parseLine(String nextLine, boolean multi) throws IOException { ) { if (ignoreLeadingWhiteSpace && sb.length() > 0 && isAllWhiteSpace(sb)) { - sb = new StringBuilder(INITIAL_READ_SIZE); //discard white space leading up to quote + sb.setLength(0); //discard white space leading up to quote } else { sb.append(c); + //continue; } } } + + inQuotes = !inQuotes; } inField = !inField; - } else if (c == separator && !(inQuotes && !ignoreQuotations)) { + } else if (c == separator && !inQuotes) { tokensOnThisLine.add(sb.toString()); - sb = new StringBuilder(INITIAL_READ_SIZE); // start work on next token + sb.setLength(0); // start work on next token inField = false; } else { - if (!strictQuotes || (inQuotes && !ignoreQuotations)) { + if (!strictQuotes || inQuotes) { sb.append(c); inField = true; } } } // line is done - check status - if ((inQuotes && !ignoreQuotations)) { + if (inQuotes) { if (multi) { // continuing a quoted section, re-append newline sb.append("\n"); diff --git a/src/au/com/bytecode/opencsv/CSVReader.java b/src/au/com/bytecode/opencsv/CSVReader.java index 5fcc25d..1cd0d04 100644 --- a/src/au/com/bytecode/opencsv/CSVReader.java +++ b/src/au/com/bytecode/opencsv/CSVReader.java @@ -21,23 +21,23 @@ import java.io.IOException; import java.io.Reader; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; /** * A very simple CSV reader released under a commercial-friendly license. - * + * * @author Glen Smith + * */ -public class CSVReader implements Closeable, Iterable { +public class CSVReader implements Closeable { private BufferedReader br; private boolean hasNext = true; - CSVParser parser; - - int skipLines; + private CSVParser parser; + + private int skipLines; private boolean linesSkiped; @@ -48,8 +48,9 @@ public class CSVReader implements Closeable, Iterable { /** * Constructs CSVReader using a comma for the separator. - * - * @param reader the reader to an underlying CSV source. + * + * @param reader + * the reader to an underlying CSV source. */ public CSVReader(Reader reader) { this(reader, CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_QUOTE_CHARACTER, CSVParser.DEFAULT_ESCAPE_CHARACTER); @@ -57,9 +58,11 @@ public CSVReader(Reader reader) { /** * Constructs CSVReader with supplied separator. - * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries. + * + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries. */ public CSVReader(Reader reader, char separator) { this(reader, separator, CSVParser.DEFAULT_QUOTE_CHARACTER, CSVParser.DEFAULT_ESCAPE_CHARACTER); @@ -67,10 +70,13 @@ public CSVReader(Reader reader, char separator) { /** * Constructs CSVReader with supplied separator and quote char. - * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements + * + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements */ public CSVReader(Reader reader, char separator, char quotechar) { this(reader, separator, quotechar, CSVParser.DEFAULT_ESCAPE_CHARACTER, DEFAULT_SKIP_LINES, CSVParser.DEFAULT_STRICT_QUOTES); @@ -80,36 +86,48 @@ public CSVReader(Reader reader, char separator, char quotechar) { * Constructs CSVReader with supplied separator, quote char and quote handling * behavior. * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param strictQuotes sets if characters outside the quotes are ignored + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param strictQuotes + * sets if characters outside the quotes are ignored */ public CSVReader(Reader reader, char separator, char quotechar, boolean strictQuotes) { this(reader, separator, quotechar, CSVParser.DEFAULT_ESCAPE_CHARACTER, DEFAULT_SKIP_LINES, strictQuotes); } - /** + /** * Constructs CSVReader with supplied separator and quote char. * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escape the character to use for escaping a separator or quote + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param escape + * the character to use for escaping a separator or quote */ public CSVReader(Reader reader, char separator, - char quotechar, char escape) { + char quotechar, char escape) { this(reader, separator, quotechar, escape, DEFAULT_SKIP_LINES, CSVParser.DEFAULT_STRICT_QUOTES); - } - + } + /** * Constructs CSVReader with supplied separator and quote char. - * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param line the line number to skip for start reading + * + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param line + * the line number to skip for start reading */ public CSVReader(Reader reader, char separator, char quotechar, int line) { this(reader, separator, quotechar, CSVParser.DEFAULT_ESCAPE_CHARACTER, line, CSVParser.DEFAULT_STRICT_QUOTES); @@ -118,25 +136,36 @@ public CSVReader(Reader reader, char separator, char quotechar, int line) { /** * Constructs CSVReader with supplied separator and quote char. * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escape the character to use for escaping a separator or quote - * @param line the line number to skip for start reading + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param escape + * the character to use for escaping a separator or quote + * @param line + * the line number to skip for start reading */ public CSVReader(Reader reader, char separator, char quotechar, char escape, int line) { this(reader, separator, quotechar, escape, line, CSVParser.DEFAULT_STRICT_QUOTES); } - + /** * Constructs CSVReader with supplied separator and quote char. - * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escape the character to use for escaping a separator or quote - * @param line the line number to skip for start reading - * @param strictQuotes sets if characters outside the quotes are ignored + * + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param escape + * the character to use for escaping a separator or quote + * @param line + * the line number to skip for start reading + * @param strictQuotes + * sets if characters outside the quotes are ignored */ public CSVReader(Reader reader, char separator, char quotechar, char escape, int line, boolean strictQuotes) { this(reader, separator, quotechar, escape, line, strictQuotes, CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE); @@ -144,44 +173,37 @@ public CSVReader(Reader reader, char separator, char quotechar, char escape, int /** * Constructs CSVReader with supplied separator and quote char. - * - * @param reader the reader to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escape the character to use for escaping a separator or quote - * @param line the line number to skip for start reading - * @param strictQuotes sets if characters outside the quotes are ignored - * @param ignoreLeadingWhiteSpace it true, parser should ignore white space before a quote in a field + * + * @param reader + * the reader to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param escape + * the character to use for escaping a separator or quote + * @param line + * the line number to skip for start reading + * @param strictQuotes + * sets if characters outside the quotes are ignored + * @param ignoreLeadingWhiteSpace + * it true, parser should ignore white space before a quote in a field */ public CSVReader(Reader reader, char separator, char quotechar, char escape, int line, boolean strictQuotes, boolean ignoreLeadingWhiteSpace) { - this(reader, - line, - new CSVParser(separator, quotechar, escape, strictQuotes, ignoreLeadingWhiteSpace)); - } - - /** - * Constructs CSVReader with supplied separator and quote char. - * - * @param reader the reader to an underlying CSV source. - * @param line the line number to skip for start reading - * @param csvParser the parser to use to parse input - */ - public CSVReader(Reader reader, int line, CSVParser csvParser) { - this.br = - (reader instanceof BufferedReader ? - (BufferedReader) reader : - new BufferedReader(reader)); + this.br = new BufferedReader(reader); + this.parser = new CSVParser(separator, quotechar, escape, strictQuotes, ignoreLeadingWhiteSpace); this.skipLines = line; - this.parser = csvParser; } - /** + /** * Reads the entire file into a List with each element being a String[] of * tokens. - * + * * @return a List of String[], with each String[] representing a line of the * file. - * @throws IOException if bad things happen during the read + * + * @throws IOException + * if bad things happen during the read */ public List readAll() throws IOException { @@ -197,42 +219,45 @@ public List readAll() throws IOException { /** * Reads the next line from the buffer and converts to a string array. - * + * * @return a string array with each comma-separated element as a separate * entry. - * @throws IOException if bad things happen during the read + * + * @throws IOException + * if bad things happen during the read */ public String[] readNext() throws IOException { - - String[] result = null; - do { - String nextLine = getNextLine(); - if (!hasNext) { - return result; // should throw if still pending? - } - String[] r = parser.parseLineMulti(nextLine); - if (r.length > 0) { - if (result == null) { - result = r; - } else { - String[] t = new String[result.length + r.length]; - System.arraycopy(result, 0, t, 0, result.length); - System.arraycopy(r, 0, t, result.length, r.length); - result = t; - } - } - } while (parser.isPending()); - return result; + + String[] result = null; + do { + String nextLine = getNextLine(); + if (!hasNext) { + return result; // should throw if still pending? + } + String[] r = parser.parseLineMulti(nextLine); + if (r.length > 0) { + if (result == null) { + result = r; + } else { + String[] t = new String[result.length+r.length]; + System.arraycopy(result, 0, t, 0, result.length); + System.arraycopy(r, 0, t, result.length, r.length); + result = t; + } + } + } while (parser.isPending()); + return result; } /** * Reads the next line from the file. - * + * * @return the next line from the file without trailing newline - * @throws IOException if bad things happen during the read + * @throws IOException + * if bad things happen during the read */ private String getNextLine() throws IOException { - if (!this.linesSkiped) { + if (!this.linesSkiped) { for (int i = 0; i < skipLines; i++) { br.readLine(); } @@ -247,18 +272,11 @@ private String getNextLine() throws IOException { /** * Closes the underlying reader. - * + * * @throws IOException if the close fails */ - public void close() throws IOException { - br.close(); - } - - public Iterator iterator() { - try { - return new CSVIterator(this); - } catch (IOException e) { - throw new RuntimeException(e); - } + public void close() throws IOException{ + br.close(); } + } diff --git a/src/au/com/bytecode/opencsv/CSVWriter.java b/src/au/com/bytecode/opencsv/CSVWriter.java index 81d1ca7..32e617a 100644 --- a/src/au/com/bytecode/opencsv/CSVWriter.java +++ b/src/au/com/bytecode/opencsv/CSVWriter.java @@ -16,7 +16,10 @@ limitations under the License. */ -import java.io.*; +import java.io.Closeable; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.Writer; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; @@ -25,31 +28,28 @@ * A very simple CSV writer released under a commercial-friendly license. * * @author Glen Smith + * */ -public class CSVWriter implements Closeable, Flushable { - +public class CSVWriter implements Closeable { + public static final int INITIAL_STRING_SIZE = 128; - private Writer rawWriter; + private Writer rawWriter; private PrintWriter pw; private char separator; private char quotechar; - + private char escapechar; - + private String lineEnd; - /** - * The character used for escaping quotes. - */ + /** The character used for escaping quotes. */ public static final char DEFAULT_ESCAPE_CHARACTER = '"'; - /** - * The default separator to use if none is supplied to the constructor. - */ + /** The default separator to use if none is supplied to the constructor. */ public static final char DEFAULT_SEPARATOR = ','; /** @@ -57,28 +57,23 @@ public class CSVWriter implements Closeable, Flushable { * constructor. */ public static final char DEFAULT_QUOTE_CHARACTER = '"'; - - /** - * The quote constant to use when you wish to suppress all quoting. - */ + + /** The quote constant to use when you wish to suppress all quoting. */ public static final char NO_QUOTE_CHARACTER = '\u0000'; - - /** - * The escape constant to use when you wish to suppress all escaping. - */ + + /** The escape constant to use when you wish to suppress all escaping. */ public static final char NO_ESCAPE_CHARACTER = '\u0000'; - - /** - * Default line terminator uses platform encoding. - */ + + /** Default line terminator uses platform encoding. */ public static final String DEFAULT_LINE_END = "\n"; private ResultSetHelper resultService = new ResultSetHelperService(); - + /** * Constructs CSVWriter using a comma for the separator. * - * @param writer the writer to an underlying CSV source. + * @param writer + * the writer to an underlying CSV source. */ public CSVWriter(Writer writer) { this(writer, DEFAULT_SEPARATOR); @@ -87,8 +82,10 @@ public CSVWriter(Writer writer) { /** * Constructs CSVWriter with supplied separator. * - * @param writer the writer to an underlying CSV source. - * @param separator the delimiter to use for separating entries. + * @param writer + * the writer to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries. */ public CSVWriter(Writer writer, char separator) { this(writer, separator, DEFAULT_QUOTE_CHARACTER); @@ -97,48 +94,65 @@ public CSVWriter(Writer writer, char separator) { /** * Constructs CSVWriter with supplied separator and quote char. * - * @param writer the writer to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements + * @param writer + * the writer to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements */ public CSVWriter(Writer writer, char separator, char quotechar) { - this(writer, separator, quotechar, DEFAULT_ESCAPE_CHARACTER); + this(writer, separator, quotechar, DEFAULT_ESCAPE_CHARACTER); } /** * Constructs CSVWriter with supplied separator and quote char. * - * @param writer the writer to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escapechar the character to use for escaping quotechars or escapechars + * @param writer + * the writer to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param escapechar + * the character to use for escaping quotechars or escapechars */ public CSVWriter(Writer writer, char separator, char quotechar, char escapechar) { this(writer, separator, quotechar, escapechar, DEFAULT_LINE_END); } - - + + /** * Constructs CSVWriter with supplied separator and quote char. * - * @param writer the writer to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param lineEnd the line feed terminator to use + * @param writer + * the writer to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param lineEnd + * the line feed terminator to use */ public CSVWriter(Writer writer, char separator, char quotechar, String lineEnd) { this(writer, separator, quotechar, DEFAULT_ESCAPE_CHARACTER, lineEnd); - } - - + } + + + /** * Constructs CSVWriter with supplied separator, quote char, escape char and line ending. * - * @param writer the writer to an underlying CSV source. - * @param separator the delimiter to use for separating entries - * @param quotechar the character to use for quoted elements - * @param escapechar the character to use for escaping quotechars or escapechars - * @param lineEnd the line feed terminator to use + * @param writer + * the writer to an underlying CSV source. + * @param separator + * the delimiter to use for separating entries + * @param quotechar + * the character to use for quoted elements + * @param escapechar + * the character to use for escaping quotechars or escapechars + * @param lineEnd + * the line feed terminator to use */ public CSVWriter(Writer writer, char separator, char quotechar, char escapechar, String lineEnd) { this.rawWriter = writer; @@ -148,89 +162,64 @@ public CSVWriter(Writer writer, char separator, char quotechar, char escapechar, this.escapechar = escapechar; this.lineEnd = lineEnd; } - - /** - * Writes the entire list to a CSV file. The list is assumed to be a - * String[] - * - * @param allLines a List of String[], with each String[] representing a line of - * the file. - * @param applyQuotesToAll true if all values are to be quoted. false if quotes only - * to be applied to values which contain the separator, escape, - * quote or new line characters. - */ - public void writeAll(List allLines, boolean applyQuotesToAll) { - for (String[] line : allLines) { - writeNext(line, applyQuotesToAll); - } - } - + /** * Writes the entire list to a CSV file. The list is assumed to be a * String[] * - * @param allLines a List of String[], with each String[] representing a line of - * the file. + * @param allLines + * a List of String[], with each String[] representing a line of + * the file. */ - public void writeAll(List allLines) { - for (String[] line : allLines) { - writeNext(line); - } + public void writeAll(List allLines) { + for (String[] line : allLines) { + writeNext(line); + } } protected void writeColumnNames(ResultSet rs) - throws SQLException { + throws SQLException { - writeNext(resultService.getColumnNames(rs)); + writeNext(resultService.getColumnNames(rs)); } - + /** * Writes the entire ResultSet to a CSV file. - *

+ * * The caller is responsible for closing the ResultSet. * - * @param rs the recordset to write + * @param rs the recordset to write * @param includeColumnNames true if you want column names in the output, false otherwise - * @throws java.io.IOException thrown by getColumnValue - * @throws java.sql.SQLException thrown by getColumnValue - */ - public void writeAll(java.sql.ResultSet rs, boolean includeColumnNames) throws SQLException, IOException { - writeAll(rs, includeColumnNames, false); - } - - /** - * Writes the entire ResultSet to a CSV file. - *

- * The caller is responsible for closing the ResultSet. * - * @throws java.io.IOException thrown by getColumnValue + * @throws java.io.IOException thrown by getColumnValue * @throws java.sql.SQLException thrown by getColumnValue */ - public void writeAll(java.sql.ResultSet rs, boolean includeColumnNames, boolean trim) throws SQLException, IOException { - - - if (includeColumnNames) { - writeColumnNames(rs); - } - - while (rs.next()) { - writeNext(resultService.getColumnValues(rs, trim)); - } + public void writeAll(java.sql.ResultSet rs, boolean includeColumnNames) throws SQLException, IOException { + + + if (includeColumnNames) { + writeColumnNames(rs); + } + + while (rs.next()) + { + writeNext(resultService.getColumnValues(rs)); + } } + /** * Writes the next line to the file. * - * @param nextLine a string array with each comma-separated element as a separate - * entry. - * @param applyQuotesToAll true if all values are to be quoted. false applies quotes only - * to values which contain the separator, escape, quote or new line characters. + * @param nextLine + * a string array with each comma-separated element as a separate + * entry. */ - public void writeNext(String[] nextLine, boolean applyQuotesToAll) { - - if (nextLine == null) - return; - + public void writeNext(String[] nextLine) { + + if (nextLine == null) + return; + StringBuilder sb = new StringBuilder(INITIAL_STRING_SIZE); for (int i = 0; i < nextLine.length; i++) { @@ -239,74 +228,59 @@ public void writeNext(String[] nextLine, boolean applyQuotesToAll) { } String nextElement = nextLine[i]; - if (nextElement == null) continue; + if (quotechar != NO_QUOTE_CHARACTER) + sb.append(quotechar); + + sb.append(stringContainsSpecialCharacters(nextElement) ? processLine(nextElement) : nextElement); - Boolean stringContainsSpecialCharacters = stringContainsSpecialCharacters(nextElement); - - if ((applyQuotesToAll || stringContainsSpecialCharacters) && quotechar != NO_QUOTE_CHARACTER) - sb.append(quotechar); - - if (stringContainsSpecialCharacters) { - sb.append(processLine(nextElement)); - } else { - sb.append(nextElement); - } - - if ((applyQuotesToAll || stringContainsSpecialCharacters) && quotechar != NO_QUOTE_CHARACTER) - sb.append(quotechar); + if (quotechar != NO_QUOTE_CHARACTER) + sb.append(quotechar); } - + sb.append(lineEnd); pw.write(sb.toString()); - } - /** - * Writes the next line to the file. - * - * @param nextLine a string array with each comma-separated element as a separate - * entry. - */ - public void writeNext(String[] nextLine) { - writeNext(nextLine, true); } - private boolean stringContainsSpecialCharacters(String line) { - return line.indexOf(quotechar) != -1 || line.indexOf(escapechar) != -1 || line.indexOf(separator) != -1 || line.indexOf("\n") != -1 || line.indexOf("\r") != -1; + private boolean stringContainsSpecialCharacters(String line) { + return line.indexOf(quotechar) != -1 || line.indexOf(escapechar) != -1; } - protected StringBuilder processLine(String nextElement) { - StringBuilder sb = new StringBuilder(INITIAL_STRING_SIZE); - for (int j = 0; j < nextElement.length(); j++) { - char nextChar = nextElement.charAt(j); - if (escapechar != NO_ESCAPE_CHARACTER && nextChar == quotechar) { - sb.append(escapechar).append(nextChar); - } else if (escapechar != NO_ESCAPE_CHARACTER && nextChar == escapechar) { - sb.append(escapechar).append(nextChar); - } else { - sb.append(nextChar); - } - } - - return sb; + protected StringBuilder processLine(String nextElement) + { + StringBuilder sb = new StringBuilder(INITIAL_STRING_SIZE); + for (int j = 0; j < nextElement.length(); j++) { + char nextChar = nextElement.charAt(j); + if (escapechar != NO_ESCAPE_CHARACTER && nextChar == quotechar) { + sb.append(escapechar).append(nextChar); + } else if (escapechar != NO_ESCAPE_CHARACTER && nextChar == escapechar) { + sb.append(escapechar).append(nextChar); + } else { + sb.append(nextChar); + } + } + + return sb; } /** * Flush underlying stream to writer. - * + * * @throws IOException if bad things happen */ public void flush() throws IOException { pw.flush(); - } + } /** * Close the underlying stream writer flushing any buffered content. * * @throws IOException if bad things happen + * */ public void close() throws IOException { flush(); @@ -315,7 +289,7 @@ public void close() throws IOException { } /** - * Checks to see if the there has been an error in the printstream. + * Checks to see if the there has been an error in the printstream. */ public boolean checkError() { return pw.checkError(); @@ -325,11 +299,4 @@ public void setResultService(ResultSetHelper resultService) { this.resultService = resultService; } - public void flushQuietly() { - try { - flush(); - } catch (IOException e) { - // catch exception and ignore. - } - } } diff --git a/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java b/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java new file mode 100644 index 0000000..aa81032 --- /dev/null +++ b/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java @@ -0,0 +1,83 @@ +package au.com.bytecode.opencsv; + +import java.io.IOException; +import java.io.Reader; +import java.util.Iterator; + +import au.com.bytecode.opencsv.bean.CsvToBeanIterator; +import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy; +import au.com.bytecode.opencsv.exception.CSVRuntimeException; + +public class IterableCSVToBeanReader extends CSVReader implements Iterable { + + private ColumnPositionMappingStrategy mapper; + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader) { + super(reader); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar, + boolean strictQuotes) { + super(reader, separator, quotechar, strictQuotes); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar, + char escape, int line, boolean strictQuotes, + boolean ignoreLeadingWhiteSpace) { + super(reader, separator, quotechar, escape, line, strictQuotes, + ignoreLeadingWhiteSpace); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar, + char escape, int line, boolean strictQuotes) { + super(reader, separator, quotechar, escape, line, strictQuotes); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar, + char escape, int line) { + super(reader, separator, quotechar, escape, line); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar, + char escape) { + super(reader, separator, quotechar, escape); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar, + int line) { + super(reader, separator, quotechar, line); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator, char quotechar) { + super(reader, separator, quotechar); + this.mapper = _mapper; + } + + public IterableCSVToBeanReader(ColumnPositionMappingStrategy _mapper, Reader reader, char separator) { + super(reader, separator); + this.mapper = _mapper; + } + + @Override + public Iterator iterator() { + + try { + + return new CsvToBeanIterator(mapper, this); + + } catch (IOException e) { + + throw new CSVRuntimeException(e); + + } + + } + +} diff --git a/src/au/com/bytecode/opencsv/ResultSetHelper.java b/src/au/com/bytecode/opencsv/ResultSetHelper.java index 2b1d366..aa61d4a 100644 --- a/src/au/com/bytecode/opencsv/ResultSetHelper.java +++ b/src/au/com/bytecode/opencsv/ResultSetHelper.java @@ -20,19 +20,14 @@ import java.sql.SQLException; /** - * - * - * - * - * + * + * + * + * + * */ public interface ResultSetHelper { public String[] getColumnNames(ResultSet rs) throws SQLException; public String[] getColumnValues(ResultSet rs) throws SQLException, IOException; - - public String[] getColumnValues(ResultSet rs, boolean trim) throws SQLException, IOException; - - public String[] getColumnValues(ResultSet rs, boolean trim, String dateFormatString, String timeFormatString) - throws SQLException, IOException; } diff --git a/src/au/com/bytecode/opencsv/ResultSetHelperService.java b/src/au/com/bytecode/opencsv/ResultSetHelperService.java index 46bd580..23d9661 100644 --- a/src/au/com/bytecode/opencsv/ResultSetHelperService.java +++ b/src/au/com/bytecode/opencsv/ResultSetHelperService.java @@ -14,7 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ - import java.io.IOException; import java.io.Reader; import java.math.BigDecimal; @@ -24,27 +23,28 @@ import java.util.List; /** - * helper class for processing JDBC ResultSet objects + * + * + * helper class for processing JDBC ResultSet objects + * + * */ public class ResultSetHelperService implements ResultSetHelper { public static final int CLOBBUFFERSIZE = 2048; - + // note: we want to maintain compatibility with Java 5 VM's // These types don't exist in Java 5 - static final int NVARCHAR = -9; - static final int NCHAR = -15; - static final int LONGNVARCHAR = -16; - static final int NCLOB = 2011; - - static final String DEFAULT_DATE_FORMAT = "dd-MMM-yyyy"; - static final String DEFAULT_TIMESTAMP_FORMAT = "dd-MMM-yyyy HH:mm:ss"; + private static final int NVARCHAR = -9; + private static final int NCHAR = -15; + private static final int LONGNVARCHAR = -16; + private static final int NCLOB = 2011; public String[] getColumnNames(ResultSet rs) throws SQLException { List names = new ArrayList(); ResultSetMetaData metadata = rs.getMetaData(); for (int i = 0; i < metadata.getColumnCount(); i++) { - names.add(metadata.getColumnName(i + 1)); + names.add(metadata.getColumnName(i+1)); } String[] nameArray = new String[names.size()]; @@ -52,26 +52,19 @@ public String[] getColumnNames(ResultSet rs) throws SQLException { } public String[] getColumnValues(ResultSet rs) throws SQLException, IOException { - return this.getColumnValues(rs, false, DEFAULT_DATE_FORMAT, DEFAULT_TIMESTAMP_FORMAT); - } - public String[] getColumnValues(ResultSet rs, boolean trim) throws SQLException, IOException { - return this.getColumnValues(rs, trim, DEFAULT_DATE_FORMAT, DEFAULT_TIMESTAMP_FORMAT); - } - - public String[] getColumnValues(ResultSet rs, boolean trim, String dateFormatString, String timeFormatString) throws SQLException, IOException { List values = new ArrayList(); ResultSetMetaData metadata = rs.getMetaData(); for (int i = 0; i < metadata.getColumnCount(); i++) { - values.add(getColumnValue(rs, metadata.getColumnType(i + 1), i + 1, trim, dateFormatString, timeFormatString)); + values.add(getColumnValue(rs, metadata.getColumnType(i + 1), i + 1)); } String[] valueArray = new String[values.size()]; return values.toArray(valueArray); } - private String handleObject(Object obj) { + private String handleObject(Object obj){ return obj == null ? "" : String.valueOf(obj); } @@ -89,12 +82,12 @@ private String handleInteger(ResultSet rs, int columnIndex) throws SQLException return rs.wasNull() ? "" : Integer.toString(i); } - private String handleDate(ResultSet rs, int columnIndex, String dateFormatString) throws SQLException { + private String handleDate(ResultSet rs, int columnIndex) throws SQLException { java.sql.Date date = rs.getDate(columnIndex); String value = null; if (date != null) { - SimpleDateFormat dateFormat = new SimpleDateFormat(dateFormatString); - value = dateFormat.format(date); + SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy"); + value = dateFormat.format(date); } return value; } @@ -103,91 +96,88 @@ private String handleTime(Time time) { return time == null ? null : time.toString(); } - private String handleTimestamp(Timestamp timestamp, String timestampFormatString) { - SimpleDateFormat timeFormat = new SimpleDateFormat(timestampFormatString); + private String handleTimestamp(Timestamp timestamp) { + SimpleDateFormat timeFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); return timestamp == null ? null : timeFormat.format(timestamp); } - private String getColumnValue(ResultSet rs, int colType, int colIndex, boolean trim, String dateFormatString, String timestampFormatString) - throws SQLException, IOException { + private String getColumnValue(ResultSet rs, int colType, int colIndex) + throws SQLException, IOException { - String value = ""; + String value = ""; - switch (colType) { - case Types.BIT: + switch (colType) + { + case Types.BIT: case Types.JAVA_OBJECT: - value = handleObject(rs.getObject(colIndex)); - break; - case Types.BOOLEAN: - boolean b = rs.getBoolean(colIndex); - value = Boolean.valueOf(b).toString(); - break; - case NCLOB: // todo : use rs.getNClob - case Types.CLOB: - Clob c = rs.getClob(colIndex); - if (c != null) { - value = read(c); - } - break; - case Types.BIGINT: - value = handleLong(rs, colIndex); - break; - case Types.DECIMAL: - case Types.DOUBLE: - case Types.FLOAT: - case Types.REAL: - case Types.NUMERIC: - value = handleBigDecimal(rs.getBigDecimal(colIndex)); - break; - case Types.INTEGER: - case Types.TINYINT: - case Types.SMALLINT: + value = handleObject(rs.getObject(colIndex)); + break; + case Types.BOOLEAN: + boolean b = rs.getBoolean(colIndex); + value = Boolean.valueOf(b).toString(); + break; + case NCLOB: // todo : use rs.getNClob + case Types.CLOB: + Clob c = rs.getClob(colIndex); + if (c != null) { + value = read(c); + } + break; + case Types.BIGINT: + value = handleLong(rs, colIndex); + break; + case Types.DECIMAL: + case Types.DOUBLE: + case Types.FLOAT: + case Types.REAL: + case Types.NUMERIC: + value = handleBigDecimal(rs.getBigDecimal(colIndex)); + break; + case Types.INTEGER: + case Types.TINYINT: + case Types.SMALLINT: value = handleInteger(rs, colIndex); - break; - case Types.DATE: - value = handleDate(rs, colIndex, dateFormatString); - break; - case Types.TIME: - value = handleTime(rs.getTime(colIndex)); - break; - case Types.TIMESTAMP: - value = handleTimestamp(rs.getTimestamp(colIndex), timestampFormatString); - break; - case NVARCHAR: // todo : use rs.getNString - case NCHAR: // todo : use rs.getNString - case LONGNVARCHAR: // todo : use rs.getNString - case Types.LONGVARCHAR: - case Types.VARCHAR: - case Types.CHAR: - String columnValue = rs.getString(colIndex); - if (trim && columnValue != null) { - value = columnValue.trim(); - } else { - value = columnValue; - } - break; - default: - value = ""; - } - + break; + case Types.DATE: + value = handleDate(rs, colIndex); + break; + case Types.TIME: + value = handleTime(rs.getTime(colIndex)); + break; + case Types.TIMESTAMP: + value = handleTimestamp(rs.getTimestamp(colIndex)); + break; + case NVARCHAR: // todo : use rs.getNString + case NCHAR: // todo : use rs.getNString + case LONGNVARCHAR: // todo : use rs.getNString + case Types.LONGVARCHAR: + case Types.VARCHAR: + case Types.CHAR: + value = rs.getString(colIndex); + break; + default: + value = ""; + } + + + if (value == null) + { + value = ""; + } + + return value; - if (value == null) { - value = ""; - } - - return value; - - } - - private static String read(Clob c) throws SQLException, IOException { - StringBuilder sb = new StringBuilder((int) c.length()); - Reader r = c.getCharacterStream(); - char[] cbuf = new char[CLOBBUFFERSIZE]; - int n; - while ((n = r.read(cbuf, 0, cbuf.length)) != -1) { - sb.append(cbuf, 0, n); - } - return sb.toString(); } + private static String read(Clob c) throws SQLException, IOException + { + StringBuilder sb = new StringBuilder( (int) c.length()); + Reader r = c.getCharacterStream(); + char[] cbuf = new char[CLOBBUFFERSIZE]; + int n; + while ((n = r.read(cbuf, 0, cbuf.length)) != -1) { + sb.append(cbuf, 0, n); + } + return sb.toString(); + } } diff --git a/src/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.java b/src/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.java index 2ff2186..86db1d1 100644 --- a/src/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.java +++ b/src/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.java @@ -5,37 +5,33 @@ import java.io.IOException; /** - * Copyright 2007 Kyle Miller. - *

- * 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. + Copyright 2007 Kyle Miller. + + 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. */ public class ColumnPositionMappingStrategy extends HeaderColumnNameMappingStrategy { - private String[] columnMapping = new String[]{}; - + private String[] columnMapping = new String[] {}; public void captureHeader(CSVReader reader) throws IOException { //do nothing, first line is not header } - protected String getColumnName(int col) { - return col < columnMapping.length ? columnMapping[col] : null; + return (null != columnMapping && col < columnMapping.length) ? columnMapping[col] : null ; } - public String[] getColumnMapping() { - return columnMapping.clone(); + return columnMapping != null ? columnMapping.clone() : null; } - - public void setColumnMapping(String... columnMapping) { - this.columnMapping = columnMapping != null ? columnMapping.clone() : new String[]{}; + public void setColumnMapping(String[] columnMapping) { + this.columnMapping = columnMapping != null ? columnMapping.clone() : null; } } diff --git a/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java b/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java new file mode 100644 index 0000000..4fb5a64 --- /dev/null +++ b/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java @@ -0,0 +1,91 @@ +package au.com.bytecode.opencsv.bean; + +import java.beans.IntrospectionException; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.util.Iterator; + +import au.com.bytecode.opencsv.CSVReader; +import au.com.bytecode.opencsv.exception.CSVRuntimeException; + +public class CsvToBeanIterator extends CsvToBean implements Iterator { + + private MappingStrategy mapper; + private CSVReader reader; + private String[] nextLine; + + public CsvToBeanIterator(MappingStrategy _mapper, CSVReader csv) throws IOException { + + super(); + + reader = csv; + mapper = _mapper; + mapper.captureHeader(reader); + + } + + @Override + public boolean hasNext() { + + boolean ret = true; + + try { + + if ((nextLine = reader.readNext()) == null) { + + ret = false; + + } + + } catch (IOException e) { + + //redundant + ret = false; + + throw new CSVRuntimeException(e); + + } + + return ret; + + } + + @Override + public T next() { + + T obj = null; + + try { + + obj = processLine(mapper, nextLine); + + } catch (IllegalAccessException e) { + + throw new CSVRuntimeException(e); + + } catch (InvocationTargetException e) { + + throw new CSVRuntimeException(e); + + } catch (InstantiationException e) { + + throw new CSVRuntimeException(e); + + } catch (IntrospectionException e) { + + throw new CSVRuntimeException(e); + + } + + return obj; + + } + + @Override + public void remove() { + + throw new UnsupportedOperationException("There is no underlying collection associated with this Iterable class."); + + } + +} \ No newline at end of file diff --git a/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java b/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java new file mode 100644 index 0000000..ce0e12e --- /dev/null +++ b/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java @@ -0,0 +1,23 @@ +package au.com.bytecode.opencsv.exception; + +public class CSVRuntimeException extends RuntimeException { + + private static final long serialVersionUID = 7303281195236049701L; + + public CSVRuntimeException() { + super(); + } + + public CSVRuntimeException(String message, Throwable cause) { + super(message, cause); + } + + public CSVRuntimeException(String message) { + super(message); + } + + public CSVRuntimeException(Throwable cause) { + super(cause); + } + +} diff --git a/test/au/com/bytecode/opencsv/CSVParserTest.java b/test/au/com/bytecode/opencsv/CSVParserTest.java index e177a49..2d6544b 100644 --- a/test/au/com/bytecode/opencsv/CSVParserTest.java +++ b/test/au/com/bytecode/opencsv/CSVParserTest.java @@ -44,30 +44,6 @@ public void parseSimpleString() throws IOException { assertFalse(csvParser.isPending()); } - @Test - public void parseSimpleQuotedString() throws IOException { - - String[] nextLine = csvParser.parseLine("\"a\",\"b\",\"c\""); - assertEquals(3, nextLine.length); - assertEquals("a", nextLine[0]); - assertEquals("b", nextLine[1]); - assertEquals("c", nextLine[2]); - assertFalse(csvParser.isPending()); - } - - @Test - public void parseSimpleQuotedStringWithSpaces() throws IOException { - CSVParser parser = new CSVParser(CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_QUOTE_CHARACTER, CSVParser.DEFAULT_ESCAPE_CHARACTER, - true, false); - - String[] nextLine = parser.parseLine(" \"a\" , \"b\" , \"c\" "); - assertEquals(3, nextLine.length); - assertEquals("a", nextLine[0]); - assertEquals("b", nextLine[1]); - assertEquals("c", nextLine[2]); - assertFalse(parser.isPending()); - } - /** * Tests quotes in the middle of an element. * @@ -160,6 +136,16 @@ public void testEscapedDoubleQuoteAsDataElement() throws IOException { } +// @Test +// public void testEscapingSeparator() throws IOException { +// String[] nextLine = csvParser.parseLine("test,this\\,test\\,is\\,good"); // "test","this,test,is,good","\"test\",\"quote\"" +// +// assertEquals(2, nextLine.length); +// +// assertEquals("test", nextLine[0]); +// assertEquals("this,test,is,good", nextLine[1]); +// } + @Test public void parseQuotedQuoteCharacters() throws IOException { String[] nextLine = csvParser.parseLineMulti("\"Glen \"\"The Man\"\" Smith\",Athlete,Developer\n"); @@ -243,57 +229,6 @@ public void testStrictQuoteWithGarbage() throws IOException { assertEquals("", nextLine[2]); } - @Test - public void testCanIgnoreQuotations() throws IOException { - csvParser = new CSVParser(CSVParser.DEFAULT_SEPARATOR, - CSVParser.DEFAULT_QUOTE_CHARACTER, - CSVParser.DEFAULT_ESCAPE_CHARACTER, - CSVParser.DEFAULT_STRICT_QUOTES, - CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE, - true); - String testString = "Bob,test\",Beaumont,TX"; - - String[] nextLine = csvParser.parseLine(testString); - assertEquals(4, nextLine.length); - assertEquals("Bob", nextLine[0]); - assertEquals("test", nextLine[1]); - assertEquals("Beaumont", nextLine[2]); - assertEquals("TX", nextLine[3]); - } - - /** - * This is an interesting issue where the data does not use quotes but IS using a quote within the field as a - * inch symbol. So we want to keep that quote as part of the field and not as the start or end of a field. - * - * Test data is as follows. - * - * RPO;2012;P; ; ; ;SDX;ACCESSORY WHEEL, 16", ALUMINUM, DESIGN 1 - * RPO;2012;P; ; ; ;SDZ;ACCESSORY WHEEL - 17" - ALLOY - DESIGN 1 - * - * @throws IOException - */ - @Test - public void testIssue3314579() throws IOException { - csvParser = new CSVParser(';', - CSVParser.DEFAULT_QUOTE_CHARACTER, - CSVParser.DEFAULT_ESCAPE_CHARACTER, - CSVParser.DEFAULT_STRICT_QUOTES, - CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE, - true); - String testString = "RPO;2012;P; ; ; ;SDX;ACCESSORY WHEEL, 16\", ALUMINUM, DESIGN 1"; - - String[] nextLine = csvParser.parseLine(testString); - assertEquals(8, nextLine.length); - assertEquals("RPO", nextLine[0]); - assertEquals("2012", nextLine[1]); - assertEquals("P", nextLine[2]); - assertEquals(" ", nextLine[3]); - assertEquals(" ", nextLine[4]); - assertEquals(" ", nextLine[5]); - assertEquals("SDX", nextLine[6]); - assertEquals("ACCESSORY WHEEL, 16\", ALUMINUM, DESIGN 1", nextLine[7]); - } - /** * Test issue 2263439 where an escaped quote was causing the parse to fail. *

diff --git a/test/au/com/bytecode/opencsv/CSVReaderTest.java b/test/au/com/bytecode/opencsv/CSVReaderTest.java index c5ca597..34f2bcc 100644 --- a/test/au/com/bytecode/opencsv/CSVReaderTest.java +++ b/test/au/com/bytecode/opencsv/CSVReaderTest.java @@ -18,19 +18,11 @@ import org.junit.Before; import org.junit.Test; -import org.mockito.Matchers; import java.io.IOException; -import java.io.Reader; import java.io.StringReader; -import java.nio.CharBuffer; -import java.util.Iterator; import static org.junit.Assert.*; -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.notNull; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; public class CSVReaderTest { @@ -453,47 +445,4 @@ public void separatorAndQuoteMustBeDifferent() { CSVReader c = new CSVReader(new StringReader(sb.toString()), CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_ESCAPE_CHARACTER, CSVReader.DEFAULT_SKIP_LINES, CSVParser.DEFAULT_STRICT_QUOTES, CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE); } - /** - * Tests iterating over a reader. - * - * @throws IOException if the reader fails. - */ - @Test - public void testIteratorFunctionality() throws IOException { - String[][] expectedResult = new String[7][]; - expectedResult[0] = new String[]{"a", "b", "c"}; - expectedResult[1] = new String[]{"a", "b,b,b", "c"}; - expectedResult[2] = new String[]{"", "", ""}; - expectedResult[3] = new String[]{"a", "PO Box 123,\nKippax,ACT. 2615.\nAustralia", "d."}; - expectedResult[4] = new String[]{"Glen \"The Man\" Smith", "Athlete", "Developer"}; - expectedResult[5] = new String[]{"\"\"", "test"}; - expectedResult[6] = new String[]{"a\nb", "b", "\nd", "e"}; - int idx = 0; - for (String[] line : csvr) { - String[] expectedLine = expectedResult[idx++]; - assertArrayEquals(expectedLine, line); - } - } - - @Test - public void canCloseReader() throws IOException { - csvr.close(); - } - - @Test - public void canCreateIteratorFromReader() { - assertNotNull(csvr.iterator()); - } - - @Test(expected = RuntimeException.class) - public void creatingIteratorForReaderWithNullDataThrowsRuntimeException() throws IOException { - Reader mockReader = mock(Reader.class); - when(mockReader.read(Matchers.any())).thenThrow(new IOException("test io exception")); - when(mockReader.read()).thenThrow(new IOException("test io exception")); - when(mockReader.read((char[]) notNull())).thenThrow(new IOException("test io exception")); - when(mockReader.read((char[]) notNull(), anyInt(), anyInt())).thenThrow(new IOException("test io exception")); - csvr = new CSVReader(mockReader); - Iterator iterator = csvr.iterator(); - } - } diff --git a/test/au/com/bytecode/opencsv/CSVWriterTest.java b/test/au/com/bytecode/opencsv/CSVWriterTest.java index 519b8dc..fc96be5 100644 --- a/test/au/com/bytecode/opencsv/CSVWriterTest.java +++ b/test/au/com/bytecode/opencsv/CSVWriterTest.java @@ -19,7 +19,6 @@ import org.junit.Test; import java.io.*; -import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @@ -32,88 +31,75 @@ public class CSVWriterTest { /** * Test routine for converting output to a string. * - * @param args the elements of a line of the cvs file + * @param args + * the elements of a line of the cvs file * @return a String version - * @throws IOException if there are problems writing + * @throws IOException + * if there are problems writing */ private String invokeWriter(String[] args) throws IOException { StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, ',', '\''); + CSVWriter csvw = new CSVWriter(sw,',','\''); csvw.writeNext(args); return sw.toString(); } - + private String invokeNoEscapeWriter(String[] args) throws IOException { StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, '\'', CSVWriter.NO_ESCAPE_CHARACTER); + CSVWriter csvw = new CSVWriter(sw,CSVWriter.DEFAULT_SEPARATOR,'\'', CSVWriter.NO_ESCAPE_CHARACTER); csvw.writeNext(args); return sw.toString(); } @Test - public void correctlyParseNullString() { + public void correctlyParseNullString(){ StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, ',', '\''); + CSVWriter csvw = new CSVWriter(sw,',','\''); csvw.writeNext(null); assertEquals(0, sw.toString().length()); } - @Test - public void correctlyParserNullObject() { - StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, ',', '\''); - csvw.writeNext(null, false); - assertEquals(0, sw.toString().length()); - } - /** * Tests parsing individual lines. * - * @throws IOException if the reader fails. + * @throws IOException + * if the reader fails. */ @Test public void testParseLine() throws IOException { // test normal case - String[] normal = {"a", "b", "c"}; + String[] normal = { "a", "b", "c" }; String output = invokeWriter(normal); assertEquals("'a','b','c'\n", output); // test quoted commas - String[] quoted = {"a", "b,b,b", "c"}; + String[] quoted = { "a", "b,b,b", "c" }; output = invokeWriter(quoted); assertEquals("'a','b,b,b','c'\n", output); // test empty elements - String[] empty = {,}; + String[] empty = { , }; output = invokeWriter(empty); assertEquals("\n", output); // test multiline quoted - String[] multiline = {"This is a \n multiline entry", "so is \n this"}; + String[] multiline = { "This is a \n multiline entry", "so is \n this" }; output = invokeWriter(multiline); assertEquals("'This is a \n multiline entry','so is \n this'\n", output); // test quoted line - String[] quoteLine = {"This is a \" multiline entry", "so is \n this"}; + String[] quoteLine = { "This is a \" multiline entry", "so is \n this" }; output = invokeWriter(quoteLine); assertEquals("'This is a \"\" multiline entry','so is \n this'\n", output); } - @Test - public void testSpecialCharacters() throws IOException { - // test quoted line - String[] quoteLine = {"This is a \r multiline entry", "so is \n this"}; - String output = invokeWriter(quoteLine); - assertEquals("'This is a \r multiline entry','so is \n this'\n", output); - } - @Test public void parseLineWithBothEscapeAndQuoteChar() throws IOException { // test quoted line - String[] quoteLine = {"This is a 'multiline' entry", "so is \n this"}; + String[] quoteLine = { "This is a 'multiline' entry", "so is \n this" }; String output = invokeWriter(quoteLine); assertEquals("'This is a \"'multiline\"' entry','so is \n this'\n", output); } @@ -121,28 +107,29 @@ public void parseLineWithBothEscapeAndQuoteChar() throws IOException { /** * Tests parsing individual lines. * - * @throws IOException if the reader fails. + * @throws IOException + * if the reader fails. */ @Test public void testParseLineWithNoEscapeChar() throws IOException { // test normal case - String[] normal = {"a", "b", "c"}; + String[] normal = { "a", "b", "c" }; String output = invokeNoEscapeWriter(normal); assertEquals("'a','b','c'\n", output); // test quoted commas - String[] quoted = {"a", "b,b,b", "c"}; + String[] quoted = { "a", "b,b,b", "c" }; output = invokeNoEscapeWriter(quoted); assertEquals("'a','b,b,b','c'\n", output); // test empty elements - String[] empty = {,}; + String[] empty = { , }; output = invokeNoEscapeWriter(empty); assertEquals("\n", output); // test multiline quoted - String[] multiline = {"This is a \n multiline entry", "so is \n this"}; + String[] multiline = { "This is a \n multiline entry", "so is \n this" }; output = invokeNoEscapeWriter(multiline); assertEquals("'This is a \n multiline entry','so is \n this'\n", output); @@ -150,19 +137,20 @@ public void testParseLineWithNoEscapeChar() throws IOException { @Test public void parseLineWithNoEscapeCharAndQuotes() throws IOException { - String[] quoteLine = {"This is a \" 'multiline' entry", "so is \n this"}; + String[] quoteLine = { "This is a \" 'multiline' entry", "so is \n this" }; String output = invokeNoEscapeWriter(quoteLine); assertEquals("'This is a \" 'multiline' entry','so is \n this'\n", output); } /** - * Test writing to a list. + * Test parsing from to a list. * - * @throws IOException if the reader fails. + * @throws IOException + * if the reader fails. */ @Test - public void testWriteAll() throws IOException { + public void testParseAll() throws IOException { List allElements = new ArrayList(); String[] line1 = "Name#Phone#Email".split("#"); @@ -183,50 +171,21 @@ public void testWriteAll() throws IOException { } - /** - * Test writing from a list. - * - * @throws IOException if the reader fails. - */ - @Test - public void testWriteAllObjects() throws IOException { - - List allElements = new ArrayList(3); - String[] line1 = "Name#Phone#Email".split("#"); - String[] line2 = "Glen#1234#glen@abcd.com".split("#"); - String[] line3 = "John#5678#john@efgh.com".split("#"); - allElements.add(line1); - allElements.add(line2); - allElements.add(line3); - - StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw); - csvw.writeAll(allElements, false); - - String result = sw.toString(); - String[] lines = result.split("\n"); - - assertEquals(3, lines.length); - - String[] values = lines[1].split(","); - assertEquals("1234", values[1]); - } - /** * Tests the option of having omitting quotes in the output stream. - * + * * @throws IOException if bad things happen */ @Test public void testNoQuoteChars() throws IOException { - - String[] line = {"Foo", "Bar", "Baz"}; + + String[] line = {"Foo","Bar","Baz"}; StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER); csvw.writeNext(line); String result = sw.toString(); - assertEquals("Foo,Bar,Baz\n", result); + assertEquals("Foo,Bar,Baz\n",result); } /** @@ -237,30 +196,16 @@ public void testNoQuoteChars() throws IOException { @Test public void testNoQuoteCharsAndNoEscapeChars() throws IOException { - String[] line = {"Foo", "Bar", "Baz"}; + String[] line = {"Foo","Bar","Baz"}; StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER); csvw.writeNext(line); String result = sw.toString(); - assertEquals("Foo,Bar,Baz\n", result); - } - - /** - * Tests the ability for the writer to apply quotes only where strings contain the separator, escape, quote or new line characters. - */ - @Test - public void testIntelligentQuotes() { - String[] line = {"1", "Foo", "With,Separator", "Line\nBreak", "Hello \"Foo Bar\" World", "Bar"}; - StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.DEFAULT_QUOTE_CHARACTER, CSVWriter.DEFAULT_ESCAPE_CHARACTER); - csvw.writeNext(line, false); - String result = sw.toString(); - - assertEquals("1,Foo,\"With,Separator\",\"Line\nBreak\",\"Hello \"\"Foo Bar\"\" World\",Bar\n", result); + assertEquals("Foo,Bar,Baz\n",result); } - + /** * Test null values. * @@ -269,22 +214,22 @@ public void testIntelligentQuotes() { @Test public void testNullValues() throws IOException { - String[] line = {"Foo", null, "Bar", "baz"}; + String[] line = {"Foo",null,"Bar","baz"}; StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw); csvw.writeNext(line); String result = sw.toString(); - assertEquals("\"Foo\",,\"Bar\",\"baz\"\n", result); + assertEquals("\"Foo\",,\"Bar\",\"baz\"\n",result); } - + @Test public void testStreamFlushing() throws IOException { String WRITE_FILE = "myfile.csv"; - String[] nextLine = new String[]{"aaaa", "bbbb", "cccc", "dddd"}; + String[] nextLine = new String[]{"aaaa", "bbbb","cccc","dddd"}; FileWriter fileWriter = new FileWriter(WRITE_FILE); CSVWriter writer = new CSVWriter(fileWriter); @@ -295,95 +240,76 @@ public void testStreamFlushing() throws IOException { writer.close(); } - - @Test(expected = IOException.class) - public void flushWillThrowIOException() throws IOException { - String[] line = {"Foo", "bar's"}; - StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriterExceptionThrower(sw); - csvw.writeNext(line); - csvw.flush(); - } - - @Test - public void flushQuietlyWillNotThrowException() { - String[] line = {"Foo", "bar's"}; - StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriterExceptionThrower(sw); - csvw.writeNext(line); - csvw.flushQuietly(); - } - - + @Test public void testAlternateEscapeChar() { - String[] line = {"Foo", "bar's"}; + String[] line = {"Foo","bar's"}; StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.DEFAULT_QUOTE_CHARACTER, '\''); + CSVWriter csvw = new CSVWriter(sw,CSVWriter.DEFAULT_SEPARATOR,CSVWriter.DEFAULT_QUOTE_CHARACTER,'\''); csvw.writeNext(line); - assertEquals("\"Foo\",\"bar''s\"\n", sw.toString()); + assertEquals("\"Foo\",\"bar''s\"\n",sw.toString()); } - + @Test public void testNoQuotingNoEscaping() { String[] line = {"\"Foo\",\"Bar\""}; StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER); + CSVWriter csvw = new CSVWriter(sw,CSVWriter.DEFAULT_SEPARATOR,CSVWriter.NO_QUOTE_CHARACTER,CSVWriter.NO_ESCAPE_CHARACTER); csvw.writeNext(line); - assertEquals("\"Foo\",\"Bar\"\n", sw.toString()); + assertEquals("\"Foo\",\"Bar\"\n",sw.toString()); } - + @Test - public void testNestedQuotes() { + public void testNestedQuotes(){ String[] data = new String[]{"\"\"", "test"}; String oracle = new String("\"\"\"\"\"\",\"test\"\n"); - CSVWriter writer = null; - File tempFile = null; - FileWriter fwriter = null; + CSVWriter writer=null; + File tempFile=null; + FileWriter fwriter=null; - try { + try{ tempFile = File.createTempFile("csvWriterTest", ".csv"); tempFile.deleteOnExit(); fwriter = new FileWriter(tempFile); writer = new CSVWriter(fwriter); - } catch (IOException e) { + }catch(IOException e){ fail(); } // write the test data: writer.writeNext(data); - try { + try{ writer.close(); - } catch (IOException e) { + }catch(IOException e){ fail(); } - try { + try{ // assert that the writer was also closed. fwriter.flush(); fail(); - } catch (IOException e) { + }catch(IOException e){ // we should go through here.. } // read the data and compare. - FileReader in = null; - try { + FileReader in=null; + try{ in = new FileReader(tempFile); - } catch (FileNotFoundException e) { + }catch(FileNotFoundException e){ fail(); } StringBuilder fileContents = new StringBuilder(CSVWriter.INITIAL_STRING_SIZE); - try { + try{ int ch; - while ((ch = in.read()) != -1) { - fileContents.append((char) ch); + while((ch = in.read()) != -1){ + fileContents.append((char)ch); } in.close(); - } catch (IOException e) { + }catch(IOException e){ fail(); } @@ -392,26 +318,29 @@ public void testNestedQuotes() { @Test public void testAlternateLineFeeds() { - String[] line = {"Foo", "Bar", "baz"}; + String[] line = {"Foo","Bar","baz"}; StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.DEFAULT_QUOTE_CHARACTER, "\r"); csvw.writeNext(line); String result = sw.toString(); - + assertTrue(result.endsWith("\r")); - + } @Test public void testResultSetWithHeaders() throws SQLException, IOException { - String[] header = {"Foo", "Bar", "baz"}; + String[] header = {"Foo","Bar","baz"}; String[] value = {"v1", "v2", "v3"}; + MockResultSetHelper mockHelperService = new MockResultSetHelper(header, value); + StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw); - csvw.setResultService(new ResultSetHelperService()); + csvw.setResultService(mockHelperService); - ResultSet rs = MockResultSetBuilder.buildResultSet(header, value, 1); + MockResultSet rs = new MockResultSet(); + rs.setNumberOfResults(1); csvw.writeAll(rs, true); // don't need a result set since I am mocking the result. assertFalse(csvw.checkError()); @@ -423,14 +352,17 @@ public void testResultSetWithHeaders() throws SQLException, IOException { @Test public void testMultiLineResultSetWithHeaders() throws SQLException, IOException { - String[] header = {"Foo", "Bar", "baz"}; + String[] header = {"Foo","Bar","baz"}; String[] value = {"v1", "v2", "v3"}; + MockResultSetHelper mockHelperService = new MockResultSetHelper(header, value); + StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw); - csvw.setResultService(new ResultSetHelperService()); + csvw.setResultService(mockHelperService); - ResultSet rs = MockResultSetBuilder.buildResultSet(header, value, 3); + MockResultSet rs = new MockResultSet(); + rs.setNumberOfResults(3); csvw.writeAll(rs, true); // don't need a result set since I am mocking the result. assertFalse(csvw.checkError()); @@ -442,14 +374,17 @@ public void testMultiLineResultSetWithHeaders() throws SQLException, IOException @Test public void testResultSetWithoutHeaders() throws SQLException, IOException { - String[] header = {"Foo", "Bar", "baz"}; + String[] header = {"Foo","Bar","baz"}; String[] value = {"v1", "v2", "v3"}; + MockResultSetHelper mockHelperService = new MockResultSetHelper(header, value); + StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw); - csvw.setResultService(new ResultSetHelperService()); + csvw.setResultService(mockHelperService); - ResultSet rs = MockResultSetBuilder.buildResultSet(header, value, 1); + MockResultSet rs = new MockResultSet(); + rs.setNumberOfResults(1); csvw.writeAll(rs, false); // don't need a result set since I am mocking the result. assertFalse(csvw.checkError()); @@ -461,41 +396,23 @@ public void testResultSetWithoutHeaders() throws SQLException, IOException { @Test public void testMultiLineResultSetWithoutHeaders() throws SQLException, IOException { - String[] header = {"Foo", "Bar", "baz"}; + String[] header = {"Foo","Bar","baz"}; String[] value = {"v1", "v2", "v3"}; + MockResultSetHelper mockHelperService = new MockResultSetHelper(header, value); + StringWriter sw = new StringWriter(); CSVWriter csvw = new CSVWriter(sw); - csvw.setResultService(new ResultSetHelperService()); + csvw.setResultService(mockHelperService); - ResultSet rs = MockResultSetBuilder.buildResultSet(header, value, 3); + MockResultSet rs = new MockResultSet(); + rs.setNumberOfResults(3); csvw.writeAll(rs, false); // don't need a result set since I am mocking the result. - assertFalse(csvw.checkError()); String result = sw.toString(); assertNotNull(result); assertEquals("\"v1\",\"v2\",\"v3\"\n\"v1\",\"v2\",\"v3\"\n\"v1\",\"v2\",\"v3\"\n", result); } - - @Test - public void testResultSetTrim() throws SQLException, IOException { - String[] header = {"Foo", "Bar", "baz"}; - String[] value = {"v1 ", "v2 ", "v3"}; - - StringWriter sw = new StringWriter(); - CSVWriter csvw = new CSVWriter(sw); - csvw.setResultService(new ResultSetHelperService()); - - ResultSet rs = MockResultSetBuilder.buildResultSet(header, value, 1); - - csvw.writeAll(rs, true, true); // don't need a result set since I am mocking the result. - assertFalse(csvw.checkError()); - String result = sw.toString(); - - assertNotNull(result); - assertEquals("\"Foo\",\"Bar\",\"baz\"\n\"v1\",\"v2\",\"v3\"\n", result); - } - } diff --git a/test/au/com/bytecode/opencsv/MockResultSet.java b/test/au/com/bytecode/opencsv/MockResultSet.java new file mode 100644 index 0000000..a0648cf --- /dev/null +++ b/test/au/com/bytecode/opencsv/MockResultSet.java @@ -0,0 +1,851 @@ +package au.com.bytecode.opencsv; +/** + Copyright 2005 Bytecode Pty Ltd. + + 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. + */ +import java.io.InputStream; +import java.io.Reader; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.*; +import java.util.Calendar; +import java.util.Map; + +/** + * Created by IntelliJ IDEA. + * User: scott + * Date: Dec 12, 2009 + * Time: 10:15:03 AM + * To change this template use File | Settings | File Templates. + */ +public class MockResultSet implements ResultSet { + + private int numberOfResults = 0; + private ResultSetMetaData metaData; + private String[] columnValues; + private boolean lastValueReadNull; + + private void setLastValueReadNull(String value){ + lastValueReadNull = (value == null); + } + + + public void setColumnValues(String[] values) { + columnValues = values; + } + + public void setNumberOfResults(int results){ + numberOfResults = results; + } + + public void setMetaData(ResultSetMetaData data) { + metaData = data; + } + + public boolean next() throws SQLException { + return numberOfResults-- > 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public void close() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean wasNull() throws SQLException { + return lastValueReadNull; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getString(int i) throws SQLException { + return columnValues[i-1]; + } + + public boolean getBoolean(int i) throws SQLException { + return Boolean.valueOf(columnValues[i-1]); //To change body of implemented methods use File | Settings | File Templates. + } + + public byte getByte(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public short getShort(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getInt(int i) throws SQLException { + setLastValueReadNull(columnValues[i-1]); + return columnValues[i-1] == null ? 0 : Integer.valueOf(columnValues[i-1]); + } + + public long getLong(int i) throws SQLException { + setLastValueReadNull(columnValues[i-1]); + return columnValues[i-1] == null ? 0 : Long.valueOf(columnValues[i-1]); + } + + public float getFloat(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public double getDouble(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public BigDecimal getBigDecimal(int i, int i1) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public byte[] getBytes(int i) throws SQLException { + return new byte[0]; //To change body of implemented methods use File | Settings | File Templates. + } + + public Date getDate(int i) throws SQLException { + return columnValues[i-1] == null ? null : new Date(Long.valueOf(columnValues[i-1])); + } + + public Time getTime(int i) throws SQLException { + return columnValues[i-1] == null ? null : new Time(Long.valueOf(columnValues[i-1])); + } + + public Timestamp getTimestamp(int i) throws SQLException { + return columnValues[i-1] == null ? null : new Timestamp(Long.valueOf(columnValues[i-1])); + } + + public InputStream getAsciiStream(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public InputStream getUnicodeStream(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public InputStream getBinaryStream(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getString(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean getBoolean(String s) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public byte getByte(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public short getShort(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getInt(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public long getLong(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public float getFloat(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public double getDouble(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public BigDecimal getBigDecimal(String s, int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public byte[] getBytes(String s) throws SQLException { + return new byte[0]; //To change body of implemented methods use File | Settings | File Templates. + } + + public Date getDate(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Time getTime(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Timestamp getTimestamp(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public InputStream getAsciiStream(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public InputStream getUnicodeStream(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public InputStream getBinaryStream(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public SQLWarning getWarnings() throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public void clearWarnings() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public String getCursorName() throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public ResultSetMetaData getMetaData() throws SQLException { + return metaData; + } + + public Object getObject(int i) throws SQLException { + setLastValueReadNull(columnValues[i-1]); + return columnValues[i-1]; //To change body of implemented methods use File | Settings | File Templates. + } + + public Object getObject(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public int findColumn(String s) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public Reader getCharacterStream(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Reader getCharacterStream(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public BigDecimal getBigDecimal(int i) throws SQLException { + setLastValueReadNull(columnValues[i-1]); + return columnValues[i-1] == null ? null : new BigDecimal(columnValues[i-1]); + } + + public BigDecimal getBigDecimal(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isBeforeFirst() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isAfterLast() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isFirst() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isLast() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public void beforeFirst() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void afterLast() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean first() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean last() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getRow() throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean absolute(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean relative(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean previous() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public void setFetchDirection(int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public int getFetchDirection() throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public void setFetchSize(int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public int getFetchSize() throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getType() throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getConcurrency() throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean rowUpdated() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean rowInserted() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean rowDeleted() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNull(int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBoolean(int i, boolean b) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateByte(int i, byte b) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateShort(int i, short s) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateInt(int i, int i1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateLong(int i, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateFloat(int i, float v) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateDouble(int i, double v) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBigDecimal(int i, BigDecimal bigDecimal) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateString(int i, String s) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBytes(int i, byte[] bytes) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateDate(int i, Date date) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateTime(int i, Time time) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateTimestamp(int i, Timestamp timestamp) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateAsciiStream(int i, InputStream inputStream, int i1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBinaryStream(int i, InputStream inputStream, int i1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateCharacterStream(int i, Reader reader, int i1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateObject(int i, Object o, int i1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateObject(int i, Object o) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNull(String s) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBoolean(String s, boolean b) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateByte(String s, byte b) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateShort(String s, short i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateInt(String s, int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateLong(String s, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateFloat(String s, float v) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateDouble(String s, double v) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBigDecimal(String s, BigDecimal bigDecimal) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateString(String s, String s1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBytes(String s, byte[] bytes) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateDate(String s, Date date) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateTime(String s, Time time) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateTimestamp(String s, Timestamp timestamp) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateAsciiStream(String s, InputStream inputStream, int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBinaryStream(String s, InputStream inputStream, int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateCharacterStream(String s, Reader reader, int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateObject(String s, Object o, int i) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateObject(String s, Object o) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void insertRow() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateRow() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void deleteRow() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void refreshRow() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void cancelRowUpdates() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void moveToInsertRow() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void moveToCurrentRow() throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public Statement getStatement() throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Object getObject(int i, Map> stringClassMap) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Ref getRef(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Blob getBlob(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Clob getClob(int i) throws SQLException { + return columnValues[i-1] == null ? null : new MockClob(columnValues[i-1]); + } + + public Array getArray(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Object getObject(String s, Map> stringClassMap) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Ref getRef(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Blob getBlob(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Clob getClob(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Array getArray(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Date getDate(int i, Calendar calendar) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Date getDate(String s, Calendar calendar) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Time getTime(int i, Calendar calendar) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Time getTime(String s, Calendar calendar) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Timestamp getTimestamp(int i, Calendar calendar) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Timestamp getTimestamp(String s, Calendar calendar) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public URL getURL(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public URL getURL(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateRef(int i, Ref ref) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateRef(String s, Ref ref) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBlob(int i, Blob blob) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBlob(String s, Blob blob) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateClob(int i, Clob clob) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateClob(String s, Clob clob) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateArray(int i, Array array) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateArray(String s, Array array) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public int getHoldability() throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isClosed() throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNString(int i, String s) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNString(String s, String s1) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public String getNString(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getNString(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Reader getNCharacterStream(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public Reader getNCharacterStream(String s) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNCharacterStream(int i, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNCharacterStream(String s, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateAsciiStream(int i, InputStream inputStream, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBinaryStream(int i, InputStream inputStream, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateCharacterStream(int i, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateAsciiStream(String s, InputStream inputStream, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBinaryStream(String s, InputStream inputStream, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateCharacterStream(String s, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBlob(int i, InputStream inputStream, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBlob(String s, InputStream inputStream, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateClob(int i, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateClob(String s, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNClob(int i, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNClob(String s, Reader reader, long l) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNCharacterStream(int i, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNCharacterStream(String s, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateAsciiStream(int i, InputStream inputStream) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBinaryStream(int i, InputStream inputStream) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateCharacterStream(int i, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateAsciiStream(String s, InputStream inputStream) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBinaryStream(String s, InputStream inputStream) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateCharacterStream(String s, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBlob(int i, InputStream inputStream) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateBlob(String s, InputStream inputStream) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateClob(int i, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateClob(String s, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNClob(int i, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public void updateNClob(String s, Reader reader) throws SQLException { + //To change body of implemented methods use File | Settings | File Templates. + } + + public T unwrap(Class tClass) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isWrapperFor(Class aClass) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + + @Override + public NClob getNClob(int arg0) throws SQLException { + // TODO Auto-generated method stub + return null; + } + + + @Override + public NClob getNClob(String arg0) throws SQLException { + // TODO Auto-generated method stub + return null; + } + + + @Override + public RowId getRowId(int arg0) throws SQLException { + // TODO Auto-generated method stub + return null; + } + + + @Override + public RowId getRowId(String arg0) throws SQLException { + // TODO Auto-generated method stub + return null; + } + + + @Override + public SQLXML getSQLXML(int arg0) throws SQLException { + // TODO Auto-generated method stub + return null; + } + + + @Override + public SQLXML getSQLXML(String arg0) throws SQLException { + // TODO Auto-generated method stub + return null; + } + + + @Override + public void updateNClob(int arg0, NClob arg1) throws SQLException { + // TODO Auto-generated method stub + + } + + + @Override + public void updateNClob(String arg0, NClob arg1) throws SQLException { + // TODO Auto-generated method stub + + } + + + @Override + public void updateRowId(int arg0, RowId arg1) throws SQLException { + // TODO Auto-generated method stub + + } + + + @Override + public void updateRowId(String arg0, RowId arg1) throws SQLException { + // TODO Auto-generated method stub + + } + + + @Override + public void updateSQLXML(int arg0, SQLXML arg1) throws SQLException { + // TODO Auto-generated method stub + + } + + + @Override + public void updateSQLXML(String arg0, SQLXML arg1) throws SQLException { + // TODO Auto-generated method stub + + } +} diff --git a/test/au/com/bytecode/opencsv/MockResultSetHelper.java b/test/au/com/bytecode/opencsv/MockResultSetHelper.java new file mode 100644 index 0000000..0a0dfcc --- /dev/null +++ b/test/au/com/bytecode/opencsv/MockResultSetHelper.java @@ -0,0 +1,45 @@ +package au.com.bytecode.opencsv; +/** + Copyright 2005 Bytecode Pty Ltd. + + 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. + */ +import java.io.IOException; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * Created by IntelliJ IDEA. + * User: scott + * Date: Dec 12, 2009 + * Time: 9:54:50 AM + * To change this template use File | Settings | File Templates. + */ +public class MockResultSetHelper implements ResultSetHelper { + + private String[] columnNames; + private String[] columnValues; + + public MockResultSetHelper(String[] names, String[] values) { + columnNames = names; + columnValues = values; + } + + public String[] getColumnNames(ResultSet rs) throws SQLException { + return columnNames; + } + + public String[] getColumnValues(ResultSet rs) throws SQLException, IOException { + return columnValues; + } +} diff --git a/test/au/com/bytecode/opencsv/MockResultSetMetaData.java b/test/au/com/bytecode/opencsv/MockResultSetMetaData.java new file mode 100644 index 0000000..9ab8a31 --- /dev/null +++ b/test/au/com/bytecode/opencsv/MockResultSetMetaData.java @@ -0,0 +1,130 @@ +package au.com.bytecode.opencsv; +/** + Copyright 2005 Bytecode Pty Ltd. + + 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. + */ +import java.sql.ResultSetMetaData; +import java.sql.SQLException; + +/** + * Created by IntelliJ IDEA. + * User: scott + * Date: Dec 13, 2009 + * Time: 10:27:13 PM + * To change this template use File | Settings | File Templates. + */ +public class MockResultSetMetaData implements ResultSetMetaData { + String[] columnNames; + int[] columnTypes; + + public void setColumnNames(String[] names) { + columnNames = names; + } + + public void setColumnTypes(int[] types) { + columnTypes = types; + } + + public int getColumnCount() throws SQLException { + return columnNames.length; + } + + public boolean isAutoIncrement(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isCaseSensitive(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isSearchable(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isCurrency(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public int isNullable(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isSigned(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getColumnDisplaySize(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getColumnLabel(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getColumnName(int i) throws SQLException { + return columnNames[i-1]; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getSchemaName(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getPrecision(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getScale(int i) throws SQLException { + return 0; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getTableName(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getCatalogName(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public int getColumnType(int i) throws SQLException { + return columnTypes[i-1]; + } + + public String getColumnTypeName(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isReadOnly(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isWritable(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isDefinitelyWritable(int i) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + + public String getColumnClassName(int i) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public T unwrap(Class tClass) throws SQLException { + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + public boolean isWrapperFor(Class aClass) throws SQLException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } +} diff --git a/test/au/com/bytecode/opencsv/ResultSetHelperServiceTest.java b/test/au/com/bytecode/opencsv/ResultSetHelperServiceTest.java index 3a5c1ba..d9729c9 100644 --- a/test/au/com/bytecode/opencsv/ResultSetHelperServiceTest.java +++ b/test/au/com/bytecode/opencsv/ResultSetHelperServiceTest.java @@ -15,9 +15,7 @@ limitations under the License. */ -import org.junit.Assert; import org.junit.Test; -import org.mockito.Mockito; import java.io.IOException; import java.sql.*; @@ -38,33 +36,34 @@ public class ResultSetHelperServiceTest { @Test public void canPrintColumnNames() throws SQLException { - - ResultSet resultSet = Mockito.mock(ResultSet.class); + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); String[] expectedNames = {"name1", "name2", "name3"}; - - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames); - - Mockito.when(resultSet.getMetaData()).thenReturn(metaData); - - // end expects + metaData.setColumnNames(expectedNames); + resultSet.setMetaData(metaData); ResultSetHelperService service = new ResultSetHelperService(); String[] columnNames = service.getColumnNames(resultSet); - Assert.assertArrayEquals(expectedNames, columnNames); + assertArrayEquals(expectedNames, columnNames); } @Test public void getObjectFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String[] expectedNames = {"object", "Null Object"}; String[] realValues = {"foo", null}; String[] expectedValues = {"foo", ""}; - int[] expectedTypes = {Types.JAVA_OBJECT, Types.JAVA_OBJECT}; + int[] expectedTypes = {Types.JAVA_OBJECT,Types.JAVA_OBJECT}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -75,14 +74,18 @@ public void getObjectFromResultSet() throws SQLException, IOException { @Test public void getBitFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); String[] expectedNames = {"bit", "Null bit"}; String[] realValues = {"1", null}; String[] expectedValues = {"1", ""}; - int[] expectedTypes = {Types.BIT, Types.BIT}; + int[] expectedTypes = {Types.BIT,Types.BIT}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -93,13 +96,18 @@ public void getBitFromResultSet() throws SQLException, IOException { @Test public void getBooleanFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String[] expectedNames = {"true", "false", "TRUE", "FALSE", "Null"}; String[] realValues = {"true", "false", "TRUE", "FALSE", null}; String[] expectedValues = {"true", "false", "true", "false", "false"}; - int[] expectedTypes = {Types.BOOLEAN, Types.BOOLEAN, Types.BOOLEAN, Types.BOOLEAN, Types.BOOLEAN}; + int[] expectedTypes = {Types.BOOLEAN,Types.BOOLEAN,Types.BOOLEAN,Types.BOOLEAN,Types.BOOLEAN}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -110,13 +118,18 @@ public void getBooleanFromResultSet() throws SQLException, IOException { @Test public void getBigIntFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String[] expectedNames = {"BigInt", "Null BigInt"}; String[] realValues = {"100", null}; String[] expectedValues = {"100", ""}; - int[] expectedTypes = {Types.BIGINT, Types.BIGINT}; + int[] expectedTypes = {Types.BIGINT,Types.BIGINT}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -127,14 +140,18 @@ public void getBigIntFromResultSet() throws SQLException, IOException { @Test public void getBigDecimalFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); String[] expectedNames = {"Decimal", "double", "float", "real", "numeric", "Null"}; String[] realValues = {"1.1", "2.2", "3.3", "4.4", "5.5", null}; String[] expectedValues = {"1.1", "2.2", "3.3", "4.4", "5.5", ""}; - int[] expectedTypes = {Types.DECIMAL, Types.DOUBLE, Types.FLOAT, Types.REAL, Types.NUMERIC, Types.DECIMAL}; + int[] expectedTypes = {Types.DECIMAL,Types.DOUBLE,Types.FLOAT,Types.REAL,Types.NUMERIC,Types.DECIMAL}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -145,13 +162,18 @@ public void getBigDecimalFromResultSet() throws SQLException, IOException { @Test public void getIntegerFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String[] expectedNames = {"Integer", "tinyint", "smallint", "Null"}; String[] realValues = {"1", "2", "3", null}; String[] expectedValues = {"1", "2", "3", ""}; - int[] expectedTypes = {Types.INTEGER, Types.TINYINT, Types.SMALLINT, Types.INTEGER}; + int[] expectedTypes = {Types.INTEGER,Types.TINYINT,Types.SMALLINT,Types.INTEGER}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -162,14 +184,18 @@ public void getIntegerFromResultSet() throws SQLException, IOException { @Test public void getCharFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); String[] expectedNames = {"longvarchar", "varchar", "char", "Null"}; String[] realValues = {"a", "b", "c", null}; String[] expectedValues = {"a", "b", "c", ""}; - int[] expectedTypes = {Types.LONGVARCHAR, Types.VARCHAR, Types.CHAR, Types.CHAR}; + int[] expectedTypes = {Types.LONGVARCHAR,Types.VARCHAR,Types.CHAR,Types.CHAR}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -178,34 +204,20 @@ public void getCharFromResultSet() throws SQLException, IOException { } - @Test - public void getCharHandlesNulls() throws SQLException, IOException { - - String[] expectedNames = {"longvarchar", "varchar", "char", "Null"}; - String[] realValues = {"a", "b", "c", null}; - String[] expectedValues = {"a", "b", "c", ""}; - int[] expectedTypes = {Types.LONGVARCHAR, Types.VARCHAR, Types.CHAR, Types.CHAR}; - - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); - - ResultSetHelperService service = new ResultSetHelperService(); - - String[] columnValues = service.getColumnValues(resultSet, true); - assertArrayEquals(expectedValues, columnValues); - - } - @Test public void getUnsupportedFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); String[] expectedNames = {"Array", "Null"}; - String[] realValues = {"1", null}; + String[] realValues = {"1", null}; String[] expectedValues = {"", ""}; - int[] expectedTypes = {Types.ARRAY, Types.ARRAY}; + int[] expectedTypes = {Types.ARRAY,Types.ARRAY}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -216,18 +228,22 @@ public void getUnsupportedFromResultSet() throws SQLException, IOException { @Test public void getDateFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); Date date = new Date(109, 11, 15); // 12/15/2009 long dateInMilliSeconds = date.getTime(); - SimpleDateFormat dateFormat = new SimpleDateFormat(ResultSetHelperService.DEFAULT_DATE_FORMAT); + SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy"); String[] expectedNames = {"Date", "Null"}; - String[] realValues = {Long.toString(dateInMilliSeconds), null}; + String[] realValues = {Long.toString(dateInMilliSeconds), null}; String[] expectedValues = {dateFormat.format(date), ""}; - int[] expectedTypes = {Types.DATE, Types.DATE}; + int[] expectedTypes = {Types.DATE,Types.DATE}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -236,42 +252,23 @@ public void getDateFromResultSet() throws SQLException, IOException { } - @Test - public void getDateFromResultSetUsingCustomFormat() throws SQLException, IOException { - - String customDateFormat = "mm/dd/yy"; - Date date = new Date(109, 11, 15); // 12/15/2009 - long dateInMilliSeconds = date.getTime(); - SimpleDateFormat dateFormat = new SimpleDateFormat(customDateFormat); - - String[] expectedNames = {"Date", "Null"}; - String[] realValues = {Long.toString(dateInMilliSeconds), null}; - String[] expectedValues = {dateFormat.format(date), ""}; - int[] expectedTypes = {Types.DATE, Types.DATE}; - - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); - - ResultSetHelperService service = new ResultSetHelperService(); - - String[] columnValues = service.getColumnValues(resultSet, false, customDateFormat, null); - assertArrayEquals(expectedValues, columnValues); - - } - @Test public void getTimeFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); Time time = new Time(12, 0, 0); // noon long dateInMilliSeconds = time.getTime(); String[] expectedNames = {"Time", "Null"}; - String[] realValues = {Long.toString(dateInMilliSeconds), null}; + String[] realValues = {Long.toString(dateInMilliSeconds), null}; String[] expectedValues = {time.toString(), ""}; - int[] expectedTypes = {Types.TIME, Types.TIME}; + int[] expectedTypes = {Types.TIME,Types.TIME}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -282,58 +279,46 @@ public void getTimeFromResultSet() throws SQLException, IOException { @Test public void getTimestampFromResultSet() throws SQLException, IOException { - Timestamp date = new Timestamp(109, 11, 15, 12, 0, 0, 0); // 12/15/2009 noon - long dateInMilliSeconds = date.getTime(); - SimpleDateFormat timeFormat = new SimpleDateFormat(ResultSetHelperService.DEFAULT_TIMESTAMP_FORMAT); - - String[] expectedNames = {"Timestamp", "Null"}; - String[] realValues = {Long.toString(dateInMilliSeconds), null}; - String[] expectedValues = {timeFormat.format(date), ""}; - int[] expectedTypes = {Types.TIMESTAMP, Types.TIMESTAMP}; + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); - - ResultSetHelperService service = new ResultSetHelperService(); - - String[] columnValues = service.getColumnValues(resultSet); - assertArrayEquals(expectedValues, columnValues); - - } - - @Test - public void getTimestampFromResultSetWithCustomFormat() throws SQLException, IOException { Timestamp date = new Timestamp(109, 11, 15, 12, 0, 0, 0); // 12/15/2009 noon long dateInMilliSeconds = date.getTime(); - String customFormat = "mm/dd/yy HH:mm:ss"; - SimpleDateFormat timeFormat = new SimpleDateFormat(customFormat); + SimpleDateFormat timeFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); String[] expectedNames = {"Timestamp", "Null"}; - String[] realValues = {Long.toString(dateInMilliSeconds), null}; + String[] realValues = {Long.toString(dateInMilliSeconds), null}; String[] expectedValues = {timeFormat.format(date), ""}; - int[] expectedTypes = {Types.TIMESTAMP, Types.TIMESTAMP}; + int[] expectedTypes = {Types.TIMESTAMP,Types.TIMESTAMP}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); - String[] columnValues = service.getColumnValues(resultSet, false, null, customFormat); + String[] columnValues = service.getColumnValues(resultSet); assertArrayEquals(expectedValues, columnValues); } @Test public void getClobFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String clobString = buildClobString(20); String[] expectedNames = {"Clob", "Null"}; - String[] realValues = {clobString, null}; + String[] realValues = {clobString, null}; String[] expectedValues = {clobString, ""}; - int[] expectedTypes = {Types.CLOB, Types.CLOB}; + int[] expectedTypes = {Types.CLOB,Types.CLOB}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -344,15 +329,20 @@ public void getClobFromResultSet() throws SQLException, IOException { @Test public void getEmptyClobFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String clobString = buildClobString(0); String[] expectedNames = {"Clob", "Null"}; - String[] realValues = {clobString, null}; + String[] realValues = {clobString, null}; String[] expectedValues = {clobString, ""}; - int[] expectedTypes = {Types.CLOB, Types.CLOB}; + int[] expectedTypes = {Types.CLOB,Types.CLOB}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); @@ -363,15 +353,20 @@ public void getEmptyClobFromResultSet() throws SQLException, IOException { @Test public void getLargeClobFromResultSet() throws SQLException, IOException { + MockResultSet resultSet = new MockResultSet(); + MockResultSetMetaData metaData = new MockResultSetMetaData(); + String clobString = buildClobString(ResultSetHelperService.CLOBBUFFERSIZE + 1); String[] expectedNames = {"Clob", "Null"}; - String[] realValues = {clobString, null}; + String[] realValues = {clobString, null}; String[] expectedValues = {clobString, ""}; - int[] expectedTypes = {Types.CLOB, Types.CLOB}; + int[] expectedTypes = {Types.CLOB,Types.CLOB}; - ResultSetMetaData metaData = MockResultSetMetaDataBuilder.buildMetaData(expectedNames, expectedTypes); - ResultSet resultSet = MockResultSetBuilder.buildResultSet(metaData, realValues, expectedTypes); + metaData.setColumnNames(expectedNames); + metaData.setColumnTypes(expectedTypes); + resultSet.setMetaData(metaData); + resultSet.setColumnValues(realValues); ResultSetHelperService service = new ResultSetHelperService(); diff --git a/test/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategyTest.java b/test/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategyTest.java index 83fb061..3112e4a 100644 --- a/test/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategyTest.java +++ b/test/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategyTest.java @@ -41,7 +41,8 @@ public void testParse() { "kyle,123456,emp123,1\n" + "jimmy,abcnum,cust09878,2"; - strat.setColumnMapping("name", "orderNumber", "id", "num"); + String[] columns = new String[]{"name", "orderNumber", "id", "num"}; + strat.setColumnMapping(columns); CsvToBean csv = new CsvToBean(); List list = csv.parse(strat, new StringReader(s)); @@ -93,7 +94,8 @@ public void testGetColumnMapping() { @Test public void testGetColumnNames() { - strat.setColumnMapping("name", null, "id"); + String[] columns = new String[]{"name", null, "id"}; + strat.setColumnMapping(columns); assertEquals("name", strat.getColumnName(0)); assertEquals(null, strat.getColumnName(1)); @@ -104,7 +106,8 @@ public void testGetColumnNames() { @Test public void testGetColumnNamesArray() { - strat.setColumnMapping("name", null, "id"); + String[] columns = new String[]{"name", null, "id"}; + strat.setColumnMapping(columns); String[] mapping = strat.getColumnMapping(); assertEquals(3, mapping.length); @@ -114,30 +117,12 @@ public void testGetColumnNamesArray() { } @Test - public void getColumnNamesWhenNullArray() { - strat.setColumnMapping((String[]) null); - - assertEquals(null, strat.getColumnName(0)); - assertEquals(null, strat.getColumnName(1)); - assertArrayEquals(new String[0], strat.getColumnMapping()); - } - - @Test - public void getColumnNamesWhenNullColumnName() { - String[] columns = {null}; - strat.setColumnMapping(columns); + public void getColumnNamesHandlesNull() { + strat.setColumnMapping(null); assertEquals(null, strat.getColumnName(0)); assertEquals(null, strat.getColumnName(1)); - assertArrayEquals(columns, strat.getColumnMapping()); - } - - @Test - public void getColumnNamesWhenEmptyMapping() { - strat.setColumnMapping(); - - assertEquals(null, strat.getColumnName(0)); - assertArrayEquals(new String[0], strat.getColumnMapping()); + assertNull(strat.getColumnMapping()); } } diff --git a/test/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.java b/test/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.java index ce4b3fa..389fd6a 100644 --- a/test/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.java +++ b/test/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.java @@ -32,32 +32,17 @@ public class HeaderColumnNameMappingStrategyTest { "kyle,abc123456,123\n" + "jimmy,def098765,456"; - private static final String TEST_QUOTED_STRING = "\"name\",\"orderNumber\",\"num\"\n" + - "\"kyle\",\"abc123456\",\"123\"\n" + - "\"jimmy\",\"def098765\",\"456\""; - - private List createTestParseResult(String parseString) { + private List createTestParseResult() { HeaderColumnNameMappingStrategy strat = new HeaderColumnNameMappingStrategy(); strat.setType(MockBean.class); CsvToBean csv = new CsvToBean(); - return csv.parse(strat, new StringReader(parseString)); + return csv.parse(strat, new StringReader(TEST_STRING)); } @Test public void testParse() { - List list = createTestParseResult(TEST_STRING); - assertNotNull(list); - assertTrue(list.size() == 2); - MockBean bean = list.get(0); - assertEquals("kyle", bean.getName()); - assertEquals("abc123456", bean.getOrderNumber()); - assertEquals(123, bean.getNum()); - } - - @Test - public void testQuotedString() { - List list = createTestParseResult(TEST_QUOTED_STRING); + List list = createTestParseResult(); assertNotNull(list); assertTrue(list.size() == 2); MockBean bean = list.get(0); @@ -68,7 +53,7 @@ public void testQuotedString() { @Test public void testParseWithSpacesInHeader() { - List list = createTestParseResult(TEST_STRING); + List list = createTestParseResult(); assertNotNull(list); assertTrue(list.size() == 2); MockBean bean = list.get(0); diff --git a/test/integrationTest/issue3189428/CsvSample.java b/test/integrationTest/issue3189428/CsvSample.java index d1f6789..86ca741 100644 --- a/test/integrationTest/issue3189428/CsvSample.java +++ b/test/integrationTest/issue3189428/CsvSample.java @@ -98,12 +98,12 @@ protected void testRawCsvRead(String originalCommentText) */ protected void testMappingStrategyRead(String originalCommentText) throws FileNotFoundException { - ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy(); + ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy(); mappingStrategy.setType(MyBean.class); String[] columns = new String[]{"name", "value", "amount1", "currency", "comments"}; // the fields to bind to in your JavaBean mappingStrategy.setColumnMapping(columns); - CsvToBean csv = new CsvToBean(); + CsvToBean csv = new CsvToBean(); CSVReader reader = new CSVReader(new FileReader(filePath), CSVParser.DEFAULT_SEPARATOR, CSVParser.DEFAULT_QUOTE_CHARACTER, CSVParser.DEFAULT_ESCAPE_CHARACTER, 0, false, false); List list = csv.parse(mappingStrategy, reader); From e53a6b2f9bf6f2fff92a795a137a4cb07280b7bb Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Tue, 20 Mar 2012 12:25:04 +0200 Subject: [PATCH 02/13] Added some crappy comments --- setJava5.sh | 15 --------------- .../bytecode/opencsv/IterableCSVToBeanReader.java | 9 +++++++++ .../bytecode/opencsv/bean/CsvToBeanIterator.java | 9 +++++++++ .../opencsv/exception/CSVRuntimeException.java | 8 ++++++++ 4 files changed, 26 insertions(+), 15 deletions(-) delete mode 100644 setJava5.sh diff --git a/setJava5.sh b/setJava5.sh deleted file mode 100644 index 79efc0a..0000000 --- a/setJava5.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -JAVA_HOME=/home/scott/Compilers/java5 - -export JAVA_HOME - -PATH=$JAVA_HOME/bin:$PATH - -export PATH - -echo $JAVA_HOME -echo -echo $PATH - -mvn assembly:assembly diff --git a/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java b/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java index aa81032..bcf0f65 100644 --- a/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java +++ b/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java @@ -8,6 +8,15 @@ import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy; import au.com.bytecode.opencsv.exception.CSVRuntimeException; +/** + * Figure it out... + * + * Something tells me the interface implemented might be a clue... + * + * @author bothajo + * + * @param + */ public class IterableCSVToBeanReader extends CSVReader implements Iterable { private ColumnPositionMappingStrategy mapper; diff --git a/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java b/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java index 4fb5a64..72207fd 100644 --- a/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java +++ b/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java @@ -8,6 +8,15 @@ import au.com.bytecode.opencsv.CSVReader; import au.com.bytecode.opencsv.exception.CSVRuntimeException; +/** + * Better to use this class t map beans from huge CSV files... + * + * Muuuch better on memory... + * + * @author bothajo + * + * @param + */ public class CsvToBeanIterator extends CsvToBean implements Iterator { private MappingStrategy mapper; diff --git a/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java b/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java index ce0e12e..0e21fc6 100644 --- a/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java +++ b/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java @@ -1,5 +1,13 @@ package au.com.bytecode.opencsv.exception; +/** + * I apologize for the existence of this class... + * + * Couldn't figure out a cleaner way of making the Iterator work... + * + * @author bothajo + * + */ public class CSVRuntimeException extends RuntimeException { private static final long serialVersionUID = 7303281195236049701L; From fb08041e27ac74a873562addb14603da88ee4a7b Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Tue, 20 Mar 2012 13:29:34 +0200 Subject: [PATCH 03/13] Fixed copy bug... --- .gitignore | 6 - README | 0 src/au/com/bytecode/opencsv/CSVIterator.java | 32 --- .../bytecode/opencsv/CSVParserBuilder.java | 125 ------------ .../bytecode/opencsv/CSVReaderBuilder.java | 91 --------- .../opencsv/IterableCSVToBeanReader.java | 9 - .../com/bytecode/opencsv/bean/BeanToCsv.java | 107 ---------- .../opencsv/bean/CsvToBeanIterator.java | 5 +- .../exception/CSVRuntimeException.java | 6 +- .../com/bytecode/opencsv/CSVIteratorTest.java | 54 ----- .../opencsv/CSVParserBuilderTest.java | 107 ---------- .../opencsv/CSVReaderBuilderTest.java | 91 --------- .../opencsv/CSVWriterExceptionThrower.java | 22 -- .../opencsv/MockResultSetBuilder.java | 190 ------------------ .../opencsv/MockResultSetMetaDataBuilder.java | 36 ---- .../bytecode/opencsv/bean/BeanToCsvTest.java | 151 -------------- ...aderColumnNameMappingStrategyUserTest.java | 56 ------ .../issue3402853/MockUserBean.java | 118 ----------- test/integrationTest/issue3402853/user.csv | 3 - 19 files changed, 4 insertions(+), 1205 deletions(-) delete mode 100644 .gitignore delete mode 100644 README delete mode 100644 src/au/com/bytecode/opencsv/CSVIterator.java delete mode 100644 src/au/com/bytecode/opencsv/CSVParserBuilder.java delete mode 100644 src/au/com/bytecode/opencsv/CSVReaderBuilder.java delete mode 100644 src/au/com/bytecode/opencsv/bean/BeanToCsv.java delete mode 100644 test/au/com/bytecode/opencsv/CSVIteratorTest.java delete mode 100644 test/au/com/bytecode/opencsv/CSVParserBuilderTest.java delete mode 100644 test/au/com/bytecode/opencsv/CSVReaderBuilderTest.java delete mode 100644 test/au/com/bytecode/opencsv/CSVWriterExceptionThrower.java delete mode 100644 test/au/com/bytecode/opencsv/MockResultSetBuilder.java delete mode 100644 test/au/com/bytecode/opencsv/MockResultSetMetaDataBuilder.java delete mode 100644 test/au/com/bytecode/opencsv/bean/BeanToCsvTest.java delete mode 100644 test/integrationTest/issue3402853/HeaderColumnNameMappingStrategyUserTest.java delete mode 100644 test/integrationTest/issue3402853/MockUserBean.java delete mode 100644 test/integrationTest/issue3402853/user.csv diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1905ddf..0000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -target -myfile.csv -opencsv.ipr -opencsv.iml -opencsv-2.0.1-SNAPSHOT.patch -pom.xml.cobertura diff --git a/README b/README deleted file mode 100644 index e69de29..0000000 diff --git a/src/au/com/bytecode/opencsv/CSVIterator.java b/src/au/com/bytecode/opencsv/CSVIterator.java deleted file mode 100644 index 2db4992..0000000 --- a/src/au/com/bytecode/opencsv/CSVIterator.java +++ /dev/null @@ -1,32 +0,0 @@ -package au.com.bytecode.opencsv; - -import java.io.IOException; -import java.util.Iterator; - -public class CSVIterator implements Iterator { - private CSVReader reader; - private String[] nextLine; - - public CSVIterator(CSVReader reader) throws IOException { - this.reader = reader; - nextLine = reader.readNext(); - } - - public boolean hasNext() { - return nextLine != null; - } - - public String[] next() { - String[] temp = nextLine; - try { - nextLine = reader.readNext(); - } catch (IOException e) { - throw new RuntimeException(e); - } - return temp; - } - - public void remove() { - throw new UnsupportedOperationException("This is a read only iterator."); - } -} diff --git a/src/au/com/bytecode/opencsv/CSVParserBuilder.java b/src/au/com/bytecode/opencsv/CSVParserBuilder.java deleted file mode 100644 index 9c9377c..0000000 --- a/src/au/com/bytecode/opencsv/CSVParserBuilder.java +++ /dev/null @@ -1,125 +0,0 @@ -/** - Copyright 2005 Bytecode Pty Ltd. - - 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 au.com.bytecode.opencsv; - -/** - * Builder for creating a CSVParser. - *

- * - * final CSVParser parser = - * new CSVParserBuilder() - * .withSeparator('\t') - * .withIgnoreQuotations(true) - * .build(); - * - * - * @see CSVParser - */ -public class CSVParserBuilder { - - char separator = CSVParser.DEFAULT_SEPARATOR; - char quoteChar = CSVParser.DEFAULT_QUOTE_CHARACTER; - char escapeChar = CSVParser.DEFAULT_ESCAPE_CHARACTER; - boolean strictQuotes = CSVParser.DEFAULT_STRICT_QUOTES; - ; - boolean ignoreLeadingWhiteSpace = - CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE; - boolean ignoreQuotations = CSVParser.DEFAULT_IGNORE_QUOTATIONS; - - /** - * Sets the delimiter to use for separating entries - * - * @param separator the delimiter to use for separating entries - */ - CSVParserBuilder withSeparator( - final char separator) { - this.separator = separator; - return this; - } - - - /** - * Sets the character to use for quoted elements - * - * @param quotechar the character to use for quoted elements - */ - CSVParserBuilder withQuoteChar( - final char quoteChar) { - this.quoteChar = quoteChar; - return this; - } - - - /** - * Sets the character to use for escaping a separator or quote - * - * @param escape the character to use for escaping a separator or quote - */ - CSVParserBuilder withEscapeChar( - final char escapeChar) { - this.escapeChar = escapeChar; - return this; - } - - - /** - * Sets the strict quotes setting - if true, characters - * outside the quotes are ignored - * - * @param strictQuotes if true, characters outside the quotes are ignored - */ - CSVParserBuilder withStrictQuotes( - final boolean strictQuotes) { - this.strictQuotes = strictQuotes; - return this; - } - - /** - * Sets the ignore leading whitespace setting - if true, white space - * in front of a quote in a field is ignored - * - * @param ignoreLeadingWhiteSpace if true, white space in front of a quote in a field is ignored - */ - CSVParserBuilder withIgnoreLeadingWhiteSpace( - final boolean ignoreLeadingWhiteSpace) { - this.ignoreLeadingWhiteSpace = ignoreLeadingWhiteSpace; - return this; - } - - /** - * Sets the ignore quotations mode - if true, quotations are ignored - * - * @param ignoreQuotations if true, quotations are ignored - */ - CSVParserBuilder withIgnoreQuotations( - final boolean ignoreQuotations) { - this.ignoreQuotations = ignoreQuotations; - return this; - } - - /** - * Constructs CSVParser - */ - CSVParser build() { - return new CSVParser( - separator, - quoteChar, - escapeChar, - strictQuotes, - ignoreLeadingWhiteSpace, - ignoreQuotations); - } -} diff --git a/src/au/com/bytecode/opencsv/CSVReaderBuilder.java b/src/au/com/bytecode/opencsv/CSVReaderBuilder.java deleted file mode 100644 index 39bb69b..0000000 --- a/src/au/com/bytecode/opencsv/CSVReaderBuilder.java +++ /dev/null @@ -1,91 +0,0 @@ -/** - Copyright 2005 Bytecode Pty Ltd. - - 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 au.com.bytecode.opencsv; - - -import java.io.Reader; - -/** - * Builder for creating a CSVReader. - *

- * - * final CSVParser parser = - * new CSVParserBuilder() - * .withSeparator('\t') - * .withIgnoreQuotations(true) - * .build(); - * final CSVReader reader = - * new CSVReaderBuilder(new StringReader(csv)) - * .withSkipLines(1) - * .withCSVParser(parser) - * .build(); - * - * - * @see CSVReader - */ -public class CSVReaderBuilder { - - final Reader reader; - int skipLines = CSVReader.DEFAULT_SKIP_LINES; - CSVParserBuilder csvParserBuilder = new CSVParserBuilder(); - /*@Nullable*/ CSVParser csvParser = null; - - /** - * Sets the reader to an underlying CSV source - * - * @param reader the reader to an underlying CSV source. - */ - CSVReaderBuilder( - final Reader reader) { - if (reader == null) { - throw new IllegalArgumentException("Reader may not be null"); - } - this.reader = reader; - } - - /** - * Sets the line number to skip for start reading - * - * @param skipLines the line number to skip for start reading - */ - CSVReaderBuilder withSkipLines( - final int skipLines) { - this.skipLines = (skipLines <= 0 ? 0 : skipLines); - return this; - } - - - /** - * Sets the parser to use to parse the input - * - * @param csvParser the parser to use to parse the input - */ - CSVReaderBuilder withCSVParser( - final /*@Nullable*/ CSVParser csvParser) { - this.csvParser = csvParser; - return this; - } - - - /** - * Constructs CSVReader - */ - CSVReader build() { - final CSVParser parser = - (csvParser != null ? csvParser : new CSVParser()); - return new CSVReader(reader, skipLines, parser); - } -} diff --git a/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java b/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java index bcf0f65..aa81032 100644 --- a/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java +++ b/src/au/com/bytecode/opencsv/IterableCSVToBeanReader.java @@ -8,15 +8,6 @@ import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy; import au.com.bytecode.opencsv.exception.CSVRuntimeException; -/** - * Figure it out... - * - * Something tells me the interface implemented might be a clue... - * - * @author bothajo - * - * @param - */ public class IterableCSVToBeanReader extends CSVReader implements Iterable { private ColumnPositionMappingStrategy mapper; diff --git a/src/au/com/bytecode/opencsv/bean/BeanToCsv.java b/src/au/com/bytecode/opencsv/bean/BeanToCsv.java deleted file mode 100644 index c19bd9e..0000000 --- a/src/au/com/bytecode/opencsv/bean/BeanToCsv.java +++ /dev/null @@ -1,107 +0,0 @@ -package au.com.bytecode.opencsv.bean; - -/** - Copyright 2007 Kyle Miller. - - 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. - */ - -import au.com.bytecode.opencsv.CSVWriter; - -import java.beans.IntrospectionException; -import java.beans.PropertyDescriptor; -import java.io.Writer; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; - -/** - * Allows to export Java beans content to a new CSV spreadsheet file. - * - * @author Kali <kali.tystrit@gmail.com> - */ -public class BeanToCsv { - - public BeanToCsv() { - } - - public boolean write(MappingStrategy mapper, Writer writer, - List objects) { - return write(mapper, new CSVWriter(writer), objects); - } - - public boolean write(MappingStrategy mapper, CSVWriter csv, - List objects) { - if (objects == null || objects.isEmpty()) - return false; - - try { - csv.writeNext(processHeader(mapper)); - List getters = findGetters(mapper); - for (Object obj : objects) { - String[] line = processObject(getters, obj); - csv.writeNext(line); - } - return true; - } catch (Exception e) { - throw new RuntimeException("Error writing CSV !", e); - } - } - - protected String[] processHeader(MappingStrategy mapper) - throws IntrospectionException { - List values = new ArrayList(); - int i = 0; - PropertyDescriptor prop = mapper.findDescriptor(i); - while (prop != null) { - values.add(prop.getName()); - i++; - prop = mapper.findDescriptor(i); - } - return values.toArray(new String[0]); - } - - protected String[] processObject(List getters, Object bean) - throws IntrospectionException, IllegalArgumentException, - IllegalAccessException, InvocationTargetException { - List values = new ArrayList(); - // retrieve bean values - for (Method getter : getters) { - Object value = getter.invoke(bean, (Object[]) null); - if (value == null) { - values.add("null"); - } else { - values.add(value.toString()); - } - } - return values.toArray(new String[0]); - } - - /** - * Build getters list from provided mapper. - */ - private List findGetters(MappingStrategy mapper) - throws IntrospectionException { - int i = 0; - PropertyDescriptor prop = mapper.findDescriptor(i); - // build getters methods list - List readers = new ArrayList(); - while (prop != null) { - readers.add(prop.getReadMethod()); - i++; - prop = mapper.findDescriptor(i); - } - return readers; - } -} diff --git a/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java b/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java index 72207fd..9ea70fe 100644 --- a/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java +++ b/src/au/com/bytecode/opencsv/bean/CsvToBeanIterator.java @@ -9,13 +9,12 @@ import au.com.bytecode.opencsv.exception.CSVRuntimeException; /** - * Better to use this class t map beans from huge CSV files... - * - * Muuuch better on memory... + * Somewhat better on memory when mapping massive CSV files -- which I have to do... * * @author bothajo * * @param + * */ public class CsvToBeanIterator extends CsvToBean implements Iterator { diff --git a/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java b/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java index 0e21fc6..b89a535 100644 --- a/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java +++ b/src/au/com/bytecode/opencsv/exception/CSVRuntimeException.java @@ -1,10 +1,8 @@ package au.com.bytecode.opencsv.exception; /** - * I apologize for the existence of this class... - * - * Couldn't figure out a cleaner way of making the Iterator work... - * + * I apologize for this class -- haven't figured out + * a cleaner way of making the CsvToBeanIterator work... * @author bothajo * */ diff --git a/test/au/com/bytecode/opencsv/CSVIteratorTest.java b/test/au/com/bytecode/opencsv/CSVIteratorTest.java deleted file mode 100644 index acf0f65..0000000 --- a/test/au/com/bytecode/opencsv/CSVIteratorTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package au.com.bytecode.opencsv; - -import org.junit.Before; -import org.junit.Test; - -import java.io.IOException; - -import static org.junit.Assert.*; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -/** - * Created by IntelliJ IDEA. - * User: sconway - * Date: 10/29/11 - * Time: 12:41 PM - * To change this template use File | Settings | File Templates. - */ -public class CSVIteratorTest { - private CSVIterator iterator; - private CSVReader mockReader; - private static final String[] STRINGS = {"test1", "test2"}; - - @Before - public void setUp() throws IOException { - mockReader = mock(CSVReader.class); - when(mockReader.readNext()).thenReturn(STRINGS); - iterator = new CSVIterator(mockReader); - } - - @Test(expected = RuntimeException.class) - public void readerExceptionCausesRunTimeException() throws IOException { - when(mockReader.readNext()).thenThrow(new IOException("reader threw test exception")); - String[] stuff = iterator.next(); - } - - @Test(expected = UnsupportedOperationException.class) - public void removethrowsUnsupportedOperationException() { - iterator.remove(); - } - - @Test - public void initialReadReturnsStrings() { - assertArrayEquals(STRINGS, iterator.next()); - } - - @Test - public void hasNextWorks() throws IOException { - when(mockReader.readNext()).thenReturn(null); - assertTrue(iterator.hasNext()); // initial read from constructor - String[] stuff = iterator.next(); - assertFalse(iterator.hasNext()); - } -} diff --git a/test/au/com/bytecode/opencsv/CSVParserBuilderTest.java b/test/au/com/bytecode/opencsv/CSVParserBuilderTest.java deleted file mode 100644 index d975ea2..0000000 --- a/test/au/com/bytecode/opencsv/CSVParserBuilderTest.java +++ /dev/null @@ -1,107 +0,0 @@ -package au.com.bytecode.opencsv; - -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -public class CSVParserBuilderTest { - - private CSVParserBuilder builder; - - @Before - public void setUp() throws Exception { - builder = new CSVParserBuilder(); - } - - @Test - public void testDefaultBuilder() { - assertEquals( - CSVParser.DEFAULT_SEPARATOR, - builder.separator); - assertEquals( - CSVParser.DEFAULT_QUOTE_CHARACTER, - builder.quoteChar); - assertEquals( - CSVParser.DEFAULT_ESCAPE_CHARACTER, - builder.escapeChar); - assertEquals( - CSVParser.DEFAULT_STRICT_QUOTES, - builder.strictQuotes); - assertEquals( - CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE, - builder.ignoreLeadingWhiteSpace); - assertEquals( - CSVParser.DEFAULT_IGNORE_QUOTATIONS, - builder.ignoreQuotations); - - CSVParser parser = builder.build(); - assertEquals( - CSVParser.DEFAULT_SEPARATOR, - parser.separator); - assertEquals( - CSVParser.DEFAULT_QUOTE_CHARACTER, - parser.quotechar); - assertEquals( - CSVParser.DEFAULT_ESCAPE_CHARACTER, - parser.escape); - assertEquals( - CSVParser.DEFAULT_STRICT_QUOTES, - parser.strictQuotes); - assertEquals( - CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE, - parser.ignoreLeadingWhiteSpace); - assertEquals( - CSVParser.DEFAULT_IGNORE_QUOTATIONS, - parser.ignoreQuotations); - } - - @Test - public void testWithSeparator() { - final char expected = '1'; - builder.withSeparator(expected); - assertEquals(expected, builder.separator); - assertEquals(expected, builder.build().separator); - } - - @Test - public void testWithQuoteChar() { - final char expected = '2'; - builder.withQuoteChar(expected); - assertEquals(expected, builder.quoteChar); - assertEquals(expected, builder.build().quotechar); - } - - @Test - public void testWithEscapeChar() { - final char expected = '3'; - builder.withEscapeChar(expected); - assertEquals(expected, builder.escapeChar); - assertEquals(expected, builder.build().escape); - } - - @Test - public void testWithStrictQuotes() { - final boolean expected = true; - builder.withStrictQuotes(expected); - assertEquals(expected, builder.strictQuotes); - assertEquals(expected, builder.build().strictQuotes); - } - - @Test - public void testWithIgnoreLeadingWhiteSpace() { - final boolean expected = true; - builder.withIgnoreLeadingWhiteSpace(expected); - assertEquals(expected, builder.ignoreLeadingWhiteSpace); - assertEquals(expected, builder.build().ignoreLeadingWhiteSpace); - } - - @Test - public void testWithIgnoreQuotations() { - final boolean expected = true; - builder.withIgnoreQuotations(expected); - assertEquals(expected, builder.ignoreQuotations); - assertEquals(expected, builder.build().ignoreQuotations); - } - -} diff --git a/test/au/com/bytecode/opencsv/CSVReaderBuilderTest.java b/test/au/com/bytecode/opencsv/CSVReaderBuilderTest.java deleted file mode 100644 index 1c37c43..0000000 --- a/test/au/com/bytecode/opencsv/CSVReaderBuilderTest.java +++ /dev/null @@ -1,91 +0,0 @@ -package au.com.bytecode.opencsv; - -import org.junit.Before; -import org.junit.Test; - -import java.io.Reader; - -import static org.junit.Assert.*; -import static org.mockito.Mockito.mock; - -public class CSVReaderBuilderTest { - - private CSVReaderBuilder builder; - private Reader reader; - - @Before - public void setUp() throws Exception { - reader = mock(Reader.class); - builder = new CSVReaderBuilder(reader); - } - - @Test - public void testDefaultBuilder() { - assertSame(reader, builder.reader); - assertNotNull(builder.csvParserBuilder); - assertNull(builder.csvParser); - assertEquals( - CSVReader.DEFAULT_SKIP_LINES, - builder.skipLines); - - final CSVReader csvReader = builder.build(); - assertSame( - CSVReader.DEFAULT_SKIP_LINES, - csvReader.skipLines); - } - - @Test(expected = IllegalArgumentException.class) - public void testNullReader() { - builder = new CSVReaderBuilder(null); - } - - @Test - public void testWithCSVParserNull() { - builder.withCSVParser(mock(CSVParser.class)); - builder.withCSVParser(null); - assertNull(builder.csvParser); - } - - @Test - public void testWithCSVParser() { - final CSVParser csvParser = mock(CSVParser.class); - - builder.withCSVParser(csvParser); - - assertSame(csvParser, builder.csvParser); - - final CSVReader actual = builder.build(); - assertSame(csvParser, actual.parser); - } - - @Test - public void testWithSkipLines() { - builder.withSkipLines(99); - - assertEquals(99, builder.skipLines); - - final CSVReader actual = builder.build(); - assertSame(99, actual.skipLines); - } - - @Test - public void testWithSkipLinesZero() { - builder.withSkipLines(0); - - assertEquals(0, builder.skipLines); - - final CSVReader actual = builder.build(); - assertSame(0, actual.skipLines); - } - - @Test - public void testWithSkipLinesNegative() { - builder.withSkipLines(-1); - - assertEquals(0, builder.skipLines); - - final CSVReader actual = builder.build(); - assertSame(0, actual.skipLines); - } - -} diff --git a/test/au/com/bytecode/opencsv/CSVWriterExceptionThrower.java b/test/au/com/bytecode/opencsv/CSVWriterExceptionThrower.java deleted file mode 100644 index 3351a6d..0000000 --- a/test/au/com/bytecode/opencsv/CSVWriterExceptionThrower.java +++ /dev/null @@ -1,22 +0,0 @@ -package au.com.bytecode.opencsv; - -import java.io.IOException; -import java.io.Writer; - -/** - * Created by IntelliJ IDEA. - * User: sconway - * Date: 6/5/11 - * Time: 7:08 PM - * To change this template use File | Settings | File Templates. - */ -public class CSVWriterExceptionThrower extends CSVWriter { - public CSVWriterExceptionThrower(Writer writer) { - super(writer); - } - - @Override - public void flush() throws IOException { - throw new IOException("Exception thrown from Mock test flush method"); - } -} diff --git a/test/au/com/bytecode/opencsv/MockResultSetBuilder.java b/test/au/com/bytecode/opencsv/MockResultSetBuilder.java deleted file mode 100644 index f07c3e6..0000000 --- a/test/au/com/bytecode/opencsv/MockResultSetBuilder.java +++ /dev/null @@ -1,190 +0,0 @@ -package au.com.bytecode.opencsv; - -import javax.sql.rowset.serial.SerialClob; -import java.math.BigDecimal; -import java.sql.*; -import java.util.ArrayList; -import java.util.List; - -import static java.sql.Types.*; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -/** - * Created by IntelliJ IDEA. - * User: sconway - * Date: 6/14/11 - * Time: 10:40 PM - * To change this template use File | Settings | File Templates. - */ -public class MockResultSetBuilder { - - public static ResultSet buildResultSet(ResultSetMetaData metaData, String[] columnValues, int[] columnTypes) throws SQLException { - ResultSet resultSet = mock(ResultSet.class); - List wnrl = new ArrayList(); - when(resultSet.getMetaData()).thenReturn(metaData); - - for (int i = 0; i < columnValues.length; i++) { - setExpectToGetColumnValue(resultSet, i + 1, columnValues[i], columnTypes[i], wnrl); - } - - if (!wnrl.isEmpty()) { - // Why I have to do it this way I have no idea. but I cannot pass in just an array of Boolean I - // have to break it up into a first value and the rest of the values. - - Boolean firstValue = wnrl.get(0); - wnrl.remove(0); - - Boolean[] values = new Boolean[wnrl.size()]; - int i = 0; - for (Boolean b : wnrl) { - values[i++] = b; - } - - if (!wnrl.isEmpty()) { - when(resultSet.wasNull()).thenReturn(firstValue, values); - } else { - when(resultSet.wasNull()).thenReturn(firstValue); - } - } - - return resultSet; - } - - private static void setExpectToGetColumnValue(ResultSet rs, int index, String value, int type, List wnrl) throws SQLException { - - switch (type) { - case BIT: - case JAVA_OBJECT: - when(rs.getObject(index)).thenReturn(value); - break; - case BOOLEAN: - when(rs.getBoolean(index)).thenReturn(Boolean.valueOf(value)); - break; - case BIGINT: - when(rs.getLong(index)).thenReturn(value != null ? Long.valueOf(value).longValue() : 0); - wnrl.add(value == null); - break; - case Types.DECIMAL: - case Types.DOUBLE: - case Types.FLOAT: - case Types.REAL: - case Types.NUMERIC: - when(rs.getBigDecimal(index)).thenReturn(value != null ? new BigDecimal(value) : null); - break; - case Types.INTEGER: - case Types.TINYINT: - case Types.SMALLINT: - when(rs.getInt(index)).thenReturn(value != null ? new Integer(value).intValue() : 0); - wnrl.add(value == null); - break; - case ResultSetHelperService.NVARCHAR: // todo : use rs.getNString - case ResultSetHelperService.NCHAR: // todo : use rs.getNString - case ResultSetHelperService.LONGNVARCHAR: // todo : use rs.getNString - case Types.LONGVARCHAR: - case Types.VARCHAR: - case Types.CHAR: - when(rs.getString(index)).thenReturn(value); - break; - case Types.DATE: - Date date = createDateFromMilliSeconds(value); - when(rs.getDate(index)).thenReturn(date); - break; - case Types.TIME: - Time time = createTimeFromMilliSeconds(value); - when(rs.getTime(index)).thenReturn(time); - break; - case Types.TIMESTAMP: - Timestamp ts = createTimeStampFromMilliSeconds(value); - when(rs.getTimestamp(index)).thenReturn(ts); - break; - case ResultSetHelperService.NCLOB: // todo : use rs.getNClob - case Types.CLOB: - Clob c = createClobFromString(value); - when(rs.getClob(index)).thenReturn(c); - break; - - } - - } - - private static Clob createClobFromString(String value) throws SQLException { - return value != null ? new SerialClob(value.toCharArray()) : null; - } - - private static Date createDateFromMilliSeconds(String value) { - Date date; - - if (value == null) { - date = null; - } else { - Long milliseconds = Long.valueOf(value); - date = new Date(milliseconds); - } - return date; - } - - private static Time createTimeFromMilliSeconds(String value) { - Time time; - - if (value == null) { - time = null; - } else { - Long milliseconds = Long.valueOf(value); - time = new Time(milliseconds); - } - return time; - } - - private static Timestamp createTimeStampFromMilliSeconds(String value) { - Timestamp timestamp; - - if (value == null) { - timestamp = null; - } else { - Long milliseconds = Long.valueOf(value); - timestamp = new Timestamp(milliseconds); - } - return timestamp; - } - - public static ResultSet buildResultSet(String[] header, String[] values, int numRows) throws SQLException { - ResultSet rs = mock(ResultSet.class); - ResultSetMetaData rsmd = MockResultSetMetaDataBuilder.buildMetaData(header); - - when(rs.getMetaData()).thenReturn(rsmd); - - for (int i = 0; i < values.length; i++) { - buildStringExpects(rs, i + 1, values[i], numRows); - } - buildNextExpect(rs, numRows); - return rs; //To change body of created methods use File | Settings | File Templates. - } - - private static void buildStringExpects(ResultSet rs, int index, String value, int numRows) throws SQLException { - - if (numRows > 1) { - String[] columnValues = new String[numRows]; - for (int i = 0; i < numRows - 1; i++) { - columnValues[i] = value; - } - when(rs.getString(index)).thenReturn(value, columnValues); - } else { - when(rs.getString(index)).thenReturn(value); - } - - } - - private static void buildNextExpect(ResultSet rs, int numRows) throws SQLException { - if (numRows == 1) { - when(rs.next()).thenReturn(true, false); - } else { - Boolean[] nextArray = new Boolean[numRows]; - for (int i = 0; i < numRows; i++) { - nextArray[i] = i < (numRows - 1); - } - when(rs.next()).thenReturn(true, nextArray); - } - - } -} diff --git a/test/au/com/bytecode/opencsv/MockResultSetMetaDataBuilder.java b/test/au/com/bytecode/opencsv/MockResultSetMetaDataBuilder.java deleted file mode 100644 index 8472ed8..0000000 --- a/test/au/com/bytecode/opencsv/MockResultSetMetaDataBuilder.java +++ /dev/null @@ -1,36 +0,0 @@ -package au.com.bytecode.opencsv; - -import org.mockito.Mockito; - -import java.sql.ResultSetMetaData; -import java.sql.SQLException; -import java.sql.Types; - -public class MockResultSetMetaDataBuilder { - - public static ResultSetMetaData buildMetaData(String[] columnNames) throws SQLException { - - ResultSetMetaData metaData = Mockito.mock(ResultSetMetaData.class); - - Mockito.when(metaData.getColumnCount()).thenReturn(columnNames.length); - for (int i = 0; i < columnNames.length; i++) { - Mockito.when(metaData.getColumnName(i + 1)).thenReturn(columnNames[i]); - Mockito.when(metaData.getColumnType(i + 1)).thenReturn(Types.VARCHAR); - } - - return metaData; - } - - public static ResultSetMetaData buildMetaData(String[] columnNames, int[] columnTypes) throws SQLException { - - ResultSetMetaData metaData = Mockito.mock(ResultSetMetaData.class); - - Mockito.when(metaData.getColumnCount()).thenReturn(columnNames.length); - for (int i = 0; i < columnNames.length; i++) { - Mockito.when(metaData.getColumnName(i + 1)).thenReturn(columnNames[i]); - Mockito.when(metaData.getColumnType(i + 1)).thenReturn(columnTypes[i]); - } - - return metaData; - } -} \ No newline at end of file diff --git a/test/au/com/bytecode/opencsv/bean/BeanToCsvTest.java b/test/au/com/bytecode/opencsv/bean/BeanToCsvTest.java deleted file mode 100644 index 404cc8d..0000000 --- a/test/au/com/bytecode/opencsv/bean/BeanToCsvTest.java +++ /dev/null @@ -1,151 +0,0 @@ -package au.com.bytecode.opencsv.bean; - -import au.com.bytecode.opencsv.CSVReader; -import au.com.bytecode.opencsv.CSVWriter; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -import java.beans.IntrospectionException; -import java.beans.PropertyDescriptor; -import java.io.IOException; -import java.io.StringWriter; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertFalse; - -public class BeanToCsvTest { - - private static final String TEST_STRING = "\"name\",\"orderNumber\",\"num\"\n" - + "\"kyle\",\"abc123456\",\"123\"\n" - + "\"jimmy\",\"def098765\",\"456\"\n"; - - private static final String NULL_TEST_STRING = "\"name\",\"orderNumber\",\"num\"\n" - + "\"null\",\"null\",\"1\"\n" - + "\"null\",\"null\",\"2\"\n"; - - private List testData; - private List nullData; - private BeanToCsv bean; - - @Before - public void setUp() { - bean = new BeanToCsv(); - } - - @Before - public void setTestData() { - testData = new ArrayList(); - MockBean mb = new MockBean(); - mb.setName("kyle"); - mb.setOrderNumber("abc123456"); - mb.setNum(123); - testData.add(mb); - mb = new MockBean(); - mb.setName("jimmy"); - mb.setOrderNumber("def098765"); - mb.setNum(456); - testData.add(mb); - } - - @Before - public void setNullData() { - nullData = new ArrayList(); - MockBean mb = new MockBean(); - mb.setName(null); - mb.setOrderNumber(null); - mb.setNum(1); - nullData.add(mb); - mb = new MockBean(); - mb.setName(null); - mb.setOrderNumber(null); - mb.setNum(2); - nullData.add(mb); - } - - private MappingStrategy createErrorMappingStrategy() { - return new MappingStrategy() { - - public PropertyDescriptor findDescriptor(int col) - throws IntrospectionException { - throw new IntrospectionException("This is the test exception"); - } - - public Object createBean() throws InstantiationException, - IllegalAccessException { - return null; - } - - public void captureHeader(CSVReader reader) throws IOException { - } - }; - } - - @Test(expected = RuntimeException.class) - public void throwRuntimeExceptionWhenExceptionIsThrown() { - StringWriter sw = new StringWriter(); - CSVWriter writer = new CSVWriter(sw); - bean.write(createErrorMappingStrategy(), writer, testData); - } - - @Test - public void beanReturnsFalseOnEmptyList() { - ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); - strat.setType(MockBean.class); - String[] columns = new String[]{"name", "orderNumber", "num"}; - strat.setColumnMapping(columns); - - StringWriter sw = new StringWriter(); - - assertFalse(bean.write(strat, sw, new ArrayList())); - } - - @Test - public void beanReturnsFalseOnNull() { - ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); - strat.setType(MockBean.class); - String[] columns = new String[]{"name", "orderNumber", "num"}; - strat.setColumnMapping(columns); - - StringWriter sw = new StringWriter(); - - assertFalse(bean.write(strat, sw, null)); - } - - @Test - public void testWriteQuotes() throws IOException { - ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); - strat.setType(MockBean.class); - String[] columns = new String[]{"name", "orderNumber", "num"}; - strat.setColumnMapping(columns); - - StringWriter sw = new StringWriter(); - - boolean value = bean.write(strat, sw, testData); - - Assert.assertTrue(value); - - String content = sw.getBuffer().toString(); - Assert.assertNotNull(content); - Assert.assertEquals(TEST_STRING, content); - } - - @Test - public void testWriteNulls() throws IOException { - ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); - strat.setType(MockBean.class); - String[] columns = new String[]{"name", "orderNumber", "num"}; - strat.setColumnMapping(columns); - - StringWriter sw = new StringWriter(); - - boolean value = bean.write(strat, sw, nullData); - - Assert.assertTrue(value); - - String content = sw.getBuffer().toString(); - Assert.assertNotNull(content); - Assert.assertEquals(NULL_TEST_STRING, content); - } -} diff --git a/test/integrationTest/issue3402853/HeaderColumnNameMappingStrategyUserTest.java b/test/integrationTest/issue3402853/HeaderColumnNameMappingStrategyUserTest.java deleted file mode 100644 index 3ca02c9..0000000 --- a/test/integrationTest/issue3402853/HeaderColumnNameMappingStrategyUserTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package integrationTest.issue3402853; - -/** - Copyright 2007 Kyle Miller. - - 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. - */ - - -import au.com.bytecode.opencsv.CSVReader; -import au.com.bytecode.opencsv.bean.CsvToBean; -import au.com.bytecode.opencsv.bean.HeaderColumnNameMappingStrategy; -import org.junit.Test; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -public class HeaderColumnNameMappingStrategyUserTest { - - private static final String USER_FILE = "test/integrationTest/issue3402853/user.csv"; - - private List createTestParseResult() throws FileNotFoundException { - CSVReader reader = new CSVReader(new FileReader(USER_FILE)); - HeaderColumnNameMappingStrategy strat = new HeaderColumnNameMappingStrategy(); - strat.setType(MockUserBean.class); - CsvToBean csv = new CsvToBean(); - return csv.parse(strat, reader); - } - - @Test - public void testParse() throws FileNotFoundException { - List list = createTestParseResult(); - assertNotNull(list); - assertEquals(2, list.size()); - MockUserBean bean = list.get(0); - assertEquals("rbst218@yahoo.com", bean.getEmail()); - assertEquals("\\\"CHia Sia Ta", bean.getFirst_Name()); - assertEquals("", bean.getLast_Name()); - assertEquals("bc1er1163", bean.getProfile_Id()); - } - -} diff --git a/test/integrationTest/issue3402853/MockUserBean.java b/test/integrationTest/issue3402853/MockUserBean.java deleted file mode 100644 index c2cb7fd..0000000 --- a/test/integrationTest/issue3402853/MockUserBean.java +++ /dev/null @@ -1,118 +0,0 @@ -package integrationTest.issue3402853; - -/** - * Created by IntelliJ IDEA. - * User: sconway - * Date: 9/5/11 - * Time: 10:06 PM - * To change this template use File | Settings | File Templates. - */ -public class MockUserBean { - public static final String DEFAULT_BLANK_FIELD = ""; - private String profile_id = ""; - private String email = ""; - private String secondary_email = ""; - private String first_name = DEFAULT_BLANK_FIELD; - private String last_name = DEFAULT_BLANK_FIELD; - - public String getProfile_Id() { - return profile_id; - } - - public void setProfile_Id(String userId) { - this.profile_id = userId; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getFirst_Name() { - return first_name; - } - - public void setFirst_Name(String firstName) { - this.first_name = firstName; - } - - public String getLast_Name() { - return last_name; - } - - public void setLast_Name(String lastName) { - this.last_name = lastName; - } - - public String toString() { - String userId = isEmpty(getProfile_Id()) ? "" : getProfile_Id().trim(); - String firstname = isEmpty(getFirst_Name()) ? "" : getFirst_Name().trim(); - String lastname = isEmpty(getLast_Name()) ? "" : getLast_Name().trim(); - String email = isEmpty(getEmail()) ? "" : getEmail().trim(); - StringBuffer value = new StringBuffer(); - value.append(",user id:" + userId); - value.append(",email:" + email); - value.append(",first name:" + firstname); - value.append(",last name:" + lastname); - - return value.toString(); - } - - public boolean equals(Object obj) { - if ((null == obj) || !(obj instanceof MockUserBean)) { - return false; - } - - if (this == obj) { - return true; - } - - return ((MockUserBean) obj).toString().equalsIgnoreCase(this.toString()); - } - - public int hashCode() { - return toString().hashCode(); - } - - public boolean isFirstNameEmpty() { - return isNameEmpty(getFirst_Name()); - } - - public boolean isLastNameEmpty() { - return isNameEmpty(getLast_Name()); - } - - private boolean isNameEmpty(String name) { - if (name == null || name.length() == 0 || DEFAULT_BLANK_FIELD.equals(name)) { - return true; - } - - return false; - } - - public void setSecondary_Email(String secondaryEmail) { - this.secondary_email = secondaryEmail; - } - - public String getSecondary_Email() { - return secondary_email; - } - - /** - * This method simply check if a String is null or blank - * - * @param value - * @return - */ - public boolean isEmpty(final String value) { - if ((null == value) || (value.trim().length() == 0)) { - return true; - } - - return false; - } - -} diff --git a/test/integrationTest/issue3402853/user.csv b/test/integrationTest/issue3402853/user.csv deleted file mode 100644 index 306ea54..0000000 --- a/test/integrationTest/issue3402853/user.csv +++ /dev/null @@ -1,3 +0,0 @@ -"id","email","profile_id","first_name","last_name" -"475592","rbst218@yahoo.com","bc1er1163","\\\"CHia Sia Ta","" -"12345","kazem.naderi@tt.com","bc234a","kazem","naderi" \ No newline at end of file From 88263e3aada127e9a74a0c51bca632c4f6f6634a Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Tue, 20 Mar 2012 13:45:47 +0200 Subject: [PATCH 04/13] Adding missing files --- myfile.csv | 1 + .../au/com/bytecode/opencsv/CSVParser.class | Bin 0 -> 5098 bytes .../au/com/bytecode/opencsv/CSVReader.class | Bin 0 -> 3584 bytes .../au/com/bytecode/opencsv/CSVWriter.class | Bin 0 -> 4932 bytes .../opencsv/IterableCSVToBeanReader.class | Bin 0 -> 4704 bytes .../com/bytecode/opencsv/ResultSetHelper.class | Bin 0 -> 317 bytes .../opencsv/ResultSetHelperService.class | Bin 0 -> 5666 bytes .../bean/ColumnPositionMappingStrategy.class | Bin 0 -> 1537 bytes .../com/bytecode/opencsv/bean/CsvToBean.class | Bin 0 -> 5635 bytes .../opencsv/bean/CsvToBeanIterator.class | Bin 0 -> 2804 bytes .../bean/HeaderColumnNameMappingStrategy.class | Bin 0 -> 4172 bytes ...aderColumnNameTranslateMappingStrategy.class | Bin 0 -> 2016 bytes .../bytecode/opencsv/bean/MappingStrategy.class | Bin 0 -> 575 bytes .../au/com/bytecode/opencsv/bean/package.html | 12 ++++++++++++ .../opencsv/exception/CSVRuntimeException.class | Bin 0 -> 856 bytes .../au/com/bytecode/opencsv/package.html | 12 ++++++++++++ .../au/com/bytecode/opencsv/CSVParserTest.class | Bin 0 -> 10208 bytes .../au/com/bytecode/opencsv/CSVReaderTest.class | Bin 0 -> 7443 bytes .../au/com/bytecode/opencsv/CSVWriterTest.class | Bin 0 -> 9358 bytes .../au/com/bytecode/opencsv/MockClob.class | Bin 0 -> 2015 bytes .../au/com/bytecode/opencsv/MockResultSet.class | Bin 0 -> 23393 bytes .../bytecode/opencsv/MockResultSetHelper.class | Bin 0 -> 903 bytes .../opencsv/MockResultSetMetaData.class | Bin 0 -> 3271 bytes .../au/com/bytecode/opencsv/OpencsvTest.class | Bin 0 -> 2039 bytes .../opencsv/ResultSetHelperServiceTest.class | Bin 0 -> 8801 bytes .../au/com/bytecode/opencsv/TestUtilities.class | Bin 0 -> 1248 bytes .../bytecode/opencsv/TestUtilitiesTest.class | Bin 0 -> 903 bytes .../au/com/bytecode/opencsv/UniCodeTest.class | Bin 0 -> 4562 bytes .../ColumnPositionMappingStrategyTest.class | Bin 0 -> 4025 bytes .../bytecode/opencsv/bean/CsvToBeanTest$1.class | Bin 0 -> 1360 bytes .../bytecode/opencsv/bean/CsvToBeanTest.class | Bin 0 -> 1536 bytes .../HeaderColumnNameMappingStrategyTest.class | Bin 0 -> 3450 bytes ...ColumnNameTranslateMappingStrategyTest.class | Bin 0 -> 3553 bytes .../au/com/bytecode/opencsv/bean/MockBean.class | Bin 0 -> 1132 bytes .../issue2153020/DataReader.class | Bin 0 -> 1430 bytes .../integrationTest/issue2153020/Sample.csv | 2 ++ .../issue2564366/DataReader.class | Bin 0 -> 1771 bytes .../integrationTest/issue2564366/data.csv | 2 ++ .../issue3189428/CsvSample$MyBean.class | Bin 0 -> 1426 bytes .../issue3189428/CsvSample.class | Bin 0 -> 5194 bytes 40 files changed, 29 insertions(+) create mode 100644 myfile.csv create mode 100644 target/classes/au/com/bytecode/opencsv/CSVParser.class create mode 100644 target/classes/au/com/bytecode/opencsv/CSVReader.class create mode 100644 target/classes/au/com/bytecode/opencsv/CSVWriter.class create mode 100644 target/classes/au/com/bytecode/opencsv/IterableCSVToBeanReader.class create mode 100644 target/classes/au/com/bytecode/opencsv/ResultSetHelper.class create mode 100644 target/classes/au/com/bytecode/opencsv/ResultSetHelperService.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/CsvToBean.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/CsvToBeanIterator.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/MappingStrategy.class create mode 100644 target/classes/au/com/bytecode/opencsv/bean/package.html create mode 100644 target/classes/au/com/bytecode/opencsv/exception/CSVRuntimeException.class create mode 100644 target/classes/au/com/bytecode/opencsv/package.html create mode 100644 target/test-classes/au/com/bytecode/opencsv/CSVParserTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/CSVReaderTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/CSVWriterTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/MockClob.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/MockResultSet.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/MockResultSetHelper.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/MockResultSetMetaData.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/OpencsvTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/ResultSetHelperServiceTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/TestUtilities.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/TestUtilitiesTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/UniCodeTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategyTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest$1.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategyTest.class create mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/MockBean.class create mode 100644 target/test-classes/integrationTest/issue2153020/DataReader.class create mode 100644 target/test-classes/integrationTest/issue2153020/Sample.csv create mode 100644 target/test-classes/integrationTest/issue2564366/DataReader.class create mode 100644 target/test-classes/integrationTest/issue2564366/data.csv create mode 100644 target/test-classes/integrationTest/issue3189428/CsvSample$MyBean.class create mode 100644 target/test-classes/integrationTest/issue3189428/CsvSample.class diff --git a/myfile.csv b/myfile.csv new file mode 100644 index 0000000..6df1b33 --- /dev/null +++ b/myfile.csv @@ -0,0 +1 @@ +"aaaa","bbbb","cccc","dddd" diff --git a/target/classes/au/com/bytecode/opencsv/CSVParser.class b/target/classes/au/com/bytecode/opencsv/CSVParser.class new file mode 100644 index 0000000000000000000000000000000000000000..e2b7dddee512c685431bec031ab8d2776741bf9b GIT binary patch literal 5098 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 Y<*HS4uq#!CYw!xllpzLsT_gVTzuDLbdH?_b literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/IterableCSVToBeanReader.class b/target/classes/au/com/bytecode/opencsv/IterableCSVToBeanReader.class new file mode 100644 index 0000000000000000000000000000000000000000..394b69a645ba35f974535faad439ca2c8de20c48 GIT binary patch literal 4704 zcmcJRZBrXn6vxlyApsgfnkGwYOAFd61SADpS{sUm*xJ}o9+HNF)w-lRuobc~*i3=eeZ{I{GYqKH%K;C-7-u__U^ss{Ql>hd++(<&tHEdqFE}3sY_5= zZ=}oCetP@RHpMxi(72R&s3_*(lOwAXInFZJj&6^d|UJ$f09>7{AFEyK1+KEGEq9mvo#G=FJXSOGc zd<{@H#UgZyP769S-af6LFdm^W^$8lvn-$|>V}IMI6*;xYP~Ix*dnLVQ^0PbGWAB=E zK{Fl0(4jOC#PCxuyP=va7eTS(OoFt(dp)drp6C9nOD}orK_c9ivut*Y)3y=BsDIj| zWlq^Br)&(NXiJ&vyuWT#bridWog%U*_pcikcId8-=SbbInPq#8N02D7CFoHQR-XW5 zb6YY7TS4r0ih*OC!;s=IObR;Z69x|4dS|84x0>g_I6O?h{>~Yx$DVsdXyX&kJ=?I& zJ*V5k)qxxNyzdLgYnavrP5*NjRzGmMKY8cF6+eSH@V;7=e35&U*W1}Ta+`*`lg_o>uWlZH~0 zKU4fCJa$t8|D*C%4CYQ_d7P3M8+E3WM#Ff*LOLtm@UL_97R;T;sD^JI(dYtClCv0q z5k?fkMTzho?1wNXmYNz#_9T0objg=P1H&*4!5?!hIBOI~OmW0q4p^kO=^a9rbY6t7OJE(9yic6f zidR#-n&Qsy@87r>P8TjG2ufrSGDIE!=BcXI8l#Ybbkx)7kN=L%g(aHtebt;DKdi2*7 z{hXx#9#LTRaYf&x8@}u*6#OKrcS^F~cUCF(xMGhh_PAn?EB3fzkGt$G;Dj^lK21DxKlGNO8*-FNKxMDK)L8kIS0xcpu8E7lI!{PJMm*h zc~???iyg-MAu6-qqLNsiV%HpQWjG+5 z_s(KD?`MQ@f8z!5$ooOW;|z8qmuVZiUdO(M*Vn4WAqI^4O7Gb literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/ResultSetHelperService.class b/target/classes/au/com/bytecode/opencsv/ResultSetHelperService.class new file mode 100644 index 0000000000000000000000000000000000000000..f4e06bc95ddd32b55219c8d83ad9cda1cd841459 GIT binary patch literal 5666 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 literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.class b/target/classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..4d08eacf986e8ee8595f20b9075b5e2582a3d6e0 GIT binary patch literal 1537 zcmbtUO>fgc5Ph4ZF%3=$ZIV(#q2D+u)KZUaRDmi!DuotER0(lF8+R345<7C7iXQkg zT)2Y7hlE7MsRw=(FuQi0v`SMX4)J(qGw;p3nf0&V-;V&S!qgCBSmRyOa$9Eo&=;1w zCrr039IJC+)&+OWO}E)?IZxe=?c1*Ngtyza)2R9$_eJASLxQ0^H2<;Sd%_D)ws}jO zL10K*iXn_MOuVe@^8;=+xzjL-i0IZCl4aYm{SAh=QQT!nY*L{q#Bo`NhD#dK44JcO zqhPqAV+2XE726Tp-Bw+AHC}HDhVhDP@#Ze~Z0U!=g#X&^P)n7eJq^`_ip`&fK5U=B z-~SKXa;>($LEveNxBads0$~}JjB`OZtGmyY{OeM))PuK{Xv-;fG+Za4m0q@MZtX-T zB($e880P;0ma1t8zc*ZloUv6LG`~1anSpIlM%Cxm8ya^gc_u=LRv>2-2P{Dfi&)Z- z)NvaI!-&;%9hzg-=qKE%?+eQ(nKGS|!XntbF#uI5Q+2zZB_7&xFXo0$cSVZEFj}=6 z4wqwKcu}sc^|c&UuyL+@>RMfJErMZVmNqy}SCt_q*O=Z$=$#gxo}=VFqc|g*E`39) z6#oJJ3&uWCAdU<@$5iqp61WB(lekJTJxIVfCdkX4isZQ zs8VDv0o`;TT_K_?;1*_1(aAGOH%mYI$W7hTRO54)54m5FmCEGQ?qb{>*1^Pvm dXD7r{i0x=#f2gMzSy@74u`HvwgS*PE`~^g^Qp5lN literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/bean/CsvToBean.class b/target/classes/au/com/bytecode/opencsv/bean/CsvToBean.class new file mode 100644 index 0000000000000000000000000000000000000000..f74dcd257224a17c4c7189f11cf9dde891fbbba2 GIT binary patch literal 5635 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 JH&HUIe*t(y&}#qy literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.class b/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..0a4a8f2b386bf54c7c872a46f9d9f3c0ad8a5493 GIT binary patch literal 4172 zcmbtXTXS308C_eJbZq$~CfEXubH89&F$h8uAa)FiNr-9e(AWgx(895NVk^i;igXlW zpcmTo!u<|ynPH}V;iV5{hByt(WcpNQ_!0aGUKwD0dmrf>NjC13hsbB&*0;X(UG~mb z-+g`qz&?CrA*L|u)N=XKQf_Y9ck`urH&-gVUcP!MH|IKD?u6^iyOr@$v9{z*IZN)O zQ!W?0g=xRy`0m28g}A~^7o1B@uIP9Rxl?l&+`MlgsWAMbxGgve$wh5Rq4(U$5RZ0f zZA4+iyj#sz3T3}k;ZcPiv#I76iaAbjN7r;=!E^jt#Z@@kygJ&BXlBI4YVNTLU9R}c z4>wGVj1e&IFPDk6DROwc=v1p*x}|k)bY@1MNsbo0fl8TS_pRfVyWKdRO4Txpg|0_DRk+7yY2M3>UvT}f?!=F}6Rm7S9|rf`atTr4?}!0A4+GwPf<68P3=Eh6#HZJZV{yZzGRWj2d(r|NcN24^fh z&QNKx^#eAZz>^e!ymTRi4x8>c5)DK!#V~p7uJmTf@$-u=OMZWpSs?p5SvEAA!g2h< z#xI4d2qP_9_&;OA!5o9^UaUDqqNk(ibzZZiA$?Y1+d7sMW}^UFIMWMS)cb#0uZ0B$ zE7bIaQ(a`RQaF!3iRT3y&w|O-(;QEF)s(71G=t(_v(-x&JsTzPR_Q3$7_1D%`4Z zTl-L{V&m8N4S6$fj`Cuh@XnVMGEp%CNu$Y8-#OBam+*TFzpM9fgI`~^aRqvR6?Ri1mEWFBSgwjrURp0Uag45KAExg{m zt5|dwoZ^vu-mO*}{aPWB8RFG1x5-;JHeh24m++2_ckwcX^xWqRdY+YiTYGn^-=0>r z-opA;QJc49f7^6WY;uE6mui)~d%PfTh~4YF1nv^Q70!*$9BNPBvG%DoFGPuiJiMZh zLBk0uf_W8A}eUSQb7-r{#97J`4UnwWSus0%$!Hem0yUl@3yF`-P&`GWjLg&jxd^JlMNaZ+n=4TY&Y z&mOXF987i`OnibJ{Z=}$?@)ZWKTe89mj3v4EOp?CD+!fOq?3RD{_EjTq1%}pzypLH zWnCS{9*l8xnCWsvJF=hkDKRoNBVQMFMRsyeMJM1U>_-(o>Fq%uYIH8HoioWOC&f8) zvWG&NlT0}s`OS!Z&!X$Jpe$UnFk|5|6u&P^^~U4|UqzB-Ey)F<>2U1*H=dsyzK-82 zh-W4orZ|p~|M4|KVmwJO`~HYO1tBqcTMvnZ>mr1;!k_VSz$D4Nui&+yOTD4FNES)< zcQPN}T*2ER50e&;Y7V9Ybp~pNDIhbVl9IP7(M{mr)5u2xG-x_ literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.class b/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.class new file mode 100644 index 0000000000000000000000000000000000000000..7978561b0ee34cd4807d54302a3a3431c8c69ecd GIT binary patch literal 2016 zcmb_dTT>HB7(JZ?2f_g1x+;nwiyN-vy6dV;7B47*8{%4tSm;wHbcN9{NhK3%`71v9 z;;UA9sc4nu^Zo*Vje2@AAqnhOL6r~5On=>d&iT&wbT>{?kRU29dzEmdAF7OFdLO75skS-O>i^whd6l^i#p_R1XO_Y6b? z632o%fFRJ5^J#*(Kwt8y+?7_tINpUG4|($2D1YA_{#3`HW7v9(J*dF3^$ zE-)Nln?CHPcI1qSvlyeV+kUGE3_dx$Fp6=UH!vX(^Sx~;lZi?EEYR&0AC^jNHCdsV zL-GG$>&6Ad4g5lN%>uDFCZ;jNdQ!5$g?J15{p?ef^XyivAjIYDHUY6lw6rI4&j=J0 zEw-OKW4g)N5e+>p&3NTt?8q$`t2E5rCm0B1@8j#lQ#@(H>0-5!t+PH?G`kWz-A(|*a8~JT{_-L3|gRZk=73&CU~;Kyrl&~`oiJU z;3$MnMEK5&ivQh=WVlN38Jl?zbLJy@H{T=n7X7ao3uBP~y*|z`_l=+r!x&=BtncAy zgrlF@A}2YD;1o^=47=PPVr+7B<_$(ay?}o9>-W)1?{Kb$sSrM6{3SmCul%i=R0{@9 z`eY;Z?Ex8qFpD|PH)$t1r)lT;<2PyIhQaGXU;!4l*7LsTXM2-T4cwt6XtsKab+*x# z)H)8OrX!j|;8%Y78nD0lupgOlgmd<64ZjQ2a8)4n5>xXv@H_Dtd*y&yi{ji>#&geB7^ty>EjZ)b$i)C9zIP+K{?gdX*MS jNnF)Q(b}3Jgubza5d*^D!7VfZ zrXCas)JJT>Xv|bZyMvM7jzH~Ms^N{W+{nafL*UR4TAh?Pld<&CpsaDz1*c7*a{J0f z;-psAgEE1GOhcfY(KbPKEdTJZhZ})bu27Xg)1ME?m}z@ZC9uEn7%1zQa*{16d9c3B zienM6_>yyBZDw9Ml#ya?Yy^R#-|F?yca^hbhTID_6u9h>-}&!|*J1xDWwl#<54H$2 zQe#rnpqrUe3H8`;aVKLO)BJVxlUWM^|GanhebVf<7k{A=0Rnk^F+d*QRfH1e9%coM jD~MEJ6>=$3!ng)CsADw;8(7%sIPXO?jRV literal 0 HcmV?d00001 diff --git a/target/classes/au/com/bytecode/opencsv/bean/package.html b/target/classes/au/com/bytecode/opencsv/bean/package.html new file mode 100644 index 0000000..ea760db --- /dev/null +++ b/target/classes/au/com/bytecode/opencsv/bean/package.html @@ -0,0 +1,12 @@ + + + + + +

+A simple bean binding interface for use with opencsv. +

+
+opencsv.sourceforge.net + + diff --git a/target/classes/au/com/bytecode/opencsv/exception/CSVRuntimeException.class b/target/classes/au/com/bytecode/opencsv/exception/CSVRuntimeException.class new file mode 100644 index 0000000000000000000000000000000000000000..357f9a975767c815522c666f78b867aeff1a6928 GIT binary patch literal 856 zcmbV~%}yIJ6otM9-0az>J^A2L$>? zm}+`D2!#$E(Tik8{<^%mdU{wTWcQR-;XYwvZQUWHo17(w2~6ja!z7{5Qd)kG`W@+? zh)z!uiY?D&1Hm@D9u?E!nFZ*Dh_d9G~pOgv}m15Dk + + + + +

+A very simple CSV parser for Java released under a commercial-friendly license. +

+
+opencsv.sourceforge.net + + diff --git a/target/test-classes/au/com/bytecode/opencsv/CSVParserTest.class b/target/test-classes/au/com/bytecode/opencsv/CSVParserTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ec76512e1c588ded23ecd835df457568f18be321 GIT binary patch literal 10208 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockClob.class b/target/test-classes/au/com/bytecode/opencsv/MockClob.class new file mode 100644 index 0000000000000000000000000000000000000000..14cfca666a03c8cebee726994be664c7b045e5ef GIT binary patch literal 2015 zcmb7_YflqF6o%hvOKWQZ1-#$z-h#TKfFhS@2qtY%qbSCY+jWK2Wf!+wqW?(~O*AH& z_yhb=#`nx_OYMNf54-KmnR(86&!zqK`}tXnFg} zN*sB?+N?r;&I`PFLE%uvG*?#@a*GV1ge>~YC}Kb%TdA%V!2rrAV4uR^vKP1yTN@2G zdTKX(?I?6?f7OmWS*M%1c-?C%oLk;Y9fRuIN+QntZm<@wYoB$6($YJ}-Hg33Xclms zA$P>CJYMeD6v}IEywYkU8Wj##>b0sVPC@y6$WE>bPnY{iLzdiQOHO;2=5 zux6z7sszd84X4I-eP^{LCpDHjbkZTUC$`vR9(18~5=?NFqK{VUrlD37Q^uR13_|{r zaja6`&d8%y+%05?hm8ylcVBoOc}%Woj-yuK*fIMh#{<%7uOgSLkxISGL7H*~<1?7j zO4y1V_r51>*596oYa$$H*^^m5eS9*~njEPCerGZG-p|#2?q~Q}8vBOw*!Wire&#BJ zgZgBa?@{E)DdHT4xH_Di#xO>>;yoN9m8GEN2yI8Xm*eV~reEQX;!dXcQQn%G*E<(A zt(;g>n!*X3G#GbzCMUPmryfRCGe)UU*zJfiIEB+G_Y9*K{bw0{Z*0@r0+fH?{EM+K z82pBdy&kT1MOp4dc^MUhc7CnC2Bfc3)gqxrj^Nl=&8*7F5KBGjHVTnP&WJ5@*?; LQtvs2kiq;Pv5Fb0 literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockResultSet.class b/target/test-classes/au/com/bytecode/opencsv/MockResultSet.class new file mode 100644 index 0000000000000000000000000000000000000000..454053be6ca48e908a3747544ea072da19558cf4 GIT binary patch literal 23393 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockResultSetHelper.class b/target/test-classes/au/com/bytecode/opencsv/MockResultSetHelper.class new file mode 100644 index 0000000000000000000000000000000000000000..ef9b96cf612015fbc4ce9487cb01c5b28b6cff33 GIT binary patch literal 903 zcmah{+iuf95IyTScI%oXq!-Gi(6ptE6TlL0sEC&e1d?e*gCbRZ+L%>v>)63wNAOo5 zQ6cfb2k=pdS-Ub(oR|YY|RGVnSzVo$(oWLmrLYqtTi0r3r&!?>d?*6bws#9A=Z~kWWO) zuzc$M;~U5%h{pR2cF{BBVWygl=Rp+67Yt6fqP+rgh79@vsj*N)!-j<>L#^u!7r}7T zhKU80E!$Yc0z=aaB5{~aMk0C7N1)7|=G4z3a4ASVm&%Q6bfs zUCL>Ug*=!y!RZzzq@O~!^lRU#5XNA={OpUV4B{v?ai3u|w@*zD-g)IW1}&jgSE_hP zZ@EC>u!(IlBPR-C_s!89jWvj~#22pu<;r@6z$a=99dffqZyg#vWH0?;nlhJ8g2RtecG#;}H4R1pEziJs-z zZOSyt@8B+-_XyLe+Q=__Mwv!Pz4slhuasy|*BJTeUQWGMG?dhJJfQ0sJ)M%!pq>p{ TNokm;Y+t49|A%rXU*X|jMySOz literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockResultSetMetaData.class b/target/test-classes/au/com/bytecode/opencsv/MockResultSetMetaData.class new file mode 100644 index 0000000000000000000000000000000000000000..7b02bf9bc7d2b499b4cb86bcf389f7acdb902c4f GIT binary patch literal 3271 zcmb7_-*eMO5Xbjy$HvA42*I>TeG^kB(%xA)oo-tOvNz5eed0BpmzIY<$>N`1q0 zhDL8JnCbMH;f$DVdPl|s$9(>ndA=n&OgvzMHmRUF$PhU5j2=%OBc%bjUmc=MLIaL`S&X9#jLH?sz0^QU@&p*&4UGs1rz+EBgd8 z4GgdVX*gYklTajZy3K92=MQ_#?b4pb2rRW7lUn=K<#Ifk%!osdNTZ!dD~7b_G0_M| zUMfd~UfItBfeS^*!3hEjwiY?vJ5jVyK4@vv_ll5*0-6e~b#d^@4A@yF}mg6o^M%tMUs$k0`2+0W_<$7L9k8kjVwCu@L!QQ)zGFr zW?{6rGb+ueg8i}@2*`2AJY++v$3+}Ja+%3J6po(NGL^ZND=MSfPLXh-#FeK^tT@}t8Yju`& z5m}dxVZD#CBaiD=hjXq7~?n=!NvxSZhJYB97ciDKJ{pyA}aGKEy{MT2v8l zCpx}v4DGW-wC`hR*AprIF^2YeBHB+ev>Oph!>L`x)NamxQTichRBFFS6yjls7M0qY ziTccnp?#T%Hj1I$N<Z8@5lJLH|OUb$Y=?)RQ%uk5A9F0&Hw-a literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/OpencsvTest.class b/target/test-classes/au/com/bytecode/opencsv/OpencsvTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f0f1fdeca5b5afe87636e5df80aacd4b0c844fcd GIT binary patch literal 2039 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/TestUtilitiesTest.class b/target/test-classes/au/com/bytecode/opencsv/TestUtilitiesTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e6c0c518c084ade28012756be74ebf2d406a6beb GIT binary patch literal 903 zcma)4%Wl&^6g`ud9XHV6v?*x|O$((-jWCoI2||i^h=o-oQnFz+cBWy1V+VU&l+R*C zg#;hKMjZ%+B~tnaALbNCA@Gb>~JaqFFvzR zM65n2=}RR=oDvNMhU%D~aogv?$bRRJg{K%w&t)Lh3x<5FJzyxjBozaBlq)Er#IWkf zKpZC%S41b=^#z0JgdX$JNzpgSR9cv7X>!=gBI&KqqIyMTai{#$Se%=WJ7s=Bo^;CY1v%=JJwwMf&26ECyJ%|IVc5S`=M~(< zF2l2ybNLln(cO>BuJ*Faz&-41xX)0}=5QMEiTD~upY2{8i%3=Q00#^eK4-7LB;2RT z9bA!cSv=iNALDl{ee9AUHc6So{IZ`S%&!CdcKMRTKX zHq0&S9CyyKcbQ`kI>pzhm~|Mali~)}(4f;Mwh4EzHP2tqbQk%HsK4s6~*`Hfn+fdpCnYE&x$a?Jj9%K{x3qv6G`%YEl~YD|jN79KDpB7&|weN{`3KUQiH7Z1_zTO(Qo) zvxZncS14+^;-r=>>0Z<;a1RYdhK3Xz+TvmQay)%u`o)Q4dL-pVBSp0j4YfzaMS*%g zKAuY3dwJ2Mz#)7zq()-NDh&-2WARw>+{pCs`1tUYf+w%m5>-DMzcO;JY*Rm+ipAsQ zrxy7ngW4=9q@ce2dOlB0Gnz?J-hoWk$Qi{!1A<{~PBXeRiCk<-UYi!-{J)@HK0 z0H4oj*-6bb#IrqEH()9A!HHfKQ5@nn#d)Kkpkv4URuziKa7N2n>E^JgCk4Kd)r`JW zG?-EkPLr;ca3dd$Co3}wLgS@e(OA?cje=C&psp1k|RL~@y4x6U7 zR`%Q#t`=%9t1%?%Of49TOIcl37DX9FeUajPrmoGhEUZSSS+Ja+v!(0TbyJ@mx8^;# zqM*4vC!NR{A1>o1Q7u;$?61X=kx$^7u=pX_!!G>5yY zm{d-OI$ z-jY_#mt8svDvQptB|Yval*{nYQ5O<9cnWd}McQ zu^p)HejD;29fYX8FS#lTakDYuxav!*(1+fFgnMcbag(t`uX zc@0?pn$g5JZG>;sGibyKYZly*?@4>#DDMi#-QACHa$|X&H7J*;(tsaePt#DrGhFP% z_xRhzr)TjTe+m2V^DaWU&vAkDx$brJO+CWEKX4}COLYGoXL=rDXtWuz$d`8?VX zIce=3lFC&bOq5dBDzVD!K!Tis3xLiW=P~HTt>8xTT?xc@Y-mEwet{f1{xmX zuHePnCS*Yd$mSxlA!>UbE&QnJ#Mvr6;R?1k8(R~>zJqrORl$2-Uk_!x8EDy6&w1*3 zfqE`bPn>!#eq}xH?~%|4j8{Z_t`;ewtej{8OQw44I8)u{Vt0mIR(n1`PsmlHAIGRV zN!6FAdK^9MuwHgoKfj1#n6x5zM($l9I#40{v`w@JAuH?rYUlqIM30KI=f-E;T^!PK?sE&}@4pF3(Monl)vlATjqLab7mE<5)_90|i#{##u+w3hgSz zJW46h@|wPR)0W@*OMmH1>zHQB^ymIj(DUtXR-=%XT$eT5`>@J#S|1x>+kbx3VSEsAb3PO0!y*6=IG|QaF|W{_%4PT?K2QX1L9UsbKzq zP@BM*vdcG5v){Q_*3pH8!nV9sGpC!?lG!L4r3#TH z^LE*&TrnD!+y@V%?hVUP82tgLg3plK@rvO%IoX9Smt4#k4Tn><=k2fxkD@pZC=A|Q zs+gIf;YSZ2Ihrx6b&fJaiAAegUCJ1xa;;g-l$(xw=*013$1}qk(yMe!O;g!%^mD^& zM%9cXqp-zp%$p5=tK)b?p~ISw;}Dg>Xaav&$D=sRK!opGC9sIXuJluFh4|rFiH4&J z2R7tq+__b>MU4p@LAQnzB*mk|va^1iS<@h{1dbyonmnb@)6QC$OahGPcpRe?QQaqR zCcUvB*LXbV7s1qi(p;bapy^tbY~G?i6F7}C8pg>&Yg@(~$85Md&f=UxH#d=Y)3!U^ ztW?&3^&1A6*@6q0)G(p2)vGqlpyLVTxh;{rtpIo8%@59rmy*d zW_1)$Xm23kMRKYUKUT5d)9qZ_n#PJAF*hDL#QrV=U z6^cQ;xq9>DO^I42J)7w6ZVRS$R<~2Og`lNg+BifA=euLqILzw`87>RI@a4d-od-vCu(L*$LdMrMvR)Th;IawYLWh4Zx1zt1oPp$yIR0evW{BU&jadkkdo3zBAYOITZE1 z-wfkHq};3irwfnARk554Ms2=gI?|Y=z|VC2QCe2eRs4RHDA>(L**s^-S%1K1ZG%su zN5la<)@UN~#zRBSMP4=Dbs)}v9%o4KcMG3nc~!i|`fo%3n>S@Ee`Nva@ooIo{R!BP zdw54fb8!SaIF9meCw6fp^Y7(VLZ0VaS>4lr2lvh0#{K`m?*6}HcXIDC_O()M_3-WI zk_Q>&p|(^#VX6n2sv}JBke@&my^4VMk`L##f8pRM(4v1qG_r!J-e}|tTXjH@enD*3F83>nSK=sHIU8CY+wpdxieA=Dj3H-FQtE`vQ7WMx^74q*gC z80UBI6`t8;97dI=<4-vIH5|jcJWGY@5faI|g8CzP8#d}Ba}R%?M}u5s@Ejbtj6Q;C zG;xbr%jjdI7s$#ISMLgEy%^4ViL+kjyZh1cHD(dhpfnuR@QQ{b8V^1>p%s3*3EQv! z@7aDWWc&4y?Kd}P`xGl3B}-#udz>7dAv?O(3P zHvY<;65mdWT$k}yet;tF8u(H)*7;4Xhca)Uz7y~H3o=~%tCr*XnGu*_2e?F2&(gw0 z9K>bn^C~s?By#)&IfH9t>S>Rkl#e7(W1Rizchn${QaaXGqr&gkt>Ob#(IHi|Ad55e zf^vYSO!mnrvW!2_L`ud{f1LDeN>ha|I{k60iU+(-W)NYCEoYuPZqi-X@fa3}{Dy~I zJizP$@@=e4@QTJiS{Lsp0qdjRf;V7yip*xbtw{D|BEy0`6O~JHFcXt&3*~;Y461G$ zYD8&c9}%R9;Sk+>jQ)L`-WA9D9FK-bhXSPg*ug*c9Ix=nx|mJwjn|nqCvL$@k5pke* z{ifitU(vgD`I4-<(5A5HA;pl}=DXaFc-;0kn%g2U9@78AS?8Tj7`Hc#;zqRh7}91d z)P)6#t6iMHGQ~X)T%hJh?R^ktC5P!|2jF(ixDVW<|y;!Ss_ zDO8;|Bf&6SlL3z!T!nUixR|ok8Rjo>eqoWQ4}J*a)+?a{6?TkN3{%BwspiDAT5JEU zBJGvgJMp2Y%<9KLbWA8??co-~WKTdfHcILam4LR7{V1J4MhvV<(SZ`AxUC?=Xz}p4 zp4u&YxW|w`DQPv^WsR83<@aOB9%i)gSj`fok|E3Ro^@`#tB4=}7Xj@z`)a0hp3X3^3#P7rs?Z_e%g4R4}{(-9tBCrlrrSWX3p yu|gWS9KWIPet2dd#UE$5P4#d)%Fkvx>&{Q&q4S@IPh$!T^xk|*metTILZ9DZdrO%B literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest.class b/target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b2bbf268e467ea75a3189359c00b1df7880d8cf2 GIT binary patch literal 1536 zcma)6YflqF6g^W4ZI|+}KoLX*c}O3yydM@#v_V6xn9!z#PiDG|WotXz>~0bMm42~_ zB>n(@l=05)rVvQQO?GE@=H7G9Idf-!|M~d~z#3jg5MoI4mTp)Ly>jUa!#WkZ)fCcj z&h?7mQqMc*CF>2nm4xF)5M~&z@pG=%xvc6RD>Y%b4E?43V(C+{baZg|jv-OFjwrge zDXTe#fxIOhmrJ+I>n#yQjA2jmhR9m>sjv@Qjf$|dvenSOT-HUFSB%xQ^^MJ~EDc)C zY&0&jr{eRK5&Uw>Ov8- z3|=pD+f?7dWY|439foY-|7{>Sal;ne6-R;-dxrVNRM-4`vFwNCB1kffdghpx?pxz8 zX&A#p#e0HbZ1Jvtsd5C57-qV0?9|XOiN^})3ByPLM706}%BMa%;GFc!++sr7CVg%D zwr$xTc(X|xNL)#6^^#%bA4!pGQ-0EY1XiWK@AM6am?VEdRvcU1fyzUGmb56GxRpO z?NA3B_t{Iva8IqypMi|gidM@u#9PxlW}Ovf+p_9+ zIxq)P3Oirtjw2irO2?M|LDX#MMIVh3`U)Y6Ful|9rDvRGbQ&3rz3DavzI!1<^i&C; zpkaE({Qx{b!doZjXhtQ!rxGC=N3Jk-l8Cl3Ubw>KNv4gdZ(gW^(!7uajUygh(oYHC zG{o=}(*zh&n-c)96R;u>yTa@VF`K`J^O=p`U=|CY$WLM%LW&ZVyfobz16hyiQ9w0$ zg{6}=^g@PUSLj~*fsNy9;e(!QDe@^ze~iox#>t>e6oc5oE`f*e!c&>Uo~M)1vGT6J DCQE=q literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.class b/target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e59de8bcb8347abef097aa3dfa5d3a866d747c34 GIT binary patch literal 3450 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 literal 0 HcmV?d00001 diff --git a/target/test-classes/au/com/bytecode/opencsv/bean/MockBean.class b/target/test-classes/au/com/bytecode/opencsv/bean/MockBean.class new file mode 100644 index 0000000000000000000000000000000000000000..328d8a5329d29b9cbb3e9a3b2626714f5769f17b GIT binary patch literal 1132 zcma))&2H0B5QWcmoS3F=`bPsLEup2MPAb(BTTmAuAw>%9qNsbvxe6|cT{%uA-iZZB zR7fm%03Hf)#tAYwj>P89^~{->@6Pz=ukSwqJV(cZq0sWCt{;uv{>Mc7(LlS=jSl_E zt=rdL=)R5o53hK!U@B}}d$*oD^1`8e(ZAMyqF{#JSSxJxve0D`2jTFAf)NZ9R-<^J zy-U~uKOMB<_M`@49_eNJ< z9LV?FX(sQ3iNbO3zg|J8@=zyTa@}{@i_9xfcwoaqg~G{9xZ^D9gxF%Cb3R^j_H2|T z$6}876l#oKWG@%d6C3wLRHNvx5Jw@EWG);=%PH@*sxyoTAR21C;lPw8Y^TC#iA%ZgwVmKwxQ}BGX(x`5#`UAOHQ3gm*mX(sMd*=PnXz3j<6v#6A ze~~73t13NTpfB_AI5Pt!w)nKHYNmUkjeddN7Jn~r^Q#{`Hog)VmJPQYRNc*IT9pak z4Qk3KId{HTI%@IP#C?>%X9~hUj^LWacCoF$^GWB8CazFoF=;>9g5VH!fnt z#<%~PVDVX~Rn@^IjIysmgTqX=i!=2eN2fVJC9AVGvI718o$Kv}SD`MV7-M(ZtxpG! z(?&7rJPU_2=@>FdnPt*}iz$v#)<}9wU?`K%9wTyCan@wy99+To0#O~bWh9Wu98Y2F zG=8-4!zYdZ1iFK3rfGJ~u&MY_aG+<>=I5)Y+Gyrs6gN2JM>FXb+Mf*2n*tLjwfQrE z2XNcLJQfI;E!$dQbu+8%38LX`vc63f_MYhMGWn`5aIx@3!H`Y#h=@5hs)iCvi##8X zA6`+*@^8zs*3!R?CF->pH0ot#)Wy%{1&la;3b{3c>5Sw-^bv3 zJi3RWJzOZfz{>c`xxetuJ~HcZ-ZGwQVxo!5Okeh$Cl4(^gf0>2?*}xu!H9eeRmw!3GXuW zq|!x(c-E^513eftVW6L3DDSvpqt&Pge}`AEN@x1*RU$>P}r2de)VPq^CwL>HAh?}j@51A1If77lvLDR9rq}iC}hs@ zgQK`v!grI&^J5pZ4FlbawW>;dm0A$_SoOVDv!h+3IVu}@ujaYR>LG1a=X>js(yWuK ztyZP(1WzA|wo+{p?`7kGQ>_ZOtNWN5RW>??E3WOgo8dYQn*tOFkmqjBlYQ$%{zOG8 zg#5{qj^+_VtZc}MDw+5UyF?>RL3KmCkOPuRpRxzECETykVvU@7*(dSBXSkgI&mEwR z(_IQB_nAtj#O$xuc~kALhBEO~@LIktu9Q~aZ><;I zd?+D(>hiv{)0DU@Mg0s&PC|ww%mZmS9DzPk@>!_7LM4>X4P|L4c}vOtXT;i8C{x|; zD9ZsQ7fFr^xweN-OY1)$9!hR|h*8jQCPC*U@i|3IPGc1p@ii{tJIvrE{kVoP#V+8A z;(m@eCRXt|%7i(`68Hj-iS<$ZhA&AMW8-9@Byh4AMC^BrYM9Vad4*re(k5*T)jt8! CF|>gI literal 0 HcmV?d00001 diff --git a/target/test-classes/integrationTest/issue2564366/data.csv b/target/test-classes/integrationTest/issue2564366/data.csv new file mode 100644 index 0000000..d52cdb7 --- /dev/null +++ b/target/test-classes/integrationTest/issue2564366/data.csv @@ -0,0 +1,2 @@ +"CompanyName","CompanyNumber","ClientName","ClientFirstName","ClientLastName","ClientId","ClientGroupId","Logon","LogonPW","PublishKey","HiddenKey","PublishEncryptMode","LanFolderId","StaffId" +"MLBInc","4","Art Walk","","Art Walk","",',"artwalk","artwalk","art1publishkey","art1workkey","1","012345678","" diff --git a/target/test-classes/integrationTest/issue3189428/CsvSample$MyBean.class b/target/test-classes/integrationTest/issue3189428/CsvSample$MyBean.class new file mode 100644 index 0000000000000000000000000000000000000000..e51213afaecee3280d64491e627270fae51e1b00 GIT binary patch literal 1426 zcmb7?-)j>=5XZmU{JxxRt!?~Kwbs@)No`|WA1X>g1Ab#$mYz6_nN z-cvzXbAq6!HrKcA+}_x#)q{RRde2?8`1s&~k~)X9z~sK{%bF{7r}m_^uiBwNT1!s} zOzr%=YJ|R{J9h;#ed+e-GAF%mPlxLQ`F79um2MyKw(EIHhk-!$o}-;`TOd`gG$~}g z`&3y-VZufcw!p-Wqt$NDYbk$Ew%jOPw=LbK^d0_>57Xf@hoaR;{U3!9XRf2d-KdP| za^-X(1qhtCkwKQE!HIOHd|Ju$c?#C#y4mfrjU2n>$t^k*u;~8&pdYNbW+TrEixly( zK#?@{xKk`zv{7JDkwhowu_|sNtI9U4p=#J%tI_TGZS~OMzKsu`b&cOkz<#8)^6Rb) z0u|)2Cb0Bx-J@3<3C?auVdo j2vRYFEGI#J5XkWe5T18IlT(eRas@ZZS`peRjcwr%K=je4 literal 0 HcmV?d00001 diff --git a/target/test-classes/integrationTest/issue3189428/CsvSample.class b/target/test-classes/integrationTest/issue3189428/CsvSample.class new file mode 100644 index 0000000000000000000000000000000000000000..9e629f9f23d5d86da0ca2211e0ad1cf227f92bed GIT binary patch literal 5194 zcmbVQd3+pY8Ga^v%yc`Hu=F4tbs9>^vB@@RDJ3bDHfwPec^xd1D|(hl5CPDE#{ZZ?0(04Jn!>9 z^G%+4<*_FKG~*=|6$+MR@~$;dFx`xu@3tH_nQ@$=wW4YDc`KV&C)=E%l$jgMS}MW{ zD)*Q}W-@E$2a;QR_gHCHf!3eNTH8!_w}N=b#B|CnWby;83c@)vlUJ~?=91~NwL28V zHttVbgW}v#F;~IK6E?W+d*J~BJ&EBjf5!z`pyTdGG)0JX*i1rtY}=W z;cTY9BGI(++{Wf}G}J1Xvo!d+N<+PZOE=q=;h34egi+m1;|70CLn1WnetwE&?fihz zTd?<9dBgFlm#8+(e4mjrv)SRXt?fpyLA%T^$;v5z# zSV0s1_Eup)0_W;j4ULKK6K7r4epg0YbhHXDBI&H{coaHc$6E0;PmaDGY4(hsA9w9vJ5+}mD8~a7qS?3kxj9{&w&wcV;i_M zVVSvB740-V!Ee8w>x-FepHbQqF{ba?X)diy8~}jv2(09CugOjM-Wp7 zCDAN9-KQoSD(cmtpy14oV={x-T(01Za%yzh?k2mK?;BSE6>lyJp?z!FMDOhElhO(M z2-76?`QtI91yd6PLNMxB8NvJ&B$$dtF&NmZBa0k!v#uzbStdD&uD&L=*6z|^D>!?C zTgE!au?nuSu~4uJEk>7_v!ws_71(o)8m^$c%(!@mnJrFQO|Nw`u3ncTW^Plt^`e6M z8P~TJ3k7!RaQTLP?2S#LFUCrP#O-S_Gz`z?l%&mBdCJ0AN`mH9I@df2yN3rE=lt?kZ_ApFLxO5}A0HceGE2h;n9GpRM#BfW(eyc? z;V{!p2L;#gVfp4)&Jjnq>9}3=vyzVdY=SIQe1yk@*|T?sx@|w=BbX=U|EM(6#}rge zsC9sOTU%TEu3e(pNAPhSpTOM=chD?2Of6kAqgHq*Pr=S;cmNM_ z!+_;+yuDmQ14)SCARf~3u;{JIb)o}IBD zh}d~T#}~y;jCKOi(C{S%$=NMU(-*PzWgTA;TXSh^Oi(m@O~LZnjg76Hz*EE56`bOe zKj>S zYxw>#ahWE8JbvaTA0QO0nUSu?mJlAL)wHKE)c+8VRdOUfzMhm*xNw)P?I%CZc+Ny~ zp3*SE<2>L7(!{L`C!eONO~HvecZ|Shlgc%(F^shgq~{p^#>DCWvAu2zWUt+ZoEu)y z@mu_kCG=!@Yd`h0oSI_?hw0qZ@CS0*qjT2Ex9|XH;Ey`~BtjMC$bh?B&T@Z|!?c(6DrV2;8gV|iZUm>+#ZP+}XG}F(#VAf<6sLMd zb$>ZtM^h3v-xO(La;z`Vm1LFG9*5CUABtC}>cjD+srpEKS*ku7uSwOb@w(I~5r5*eZ~Psvn9MF6WM_?_zf*Y3_60M3pihJ0|0fwI?hE>tXqqx5UPvT&U zTBVlo`SKE%WCaHwDKGM9F!*?RnV$>>pDHi(S2$lv2C zDP`Cz;^kiBTSTOv0x>|&?`8@2poKi&$+s^Pd0uU}xPm1p@Nn$l78G$8hIoG4k4G@f zWUj)qeEs+#uEF!T7B8}FFLCvMSt=>(b|3HYvc4RYRl|Sq1MaGz*XQsfudFS23O~kA z7~M{uRi)?=#&8>cil31R*VEI_@e8WoFKJgg(6{j`+VFS&nmhgV&vU&{qXyAe8NRAQ zQNjP693Vwh9PzkvFKK`!Dh|${KmRP+;F*Rz5z*UEJEBj`LFd#zg5R)r*cw6SjCIuS z{m~ao`14ei@dfurlJ)>Gy{Sw!n#Zwd#@{@O%YO*}&QGG?|DfLr{1gA;UH(sUkbnQi Goc{r#0eR^F literal 0 HcmV?d00001 From f549dfa0ba45e0df64b5c804af0c0b848601ea0d Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Tue, 20 Mar 2012 14:40:48 +0200 Subject: [PATCH 05/13] Added GPLV3 --- gplv3.txt | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 gplv3.txt diff --git a/gplv3.txt b/gplv3.txt new file mode 100644 index 0000000..20d40b6 --- /dev/null +++ b/gplv3.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file From fc1f7987632c0e506b32b01813bf91df587a8493 Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Tue, 20 Mar 2012 14:43:38 +0200 Subject: [PATCH 06/13] Updated binary --- deploy/opencsv-2.3.jar | Bin 14146 -> 421117 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/deploy/opencsv-2.3.jar b/deploy/opencsv-2.3.jar index 32b00f927594a1854b371fe5bdeacc30f8aa75f8..98c5f2fe36cf60d5e21fb7748fe91c1e2164db5e 100644 GIT binary patch literal 421117 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

4w3I{Mm596M4$JhE1t3 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 bos(HB!M{_H40yE=poF@OFaV=88S literal 14146 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


hi4iPC@6 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 Date: Fri, 13 Apr 2012 14:22:23 +0200 Subject: [PATCH 07/13] added .gitignore for class files... --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e9ae863 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +#ignore class files +*.class From 164ce2ebd5e9e1526bc77d853743df2481992328 Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Fri, 13 Apr 2012 14:23:47 +0200 Subject: [PATCH 08/13] Canned class files... --- .../au/com/bytecode/opencsv/CSVParser.class | Bin 5098 -> 0 bytes .../au/com/bytecode/opencsv/CSVReader.class | Bin 3584 -> 0 bytes .../au/com/bytecode/opencsv/CSVWriter.class | Bin 4932 -> 0 bytes .../opencsv/IterableCSVToBeanReader.class | Bin 4704 -> 0 bytes .../com/bytecode/opencsv/ResultSetHelper.class | Bin 317 -> 0 bytes .../opencsv/ResultSetHelperService.class | Bin 5666 -> 0 bytes .../bean/ColumnPositionMappingStrategy.class | Bin 1537 -> 0 bytes .../com/bytecode/opencsv/bean/CsvToBean.class | Bin 5635 -> 0 bytes .../opencsv/bean/CsvToBeanIterator.class | Bin 2804 -> 0 bytes .../bean/HeaderColumnNameMappingStrategy.class | Bin 4172 -> 0 bytes ...aderColumnNameTranslateMappingStrategy.class | Bin 2016 -> 0 bytes .../bytecode/opencsv/bean/MappingStrategy.class | Bin 575 -> 0 bytes .../au/com/bytecode/opencsv/bean/package.html | 12 ------------ .../opencsv/exception/CSVRuntimeException.class | Bin 856 -> 0 bytes .../au/com/bytecode/opencsv/package.html | 12 ------------ .../au/com/bytecode/opencsv/CSVParserTest.class | Bin 10208 -> 0 bytes .../au/com/bytecode/opencsv/CSVReaderTest.class | Bin 7443 -> 0 bytes .../au/com/bytecode/opencsv/CSVWriterTest.class | Bin 9358 -> 0 bytes .../au/com/bytecode/opencsv/MockClob.class | Bin 2015 -> 0 bytes .../au/com/bytecode/opencsv/MockResultSet.class | Bin 23393 -> 0 bytes .../bytecode/opencsv/MockResultSetHelper.class | Bin 903 -> 0 bytes .../opencsv/MockResultSetMetaData.class | Bin 3271 -> 0 bytes .../au/com/bytecode/opencsv/OpencsvTest.class | Bin 2039 -> 0 bytes .../opencsv/ResultSetHelperServiceTest.class | Bin 8801 -> 0 bytes .../au/com/bytecode/opencsv/TestUtilities.class | Bin 1248 -> 0 bytes .../bytecode/opencsv/TestUtilitiesTest.class | Bin 903 -> 0 bytes .../au/com/bytecode/opencsv/UniCodeTest.class | Bin 4562 -> 0 bytes .../ColumnPositionMappingStrategyTest.class | Bin 4025 -> 0 bytes .../bytecode/opencsv/bean/CsvToBeanTest$1.class | Bin 1360 -> 0 bytes .../bytecode/opencsv/bean/CsvToBeanTest.class | Bin 1536 -> 0 bytes .../HeaderColumnNameMappingStrategyTest.class | Bin 3450 -> 0 bytes ...ColumnNameTranslateMappingStrategyTest.class | Bin 3553 -> 0 bytes .../au/com/bytecode/opencsv/bean/MockBean.class | Bin 1132 -> 0 bytes .../issue2153020/DataReader.class | Bin 1430 -> 0 bytes .../integrationTest/issue2153020/Sample.csv | 2 -- .../issue2564366/DataReader.class | Bin 1771 -> 0 bytes .../integrationTest/issue2564366/data.csv | 2 -- .../issue3189428/CsvSample$MyBean.class | Bin 1426 -> 0 bytes .../issue3189428/CsvSample.class | Bin 5194 -> 0 bytes 39 files changed, 28 deletions(-) delete mode 100644 target/classes/au/com/bytecode/opencsv/CSVParser.class delete mode 100644 target/classes/au/com/bytecode/opencsv/CSVReader.class delete mode 100644 target/classes/au/com/bytecode/opencsv/CSVWriter.class delete mode 100644 target/classes/au/com/bytecode/opencsv/IterableCSVToBeanReader.class delete mode 100644 target/classes/au/com/bytecode/opencsv/ResultSetHelper.class delete mode 100644 target/classes/au/com/bytecode/opencsv/ResultSetHelperService.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/CsvToBean.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/CsvToBeanIterator.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/MappingStrategy.class delete mode 100644 target/classes/au/com/bytecode/opencsv/bean/package.html delete mode 100644 target/classes/au/com/bytecode/opencsv/exception/CSVRuntimeException.class delete mode 100644 target/classes/au/com/bytecode/opencsv/package.html delete mode 100644 target/test-classes/au/com/bytecode/opencsv/CSVParserTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/CSVReaderTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/CSVWriterTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/MockClob.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/MockResultSet.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/MockResultSetHelper.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/MockResultSetMetaData.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/OpencsvTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/ResultSetHelperServiceTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/TestUtilities.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/TestUtilitiesTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/UniCodeTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategyTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest$1.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategyTest.class delete mode 100644 target/test-classes/au/com/bytecode/opencsv/bean/MockBean.class delete mode 100644 target/test-classes/integrationTest/issue2153020/DataReader.class delete mode 100644 target/test-classes/integrationTest/issue2153020/Sample.csv delete mode 100644 target/test-classes/integrationTest/issue2564366/DataReader.class delete mode 100644 target/test-classes/integrationTest/issue2564366/data.csv delete mode 100644 target/test-classes/integrationTest/issue3189428/CsvSample$MyBean.class delete mode 100644 target/test-classes/integrationTest/issue3189428/CsvSample.class diff --git a/target/classes/au/com/bytecode/opencsv/CSVParser.class b/target/classes/au/com/bytecode/opencsv/CSVParser.class deleted file mode 100644 index e2b7dddee512c685431bec031ab8d2776741bf9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5098 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 Y<*HS4uq#!CYw!xllpzLsT_gVTzuDLbdH?_b diff --git a/target/classes/au/com/bytecode/opencsv/IterableCSVToBeanReader.class b/target/classes/au/com/bytecode/opencsv/IterableCSVToBeanReader.class deleted file mode 100644 index 394b69a645ba35f974535faad439ca2c8de20c48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4704 zcmcJRZBrXn6vxlyApsgfnkGwYOAFd61SADpS{sUm*xJ}o9+HNF)w-lRuobc~*i3=eeZ{I{GYqKH%K;C-7-u__U^ss{Ql>hd++(<&tHEdqFE}3sY_5= zZ=}oCetP@RHpMxi(72R&s3_*(lOwAXInFZJj&6^d|UJ$f09>7{AFEyK1+KEGEq9mvo#G=FJXSOGc zd<{@H#UgZyP769S-af6LFdm^W^$8lvn-$|>V}IMI6*;xYP~Ix*dnLVQ^0PbGWAB=E zK{Fl0(4jOC#PCxuyP=va7eTS(OoFt(dp)drp6C9nOD}orK_c9ivut*Y)3y=BsDIj| zWlq^Br)&(NXiJ&vyuWT#bridWog%U*_pcikcId8-=SbbInPq#8N02D7CFoHQR-XW5 zb6YY7TS4r0ih*OC!;s=IObR;Z69x|4dS|84x0>g_I6O?h{>~Yx$DVsdXyX&kJ=?I& zJ*V5k)qxxNyzdLgYnavrP5*NjRzGmMKY8cF6+eSH@V;7=e35&U*W1}Ta+`*`lg_o>uWlZH~0 zKU4fCJa$t8|D*C%4CYQ_d7P3M8+E3WM#Ff*LOLtm@UL_97R;T;sD^JI(dYtClCv0q z5k?fkMTzho?1wNXmYNz#_9T0objg=P1H&*4!5?!hIBOI~OmW0q4p^kO=^a9rbY6t7OJE(9yic6f zidR#-n&Qsy@87r>P8TjG2ufrSGDIE!=BcXI8l#Ybbkx)7kN=L%g(aHtebt;DKdi2*7 z{hXx#9#LTRaYf&x8@}u*6#OKrcS^F~cUCF(xMGhh_PAn?EB3fzkGt$G;Dj^lK21DxKlGNO8*-FNKxMDK)L8kIS0xcpu8E7lI!{PJMm*h zc~???iyg-MAu6-qqLNsiV%HpQWjG+5 z_s(KD?`MQ@f8z!5$ooOW;|z8qmuVZiUdO(M*Vn4WAqI^4O7Gb diff --git a/target/classes/au/com/bytecode/opencsv/ResultSetHelperService.class b/target/classes/au/com/bytecode/opencsv/ResultSetHelperService.class deleted file mode 100644 index f4e06bc95ddd32b55219c8d83ad9cda1cd841459..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5666 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 diff --git a/target/classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.class b/target/classes/au/com/bytecode/opencsv/bean/ColumnPositionMappingStrategy.class deleted file mode 100644 index 4d08eacf986e8ee8595f20b9075b5e2582a3d6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1537 zcmbtUO>fgc5Ph4ZF%3=$ZIV(#q2D+u)KZUaRDmi!DuotER0(lF8+R345<7C7iXQkg zT)2Y7hlE7MsRw=(FuQi0v`SMX4)J(qGw;p3nf0&V-;V&S!qgCBSmRyOa$9Eo&=;1w zCrr039IJC+)&+OWO}E)?IZxe=?c1*Ngtyza)2R9$_eJASLxQ0^H2<;Sd%_D)ws}jO zL10K*iXn_MOuVe@^8;=+xzjL-i0IZCl4aYm{SAh=QQT!nY*L{q#Bo`NhD#dK44JcO zqhPqAV+2XE726Tp-Bw+AHC}HDhVhDP@#Ze~Z0U!=g#X&^P)n7eJq^`_ip`&fK5U=B z-~SKXa;>($LEveNxBads0$~}JjB`OZtGmyY{OeM))PuK{Xv-;fG+Za4m0q@MZtX-T zB($e880P;0ma1t8zc*ZloUv6LG`~1anSpIlM%Cxm8ya^gc_u=LRv>2-2P{Dfi&)Z- z)NvaI!-&;%9hzg-=qKE%?+eQ(nKGS|!XntbF#uI5Q+2zZB_7&xFXo0$cSVZEFj}=6 z4wqwKcu}sc^|c&UuyL+@>RMfJErMZVmNqy}SCt_q*O=Z$=$#gxo}=VFqc|g*E`39) z6#oJJ3&uWCAdU<@$5iqp61WB(lekJTJxIVfCdkX4isZQ zs8VDv0o`;TT_K_?;1*_1(aAGOH%mYI$W7hTRO54)54m5FmCEGQ?qb{>*1^Pvm dXD7r{i0x=#f2gMzSy@74u`HvwgS*PE`~^g^Qp5lN diff --git a/target/classes/au/com/bytecode/opencsv/bean/CsvToBean.class b/target/classes/au/com/bytecode/opencsv/bean/CsvToBean.class deleted file mode 100644 index f74dcd257224a17c4c7189f11cf9dde891fbbba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5635 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 JH&HUIe*t(y&}#qy diff --git a/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.class b/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategy.class deleted file mode 100644 index 0a4a8f2b386bf54c7c872a46f9d9f3c0ad8a5493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4172 zcmbtXTXS308C_eJbZq$~CfEXubH89&F$h8uAa)FiNr-9e(AWgx(895NVk^i;igXlW zpcmTo!u<|ynPH}V;iV5{hByt(WcpNQ_!0aGUKwD0dmrf>NjC13hsbB&*0;X(UG~mb z-+g`qz&?CrA*L|u)N=XKQf_Y9ck`urH&-gVUcP!MH|IKD?u6^iyOr@$v9{z*IZN)O zQ!W?0g=xRy`0m28g}A~^7o1B@uIP9Rxl?l&+`MlgsWAMbxGgve$wh5Rq4(U$5RZ0f zZA4+iyj#sz3T3}k;ZcPiv#I76iaAbjN7r;=!E^jt#Z@@kygJ&BXlBI4YVNTLU9R}c z4>wGVj1e&IFPDk6DROwc=v1p*x}|k)bY@1MNsbo0fl8TS_pRfVyWKdRO4Txpg|0_DRk+7yY2M3>UvT}f?!=F}6Rm7S9|rf`atTr4?}!0A4+GwPf<68P3=Eh6#HZJZV{yZzGRWj2d(r|NcN24^fh z&QNKx^#eAZz>^e!ymTRi4x8>c5)DK!#V~p7uJmTf@$-u=OMZWpSs?p5SvEAA!g2h< z#xI4d2qP_9_&;OA!5o9^UaUDqqNk(ibzZZiA$?Y1+d7sMW}^UFIMWMS)cb#0uZ0B$ zE7bIaQ(a`RQaF!3iRT3y&w|O-(;QEF)s(71G=t(_v(-x&JsTzPR_Q3$7_1D%`4Z zTl-L{V&m8N4S6$fj`Cuh@XnVMGEp%CNu$Y8-#OBam+*TFzpM9fgI`~^aRqvR6?Ri1mEWFBSgwjrURp0Uag45KAExg{m zt5|dwoZ^vu-mO*}{aPWB8RFG1x5-;JHeh24m++2_ckwcX^xWqRdY+YiTYGn^-=0>r z-opA;QJc49f7^6WY;uE6mui)~d%PfTh~4YF1nv^Q70!*$9BNPBvG%DoFGPuiJiMZh zLBk0uf_W8A}eUSQb7-r{#97J`4UnwWSus0%$!Hem0yUl@3yF`-P&`GWjLg&jxd^JlMNaZ+n=4TY&Y z&mOXF987i`OnibJ{Z=}$?@)ZWKTe89mj3v4EOp?CD+!fOq?3RD{_EjTq1%}pzypLH zWnCS{9*l8xnCWsvJF=hkDKRoNBVQMFMRsyeMJM1U>_-(o>Fq%uYIH8HoioWOC&f8) zvWG&NlT0}s`OS!Z&!X$Jpe$UnFk|5|6u&P^^~U4|UqzB-Ey)F<>2U1*H=dsyzK-82 zh-W4orZ|p~|M4|KVmwJO`~HYO1tBqcTMvnZ>mr1;!k_VSz$D4Nui&+yOTD4FNES)< zcQPN}T*2ER50e&;Y7V9Ybp~pNDIhbVl9IP7(M{mr)5u2xG-x_ diff --git a/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.class b/target/classes/au/com/bytecode/opencsv/bean/HeaderColumnNameTranslateMappingStrategy.class deleted file mode 100644 index 7978561b0ee34cd4807d54302a3a3431c8c69ecd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmb_dTT>HB7(JZ?2f_g1x+;nwiyN-vy6dV;7B47*8{%4tSm;wHbcN9{NhK3%`71v9 z;;UA9sc4nu^Zo*Vje2@AAqnhOL6r~5On=>d&iT&wbT>{?kRU29dzEmdAF7OFdLO75skS-O>i^whd6l^i#p_R1XO_Y6b? z632o%fFRJ5^J#*(Kwt8y+?7_tINpUG4|($2D1YA_{#3`HW7v9(J*dF3^$ zE-)Nln?CHPcI1qSvlyeV+kUGE3_dx$Fp6=UH!vX(^Sx~;lZi?EEYR&0AC^jNHCdsV zL-GG$>&6Ad4g5lN%>uDFCZ;jNdQ!5$g?J15{p?ef^XyivAjIYDHUY6lw6rI4&j=J0 zEw-OKW4g)N5e+>p&3NTt?8q$`t2E5rCm0B1@8j#lQ#@(H>0-5!t+PH?G`kWz-A(|*a8~JT{_-L3|gRZk=73&CU~;Kyrl&~`oiJU z;3$MnMEK5&ivQh=WVlN38Jl?zbLJy@H{T=n7X7ao3uBP~y*|z`_l=+r!x&=BtncAy zgrlF@A}2YD;1o^=47=PPVr+7B<_$(ay?}o9>-W)1?{Kb$sSrM6{3SmCul%i=R0{@9 z`eY;Z?Ex8qFpD|PH)$t1r)lT;<2PyIhQaGXU;!4l*7LsTXM2-T4cwt6XtsKab+*x# z)H)8OrX!j|;8%Y78nD0lupgOlgmd<64ZjQ2a8)4n5>xXv@H_Dtd*y&yi{ji>#&geB7^ty>EjZ)b$i)C9zIP+K{?gdX*MS jNnF)Q(b}3Jgubza5d*^D!7VfZ zrXCas)JJT>Xv|bZyMvM7jzH~Ms^N{W+{nafL*UR4TAh?Pld<&CpsaDz1*c7*a{J0f z;-psAgEE1GOhcfY(KbPKEdTJZhZ})bu27Xg)1ME?m}z@ZC9uEn7%1zQa*{16d9c3B zienM6_>yyBZDw9Ml#ya?Yy^R#-|F?yca^hbhTID_6u9h>-}&!|*J1xDWwl#<54H$2 zQe#rnpqrUe3H8`;aVKLO)BJVxlUWM^|GanhebVf<7k{A=0Rnk^F+d*QRfH1e9%coM jD~MEJ6>=$3!ng)CsADw;8(7%sIPXO?jRV diff --git a/target/classes/au/com/bytecode/opencsv/bean/package.html b/target/classes/au/com/bytecode/opencsv/bean/package.html deleted file mode 100644 index ea760db..0000000 --- a/target/classes/au/com/bytecode/opencsv/bean/package.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - -

-A simple bean binding interface for use with opencsv. -

-
-
opencsv.sourceforge.net - - diff --git a/target/classes/au/com/bytecode/opencsv/exception/CSVRuntimeException.class b/target/classes/au/com/bytecode/opencsv/exception/CSVRuntimeException.class deleted file mode 100644 index 357f9a975767c815522c666f78b867aeff1a6928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 856 zcmbV~%}yIJ6otM9-0az>J^A2L$>? zm}+`D2!#$E(Tik8{<^%mdU{wTWcQR-;XYwvZQUWHo17(w2~6ja!z7{5Qd)kG`W@+? zh)z!uiY?D&1Hm@D9u?E!nFZ*Dh_d9G~pOgv}m15Dk - - - - -

-A very simple CSV parser for Java released under a commercial-friendly license. -

-
-opencsv.sourceforge.net - - diff --git a/target/test-classes/au/com/bytecode/opencsv/CSVParserTest.class b/target/test-classes/au/com/bytecode/opencsv/CSVParserTest.class deleted file mode 100644 index ec76512e1c588ded23ecd835df457568f18be321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10208 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 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockClob.class b/target/test-classes/au/com/bytecode/opencsv/MockClob.class deleted file mode 100644 index 14cfca666a03c8cebee726994be664c7b045e5ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2015 zcmb7_YflqF6o%hvOKWQZ1-#$z-h#TKfFhS@2qtY%qbSCY+jWK2Wf!+wqW?(~O*AH& z_yhb=#`nx_OYMNf54-KmnR(86&!zqK`}tXnFg} zN*sB?+N?r;&I`PFLE%uvG*?#@a*GV1ge>~YC}Kb%TdA%V!2rrAV4uR^vKP1yTN@2G zdTKX(?I?6?f7OmWS*M%1c-?C%oLk;Y9fRuIN+QntZm<@wYoB$6($YJ}-Hg33Xclms zA$P>CJYMeD6v}IEywYkU8Wj##>b0sVPC@y6$WE>bPnY{iLzdiQOHO;2=5 zux6z7sszd84X4I-eP^{LCpDHjbkZTUC$`vR9(18~5=?NFqK{VUrlD37Q^uR13_|{r zaja6`&d8%y+%05?hm8ylcVBoOc}%Woj-yuK*fIMh#{<%7uOgSLkxISGL7H*~<1?7j zO4y1V_r51>*596oYa$$H*^^m5eS9*~njEPCerGZG-p|#2?q~Q}8vBOw*!Wire&#BJ zgZgBa?@{E)DdHT4xH_Di#xO>>;yoN9m8GEN2yI8Xm*eV~reEQX;!dXcQQn%G*E<(A zt(;g>n!*X3G#GbzCMUPmryfRCGe)UU*zJfiIEB+G_Y9*K{bw0{Z*0@r0+fH?{EM+K z82pBdy&kT1MOp4dc^MUhc7CnC2Bfc3)gqxrj^Nl=&8*7F5KBGjHVTnP&WJ5@*?; LQtvs2kiq;Pv5Fb0 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockResultSet.class b/target/test-classes/au/com/bytecode/opencsv/MockResultSet.class deleted file mode 100644 index 454053be6ca48e908a3747544ea072da19558cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23393 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 diff --git a/target/test-classes/au/com/bytecode/opencsv/MockResultSetHelper.class b/target/test-classes/au/com/bytecode/opencsv/MockResultSetHelper.class deleted file mode 100644 index ef9b96cf612015fbc4ce9487cb01c5b28b6cff33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 903 zcmah{+iuf95IyTScI%oXq!-Gi(6ptE6TlL0sEC&e1d?e*gCbRZ+L%>v>)63wNAOo5 zQ6cfb2k=pdS-Ub(oR|YY|RGVnSzVo$(oWLmrLYqtTi0r3r&!?>d?*6bws#9A=Z~kWWO) zuzc$M;~U5%h{pR2cF{BBVWygl=Rp+67Yt6fqP+rgh79@vsj*N)!-j<>L#^u!7r}7T zhKU80E!$Yc0z=aaB5{~aMk0C7N1)7|=G4z3a4ASVm&%Q6bfs zUCL>Ug*=!y!RZzzq@O~!^lRU#5XNA={OpUV4B{v?ai3u|w@*zD-g)IW1}&jgSE_hP zZ@EC>u!(IlBPR-C_s!89jWvj~#22pu<;r@6z$a=99dffqZyg#vWH0?;nlhJ8g2RtecG#;}H4R1pEziJs-z zZOSyt@8B+-_XyLe+Q=__Mwv!Pz4slhuasy|*BJTeUQWGMG?dhJJfQ0sJ)M%!pq>p{ TNokm;Y+t49|A%rXU*X|jMySOz diff --git a/target/test-classes/au/com/bytecode/opencsv/MockResultSetMetaData.class b/target/test-classes/au/com/bytecode/opencsv/MockResultSetMetaData.class deleted file mode 100644 index 7b02bf9bc7d2b499b4cb86bcf389f7acdb902c4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3271 zcmb7_-*eMO5Xbjy$HvA42*I>TeG^kB(%xA)oo-tOvNz5eed0BpmzIY<$>N`1q0 zhDL8JnCbMH;f$DVdPl|s$9(>ndA=n&OgvzMHmRUF$PhU5j2=%OBc%bjUmc=MLIaL`S&X9#jLH?sz0^QU@&p*&4UGs1rz+EBgd8 z4GgdVX*gYklTajZy3K92=MQ_#?b4pb2rRW7lUn=K<#Ifk%!osdNTZ!dD~7b_G0_M| zUMfd~UfItBfeS^*!3hEjwiY?vJ5jVyK4@vv_ll5*0-6e~b#d^@4A@yF}mg6o^M%tMUs$k0`2+0W_<$7L9k8kjVwCu@L!QQ)zGFr zW?{6rGb+ueg8i}@2*`2AJY++v$3+}Ja+%3J6po(NGL^ZND=MSfPLXh-#FeK^tT@}t8Yju`& z5m}dxVZD#CBaiD=hjXq7~?n=!NvxSZhJYB97ciDKJ{pyA}aGKEy{MT2v8l zCpx}v4DGW-wC`hR*AprIF^2YeBHB+ev>Oph!>L`x)NamxQTichRBFFS6yjls7M0qY ziTccnp?#T%Hj1I$N<Z8@5lJLH|OUb$Y=?)RQ%uk5A9F0&Hw-a diff --git a/target/test-classes/au/com/bytecode/opencsv/OpencsvTest.class b/target/test-classes/au/com/bytecode/opencsv/OpencsvTest.class deleted file mode 100644 index f0f1fdeca5b5afe87636e5df80aacd4b0c844fcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2039 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 diff --git a/target/test-classes/au/com/bytecode/opencsv/TestUtilitiesTest.class b/target/test-classes/au/com/bytecode/opencsv/TestUtilitiesTest.class deleted file mode 100644 index e6c0c518c084ade28012756be74ebf2d406a6beb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 903 zcma)4%Wl&^6g`ud9XHV6v?*x|O$((-jWCoI2||i^h=o-oQnFz+cBWy1V+VU&l+R*C zg#;hKMjZ%+B~tnaALbNCA@Gb>~JaqFFvzR zM65n2=}RR=oDvNMhU%D~aogv?$bRRJg{K%w&t)Lh3x<5FJzyxjBozaBlq)Er#IWkf zKpZC%S41b=^#z0JgdX$JNzpgSR9cv7X>!=gBI&KqqIyMTai{#$Se%=WJ7s=Bo^;CY1v%=JJwwMf&26ECyJ%|IVc5S`=M~(< zF2l2ybNLln(cO>BuJ*Faz&-41xX)0}=5QMEiTD~upY2{8i%3=Q00#^eK4-7LB;2RT z9bA!cSv=iNALDl{ee9AUHc6So{IZ`S%&!CdcKMRTKX zHq0&S9CyyKcbQ`kI>pzhm~|Mali~)}(4f;Mwh4EzHP2tqbQk%HsK4s6~*`Hfn+fdpCnYE&x$a?Jj9%K{x3qv6G`%YEl~YD|jN79KDpB7&|weN{`3KUQiH7Z1_zTO(Qo) zvxZncS14+^;-r=>>0Z<;a1RYdhK3Xz+TvmQay)%u`o)Q4dL-pVBSp0j4YfzaMS*%g zKAuY3dwJ2Mz#)7zq()-NDh&-2WARw>+{pCs`1tUYf+w%m5>-DMzcO;JY*Rm+ipAsQ zrxy7ngW4=9q@ce2dOlB0Gnz?J-hoWk$Qi{!1A<{~PBXeRiCk<-UYi!-{J)@HK0 z0H4oj*-6bb#IrqEH()9A!HHfKQ5@nn#d)Kkpkv4URuziKa7N2n>E^JgCk4Kd)r`JW zG?-EkPLr;ca3dd$Co3}wLgS@e(OA?cje=C&psp1k|RL~@y4x6U7 zR`%Q#t`=%9t1%?%Of49TOIcl37DX9FeUajPrmoGhEUZSSS+Ja+v!(0TbyJ@mx8^;# zqM*4vC!NR{A1>o1Q7u;$?61X=kx$^7u=pX_!!G>5yY zm{d-OI$ z-jY_#mt8svDvQptB|Yval*{nYQ5O<9cnWd}McQ zu^p)HejD;29fYX8FS#lTakDYuxav!*(1+fFgnMcbag(t`uX zc@0?pn$g5JZG>;sGibyKYZly*?@4>#DDMi#-QACHa$|X&H7J*;(tsaePt#DrGhFP% z_xRhzr)TjTe+m2V^DaWU&vAkDx$brJO+CWEKX4}COLYGoXL=rDXtWuz$d`8?VX zIce=3lFC&bOq5dBDzVD!K!Tis3xLiW=P~HTt>8xTT?xc@Y-mEwet{f1{xmX zuHePnCS*Yd$mSxlA!>UbE&QnJ#Mvr6;R?1k8(R~>zJqrORl$2-Uk_!x8EDy6&w1*3 zfqE`bPn>!#eq}xH?~%|4j8{Z_t`;ewtej{8OQw44I8)u{Vt0mIR(n1`PsmlHAIGRV zN!6FAdK^9MuwHgoKfj1#n6x5zM($l9I#40{v`w@JAuH?rYUlqIM30KI=f-E;T^!PK?sE&}@4pF3(Monl)vlATjqLab7mE<5)_90|i#{##u+w3hgSz zJW46h@|wPR)0W@*OMmH1>zHQB^ymIj(DUtXR-=%XT$eT5`>@J#S|1x>+kbx3VSEsAb3PO0!y*6=IG|QaF|W{_%4PT?K2QX1L9UsbKzq zP@BM*vdcG5v){Q_*3pH8!nV9sGpC!?lG!L4r3#TH z^LE*&TrnD!+y@V%?hVUP82tgLg3plK@rvO%IoX9Smt4#k4Tn><=k2fxkD@pZC=A|Q zs+gIf;YSZ2Ihrx6b&fJaiAAegUCJ1xa;;g-l$(xw=*013$1}qk(yMe!O;g!%^mD^& zM%9cXqp-zp%$p5=tK)b?p~ISw;}Dg>Xaav&$D=sRK!opGC9sIXuJluFh4|rFiH4&J z2R7tq+__b>MU4p@LAQnzB*mk|va^1iS<@h{1dbyonmnb@)6QC$OahGPcpRe?QQaqR zCcUvB*LXbV7s1qi(p;bapy^tbY~G?i6F7}C8pg>&Yg@(~$85Md&f=UxH#d=Y)3!U^ ztW?&3^&1A6*@6q0)G(p2)vGqlpyLVTxh;{rtpIo8%@59rmy*d zW_1)$Xm23kMRKYUKUT5d)9qZ_n#PJAF*hDL#QrV=U z6^cQ;xq9>DO^I42J)7w6ZVRS$R<~2Og`lNg+BifA=euLqILzw`87>RI@a4d-od-vCu(L*$LdMrMvR)Th;IawYLWh4Zx1zt1oPp$yIR0evW{BU&jadkkdo3zBAYOITZE1 z-wfkHq};3irwfnARk554Ms2=gI?|Y=z|VC2QCe2eRs4RHDA>(L**s^-S%1K1ZG%su zN5la<)@UN~#zRBSMP4=Dbs)}v9%o4KcMG3nc~!i|`fo%3n>S@Ee`Nva@ooIo{R!BP zdw54fb8!SaIF9meCw6fp^Y7(VLZ0VaS>4lr2lvh0#{K`m?*6}HcXIDC_O()M_3-WI zk_Q>&p|(^#VX6n2sv}JBke@&my^4VMk`L##f8pRM(4v1qG_r!J-e}|tTXjH@enD*3F83>nSK=sHIU8CY+wpdxieA=Dj3H-FQtE`vQ7WMx^74q*gC z80UBI6`t8;97dI=<4-vIH5|jcJWGY@5faI|g8CzP8#d}Ba}R%?M}u5s@Ejbtj6Q;C zG;xbr%jjdI7s$#ISMLgEy%^4ViL+kjyZh1cHD(dhpfnuR@QQ{b8V^1>p%s3*3EQv! z@7aDWWc&4y?Kd}P`xGl3B}-#udz>7dAv?O(3P zHvY<;65mdWT$k}yet;tF8u(H)*7;4Xhca)Uz7y~H3o=~%tCr*XnGu*_2e?F2&(gw0 z9K>bn^C~s?By#)&IfH9t>S>Rkl#e7(W1Rizchn${QaaXGqr&gkt>Ob#(IHi|Ad55e zf^vYSO!mnrvW!2_L`ud{f1LDeN>ha|I{k60iU+(-W)NYCEoYuPZqi-X@fa3}{Dy~I zJizP$@@=e4@QTJiS{Lsp0qdjRf;V7yip*xbtw{D|BEy0`6O~JHFcXt&3*~;Y461G$ zYD8&c9}%R9;Sk+>jQ)L`-WA9D9FK-bhXSPg*ug*c9Ix=nx|mJwjn|nqCvL$@k5pke* z{ifitU(vgD`I4-<(5A5HA;pl}=DXaFc-;0kn%g2U9@78AS?8Tj7`Hc#;zqRh7}91d z)P)6#t6iMHGQ~X)T%hJh?R^ktC5P!|2jF(ixDVW<|y;!Ss_ zDO8;|Bf&6SlL3z!T!nUixR|ok8Rjo>eqoWQ4}J*a)+?a{6?TkN3{%BwspiDAT5JEU zBJGvgJMp2Y%<9KLbWA8??co-~WKTdfHcILam4LR7{V1J4MhvV<(SZ`AxUC?=Xz}p4 zp4u&YxW|w`DQPv^WsR83<@aOB9%i)gSj`fok|E3Ro^@`#tB4=}7Xj@z`)a0hp3X3^3#P7rs?Z_e%g4R4}{(-9tBCrlrrSWX3p yu|gWS9KWIPet2dd#UE$5P4#d)%Fkvx>&{Q&q4S@IPh$!T^xk|*metTILZ9DZdrO%B diff --git a/target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest.class b/target/test-classes/au/com/bytecode/opencsv/bean/CsvToBeanTest.class deleted file mode 100644 index b2bbf268e467ea75a3189359c00b1df7880d8cf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 zcma)6YflqF6g^W4ZI|+}KoLX*c}O3yydM@#v_V6xn9!z#PiDG|WotXz>~0bMm42~_ zB>n(@l=05)rVvQQO?GE@=H7G9Idf-!|M~d~z#3jg5MoI4mTp)Ly>jUa!#WkZ)fCcj z&h?7mQqMc*CF>2nm4xF)5M~&z@pG=%xvc6RD>Y%b4E?43V(C+{baZg|jv-OFjwrge zDXTe#fxIOhmrJ+I>n#yQjA2jmhR9m>sjv@Qjf$|dvenSOT-HUFSB%xQ^^MJ~EDc)C zY&0&jr{eRK5&Uw>Ov8- z3|=pD+f?7dWY|439foY-|7{>Sal;ne6-R;-dxrVNRM-4`vFwNCB1kffdghpx?pxz8 zX&A#p#e0HbZ1Jvtsd5C57-qV0?9|XOiN^})3ByPLM706}%BMa%;GFc!++sr7CVg%D zwr$xTc(X|xNL)#6^^#%bA4!pGQ-0EY1XiWK@AM6am?VEdRvcU1fyzUGmb56GxRpO z?NA3B_t{Iva8IqypMi|gidM@u#9PxlW}Ovf+p_9+ zIxq)P3Oirtjw2irO2?M|LDX#MMIVh3`U)Y6Ful|9rDvRGbQ&3rz3DavzI!1<^i&C; zpkaE({Qx{b!doZjXhtQ!rxGC=N3Jk-l8Cl3Ubw>KNv4gdZ(gW^(!7uajUygh(oYHC zG{o=}(*zh&n-c)96R;u>yTa@VF`K`J^O=p`U=|CY$WLM%LW&ZVyfobz16hyiQ9w0$ zg{6}=^g@PUSLj~*fsNy9;e(!QDe@^ze~iox#>t>e6oc5oE`f*e!c&>Uo~M)1vGT6J DCQE=q diff --git a/target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.class b/target/test-classes/au/com/bytecode/opencsv/bean/HeaderColumnNameMappingStrategyTest.class deleted file mode 100644 index e59de8bcb8347abef097aa3dfa5d3a866d747c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3450 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 diff --git a/target/test-classes/au/com/bytecode/opencsv/bean/MockBean.class b/target/test-classes/au/com/bytecode/opencsv/bean/MockBean.class deleted file mode 100644 index 328d8a5329d29b9cbb3e9a3b2626714f5769f17b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1132 zcma))&2H0B5QWcmoS3F=`bPsLEup2MPAb(BTTmAuAw>%9qNsbvxe6|cT{%uA-iZZB zR7fm%03Hf)#tAYwj>P89^~{->@6Pz=ukSwqJV(cZq0sWCt{;uv{>Mc7(LlS=jSl_E zt=rdL=)R5o53hK!U@B}}d$*oD^1`8e(ZAMyqF{#JSSxJxve0D`2jTFAf)NZ9R-<^J zy-U~uKOMB<_M`@49_eNJ< z9LV?FX(sQ3iNbO3zg|J8@=zyTa@}{@i_9xfcwoaqg~G{9xZ^D9gxF%Cb3R^j_H2|T z$6}876l#oKWG@%d6C3wLRHNvx5Jw@EWG);=%PH@*sxyoTAR21C;lPw8Y^TC#iA%ZgwVmKwxQ}BGX(x`5#`UAOHQ3gm*mX(sMd*=PnXz3j<6v#6A ze~~73t13NTpfB_AI5Pt!w)nKHYNmUkjeddN7Jn~r^Q#{`Hog)VmJPQYRNc*IT9pak z4Qk3KId{HTI%@IP#C?>%X9~hUj^LWacCoF$^GWB8CazFoF=;>9g5VH!fnt z#<%~PVDVX~Rn@^IjIysmgTqX=i!=2eN2fVJC9AVGvI718o$Kv}SD`MV7-M(ZtxpG! z(?&7rJPU_2=@>FdnPt*}iz$v#)<}9wU?`K%9wTyCan@wy99+To0#O~bWh9Wu98Y2F zG=8-4!zYdZ1iFK3rfGJ~u&MY_aG+<>=I5)Y+Gyrs6gN2JM>FXb+Mf*2n*tLjwfQrE z2XNcLJQfI;E!$dQbu+8%38LX`vc63f_MYhMGWn`5aIx@3!H`Y#h=@5hs)iCvi##8X zA6`+*@^8zs*3!R?CF->pH0ot#)Wy%{1&la;3b{3c>5Sw-^bv3 zJi3RWJzOZfz{>c`xxetuJ~HcZ-ZGwQVxo!5Okeh$Cl4(^gf0>2?*}xu!H9eeRmw!3GXuW zq|!x(c-E^513eftVW6L3DDSvpqt&Pge}`AEN@x1*RU$>P}r2de)VPq^CwL>HAh?}j@51A1If77lvLDR9rq}iC}hs@ zgQK`v!grI&^J5pZ4FlbawW>;dm0A$_SoOVDv!h+3IVu}@ujaYR>LG1a=X>js(yWuK ztyZP(1WzA|wo+{p?`7kGQ>_ZOtNWN5RW>??E3WOgo8dYQn*tOFkmqjBlYQ$%{zOG8 zg#5{qj^+_VtZc}MDw+5UyF?>RL3KmCkOPuRpRxzECETykVvU@7*(dSBXSkgI&mEwR z(_IQB_nAtj#O$xuc~kALhBEO~@LIktu9Q~aZ><;I zd?+D(>hiv{)0DU@Mg0s&PC|ww%mZmS9DzPk@>!_7LM4>X4P|L4c}vOtXT;i8C{x|; zD9ZsQ7fFr^xweN-OY1)$9!hR|h*8jQCPC*U@i|3IPGc1p@ii{tJIvrE{kVoP#V+8A z;(m@eCRXt|%7i(`68Hj-iS<$ZhA&AMW8-9@Byh4AMC^BrYM9Vad4*re(k5*T)jt8! CF|>gI diff --git a/target/test-classes/integrationTest/issue2564366/data.csv b/target/test-classes/integrationTest/issue2564366/data.csv deleted file mode 100644 index d52cdb7..0000000 --- a/target/test-classes/integrationTest/issue2564366/data.csv +++ /dev/null @@ -1,2 +0,0 @@ -"CompanyName","CompanyNumber","ClientName","ClientFirstName","ClientLastName","ClientId","ClientGroupId","Logon","LogonPW","PublishKey","HiddenKey","PublishEncryptMode","LanFolderId","StaffId" -"MLBInc","4","Art Walk","","Art Walk","",',"artwalk","artwalk","art1publishkey","art1workkey","1","012345678","" diff --git a/target/test-classes/integrationTest/issue3189428/CsvSample$MyBean.class b/target/test-classes/integrationTest/issue3189428/CsvSample$MyBean.class deleted file mode 100644 index e51213afaecee3280d64491e627270fae51e1b00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmb7?-)j>=5XZmU{JxxRt!?~Kwbs@)No`|WA1X>g1Ab#$mYz6_nN z-cvzXbAq6!HrKcA+}_x#)q{RRde2?8`1s&~k~)X9z~sK{%bF{7r}m_^uiBwNT1!s} zOzr%=YJ|R{J9h;#ed+e-GAF%mPlxLQ`F79um2MyKw(EIHhk-!$o}-;`TOd`gG$~}g z`&3y-VZufcw!p-Wqt$NDYbk$Ew%jOPw=LbK^d0_>57Xf@hoaR;{U3!9XRf2d-KdP| za^-X(1qhtCkwKQE!HIOHd|Ju$c?#C#y4mfrjU2n>$t^k*u;~8&pdYNbW+TrEixly( zK#?@{xKk`zv{7JDkwhowu_|sNtI9U4p=#J%tI_TGZS~OMzKsu`b&cOkz<#8)^6Rb) z0u|)2Cb0Bx-J@3<3C?auVdo j2vRYFEGI#J5XkWe5T18IlT(eRas@ZZS`peRjcwr%K=je4 diff --git a/target/test-classes/integrationTest/issue3189428/CsvSample.class b/target/test-classes/integrationTest/issue3189428/CsvSample.class deleted file mode 100644 index 9e629f9f23d5d86da0ca2211e0ad1cf227f92bed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5194 zcmbVQd3+pY8Ga^v%yc`Hu=F4tbs9>^vB@@RDJ3bDHfwPec^xd1D|(hl5CPDE#{ZZ?0(04Jn!>9 z^G%+4<*_FKG~*=|6$+MR@~$;dFx`xu@3tH_nQ@$=wW4YDc`KV&C)=E%l$jgMS}MW{ zD)*Q}W-@E$2a;QR_gHCHf!3eNTH8!_w}N=b#B|CnWby;83c@)vlUJ~?=91~NwL28V zHttVbgW}v#F;~IK6E?W+d*J~BJ&EBjf5!z`pyTdGG)0JX*i1rtY}=W z;cTY9BGI(++{Wf}G}J1Xvo!d+N<+PZOE=q=;h34egi+m1;|70CLn1WnetwE&?fihz zTd?<9dBgFlm#8+(e4mjrv)SRXt?fpyLA%T^$;v5z# zSV0s1_Eup)0_W;j4ULKK6K7r4epg0YbhHXDBI&H{coaHc$6E0;PmaDGY4(hsA9w9vJ5+}mD8~a7qS?3kxj9{&w&wcV;i_M zVVSvB740-V!Ee8w>x-FepHbQqF{ba?X)diy8~}jv2(09CugOjM-Wp7 zCDAN9-KQoSD(cmtpy14oV={x-T(01Za%yzh?k2mK?;BSE6>lyJp?z!FMDOhElhO(M z2-76?`QtI91yd6PLNMxB8NvJ&B$$dtF&NmZBa0k!v#uzbStdD&uD&L=*6z|^D>!?C zTgE!au?nuSu~4uJEk>7_v!ws_71(o)8m^$c%(!@mnJrFQO|Nw`u3ncTW^Plt^`e6M z8P~TJ3k7!RaQTLP?2S#LFUCrP#O-S_Gz`z?l%&mBdCJ0AN`mH9I@df2yN3rE=lt?kZ_ApFLxO5}A0HceGE2h;n9GpRM#BfW(eyc? z;V{!p2L;#gVfp4)&Jjnq>9}3=vyzVdY=SIQe1yk@*|T?sx@|w=BbX=U|EM(6#}rge zsC9sOTU%TEu3e(pNAPhSpTOM=chD?2Of6kAqgHq*Pr=S;cmNM_ z!+_;+yuDmQ14)SCARf~3u;{JIb)o}IBD zh}d~T#}~y;jCKOi(C{S%$=NMU(-*PzWgTA;TXSh^Oi(m@O~LZnjg76Hz*EE56`bOe zKj>S zYxw>#ahWE8JbvaTA0QO0nUSu?mJlAL)wHKE)c+8VRdOUfzMhm*xNw)P?I%CZc+Ny~ zp3*SE<2>L7(!{L`C!eONO~HvecZ|Shlgc%(F^shgq~{p^#>DCWvAu2zWUt+ZoEu)y z@mu_kCG=!@Yd`h0oSI_?hw0qZ@CS0*qjT2Ex9|XH;Ey`~BtjMC$bh?B&T@Z|!?c(6DrV2;8gV|iZUm>+#ZP+}XG}F(#VAf<6sLMd zb$>ZtM^h3v-xO(La;z`Vm1LFG9*5CUABtC}>cjD+srpEKS*ku7uSwOb@w(I~5r5*eZ~Psvn9MF6WM_?_zf*Y3_60M3pihJ0|0fwI?hE>tXqqx5UPvT&U zTBVlo`SKE%WCaHwDKGM9F!*?RnV$>>pDHi(S2$lv2C zDP`Cz;^kiBTSTOv0x>|&?`8@2poKi&$+s^Pd0uU}xPm1p@Nn$l78G$8hIoG4k4G@f zWUj)qeEs+#uEF!T7B8}FFLCvMSt=>(b|3HYvc4RYRl|Sq1MaGz*XQsfudFS23O~kA z7~M{uRi)?=#&8>cil31R*VEI_@e8WoFKJgg(6{j`+VFS&nmhgV&vU&{qXyAe8NRAQ zQNjP693Vwh9PzkvFKK`!Dh|${KmRP+;F*Rz5z*UEJEBj`LFd#zg5R)r*cw6SjCIuS z{m~ao`14ei@dfurlJ)>Gy{Sw!n#Zwd#@{@O%YO*}&QGG?|DfLr{1gA;UH(sUkbnQi Goc{r#0eR^F From e8bd8e48f27bb6b92fb0627c8f29b61c9b34932b Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Fri, 13 Apr 2012 14:29:50 +0200 Subject: [PATCH 09/13] Ignoring target dir too! --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index e9ae863..bb52af5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ #ignore class files *.class +#ignore target directory +target/ +#ignore everything in target just in case... +target/**/* From e6ca28db8d83066566cf56d1cd97067f4f56b68b Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Fri, 13 Apr 2012 14:33:09 +0200 Subject: [PATCH 10/13] Removed svnignore and rebuilt for new bin --- .svnignore | 3 --- deploy/opencsv-2.3.jar | Bin 421117 -> 16805 bytes 2 files changed, 3 deletions(-) delete mode 100644 .svnignore diff --git a/.svnignore b/.svnignore deleted file mode 100644 index 6e7459e..0000000 --- a/.svnignore +++ /dev/null @@ -1,3 +0,0 @@ -build -bin -deploy diff --git a/deploy/opencsv-2.3.jar b/deploy/opencsv-2.3.jar index 98c5f2fe36cf60d5e21fb7748fe91c1e2164db5e..9e2e2ac09d8b8f68b630dfa65b9687b328338ee5 100644 GIT binary patch literal 16805 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 R06=;F`SJcOp5vGQ{vW<-jC=q9 literal 421117 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

4w3I{Mm596M4$JhE1t3 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 bos(HB!M{_H40yE=poF@OFaV=88S From 1ede1dc0a564097c538119414707e81cc8c0598f Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Fri, 13 Apr 2012 14:44:57 +0200 Subject: [PATCH 11/13] Removed the pom - I hate maven! --- pom.xml | 196 -------------------------------------------------------- 1 file changed, 196 deletions(-) delete mode 100644 pom.xml diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 1edaa98..0000000 --- a/pom.xml +++ /dev/null @@ -1,196 +0,0 @@ - - 4.0.0 - net.sf.opencsv - opencsv - jar - 2.3 - opencsv - A simple library for reading and writing CSV in Java - http://opencsv.sf.net - - - Apache 2 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - - - scm:svn:https://opencsv.svn.sourceforge.net/svnroot/opencsv/trunk - scm:svn:https://opencsv.svn.sourceforge.net/svnroot/opencsv/trunk - http://opencsv.svn.sourceforge.net/viewvc/opencsv/ - - - - glen-smith - Glen Smith - glen_a_smith@users.sourceforge.net - http://blogs.bytecode.com.au/glen - +10 - - - sean-sullivan - Sean Sullivan - sullis@users.sourceforge.net - - - scott_conway - Scott Conway - sconway@users.sourceforge.net - - - - Sourceforge - http://sourceforge.net/tracker/?group_id=148905 - - - src - test - - - maven-compiler-plugin - - 1.5 - 1.5 - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/Test*.java - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - package - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - attach-javadocs - package - - jar - - - - - - maven-assembly-plugin - - - project - - - - - - org.apache.maven.plugins - maven-gpg-plugin - - - sign-artifacts - verify - - sign - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - 1.0-beta-1 - - - enforce-versions - install - - enforce - - - - - [1.5,1.6) - - - - - - - - - - - junit - junit - 4.7 - test - - - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.3 - - - org.codehaus.mojo - findbugs-maven-plugin - 2.1 - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.6 - - - org.apache.maven.plugins - maven-jxr-plugin - 2.1 - - - org.apache.maven.plugins - maven-site-plugin - 2.0.1 - - doc/site - - - - - - - sonatype-repo - Sonatype Release Repo - http://oss.sonatype.org/content/repositories/sourceforge-releases/ - - - sonatype-repo - Sonatype Snapshot Repo - http://oss.sonatype.org/content/repositories/sourceforge-snapshots/ - - - opencsv.sf.net - scp://shell.sourceforge.net/home/groups/o/op/opencsv/htdocs - - - From a74774e8a68492c403230d88f9a92ed90d3d6aff Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Mon, 16 Apr 2012 17:12:45 +0200 Subject: [PATCH 12/13] Build on dev branch --- deploy/opencsv-2.3.jar | Bin 16805 -> 16804 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/deploy/opencsv-2.3.jar b/deploy/opencsv-2.3.jar index 9e2e2ac09d8b8f68b630dfa65b9687b328338ee5..62ad13b0ea3f7a70160bf752c24fcc8f89ba18bf 100644 GIT binary patch delta 1026 zcmZ45%($ePkvG7bnT3mifrEjevva~kUJcHU&Iu0ds#`wKo@l37zme;Zfr#sOhkp-y ztyEN2hMl}-Rr+Gd4zC`69+S+BpoR7MyE-0Joo_6z7QQ1KoEAQ3l5{iMNmf% z-f%C>VU??NJ(=k=`QyP`sb918@}{PgZ)`tX$#=opx;N8PvbIStV&BpwbMJmg5P$A{ z`o{`K&XqH67)CbRWUSn>MpOM|jm(AQ6Kd0oE`Dy1I@WP;*?0MWav`tPz3fojJ(-PB zjv46w$?A+sVA_XK8%$R*8iVM~8yF9>gBfL<^H{(PaXvnXh=yn|Ggzcff}au0m>~Hc zEH$}F(E=>6S22bO%#cy}#Rg_bYM+8=dZw4c3KsD-VS$K*n0J7UnS9^E7AzxgSq~9d zXk~#2-N}!vEJ4zf<*cQ}elRdFB$nz2cr!AIFvDYGvcI*onIt1vDmgzFUD^St2@V91 zSZ^KeCNHp-R{)ys02c-_B;XtYhPRG6jFTrSN=^Q0%>!0g>trO|$j-nJ%*Vi>4p+#) zu%vMjM4`QnG}yhdHquNPoM654Ir%3?+d}j=pI2FahK+&YEHAo#PCl?=2R{DEKWre1 zdD6K0nVA_Fns^u(Oi?V85(O)^v(*G!mSro=R3HHs`eVyKd4sKxJjhqyIHj2v03Dmm z&%j`UqQ7bKLtAGIpUcA4fP7w}2sBVp3l`QKpp@?*x#8CWMkWS^{Xl0qz?FmizaFGq ze)2jyeXx@r*hw?-sepxK>>)v7WiQRdtqm38oE)IdH@VlI2dsJyQ0j&rSgP7YVDbxl zMX)fBgEW)92~=2b@?U!%u)n-|zh+wlBU~8h5F->vxJ_Q@;0RWOB+Q@$=YafmaWbQ$ gAy|#WNqs(bpg9+T*cz?|8vG0AOte$1-^+E#K*a64!@Y-n zRw_@Hi=Dh?Rr+Gd4lkee5*e2+EpfVkZ%4<2s(sAQU*~?|_n8@6=vmjrrXoJY&|3Z%OASJ*$1om&E?H*wD?t zH1%+f1Lw*aD`s3#&|bV$&{Wkkc7{8T#OAY0W4_odYRo+L;?nEWoQ5^2T zfCQLsmYCs7GQxriZM)JhP28rHZVg%`xHde zQ@s>cu!xTd3q&N?yaQ~^P~fdWgURD+@$4Onzu(36h>HYb`DI6XrEWCJ|dBDOOfx=vT zU}1YcejS9XI6!I5fhUctpBWfeO*{+?rYOcsi-I);h|0pv%CwbcDwF^UYffHoD&OQ$@~lqCMf!wCqJ-t273WXm_ZiK0r|XCaq>b3d44oUO)j*PX4(Ljn!MId zAMB0$Kp}n=km||O_7D$S+DkL>XhVfKC;MyjP42OWczQNa>ZTr8s>(!Q@^gDdup!(I z(o7B}P+`5v7wmYze(>u3nr#h?IAJCR1|zupKtb$2d4Yo?SPhaegA$wr^24P`j)q_* d4kz{b)Pcra1Y&Er5|A-MlLH+6*d|$l1Oe*nI~D){ From 1115038bbdd9c7966dfde87e384266a5a9784d69 Mon Sep 17 00:00:00 2001 From: Johnathan Botha Date: Mon, 16 Apr 2012 18:05:48 +0200 Subject: [PATCH 13/13] Changing build info and building new JAR with updated version details... --- build.version | 6 +++--- deploy/{opencsv-2.3.jar => opencsv-2.5.jar} | Bin 16804 -> 16805 bytes 2 files changed, 3 insertions(+), 3 deletions(-) rename deploy/{opencsv-2.3.jar => opencsv-2.5.jar} (84%) diff --git a/build.version b/build.version index dab3d1a..1e82916 100644 --- a/build.version +++ b/build.version @@ -2,6 +2,6 @@ #Wed Aug 23 06:33:41 EST 2006 build.release.major=2 build.number=001 -build.user=sconway -build.release.minor=3 -build.date=2011/04/14 10\:57 +build.user=jokillsya +build.release.minor=5 +build.date=2012/04/16 10\:57 diff --git a/deploy/opencsv-2.3.jar b/deploy/opencsv-2.5.jar similarity index 84% rename from deploy/opencsv-2.3.jar rename to deploy/opencsv-2.5.jar index 62ad13b0ea3f7a70160bf752c24fcc8f89ba18bf..268624f082a152004e4399f9f3213d5b650d94c4 100644 GIT binary patch delta 966 zcmZ3|%(%3fkte{LnT3mifrEiz&V-3Pnw+yIOmMjO>d&q@6YcctH|kDWTl(sPXW`Tt zc7_+0Ec9&sx3^I6;MY6M&-v7LurE8aZik9FJMScJuUj9SZ)Lm@Ubw+XZs(#WTNa$O z*p&DC2e0_{=9Kcl!|(R6Nz93TwqTFaP8F@k-VoSzHy zC9*7PKnTDCMS$V0qy6Oh*76{;4_M1EOiG%kiHw6l>0X^pm#VantLYn{i*KRL>l2PC=yD9XhL7PaT&*FiXm1DJ{?IPj!# z^)mw_rHO}u!4$=CX;HAI08v?(Q5m)}Oob9aQO(KgZH44P+P`s1GcN$TEt#Kz!30Hn z^W+D%&S3W=2{XvTIUrw`Do$SLAkT;DrpX0%GE5u5GLzTZ>4W@m4=BQ~0#Z9!+8*pz z3ws$R9&M-y=VX6vzR5lIVE@hn%G}fg%T$>NOnz>!2r_}oL59h}1S+aG`GOq}*!f<) zU$d=&@g>Z}z+eP-8YpPpCogbt1gk+3W>A82K+eB3${2@9KC^b-uBW>)uRH$=W8ph|LHxP*=^rZ`IakiOVHnwLld*Ek z8qJqAG8d9hs7)`r__;yqm_*0HW#8rh$%VXD_p(EF=wwz#d8W?J$!d(sAj+Fj2Sime zngFTI>lu%*gXmJu`79t>jE^78R~HRo2Jvep1QNKf{&mNAoL1j{7n=c36@Z~*Fo0|6w~TSvRe3#`F@KWHt(l*2fA zqN3E~pVmAIoxpgjbuyA}WM^Oq=3`(`hwEZsSkkx%qR`$(8sw}P8yThyPO#Sbocxoc zZFxYV8-b#nd|*)rKK{u+Y#@g6q;d5#GczzW@h~u$q8KVA3RY}qs|nJcX)D82AORNn zW6M8zgRPJ}$W7lkrI{B1-IUDFz+i%+y=n48TW7Glk%Sp!;T!>mw~i%>Km!$dU_r+L zOr(