You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Devin Review verdict: local verification passed; no automated CI checks are configured on this fork.
Flagged for human review: the many remaining anonymous Swing listeners/Runnables in examples are intentionally left unchanged because the package includes UI/event-thread examples where this binding and callback semantics should be reviewed case-by-case.
Why Should This Be In Core?
The examples compile with the core distribution and should remain source-compatible with the Java 21 retarget. This PR removes redundant casts in safe spots while avoiding broad UI callback refactors.
Benefits
Modernizes straightforward example cast paths.
Keeps the Wave 4 examples/applications split atomic.
Maintains the existing full JDK 21 release-build test profile.
Potential Drawbacks
Most listener-heavy example code remains intentionally unchanged.
Migrate COG-GTM/WorldWindJava from Java 11 to Java 21 LTS. This is a federal-grade, zero-breakage migration with atomic per-package PRs, full test verification before and after, and a rollup audit document. Use parallel child sessions to accelerate. All PRs target the fork's develop branch.
#``# PHASE 0: Pre-Migration Baseline (Sequential — MUST complete before anything else)
#``#``# Step 0.1: Capture Pre-Migration Baseline Metrics
Before ANY changes, on the develop branch with JDK 11:
I'll be helping with this pull request! Here's what you should know:
✅ I will automatically:
Address comments on this PR that start with 'DevinAI' or '@devin'.
Look at CI failures and help fix them
Note: I can only respond to comments from users who have write access to this repository.
⚙️ Control Options:
Disable automatic comment and CI monitoring
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of the Change
Applies conservative Java 21 pattern matching for
instanceofin theworldwindx.examplesandworldwindx.performanceexample packages.Changed files:
src/gov/nasa/worldwindx/examples/BulkDownloadPanel.javasrc/gov/nasa/worldwindx/examples/KeepingObjectsInView.javasrc/gov/nasa/worldwindx/examples/ScreenSelection.javasrc/gov/nasa/worldwindx/examples/WorldWindDiagnostics.javaBefore/after counts for this package scope:
new Runnable(): 93 → 93new ActionListener(): 94 → 94new Callable(): 0 → 0new MouseListener(): 1 → 1new KeyListener(): 0 → 0new ChangeListener(): 47 → 47new PropertyChangeListener(): 16 → 16new WindowListener(): 0 → 0instanceoflocations: 214 → 214 (7 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: the many remaining anonymous Swing listeners/Runnables in examples are intentionally left unchanged because the package includes UI/event-thread examples where
thisbinding and callback semantics should be reviewed case-by-case.Why Should This Be In Core?
The examples compile with the core distribution and should remain source-compatible with the Java 21 retarget. This PR removes redundant casts in safe spots while avoiding broad UI callback refactors.
Benefits
Potential Drawbacks
Applicable Issues
N/A
Requested by: @jakexcosme
Devin Review