This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 8f2840270923b5f8dd0bfa2f4fa20a80c54be954 Author: Martin Desruisseaux <[email protected]> AuthorDate: Thu Oct 15 18:02:31 2026 +0200 Documentation: uniformize the reminder about the workaround while waiting for JEP 513. --- .../main/org/apache/sis/console/IdentifierCommand.java | 5 ++--- .../main/org/apache/sis/coverage/Category.java | 3 +-- .../org/apache/sis/coverage/grid/GridCoverage2D.java | 2 +- .../sis/coverage/grid/ValuesAtPointIterator.java | 11 +++++++---- .../main/org/apache/sis/image/OverviewImage.java | 13 ++++++++++--- .../main/org/apache/sis/image/SourceAlignedImage.java | 8 ++++---- .../iso/extent/NotSpatioTemporalException.java | 5 ++--- .../referencing/gazetteer/GeohashReferenceSystem.java | 7 +++---- .../gazetteer/MilitaryGridReferenceSystem.java | 18 ++++++++---------- .../main/org/apache/sis/geometry/Envelope2D.java | 3 +-- .../apache/sis/parameter/MapProjectionDescriptor.java | 5 ++--- .../sis/referencing/crs/DefaultProjectedCRS.java | 5 ++--- .../apache/sis/referencing/cs/DefaultCompoundCS.java | 5 ++--- .../referencing/operation/DefaultOperationMethod.java | 5 ++--- .../operation/DefaultPassThroughOperation.java | 5 +++-- .../operation/projection/AlbersEqualArea.java | 13 +++++-------- .../operation/projection/AzimuthalEquidistant.java | 5 ++--- .../operation/projection/CassiniSoldner.java | 5 ++--- .../operation/projection/CylindricalEqualArea.java | 13 +++++-------- .../operation/projection/EquidistantCylindrical.java | 13 +++++-------- .../projection/LambertAzimuthalEqualArea.java | 13 +++++-------- .../operation/projection/LambertConicConformal.java | 13 +++++-------- .../sis/referencing/operation/projection/Mercator.java | 13 +++++-------- .../projection/ModifiedAzimuthalEquidistant.java | 12 +++++------- .../referencing/operation/projection/Mollweide.java | 7 +++---- .../operation/projection/ObliqueMercator.java | 12 +++++------- .../operation/projection/ObliqueStereographic.java | 12 +++++------- .../referencing/operation/projection/Orthographic.java | 12 +++++------- .../operation/projection/PolarStereographic.java | 12 +++++------- .../referencing/operation/projection/Polyconic.java | 12 +++++------- .../sis/referencing/operation/projection/Robinson.java | 7 +++---- .../operation/projection/SatelliteTracking.java | 12 +++++------- .../referencing/operation/projection/Sinusoidal.java | 12 +++++------- .../operation/projection/TransverseMercator.java | 7 +++---- .../sis/referencing/operation/provider/Affine.java | 5 ++--- .../sis/referencing/operation/projection/NoOp.java | 15 ++++++--------- .../operation/transform/ProjectiveTransformTest.java | 5 ++++- .../sis/storage/isobmff/base/IdentifiedMediaData.java | 5 ++--- .../sis/storage/geoheif/SelfConsistencyTest.java | 5 +++-- .../sis/storage/geotiff/SelfConsistencyTest.java | 5 +++-- .../apache/sis/storage/netcdf/SelfConsistencyTest.java | 7 +++++-- .../org/apache/sis/storage/DataStoreException.java | 4 ++-- .../sis/storage/UnsupportedStorageException.java | 5 ++--- .../apache/sis/storage/esri/BILConsistencyTest.java | 10 ++++------ .../apache/sis/storage/esri/BIPConsistencyTest.java | 10 ++++------ .../apache/sis/storage/esri/BSQConsistencyTest.java | 10 ++++------ .../apache/sis/storage/image/SelfConsistencyTest.java | 10 ++++------ .../sis/storage/test/CoverageReadConsistency.java | 6 ++---- .../util/internal/shared/LocalizedParseException.java | 16 ++++++++-------- .../test/org/apache/sis/test/Printer.java | 5 ++--- .../org/apache/sis/storage/geopackage/GpkgStore.java | 5 ++--- .../org/apache/sis/storage/geopackage/Initializer.java | 5 ++--- 52 files changed, 194 insertions(+), 244 deletions(-) diff --git a/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/IdentifierCommand.java b/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/IdentifierCommand.java index b4c69abf1e..7c52f8eac1 100644 --- a/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/IdentifierCommand.java +++ b/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/IdentifierCommand.java @@ -90,10 +90,9 @@ final class IdentifierCommand extends FormattedOutputCommand { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static EnumSet<Option> options() { final EnumSet<Option> options = MetadataCommand.options(); options.remove(Option.TIMEZONE); diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/Category.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/Category.java index 1757c17de8..e3e9bd74c9 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/Category.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/Category.java @@ -311,8 +311,7 @@ public class Category implements LenientComparable, Serializable { * minimum and maximum. For linear and logarithmic functions, minimum and maximum are always at * the bounding input values, so we are using a very simple algorithm for now. * - * Note: we could move this code in ConvertedRange constructor if RFE #4093999 - * ("Relax constraint on placement of this()/super() call in constructors") was fixed. + * Note: we can move this code in ConvertedRange constructor after upgrade to JDK25. */ final NumberRange<?> r = original.range; boolean minIncluded = r.isMinIncluded(); diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java index 2b16babc7a..1c4ac07f85 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java @@ -237,7 +237,7 @@ public class GridCoverage2D extends GridCoverage { public GridCoverage2D(GridGeometry domain, final List<? extends SampleDimension> range, RenderedImage data) { /* * The complex nesting of method calls below is a workaround - * while waiting for JEP 447: Statements before super(…). + * while waiting for JEP 513: Flexible Constuctor Bodies. */ super(domain = addExtentIfAbsent(domain, data = unwrapIfSameSize(data)), defaultIfAbsent(range, data, ImageUtilities.getNumBands(data))); diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ValuesAtPointIterator.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ValuesAtPointIterator.java index 17ebe40537..ad04d73a05 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ValuesAtPointIterator.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ValuesAtPointIterator.java @@ -23,6 +23,7 @@ import java.util.function.Consumer; import java.util.function.IntFunction; import java.awt.image.Raster; import java.awt.image.RenderedImage; +import org.apache.sis.util.Workaround; import org.apache.sis.util.internal.shared.Strings; import static org.apache.sis.coverage.grid.GridCoverage.BIDIMENSIONAL; @@ -382,8 +383,9 @@ abstract class ValuesAtPointIterator implements Spliterator<double[]> { } /** - * Workaround for RFE #4093999 ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ + @Workaround(library="JDK", version="11", fixed="25") private Slices(final GridCoverage coverage, final long[] nearestXY, final int limitOfXY, @@ -403,7 +405,7 @@ abstract class ValuesAtPointIterator implements Spliterator<double[]> { * of applying the inverse of the "grid to CRS" transform on user supplied "real world" coordinates, * then resolving wraparounds. This constructor rounds these grid coordinates to nearest integers. * - * @todo Retrofit in above constructor after RFE #4093999. + * @todo Retrofit in above constructor after upgrade to JDK25. * * @param coverage the coverage which will be evaluated. * @param gridCoords the grid coordinates as floating-point numbers. @@ -582,8 +584,9 @@ changeOfSlice: while (numPoints != 0) { } /** - * Workaround for RFE #4093999 ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ + @Workaround(library="JDK", version="11", fixed="25") private Image(final RenderedImage image, final long[] nearestXY, final int limitOfXY, @@ -603,7 +606,7 @@ changeOfSlice: while (numPoints != 0) { /** * Creates a new iterator for the specified image. * - * @todo Retrofit in above constructor after RFE #4093999. + * @todo Retrofit in above constructor after upgrade to JDK25. * * @param parent the parent iterator from which to inherit the grid coordinates. * @param limitOfXY index after the last coordinate of the last point to evaluate. diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/OverviewImage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/OverviewImage.java index 1c381c7e96..83d2063690 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/OverviewImage.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/OverviewImage.java @@ -24,6 +24,7 @@ import java.awt.image.RenderedImage; import java.awt.image.ImagingOpException; import org.apache.sis.feature.internal.Resources; import org.apache.sis.util.Disposable; +import org.apache.sis.util.Workaround; import org.apache.sis.util.internal.shared.Numerics; import org.apache.sis.image.internal.shared.ImageUtilities; @@ -69,7 +70,10 @@ final class OverviewImage extends ComputedImage { this(targetBounds(ImageUtilities.getBounds(source)), source); } - /** Workaround for RFE #4093999 ("Relax constraint on placement of this()/super() call in constructors"). */ + /** + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. + */ + @Workaround(library="JDK", version="11", fixed="25") private static Rectangle targetBounds(final Rectangle bounds) { bounds.x >>= 1; // Round toward negative infinity. bounds.y >>= 1; @@ -78,10 +82,13 @@ final class OverviewImage extends ComputedImage { return bounds; } - /** Workaround for RFE #4093999 ("Relax constraint on placement of this()/super() call in constructors"). */ + /** + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. + */ + @Workaround(library="JDK", version="11", fixed="25") private OverviewImage(final Rectangle bounds, final RenderedImage source) { super(ImageLayout.DEFAULT.createCompatibleSampleModel(source, bounds), source); - offsetX = (byte) (source.getMinX() & 1); // TODO: move before `targetBounds(…)` after RFE #4093999. + offsetX = (byte) (source.getMinX() & 1); // TODO: move before `targetBounds(…)` on JDK25. offsetY = (byte) (source.getMinY() & 1); minX = bounds.x; minY = bounds.y; diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/SourceAlignedImage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/SourceAlignedImage.java index 21265e35e1..7d215a7886 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/SourceAlignedImage.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/SourceAlignedImage.java @@ -79,9 +79,9 @@ abstract class SourceAlignedImage extends ComputedImage { /** * Gets the sample model, making sure it has the right size. - * This is a workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private static SampleModel getSampleModel(final RenderedImage source) { final SampleModel sm = source.getSampleModel(); final int width = source.getTileWidth(); @@ -123,9 +123,9 @@ abstract class SourceAlignedImage extends ComputedImage { /** * Creates the sample model. - * This is a workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private static SampleModel createSampleModel(final ColorModel colorModel, final SampleModel original) { final SampleModel sm = colorModel.createCompatibleSampleModel(original.getWidth(), original.getHeight()); return original.equals(sm) ? original : sm; diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/NotSpatioTemporalException.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/NotSpatioTemporalException.java index 229117c07e..5de00fad26 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/NotSpatioTemporalException.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/NotSpatioTemporalException.java @@ -75,10 +75,9 @@ public class NotSpatioTemporalException extends TransformException { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static String message(final int type, final CoordinateReferenceSystem crs) { return (crs != null) ? Resources.format(Resources.Keys.MissingDimension_2, type, crs.getName()) : Errors.format(Errors.Keys.UnspecifiedCRS); diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java index 5d8f4569c9..85437b2411 100644 --- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java +++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java @@ -194,12 +194,11 @@ public class GeohashReferenceSystem extends ReferencingByIdentifiers { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static LocationType[] types() { - final ModifiableLocationType gzd = new ModifiableLocationType(IDENTIFIER); + final var gzd = new ModifiableLocationType(IDENTIFIER); gzd.addIdentification(Vocabulary.formatInternational(Vocabulary.Keys.Code)); return new LocationType[] {gzd}; } diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java index b830018494..3acbfb6109 100644 --- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java +++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java @@ -289,10 +289,9 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Map<String,?> properties() { Party party; try { @@ -306,14 +305,13 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static LocationType[] types() { - final ModifiableLocationType gzd = new ModifiableLocationType(Resources.formatInternational(Resources.Keys.GridZoneDesignator)); - final ModifiableLocationType square = new ModifiableLocationType(Resources.formatInternational(Resources.Keys.SquareIdentifier100)); - final ModifiableLocationType coord = new ModifiableLocationType(Resources.formatInternational(Resources.Keys.GridCoordinates)); + final var gzd = new ModifiableLocationType(Resources.formatInternational(Resources.Keys.GridZoneDesignator)); + final var square = new ModifiableLocationType(Resources.formatInternational(Resources.Keys.SquareIdentifier100)); + final var coord = new ModifiableLocationType(Resources.formatInternational(Resources.Keys.GridCoordinates)); gzd .addIdentification(Vocabulary.formatInternational(Vocabulary.Keys.Code)); coord .addIdentification(Vocabulary.formatInternational(Vocabulary.Keys.Coordinate)); square.addParent(gzd); @@ -332,7 +330,7 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers { // No need to synchronized; not a big deal if computed twice. short origin = south ? southOffset : northOffset; if (origin == 0) { - final DirectPosition2D position = new DirectPosition2D( + final var position = new DirectPosition2D( south ? TransverseMercator.Zoner.SOUTH_BOUNDS : TransverseMercator.Zoner.NORTH_BOUNDS, 0); double northing = datum.universal(position.x * 1.01, position.y).getConversionFromBase() diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/Envelope2D.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/Envelope2D.java index 569f5ba933..02f22c2841 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/Envelope2D.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/Envelope2D.java @@ -154,8 +154,7 @@ public class Envelope2D extends Rectangle2D.Double implements Envelope, Emptiabl final DirectPosition upperCorner) { /* - * JDK constraint: The call to ensureDimensionMatch(…) should have been first if Sun/Oracle - * fixed RFE #4093999 (Relax constraint on placement of this()/super() call in constructors). + * JDK constraint: The call to ensureDimensionMatch(…) should be first after upgrade to JDK25. */ this(lowerCorner.getCoordinate(0), lowerCorner.getCoordinate(1), upperCorner.getCoordinate(0), upperCorner.getCoordinate(1)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/MapProjectionDescriptor.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/MapProjectionDescriptor.java index 02b5a315ac..22bd377cd2 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/MapProjectionDescriptor.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/MapProjectionDescriptor.java @@ -88,10 +88,9 @@ final class MapProjectionDescriptor extends DefaultParameterDescriptorGroup { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static ParameterDescriptor<?>[] addAxisLengths(final ParameterDescriptor<?>[] parameters) { final ParameterDescriptor<?>[] ext = new ParameterDescriptor<?>[parameters.length + 2]; ext[0] = MapProjection.SEMI_MAJOR; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultProjectedCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultProjectedCRS.java index 7e3209d2d1..29262daf14 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultProjectedCRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultProjectedCRS.java @@ -141,10 +141,9 @@ public class DefaultProjectedCRS extends AbstractDerivedCRS implements Projected } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static GeodeticCRS checkDimensions(final GeodeticCRS baseCRS, final CartesianCS derivedCS) { int n = baseCRS.getCoordinateSystem().getDimension(); if (derivedCS != null) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java index 5d08069852..3d299759e3 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java @@ -124,12 +124,11 @@ public class DefaultCompoundCS extends AbstractCS { } /** - * This is a work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. * * @param components the coordinate systems. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private DefaultCompoundCS(final CoordinateSystem[] components, final CoordinateSystemAxis[] axes) { super(Map.of(NAME_KEY, AxisDirections.appendTo(new StringBuilder(60).append("Compound CS"), axes)), axes); this.components = List.of(components); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java index f07ecb87e9..a517fd61c5 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java @@ -241,10 +241,9 @@ public class DefaultOperationMethod extends AbstractIdentifiedObject implements } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Map<String,?> getProperties(final MathTransform transform) { ArgumentChecks.ensureNonNull("transform", transform); if (transform instanceof Parameterized) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java index 2320808efa..d99c28df7d 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java @@ -36,6 +36,7 @@ import org.apache.sis.referencing.operation.transform.MathTransforms; import org.apache.sis.referencing.operation.transform.PassThroughTransform; import org.apache.sis.metadata.internal.shared.ImplementationHelper; import org.apache.sis.util.ArraysExt; +import org.apache.sis.util.Workaround; import org.apache.sis.util.ComparisonMode; import org.apache.sis.util.resources.Errors; import org.apache.sis.io.wkt.FormattableObject; @@ -124,9 +125,9 @@ public class DefaultPassThroughOperation extends AbstractCoordinateOperation imp } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ + @Workaround(library="JDK", version="11", fixed="25") private DefaultPassThroughOperation(final Map<String,?> properties, final CoordinateReferenceSystem sourceCRS, final CoordinateReferenceSystem targetCRS, diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java index 4df06a0993..28842bc361 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java @@ -88,13 +88,11 @@ public class AlbersEqualArea extends AuthalicConversion { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @SuppressWarnings("fallthrough") - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.FALSE_EASTING, EASTING_AT_FALSE_ORIGIN); roles.put(ParameterRole.FALSE_NORTHING, NORTHING_AT_FALSE_ORIGIN); roles.put(ParameterRole.CENTRAL_MERIDIAN, LONGITUDE_OF_FALSE_ORIGIN); @@ -102,10 +100,9 @@ public class AlbersEqualArea extends AuthalicConversion { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private AlbersEqualArea(final Initializer initializer) { super(initializer, null); double φ0 = initializer.getAndStore(LATITUDE_OF_FALSE_ORIGIN); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AzimuthalEquidistant.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AzimuthalEquidistant.java index 100edba838..babd0a6b8f 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AzimuthalEquidistant.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AzimuthalEquidistant.java @@ -80,10 +80,9 @@ public class AzimuthalEquidistant extends NormalizedProjection { final double sinφ0, cosφ0; /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); roles.put(ParameterRole.LATITUDE_OF_CONFORMAL_SPHERE_RADIUS, LATITUDE_OF_ORIGIN); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java index 23770b1fd0..8c8d44266f 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java @@ -141,10 +141,9 @@ public class CassiniSoldner extends MeridianArcBased { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, new Variant[] {Variant.HYPERBOLIC}, Variant.DEFAULT); final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java index 737033915a..92e86e9f0a 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java @@ -130,14 +130,12 @@ public class CylindricalEqualArea extends AuthalicConversion { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @SuppressWarnings("fallthrough") - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), Variant.ELLIPSOIDAL); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); /* * "Longitude of origin" and "scale factor" are intentionally omitted from this map because they will * be handled in a special way. See comments in Mercator.initializer(…) method for more details. @@ -150,10 +148,9 @@ public class CylindricalEqualArea extends AuthalicConversion { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private CylindricalEqualArea(final Initializer initializer) { super(initializer, null); variant = (Variant) initializer.variant; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/EquidistantCylindrical.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/EquidistantCylindrical.java index bbe96dbf74..b251b01ee6 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/EquidistantCylindrical.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/EquidistantCylindrical.java @@ -83,13 +83,11 @@ public class EquidistantCylindrical extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @SuppressWarnings("fallthrough") - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.FALSE_EASTING, Equirectangular.FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, Equirectangular.FALSE_NORTHING); roles.put(ParameterRole.CENTRAL_MERIDIAN, Equirectangular.LONGITUDE_OF_ORIGIN); @@ -97,10 +95,9 @@ public class EquidistantCylindrical extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private EquidistantCylindrical(final Initializer initializer) { super(initializer, null); final double φ1 = toRadians(initializer.getAndStore(Equirectangular.STANDARD_PARALLEL)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertAzimuthalEqualArea.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertAzimuthalEqualArea.java index e386699b22..1bed4a2db2 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertAzimuthalEqualArea.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertAzimuthalEqualArea.java @@ -80,13 +80,11 @@ public class LambertAzimuthalEqualArea extends AuthalicConversion { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @SuppressWarnings("fallthrough") - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, LONGITUDE_OF_ORIGIN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); @@ -94,10 +92,9 @@ public class LambertAzimuthalEqualArea extends AuthalicConversion { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private LambertAzimuthalEqualArea(final Initializer initializer) { super(initializer, null); final double φ0 = toRadians(initializer.getAndStore(LATITUDE_OF_ORIGIN)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java index 7bfa5750aa..37b78a4d7e 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java @@ -180,14 +180,12 @@ public class LambertConicConformal extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @SuppressWarnings("fallthrough") - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), Variant.TWO_PARALLELS); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); /* * "Scale factor" is not formally a "Lambert Conformal (2SP)" argument, but we accept it * anyway for all Lambert projections since it may be used in some Well Known Text (WKT). @@ -227,10 +225,9 @@ public class LambertConicConformal extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private LambertConicConformal(final Initializer initializer) { super(initializer); final Variant variant = (Variant) initializer.variant; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mercator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mercator.java index 4884e1a17e..7259120223 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mercator.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mercator.java @@ -183,14 +183,12 @@ public class Mercator extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @SuppressWarnings("fallthrough") - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), Variant.TWO_PARALLELS); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); /* * The "scale factor" is not formally a "Mercator 2SP" argument, but we accept it anyway * for all Mercator projections because it may be used in some Well Known Text (WKT). @@ -235,10 +233,9 @@ public class Mercator extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private Mercator(final Initializer initializer) { super(initializer); variant = (Variant) initializer.variant; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ModifiedAzimuthalEquidistant.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ModifiedAzimuthalEquidistant.java index 2ec28b7902..8af43684db 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ModifiedAzimuthalEquidistant.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ModifiedAzimuthalEquidistant.java @@ -80,12 +80,11 @@ public class ModifiedAzimuthalEquidistant extends AzimuthalEquidistant { private final double Bp; /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, LONGITUDE_OF_ORIGIN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); @@ -108,10 +107,9 @@ public class ModifiedAzimuthalEquidistant extends AzimuthalEquidistant { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private ModifiedAzimuthalEquidistant(final Initializer initializer) { super(initializer); var ν0 = initializer.rν2(sinφ0).sqrt().inverse(); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mollweide.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mollweide.java index 9ed01b9ed5..8fb004b3ff 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mollweide.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Mollweide.java @@ -70,12 +70,11 @@ public class Mollweide extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, CENTRAL_MERIDIAN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueMercator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueMercator.java index 68009a4470..c419bc23e8 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueMercator.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueMercator.java @@ -151,13 +151,12 @@ public class ObliqueMercator extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), Variant.DEFAULT); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); // ParameterRole.CENTRAL_MERIDIAN intentionally excluded. It will be handled in the constructor instead. roles.put(ParameterRole.SCALE_FACTOR, SCALE_FACTOR); roles.put(ParameterRole.FALSE_EASTING, variant.center ? EASTING_AT_CENTRE : FALSE_EASTING); @@ -166,10 +165,9 @@ public class ObliqueMercator extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private ObliqueMercator(final Initializer initializer) { super(initializer); final Variant variant = (Variant) initializer.variant; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java index 29c65e405f..6766f3c6e8 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java @@ -106,12 +106,11 @@ public class ObliqueStereographic extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, LONGITUDE_OF_ORIGIN); roles.put(ParameterRole.SCALE_FACTOR, SCALE_FACTOR); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); @@ -120,10 +119,9 @@ public class ObliqueStereographic extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private ObliqueStereographic(final Initializer initializer) { super(initializer, null); final double φ0 = toRadians(initializer.getAndStore(LATITUDE_OF_ORIGIN)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Orthographic.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Orthographic.java index 6affdb1dc3..4c52e73cae 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Orthographic.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Orthographic.java @@ -64,12 +64,11 @@ public class Orthographic extends NormalizedProjection { private final double mℯ2_cosφ0; /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, LONGITUDE_OF_ORIGIN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); @@ -92,10 +91,9 @@ public class Orthographic extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private Orthographic(final Initializer initializer) { super(initializer, null); final double φ0 = toRadians(initializer.getAndStore(LATITUDE_OF_ORIGIN)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/PolarStereographic.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/PolarStereographic.java index 60da7e68d7..6a9359542b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/PolarStereographic.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/PolarStereographic.java @@ -134,13 +134,12 @@ public class PolarStereographic extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), Variant.B); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); ParameterDescriptor<Double> falseEasting = PolarStereographicA.FALSE_EASTING; ParameterDescriptor<Double> falseNorthing = PolarStereographicA.FALSE_NORTHING; if (variant == Variant.C) { @@ -157,10 +156,9 @@ public class PolarStereographic extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private PolarStereographic(final Initializer initializer) { super(initializer); final Variant variant = (Variant) initializer.variant; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Polyconic.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Polyconic.java index 0c1563940d..113ad38fd9 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Polyconic.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Polyconic.java @@ -86,12 +86,11 @@ public class Polyconic extends MeridianArcBased { private final double ci2, ci4, ci6; /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, LONGITUDE_OF_ORIGIN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); @@ -114,10 +113,9 @@ public class Polyconic extends MeridianArcBased { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private Polyconic(final Initializer initializer) { super(initializer); final double φ0 = toRadians(initializer.getAndStore(LATITUDE_OF_ORIGIN)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Robinson.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Robinson.java index 404a3173c8..332f5bbe30 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Robinson.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Robinson.java @@ -90,12 +90,11 @@ public class Robinson extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, CENTRAL_MERIDIAN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/SatelliteTracking.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/SatelliteTracking.java index 1e33245e84..65f5470b69 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/SatelliteTracking.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/SatelliteTracking.java @@ -98,12 +98,11 @@ public class SatelliteTracking extends NormalizedProjection { private final boolean isConic; /** - * Work around for RFE #4093999 in Sun's bug database ("Relax constraint on - * placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") static Initializer initializer(final OperationMethod method, final Parameters parameters) { - final EnumMap<NormalizedProjection.ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(NormalizedProjection.ParameterRole.class); + final var roles = new EnumMap<NormalizedProjection.ParameterRole, ParameterDescriptor<Double>>(NormalizedProjection.ParameterRole.class); roles.put(NormalizedProjection.ParameterRole.CENTRAL_MERIDIAN, CENTRAL_MERIDIAN); roles.put(ParameterRole.LATITUDE_OF_CONFORMAL_SPHERE_RADIUS, LATITUDE_OF_ORIGIN); return new Initializer(method, parameters, roles, null); @@ -121,10 +120,9 @@ public class SatelliteTracking extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private SatelliteTracking(final Initializer initializer) { super(initializer, null); final double φ0 = toRadians(initializer.getAndStore(LATITUDE_OF_ORIGIN)); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Sinusoidal.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Sinusoidal.java index b4e7c35a26..d5720e85b9 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Sinusoidal.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Sinusoidal.java @@ -87,13 +87,12 @@ public class Sinusoidal extends MeridianArcBased { private final Variant variant; /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="8", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), null); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); roles.put(ParameterRole.CENTRAL_MERIDIAN, CENTRAL_MERIDIAN); roles.put(ParameterRole.FALSE_EASTING, FALSE_EASTING); roles.put(ParameterRole.FALSE_NORTHING, FALSE_NORTHING); @@ -116,10 +115,9 @@ public class Sinusoidal extends MeridianArcBased { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private Sinusoidal(final Initializer initializer) { super(initializer); variant = (Variant) initializer.variant; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/TransverseMercator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/TransverseMercator.java index fbd23875b0..d92e5f149b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/TransverseMercator.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/TransverseMercator.java @@ -198,13 +198,12 @@ public class TransverseMercator extends NormalizedProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Initializer initializer(final OperationMethod method, final Parameters parameters) { final Variant variant = variant(method, Variant.values(), null); - final EnumMap<ParameterRole, ParameterDescriptor<Double>> roles = new EnumMap<>(ParameterRole.class); + final var roles = new EnumMap<ParameterRole, ParameterDescriptor<Double>>(ParameterRole.class); ParameterRole xOffset = ParameterRole.FALSE_EASTING; ParameterRole yOffset = ParameterRole.FALSE_NORTHING; if (variant == Variant.SOUTH_ORIENTATED) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Affine.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Affine.java index 38078c546b..39bd29f8ec 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Affine.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Affine.java @@ -138,10 +138,9 @@ public final class Affine extends AbstractProvider { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static ParameterDescriptor<?>[] descriptors() { final var descriptors = MatrixParameters.EPSG.getAllDescriptors(EPSG_DIMENSION, EPSG_DIMENSION + 1); return new ParameterDescriptor<?>[] { diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/projection/NoOp.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/projection/NoOp.java index a2b94ee4e7..56138a5650 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/projection/NoOp.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/projection/NoOp.java @@ -65,10 +65,9 @@ final class NoOp extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private NoOp(final Parameters parameters) { super(new Initializer(new DefaultOperationMethod( Map.of(DefaultOperationMethod.NAME_KEY, parameters.getDescriptor().getName()), @@ -76,10 +75,9 @@ final class NoOp extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Parameters parameters(final Ellipsoid ellipsoid, final boolean declareIvf) { final Parameters parameters = parameters( ellipsoid.getSemiMajorAxis(), @@ -91,10 +89,9 @@ final class NoOp extends ConformalProjection { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Parameters parameters(final double semiMajor, final double semiMinor) { final ParameterValueGroup group = new ParameterBuilder() .addName("No-operation").createGroupForMapProjection().createValue(); diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java index b435531bf8..1089b4449e 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java @@ -28,6 +28,7 @@ import org.apache.sis.referencing.operation.matrix.Matrix2; import org.apache.sis.referencing.operation.matrix.Matrix4; import org.apache.sis.referencing.internal.shared.ExtendedPrecisionMatrix; import org.apache.sis.referencing.operation.provider.Affine; +import org.apache.sis.util.Workaround; import org.apache.sis.util.internal.shared.DoubleDouble; import org.apache.sis.parameter.Parameterized; import org.apache.sis.math.Fraction; @@ -58,8 +59,9 @@ import org.opengis.test.referencing.AffineTransformTest; public class ProjectiveTransformTest extends AffineTransformTest { /** * A math transform factory which delegates instantiations to the enclosing test class. - * This is a workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ + @Workaround(library="JDK", version="11", fixed="25") private static final class Proxy extends MathTransformFactoryBase { /** The enclosing test class. */ ProjectiveTransformTest test; @@ -73,6 +75,7 @@ public class ProjectiveTransformTest extends AffineTransformTest { /** * Creates a new test suite. */ + @SuppressWarnings("LeakingThisInConstructor") public ProjectiveTransformTest() { super(new Proxy()); ((Proxy) mtFactory).test = this; diff --git a/endorsed/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/base/IdentifiedMediaData.java b/endorsed/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/base/IdentifiedMediaData.java index e46da1e246..bdaf811d3c 100644 --- a/endorsed/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/base/IdentifiedMediaData.java +++ b/endorsed/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/base/IdentifiedMediaData.java @@ -64,11 +64,10 @@ public final class IdentifiedMediaData extends MediaData { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. * The identifier needs to be read before the call to `super(reader)`. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private IdentifiedMediaData(final Reader reader, final int id) throws IOException { super(reader); identifier = id; diff --git a/endorsed/src/org.apache.sis.storage.geoheif/test/org/apache/sis/storage/geoheif/SelfConsistencyTest.java b/endorsed/src/org.apache.sis.storage.geoheif/test/org/apache/sis/storage/geoheif/SelfConsistencyTest.java index cbf02d64cb..5303bd62ef 100644 --- a/endorsed/src/org.apache.sis.storage.geoheif/test/org/apache/sis/storage/geoheif/SelfConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage.geoheif/test/org/apache/sis/storage/geoheif/SelfConsistencyTest.java @@ -16,6 +16,7 @@ */ package org.apache.sis.storage.geoheif; +import org.apache.sis.util.Workaround; import org.apache.sis.storage.DataStoreException; import org.apache.sis.storage.GridCoverageResource; import org.apache.sis.storage.StorageConnector; @@ -47,12 +48,12 @@ public final class SelfConsistencyTest extends CoverageReadConsistency<GeoHeifSt } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. * * @throws DataStoreException if an error occurred while reading the file. */ @Override + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return assertInstanceOf(GridCoverageResource.class, store.components().iterator().next()); } diff --git a/endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/SelfConsistencyTest.java b/endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/SelfConsistencyTest.java index b52720fb64..86c6083868 100644 --- a/endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/SelfConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/SelfConsistencyTest.java @@ -18,6 +18,7 @@ package org.apache.sis.storage.geotiff; import java.util.List; import org.opengis.util.GenericName; +import org.apache.sis.util.Workaround; import org.apache.sis.storage.DataStoreException; import org.apache.sis.storage.GridCoverageResource; import org.apache.sis.storage.IllegalNameException; @@ -53,12 +54,12 @@ public final class SelfConsistencyTest extends CoverageReadConsistency<GeoTiffSt } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. * * @throws DataStoreException if an error occurred while reading the file. */ @Override + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return store.components().iterator().next(); } diff --git a/endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/SelfConsistencyTest.java b/endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/SelfConsistencyTest.java index 152a263954..6ef8b5322f 100644 --- a/endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/SelfConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/SelfConsistencyTest.java @@ -16,6 +16,7 @@ */ package org.apache.sis.storage.netcdf; +import org.apache.sis.util.Workaround; import org.apache.sis.storage.DataStoreException; import org.apache.sis.storage.GridCoverageResource; import org.apache.sis.storage.StorageConnector; @@ -47,10 +48,12 @@ public final class SelfConsistencyTest extends CoverageReadConsistency<NetcdfSto } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. + * + * @throws DataStoreException if an error occurred while reading the file. */ @Override + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return assertInstanceOf(GridCoverageResource.class, store.components().iterator().next()); } diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreException.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreException.java index fecd731d94..ad301679ed 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreException.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreException.java @@ -122,9 +122,9 @@ public class DataStoreException extends Exception implements LocalizedException } /** - * Workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private DataStoreException(final Locale locale, final Object[] params) { this(locale, IOUtilities.errorMessageKey(params), params); } diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/UnsupportedStorageException.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/UnsupportedStorageException.java index e1fbdbda72..9f4258d1e0 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/UnsupportedStorageException.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/UnsupportedStorageException.java @@ -108,10 +108,9 @@ public class UnsupportedStorageException extends IllegalOpenParameterException { /** * Returns the type of the given storage, with a special case for files or paths to directories. - * This is a work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="10", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static Object type(final Object storage) { if ((storage instanceof File && ((File) storage).isDirectory()) || (storage instanceof Path && Files.isDirectory((Path) storage))) diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BILConsistencyTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BILConsistencyTest.java index 3b51dd7fb4..0188bbd6f4 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BILConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BILConsistencyTest.java @@ -45,10 +45,9 @@ public final class BILConsistencyTest extends CoverageReadConsistency<RawRasterS } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static RawRasterStore openFile() throws IOException, DataStoreException { final URL url = BIPConsistencyTest.class.getResource("BIL.raw"); assertNotNull(url, "Test file not found."); @@ -56,11 +55,10 @@ public final class BILConsistencyTest extends CoverageReadConsistency<RawRasterS } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ @Override - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return store; } diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BIPConsistencyTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BIPConsistencyTest.java index 637f453e30..9b8c7c69ae 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BIPConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BIPConsistencyTest.java @@ -45,10 +45,9 @@ public final class BIPConsistencyTest extends CoverageReadConsistency<RawRasterS } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static RawRasterStore openFile() throws IOException, DataStoreException { final URL url = BIPConsistencyTest.class.getResource("BIP.raw"); assertNotNull(url, "Test file not found."); @@ -56,11 +55,10 @@ public final class BIPConsistencyTest extends CoverageReadConsistency<RawRasterS } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ @Override - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return store; } diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BSQConsistencyTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BSQConsistencyTest.java index 25509b3c6e..03574c40cf 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BSQConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BSQConsistencyTest.java @@ -45,10 +45,9 @@ public final class BSQConsistencyTest extends CoverageReadConsistency<RawRasterS } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static RawRasterStore openFile() throws IOException, DataStoreException { final URL url = BSQConsistencyTest.class.getResource("BSQ.raw"); assertNotNull(url, "Test file not found."); @@ -56,11 +55,10 @@ public final class BSQConsistencyTest extends CoverageReadConsistency<RawRasterS } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ @Override - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return store; } diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/image/SelfConsistencyTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/image/SelfConsistencyTest.java index 3b4420bda5..e3169ac7d0 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/image/SelfConsistencyTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/image/SelfConsistencyTest.java @@ -49,10 +49,9 @@ public final class SelfConsistencyTest extends CoverageReadConsistency<WorldFile } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private static WorldFileStore openFile() throws IOException, DataStoreException { final URL url = WorldFileStoreTest.class.getResource("gradient.png"); assertNotNull(url, "Test file not found."); @@ -60,11 +59,10 @@ public final class SelfConsistencyTest extends CoverageReadConsistency<WorldFile } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ @Override - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") protected GridCoverageResource resource() throws DataStoreException { return store.components().iterator().next(); } diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/test/CoverageReadConsistency.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/test/CoverageReadConsistency.java index ae7a4460bd..50751b43ab 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/test/CoverageReadConsistency.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/test/CoverageReadConsistency.java @@ -180,14 +180,12 @@ public abstract class CoverageReadConsistency<S extends DataStore> extends TestC * This method shall not use any other field and shall not invoke any other method, * because this method is invoked during object construction. * - * <p>This method is a work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors") - * and will be removed (replaced by constructor argument) in a future version.</p> + * <p>This method is a work around for JEP 513.</p> * * @return the resource to test. * @throws DataStoreException if an error occurred while reading the resource. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") protected abstract GridCoverageResource resource() throws DataStoreException; /** diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/shared/LocalizedParseException.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/shared/LocalizedParseException.java index da4566bd12..7f7cc74cc0 100644 --- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/shared/LocalizedParseException.java +++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/shared/LocalizedParseException.java @@ -93,9 +93,9 @@ public final class LocalizedParseException extends ParseException implements Loc } /** - * Workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private LocalizedParseException(final Locale locale, final Class<?> type, final CharSequence text, final int offset, final int errorOffset) { @@ -103,15 +103,15 @@ public final class LocalizedParseException extends ParseException implements Loc } /** - * Workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private LocalizedParseException(final Locale locale, final Object[] parameters, final int errorOffset) { this(locale, key(parameters), parameters, errorOffset); } /** - * Workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. * * @param type the type of objects parsed by the {@link java.text.Format}. * @param text the text that {@code Format} failed to parse. @@ -119,7 +119,7 @@ public final class LocalizedParseException extends ParseException implements Loc * @param errorOffset the position where the error is found while parsing. * @return the {@code parameters} value to give to the constructor. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private static Object[] parameters(final Class<?> type, CharSequence text, final int offset, final int errorOffset) { if (errorOffset >= text.length()) { return new Object[] {text}; @@ -133,9 +133,9 @@ public final class LocalizedParseException extends ParseException implements Loc } /** - * Workaround while waiting for JEP 447: Statements before super(…). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="1.8") + @Workaround(library="JDK", version="11", fixed="25") private static short key(final Object[] parameters) { final short key; switch (parameters.length) { diff --git a/endorsed/src/org.apache.sis.util/test/org/apache/sis/test/Printer.java b/endorsed/src/org.apache.sis.util/test/org/apache/sis/test/Printer.java index b504da1115..3a1c5dcbf9 100644 --- a/endorsed/src/org.apache.sis.util/test/org/apache/sis/test/Printer.java +++ b/endorsed/src/org.apache.sis.util/test/org/apache/sis/test/Printer.java @@ -56,10 +56,9 @@ public final class Printer extends PrintWriter { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private Printer(final StringWriter buffer) { super(buffer); this.buffer = buffer; diff --git a/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/GpkgStore.java b/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/GpkgStore.java index 5f2c580aa1..553c383ef1 100644 --- a/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/GpkgStore.java +++ b/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/GpkgStore.java @@ -140,10 +140,9 @@ public class GpkgStore extends SQLStore implements WritableAggregate { } /** - * Work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * Workaround while waiting for JEP 513: Flexible Constructor Bodies. */ - @Workaround(library="JDK", version="7", fixed="25") + @Workaround(library="JDK", version="11", fixed="25") private GpkgStore(final DataStoreProvider provider, final Initializer init) throws DataStoreException { super(provider, init.connector); path = init.path; diff --git a/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/Initializer.java b/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/Initializer.java index 8fc16d3d01..fddb647b8d 100644 --- a/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/Initializer.java +++ b/incubator/src/org.apache.sis.storage.geopackage/main/org/apache/sis/storage/geopackage/Initializer.java @@ -42,12 +42,11 @@ import org.apache.sis.util.Workaround; * A helper class for initializing a {@code GpkgStore}. * A temporary instance exists at construction time, then is discarded. * - * This is a work around for RFE #4093999 in Sun's bug database - * ("Relax constraint on placement of this()/super() call in constructors"). + * This is a work around while waiting for JEP 513: Flexible Constructor Bodies. * * @author Martin Desruisseaux (Geomatys). */ -@Workaround(library="JDK", version="7", fixed="25") +@Workaround(library="JDK", version="11", fixed="25") final class Initializer { /** * Suffixes of auxiliary files.
