On 17 March 2014 17:26, Benedikt Ritter <brit...@apache.org> wrote:
> 2014-03-17 18:15 GMT+01:00 Gary Gregory <garydgreg...@gmail.com>:
>
>> On Mon, Mar 17, 2014 at 12:35 PM, Benedikt Ritter <brit...@apache.org
>> >wrote:
>>
>> > Hi all,
>> >
>> > is it sensible to fall back to UTF-8? Looks like an opportunity for bugs
>> to
>> > sneak in. I'd rather have:
>> >
>> >  public static CSVParser parse(final URL url, final Charset charset,
>> final
>> > CSVFormat format)
>> >
>> > where none of the params must be null, and:
>> >
>> >  public static CSVParser parse(final URL url, final CSVFormat format)
>> >
>> > which uses UTF-8. This would be more explicit IMHO.
>> >
>> > WDYT?
>> >
>>
>> IIRC the JRE uses the platform encoding if a charset is null for some APIs,
>> so we could do that as well.
>>
>
> Which is equally bad, IMHO. What is your opinion WRT default values?
> If you have a bug in your app that for what ever reason passes null instead
> of the charset you wanted it to pass, you're in trouble. That's why I think
> providing two distinct methods is the better option here.

I'm inclined to agree.
Defaulting null may make sense where there is a clear "best" choice
for the parameter.
But that is not really the case here for a charset - there is no
"correct" default for CSV files.

>
>>
>> Gary
>>
>>
>> > Benedikt
>> >
>> >
>> > 2014-03-17 1:50 GMT+01:00 <ggreg...@apache.org>:
>> >
>> > > Author: ggregory
>> > > Date: Mon Mar 17 00:50:55 2014
>> > > New Revision: 1578191
>> > >
>> > > URL: http://svn.apache.org/r1578191
>> > > Log:
>> > > The charset can be null and will default to UTF-8.
>> > >
>> > > Modified:
>> > >
>> > >
>> >
>> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
>> > >
>> > > Modified:
>> > >
>> >
>> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
>> > > URL:
>> > >
>> >
>> http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1578191&r1=1578190&r2=1578191&view=diff
>> > >
>> > >
>> >
>> ==============================================================================
>> > > ---
>> > >
>> >
>> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
>> > > (original)
>> > > +++
>> > >
>> >
>> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java
>> > > Mon Mar 17 00:50:55 2014
>> > > @@ -183,7 +183,7 @@ public final class CSVParser implements
>> > >       * @param url
>> > >       *            a URL. Must not be null.
>> > >       * @param charset
>> > > -     *            the charset for the resource. Must not be null.
>> > > +     *            the charset for the resource. If {@code null}, use
>> > > {@code UTF-8}.
>> > >       * @param format
>> > >       *            the CSVFormat used for CSV parsing. Must not be
>> null.
>> > >       * @return a new parser
>> > > @@ -194,7 +194,6 @@ public final class CSVParser implements
>> > >       */
>> > >      public static CSVParser parse(final URL url, final Charset
>> charset,
>> > > final CSVFormat format) throws IOException {
>> > >          Assertions.notNull(url, "url");
>> > > -        Assertions.notNull(charset, "charset");
>> > >          Assertions.notNull(format, "format");
>> > >
>> > >          return new CSVParser(new InputStreamReader(url.openStream(),
>> > >
>> > >
>> > >
>> >
>> >
>> > --
>> > http://people.apache.org/~britter/
>> > http://www.systemoutprintln.de/
>> > http://twitter.com/BenediktRitter
>> > http://github.com/britter
>> >
>>
>>
>>
>> --
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> Java Persistence with Hibernate, Second Edition<
>> http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
>
> --
> http://people.apache.org/~britter/
> http://www.systemoutprintln.de/
> http://twitter.com/BenediktRitter
> http://github.com/britter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to