mygreen
mygreen
- ``@XlsSheet`` にて、SheetFinderを指定できるようにする。 - loadMultiples、saveMultiplesで、異なるPOJOを指定できるようにする。
Java9/Java10での動作確認を行う。
大量データを書き込みができるようにSXSSFが利用できるようにする。 ただし、SXSSFの制限である行の追加などの制限は同様にあってもよい。
バインディングに失敗したときに、デフォル値に設定するフラグを追加する。 ``` java @XlsConverter(defaultValue="1", failToDefault=true) private int no; ```
Commons JEXL を2.1 ⇒ 3.3へアップデート。 - [EL Injection](https://owasp.org/www-community/vulnerabilities/Expression_Language_Injection) として、任意のプログラウが実行可能なため、対策として、JEXL 3.3から導入された [JexlPermissions](https://commons.apache.org/proper/commons-jexl/apidocs/org/apache/commons/jexl3/introspection/JexlPermissions.html) によるEL式中で実行/参照可能なクラスなどを制限するようにした。 - Super Csv Annotationは、以下を許可する指定。 - パッケージ `com.github.mygreen.supercsv.expression.*` - 独自の関数群 `CustomFucttions` を使用するため。 - パッケージ : `com.github.mygreen.supercsv.cellprocessor.format.*` - `TextPrinter` によるバリデーションメッセージのEL式中で値を文字列として取得する。...
## 修正内容 Commons JEXL を2.1 ⇒ 3.4へアップデート。 - [EL Injection](https://owasp.org/www-community/vulnerabilities/Expression_Language_Injection) として、任意のプログラウが実行可能なため、対策として、JEXL 3.3から導入された [JexlPermissions](https://commons.apache.org/proper/commons-jexl/apidocs/org/apache/commons/jexl3/introspection/JexlPermissions.html) によるEL式中で実行/参照可能なクラスなどを制限するようにした。 - XlsMapperは、パッケージ `com.gh.mygreen.xlsmapper.*` 以下全てを許可する指定。 - 独自のCellConverter / FiledProcessosrを使うときは、システムプロパティ `xlsmapper.jexlPermissions` でカンマ区切りで指定する。 - EL式中の独自のカスタム関数の登録処理を `ExpressionLanguageJEXLImpl.java` に集約。 - 式言語の接頭語を...
MessageInterpolator でエラーメッセージを組み立てるときに、ELインジェクションの起点とならないように、再帰的評価対象外の設定を追加。 - EL式形式( `${...}`) の場合、再帰的評価しないフラグを追加。 - EL式はユーザからの入力値となり任意の値が設定されるが、再帰的に評価する必要はないため。 - 変数形式(`{...}`) の場合、再帰的評価しないフラグを追加。 - {`validatedValue`} は、ユーザからの入力値となり任意の値が設定されるが、再帰的に評価する必要はないため。 - 再帰評価の回数の上限値として、最大5回までを設定。 - メッセージソースの場合、設定によっては無限に再帰評価されてしまいStackOverflowErrorが発生するのを防ぐ。
Bean Validationが v3.0から Jakartaプロジェクトに変わったため対応を行う。 - パッケージ名の変更対応する。