Mayaa 1.1.34時点のソースにおいてJDK1.4.2からJava7で公開されている非互換情報に対して影響の有無を確認する。
結果として、動作上の非互換はないがソースレベルでは必須ではないものの2ヶ所の改修影響があった。
- 標準ライブラリがジェネリックス定義に(1.4.2 -> 5)
- デフォルトのロケールとしてリソースの書式化のためのロケールと、メニューやUIのためのロケールを個別に指定できるようになった(6 -> 7)
https://www.oracle.com/technetwork/java/javase/compatibility-137462.html
影響なし。
影響あり。
既存のソースで型パラメータの指定がない旨の警告が出る。
影響なし。
影響なし。
影響なし。 既存ソース内で記述されているクラスリテラルは大きく下記のバターン
- ロガーオブジェクトの取得時
- ファクトリオブジェクトの引数として指定する時
- TagHandlerでマーシャリングする時
- StringUtilsでメッセージを取得する時
影響なし。 現行ソースではファクトリ定義のXML内にクラス名を指定する箇所があるが、 現時点では影響のない記述となっている。
影響なし。
既存ソース内でSerializableなクラスで明示的にserialVersionUIDを指定していない箇所はない。
影響なし。
影響なし。
影響なし。 pom.xmlによる明示的なXercesへの依存関係があるため本件単体では影響なし。 Java7に向けてはXercesのバージョン互換チェックは必要。
影響なし。
ErrorHandler,EntityResolver,ContentHandler,DTDHandlerとしてnullを設定できるようになった。nullを設定するとデフォルトの設定が適用される。DefaultHandler#resolveEntityの例外宣言としてSAXExceptionに加えIOExceptionが増えた。
2について org.seasar.mayaa.impl.util.xml.XMLHandlerでDefaultHandler#resolveEntityをオーバーライドしているが、super実装を読んでいないため影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
https://www.oracle.com/technetwork/java/javase/compatibility-137541.html
影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
https://www.oracle.com/java/technologies/compatibility.html
影響なし。 影響のあるソースはコンパイラが検出するが、コンパイル結果としてエラーなしのため、影響なしと判断。
影響なし。
影響なし。
API: Language - Spec for java.lang.Float.parseFloat(String) and parseDouble(String) Updated to Document Exception
影響なし。
API: Language - java.lang.Character.isLowerCase/isUpperCase Methods Are Updated to Comply with the Specified Unicode Definition
影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
影響あり。
リソースの書式化のためのロケールと、メニューやUIのためのロケールをデフォルトのロケールとして個別に指定できるようになった。
DateFormatPool#borrowFormat にて Locale.getDefault()を呼び出しているため、リソースの書式化のためのロケールを明示するかどうかを決める必要あり。
影響なし。
影響なし。
影響なし。
ArrayListのiterator実装が変更になり、size()メソッドをオーバーライドしつつ、iterator()メソッドをオーバーライドしていない場合は、注意が必要。
TemplateBuilderImpl.java 内の AbsoluteCompareList および ReferenceCacheクラスにてArrayListを継承しているが、いずれも前述の条件を満たしていないため影響なし。
影響なし。
影響なし。 少なくとも既存コードにはジェネリクスの型推論を使用していないため。
影響なし。 少なくとも既存コードには可変引数を使用していないため。
影響なし。
影響なし。
影響なし。
影響なし。
API: Utilities - Updated sort behavior for Arrays and Collections may throw an IllegalArgumentException
影響なし。
Arrays.sort および Collections.sort にてComparableを満たさない要素をみつけた際にIllegalArgumentExceptionをスローするが、利用箇所なし。
影響なし。
影響なし。
API: Networking - Server Connection Shuts Down when Attempting to Read Data When http Response Code is -1
影響なし。
影響なし。
影響なし。
影響なし。
影響なし。
API: Internationalization - UTF-8 implementation is upated to conform to Corrigendum to Unicode 3.0.1
影響なし。