[jdk8u-dev] RFR: 8274893: Update java.desktop classes to use try-with-resources

Timofei Pushkin tpushkin at openjdk.org
Mon Sep 1 07:42:11 UTC 2025


Backport of [JDK-8274893](https://bugs.openjdk.org/browse/JDK-8274893) for parity with Oracle's JDK 8u461.

The first commit is a cherry-pick of the backport to JDK 11 with conflicts unresolved, the second resolves the conflicts, the rest resolve issues uncaught by git.

Resolved:
- `jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java`
  - Missing JDK-8271456: `"ISO-8859-1"` string is used instead of `ISO_8859_1` enum constant
  - Missing JDK-8041679: `StringBuffer` is used instead of `StringBuilder`
- `jdk/src/share/classes/javax/swing/text/html/HTMLEditorKit.java`
  - Missing JDK-8271456: `"ISO-8859-1"` string is used instead of `ISO_8859_1` enum constant
- `jdk/src/share/classes/com/sun/media/sound/StandardMidiFileWriter.java`
  - Missing JDK-8143909: no `Objects.requireNonNull(...)` in this version
- `jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java`
  - Missing JDK-8054834: imports from `sun.font` package are still needed in this file
- `jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java`
  - Missing JDK-8080835: use `IOUtils.readAllBytes(InputStream is)` instead of the missing `InputStream.readAllBytes()`
- Missing JDK-7196163: try-with-resources cannot be used with pre-existing variables — fell back to try-finally in such cases

Testing: GitHub CI, `jdk_imageio` test group locally (headless linux/arm64)

-------------

Commit messages:
 - Use IOUtils.readAllBytes(...)
 - Fall back to try-finally where pre-existing variables are used
 - Bring back required imports
 - Resolve conflicts
 - 8274893: Update java.desktop classes to use try-with-resources

Changes: https://git.openjdk.org/jdk8u-dev/pull/686/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk8u-dev&pr=686&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8274893
  Stats: 205 lines in 23 files changed: 32 ins; 79 del; 94 mod
  Patch: https://git.openjdk.org/jdk8u-dev/pull/686.diff
  Fetch: git fetch https://git.openjdk.org/jdk8u-dev.git pull/686/head:pull/686

PR: https://git.openjdk.org/jdk8u-dev/pull/686


More information about the jdk8u-dev mailing list