orangesignal / orangesignal-csv

CSV (comma-separated values) read and write library for Java.
http://orangesignal.github.io/orangesignal-csv
Apache License 2.0
43 stars 22 forks source link

Integer型の値がNullだと変換エラーで落ちる #34

Closed arachan closed 9 years ago

arachan commented 9 years ago

Orangesignal-csv 2.2.1を使っております。

CsvをBeanにしようとしているのですが、 csvファイルの数値部分が 何も書かれていない(NULL)だと変換エラーで落ちます。

例: id,name ,yusuke

@CsvEntity public name{  @CsvColumns(name=id) private Integer id;  @CsvCOlumns(name=name)  private String name; }

DBから吐かれるCSVの場合、 数値型の部分がNullというのもあり得るので、 変換できなければNullで格納して欲しいと思っております。

ちなみに@CsvColumnsのdefaultValueで逃げれないかと 思ってやってみましたが、 これも巧く動きませんでした。

例: @CsvEntity public name{ @CsvColumns(name=id,defaultValue="0") private Integer id; @CsvCOlumns(name=name) private String name; }

okuniyas commented 9 years ago

プリミティブ型以外の列の空文字でNPEがでますが、SimpleCsvValueConverter.java の 103行め、(str == null) を (str == null || str.length() == 0) とすることで、null となります。