diff --git a/.travis.yml b/.travis.yml
index 0eadda768..909b77aa1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,7 @@ language: java
# Configure the build to use Oracle JDK 9
jdk:
- - openjdk11
+ - openjdk21
# Install the Ant JUnit package, which is missing from the Travis CI environment. See the Travis documentation: https://docs.travis-ci.com/user/installing-dependencies/#Adding-APT-Packages
addons:
diff --git a/nbproject/project.properties b/nbproject/project.properties
index fab181db5..de8a7bdfc 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -56,8 +56,8 @@ javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
-javac.source=11
-javac.target=11
+javac.source=21
+javac.target=21
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
diff --git a/release-build.properties b/release-build.properties
index cde1c0e4d..689b78744 100644
--- a/release-build.properties
+++ b/release-build.properties
@@ -38,7 +38,7 @@ worldwind.classes.dir=${worldwind.build.dir}/classes
worldwind.doc.dir=${worldwind.build.dir}/doc
worldwind.jar.dir=${worldwind.build.dir}/jar
worldwind.test.results.dir=${worldwind.build.dir}/test-results
-worldwind.jdk=11
+worldwind.jdk=21
#worldwind.exclude.jackson=true
# MIL-STD-2525 package build properties
diff --git a/release-build.xml b/release-build.xml
index 9810ad732..7948d8878 100644
--- a/release-build.xml
+++ b/release-build.xml
@@ -126,7 +126,7 @@
-
+
diff --git a/src/gov/nasa/worldwind/terrain/CompoundElevationModel.java b/src/gov/nasa/worldwind/terrain/CompoundElevationModel.java
index 56eb6653f..a53675419 100644
--- a/src/gov/nasa/worldwind/terrain/CompoundElevationModel.java
+++ b/src/gov/nasa/worldwind/terrain/CompoundElevationModel.java
@@ -76,9 +76,9 @@ public boolean containsElevationModel(ElevationModel em)
// Check if the elevation model is a child of any CompoundElevationModels in our list.
for (ElevationModel child : this.elevationModels)
{
- if (child instanceof CompoundElevationModel)
+ if (child instanceof CompoundElevationModel compoundChild)
{
- if (((CompoundElevationModel) child).containsElevationModel(em))
+ if (compoundChild.containsElevationModel(em))
return true;
}
}
@@ -174,8 +174,8 @@ public void removeElevationModel(ElevationModel em)
for (ElevationModel child : this.elevationModels)
{
- if (child instanceof CompoundElevationModel)
- ((CompoundElevationModel) child).removeElevationModel(em);
+ if (child instanceof CompoundElevationModel compoundChild)
+ compoundChild.removeElevationModel(em);
}
this.elevationModels.remove(em);
@@ -743,9 +743,9 @@ public double getUnmappedLocalSourceElevation(Angle latitude, Angle longitude)
for (int i = this.elevationModels.size() - 1; i >= 0; i--)
{
ElevationModel em = this.elevationModels.get(i);
- if (em instanceof BasicElevationModel && em.isEnabled())
+ if (em instanceof BasicElevationModel basicElevationModel && em.isEnabled())
{
- double e = ((BasicElevationModel) em).getUnmappedLocalSourceElevation(latitude, longitude);
+ double e = basicElevationModel.getUnmappedLocalSourceElevation(latitude, longitude);
if (e != em.getMissingDataSignal())
{
elevation = e;
diff --git a/src/gov/nasa/worldwind/terrain/LocalElevationModel.java b/src/gov/nasa/worldwind/terrain/LocalElevationModel.java
index 2007d45c4..da3ad80a0 100644
--- a/src/gov/nasa/worldwind/terrain/LocalElevationModel.java
+++ b/src/gov/nasa/worldwind/terrain/LocalElevationModel.java
@@ -472,11 +472,11 @@ public void addElevations(ByteBuffer byteBuffer, Sector sector, int width, int h
Double minElevation = null;
Double maxElevation = null;
Object o = bufferParams.getValue(AVKey.ELEVATION_MIN);
- if (o instanceof Double)
- minElevation = (Double) o;
+ if (o instanceof Double min)
+ minElevation = min;
o = bufferParams.getValue(AVKey.ELEVATION_MAX);
- if (o instanceof Double)
- maxElevation = (Double) o;
+ if (o instanceof Double max)
+ maxElevation = max;
String dataType = bufferParams.getStringValue(AVKey.DATA_TYPE);
if (WWUtil.isEmpty(dataType))
diff --git a/src/gov/nasa/worldwind/terrain/RectangularTessellator.java b/src/gov/nasa/worldwind/terrain/RectangularTessellator.java
index 07ea6ba50..597536e8d 100644
--- a/src/gov/nasa/worldwind/terrain/RectangularTessellator.java
+++ b/src/gov/nasa/worldwind/terrain/RectangularTessellator.java
@@ -886,8 +886,8 @@ protected void renderVA(DrawContext dc, RectTile tile, int numTextureUnits)
gl.glClientActiveTexture(GL2.GL_TEXTURE0 + i);
gl.glEnableClientState(GL2.GL_TEXTURE_COORD_ARRAY);
Object texCoords = dc.getValue(AVKey.TEXTURE_COORDINATES);
- if (texCoords != null && texCoords instanceof DoubleBuffer)
- gl.glTexCoordPointer(2, GL.GL_FLOAT, 0, ((DoubleBuffer) texCoords).rewind());
+ if (texCoords instanceof DoubleBuffer doubleBuffer)
+ gl.glTexCoordPointer(2, GL.GL_FLOAT, 0, doubleBuffer.rewind());
else
gl.glTexCoordPointer(2, GL.GL_FLOAT, 0, tile.ri.texCoords.rewind());
}
@@ -1121,8 +1121,8 @@ protected void renderBoundingVolume(DrawContext dc, RectTile tile)
if (extent == null)
return;
- if (extent instanceof Renderable)
- ((Renderable) extent).render(dc);
+ if (extent instanceof Renderable renderable)
+ renderable.render(dc);
}
protected void renderTileID(DrawContext dc, RectTile tile)
@@ -1565,9 +1565,8 @@ protected Intersection[] intersect(RectTile tile, double elevation)
// Check whether the tile includes the intersection elevation - assume cylinder as Extent
// TODO: replace this test with a generic test against Extent
- if (tile.getExtent() instanceof Cylinder)
+ if (tile.getExtent() instanceof Cylinder cylinder)
{
- Cylinder cylinder = ((Cylinder) tile.getExtent());
if (!(globe.isPointAboveElevation(cylinder.getBottomCenter(), elevation)
^ globe.isPointAboveElevation(cylinder.getTopCenter(), elevation)))
return null;
diff --git a/src/gov/nasa/worldwind/terrain/SectorGeometryList.java b/src/gov/nasa/worldwind/terrain/SectorGeometryList.java
index e23cd94d6..e8f2b7a6d 100644
--- a/src/gov/nasa/worldwind/terrain/SectorGeometryList.java
+++ b/src/gov/nasa/worldwind/terrain/SectorGeometryList.java
@@ -102,8 +102,8 @@ public void beginRendering(DrawContext dc) {
}
// TODO: add the beginRendering interface to Tessellator in order to eliminate this type test
- if (dc.getGlobe().getTessellator() instanceof RectangularTessellator) {
- ((RectangularTessellator) dc.getGlobe().getTessellator()).beginRendering(dc);
+ if (dc.getGlobe().getTessellator() instanceof RectangularTessellator tessellator) {
+ tessellator.beginRendering(dc);
}
}
@@ -120,8 +120,8 @@ public void endRendering(DrawContext dc) {
throw new IllegalStateException(message);
}
- if (dc.getGlobe().getTessellator() instanceof RectangularTessellator) {
- ((RectangularTessellator) dc.getGlobe().getTessellator()).endRendering(dc);
+ if (dc.getGlobe().getTessellator() instanceof RectangularTessellator tessellator) {
+ tessellator.endRendering(dc);
}
}
diff --git a/src/gov/nasa/worldwind/terrain/WCSElevationModel.java b/src/gov/nasa/worldwind/terrain/WCSElevationModel.java
index 615d3ab92..d550d7834 100644
--- a/src/gov/nasa/worldwind/terrain/WCSElevationModel.java
+++ b/src/gov/nasa/worldwind/terrain/WCSElevationModel.java
@@ -400,9 +400,9 @@ protected void downloadElevations(WMSBasicElevationModel.ElevationCompositionTil
public void getRestorableStateForAVPair(String key, Object value,
RestorableSupport rs, RestorableSupport.StateObject context)
{
- if (value instanceof URLBuilder)
+ if (value instanceof URLBuilder urlBuilder)
{
- rs.addStateValueAsString(context, AVKey.WCS_VERSION, ((URLBuilder) value).serviceVersion);
+ rs.addStateValueAsString(context, AVKey.WCS_VERSION, urlBuilder.serviceVersion);
}
else if (!(value instanceof WCS100DescribeCoverage))
{
diff --git a/src/gov/nasa/worldwind/terrain/WMSBasicElevationModel.java b/src/gov/nasa/worldwind/terrain/WMSBasicElevationModel.java
index 0d5443758..f6baf995f 100644
--- a/src/gov/nasa/worldwind/terrain/WMSBasicElevationModel.java
+++ b/src/gov/nasa/worldwind/terrain/WMSBasicElevationModel.java
@@ -537,9 +537,9 @@ protected boolean isDeleteOnExit(File outFile)
public void getRestorableStateForAVPair(String key, Object value,
RestorableSupport rs, RestorableSupport.StateObject context)
{
- if (value instanceof URLBuilder)
+ if (value instanceof URLBuilder urlBuilder)
{
- rs.addStateValueAsString(context, "wms.Version", ((URLBuilder) value).wmsVersion);
+ rs.addStateValueAsString(context, "wms.Version", urlBuilder.wmsVersion);
rs.addStateValueAsString(context, "wms.Crs", ((URLBuilder) value).crs);
}
else