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
Applies Java 21 pattern matching for instanceof in the top-level gov.nasa.worldwind package and small helper packages (avlist, drag, exception, pick, poi, tracks).
Devin Review verdict: local verification passed; no automated CI checks are configured on this fork.
Flagged for human review: existing anonymous Runnable/ActionListener instances were left unchanged because this PR focuses on safe type-pattern modernization only; no behavior-affecting SAM conversions were made in this scope.
Why Should This Be In Core?
This keeps the core WorldWind API source aligned with the JDK 21 retarget while preserving public API compatibility. The changes remove redundant casts without altering method signatures, inheritance, or runtime behavior.
Benefits
Uses standard Java 21 pattern matching to reduce cast boilerplate.
Keeps modernization atomic to root/small helper packages.
Maintains the existing test profile under JDK 21.
Potential Drawbacks
No functional behavior changes are intended.
Remaining anonymous classes are intentionally deferred/flagged rather than converted speculatively.
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 Java 21 pattern matching for
instanceofin the top-levelgov.nasa.worldwindpackage and small helper packages (avlist,drag,exception,pick,poi,tracks).Changed files:
src/gov/nasa/worldwind/AbstractSceneController.javasrc/gov/nasa/worldwind/BasicFactory.javasrc/gov/nasa/worldwind/BasicModel.javasrc/gov/nasa/worldwind/BasicSceneController.javasrc/gov/nasa/worldwind/avlist/AVListImpl.javasrc/gov/nasa/worldwind/drag/DraggableSupport.javaBefore/after counts for this package scope:
new Runnable(): 5 → 5new ActionListener(): 1 → 1new Callable(): 0 → 0new MouseListener(): 0 → 0new KeyListener(): 0 → 0new ChangeListener(): 0 → 0new PropertyChangeListener(): 0 → 0new WindowListener(): 0 → 0instanceoflocations: 19 → 19 (16 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: existing anonymous
Runnable/ActionListenerinstances were left unchanged because this PR focuses on safe type-pattern modernization only; no behavior-affecting SAM conversions were made in this scope.Why Should This Be In Core?
This keeps the core WorldWind API source aligned with the JDK 21 retarget while preserving public API compatibility. The changes remove redundant casts without altering method signatures, inheritance, or runtime behavior.
Benefits
Potential Drawbacks
Applicable Issues
N/A
Requested by: @jakexcosme
Devin Review