feat: Java 21 modernization — worldwindx.applications - #21
feat: Java 21 modernization — worldwindx.applications#21devin-ai-integration[bot] wants to merge 3 commits into
Conversation
Original prompt from Jake
|
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Description of the Change
Applies conservative Java 21 pattern matching for
instanceofinworldwindx.applications.Changed files:
src/gov/nasa/worldwindx/applications/dataimporter/DataInstallerApp.javasrc/gov/nasa/worldwindx/applications/glider/GliderImageLayer.javasrc/gov/nasa/worldwindx/applications/sar/SaveTrackDialog.javaBefore/after counts for this package scope:
new Runnable(): 33 → 33new ActionListener(): 78 → 78new Callable(): 0 → 0new MouseListener(): 1 → 1new KeyListener(): 0 → 0new ChangeListener(): 13 → 13new PropertyChangeListener(): 19 → 19new WindowListener(): 0 → 0instanceoflocations: 172 → 172 (4 cast sites modernized)Verification:
ant -f release-build.xmlunder JDK 21: BUILD SUCCESSFULDevin session: https://app.devin.ai/sessions/36287b7c637242dba0a6a659737d5402
Devin Review verdict: local verification passed; no automated CI checks are configured on this fork.
Flagged for human review: listener-heavy SAR/dataimporter UI code, including
SAR2.javaandCloudCeilingPanel.java, was intentionally not converted because the migration plan requires preserving Swing callback/thissemantics unless each conversion is obviously safe.Why Should This Be In Core?
The WorldWindX applications ship with the repository and must continue compiling cleanly under the Java 21 retarget. This PR modernizes a small set of safe cast sites without changing UI event behavior or public API.
Benefits
Potential Drawbacks
Applicable Issues
N/A
Requested by: @jakexcosme
Devin Review