You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/01/02 11:42:45 UTC
[sis] branch geoapi-4.0 updated (468894b82c -> a2eed4d0f8)
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a change to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
from 468894b82c Use of FMA in series expansion of map projections. Documentation fixes.
new 422c7f36fe Reduce the amount of `@SuppressWarnings("null")` annotations. There is too many false positives for making null check useful. This commit contains opportunistic comment formatting in modified files.
new a2eed4d0f8 Resolve compiler warnings about non-serializable fields. https://issues.apache.org/jira/browse/SIS-567
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/org/apache/sis/console/CommandRunner.java | 2 +-
.../org/apache/sis/gui/coverage/GridTileCache.java | 2 +-
.../org/apache/sis/gui/dataset/ResourceEvent.java | 3 ++
.../java/org/apache/sis/coverage/Category.java | 2 +
.../org/apache/sis/coverage/RegionOfInterest.java | 6 ++-
.../org/apache/sis/coverage/SampleDimension.java | 2 +
.../org/apache/sis/coverage/SampleRangeFormat.java | 2 +-
.../main/java/org/apache/sis/coverage/ToNaN.java | 2 +-
.../org/apache/sis/coverage/grid/GridGeometry.java | 5 +--
.../java/org/apache/sis/coverage/package-info.java | 2 +-
.../apache/sis/feature/AbstractAssociation.java | 1 +
.../org/apache/sis/feature/AbstractAttribute.java | 1 +
.../org/apache/sis/feature/AbstractFeature.java | 3 +-
.../apache/sis/feature/AbstractIdentifiedType.java | 4 ++
.../org/apache/sis/feature/AssociationView.java | 1 +
.../java/org/apache/sis/feature/AttributeView.java | 2 +-
.../apache/sis/feature/DefaultAssociationRole.java | 14 +++---
.../apache/sis/feature/DefaultAttributeType.java | 1 +
.../org/apache/sis/feature/DefaultFeatureType.java | 5 +++
.../java/org/apache/sis/feature/DenseFeature.java | 2 +
.../org/apache/sis/feature/EnvelopeOperation.java | 4 ++
.../java/org/apache/sis/feature/FeatureFormat.java | 5 +--
.../sis/feature/FeatureOperationException.java | 1 +
.../sis/feature/InvalidFeatureException.java | 1 +
.../java/org/apache/sis/feature/LinkOperation.java | 1 +
.../org/apache/sis/feature/NamedFeatureType.java | 2 +
.../java/org/apache/sis/feature/PropertyView.java | 2 +-
.../apache/sis/feature/SingletonAssociation.java | 1 +
.../org/apache/sis/feature/SingletonAttribute.java | 1 +
.../java/org/apache/sis/feature/SparseFeature.java | 1 +
.../apache/sis/feature/StringJoinOperation.java | 4 ++
.../apache/sis/feature/builder/TypeBuilder.java | 1 -
.../java/org/apache/sis/filter/BinaryFunction.java | 4 +-
.../apache/sis/filter/BinaryGeometryFilter.java | 5 ++-
.../org/apache/sis/filter/ComparisonFilter.java | 1 -
.../org/apache/sis/filter/ConvertFunction.java | 2 +-
.../org/apache/sis/filter/DefaultSortProperty.java | 2 +-
.../java/org/apache/sis/filter/DistanceFilter.java | 2 +-
.../java/org/apache/sis/filter/LeafExpression.java | 2 +-
.../java/org/apache/sis/filter/LikeFilter.java | 2 +-
.../java/org/apache/sis/filter/LogicalFilter.java | 4 +-
.../java/org/apache/sis/filter/PropertyValue.java | 3 +-
.../java/org/apache/sis/filter/UnaryFunction.java | 2 +-
.../org/apache/sis/index/tree/NodeIterator.java | 1 +
.../java/org/apache/sis/index/tree/PointTree.java | 15 +++----
.../org/apache/sis/index/tree/PointTreeNode.java | 15 +------
.../org/apache/sis/index/tree/QuadTreeNode.java | 7 +--
.../org/apache/sis/internal/feature/Resources.java | 1 -
.../internal/feature/SpatialOperationContext.java | 8 ++--
.../sis/internal/feature/j2d/ShapeWrapper.java | 1 +
.../feature/jts/PackedCoordinateSequence.java | 5 +++
.../sis/internal/filter/GeometryConverter.java | 2 +-
.../sis/internal/filter/SortByComparator.java | 1 +
.../internal/filter/sqlmm/FunctionWithSRID.java | 1 +
.../internal/filter/sqlmm/GeometryConstructor.java | 1 +
.../sis/internal/filter/sqlmm/OneGeometry.java | 3 +-
.../apache/sis/internal/filter/sqlmm/ST_Point.java | 1 +
.../sis/internal/filter/sqlmm/ST_Transform.java | 1 +
.../sis/internal/filter/sqlmm/TwoGeometries.java | 2 +
.../sis/internal/processing/isoline/Fragments.java | 2 +-
.../sis/internal/jaxb/IdentifierMapAdapter.java | 2 +-
.../sis/internal/jaxb/NonMarshalledAuthority.java | 1 -
.../sis/internal/jaxb/SpecializedIdentifier.java | 2 +-
.../sis/internal/jaxb/lan/LocaleAndCharset.java | 4 +-
.../apache/sis/internal/metadata/Resources.java | 1 -
.../sis/internal/simple/SimpleAttributeType.java | 1 +
.../internal/simple/SimpleIdentifiedObject.java | 1 +
.../sis/internal/simple/SimpleIdentifier.java | 1 +
.../org/apache/sis/metadata/MetadataFormat.java | 2 +-
.../org/apache/sis/metadata/MetadataStandard.java | 2 +-
.../org/apache/sis/metadata/iso/ISOMetadata.java | 2 +-
.../apache/sis/metadata/sql/MetadataWriter.java | 6 +--
.../org/apache/sis/util/iso/DefaultRecord.java | 2 +-
.../org/apache/sis/util/iso/DefaultRecordType.java | 2 +-
.../org/apache/sis/util/iso/DefaultTypeName.java | 2 +-
.../org/apache/sis/util/iso/RecordDefinition.java | 2 +-
.../main/java/org/apache/sis/util/iso/Types.java | 1 +
.../main/java/org/apache/sis/xml/NilReason.java | 3 +-
.../src/main/java/org/apache/sis/xml/XLink.java | 1 +
.../sis/metadata/iso/extent/ExtentsTest.java | 1 -
.../apache/sis/test/xml/DocumentComparator.java | 6 +--
.../org/apache/sis/geometry/AbstractEnvelope.java | 12 ++---
.../org/apache/sis/geometry/ArrayEnvelope.java | 1 +
.../org/apache/sis/geometry/CoordinateFormat.java | 8 ++--
.../org/apache/sis/geometry/DirectPosition1D.java | 1 +
.../org/apache/sis/geometry/DirectPosition2D.java | 1 +
.../java/org/apache/sis/geometry/Envelope2D.java | 1 +
.../java/org/apache/sis/geometry/Envelopes.java | 3 --
.../apache/sis/geometry/GeneralDirectPosition.java | 1 +
.../org/apache/sis/geometry/GeneralEnvelope.java | 5 +--
.../java/org/apache/sis/geometry/Shapes2D.java | 1 -
.../internal/referencing/EPSGParameterDomain.java | 1 +
.../apache/sis/internal/referencing/RTreeNode.java | 1 +
.../referencing/j2d/AffineTransform2D.java | 2 +-
.../referencing/j2d/IntervalRectangle.java | 8 +++-
.../referencing/j2d/ParameterizedAffine.java | 3 +-
.../sis/internal/referencing/j2d/package-info.java | 2 +-
.../referencing/provider/DatumShiftGridFile.java | 3 ++
.../referencing/provider/DatumShiftGridGroup.java | 5 ++-
.../provider/FranceGeocentricInterpolation.java | 5 +--
.../referencing/provider/GeocentricAffine.java | 1 -
.../sis/internal/referencing/provider/NADCON.java | 5 +--
.../sis/internal/referencing/provider/NTv2.java | 3 +-
.../referencing/provider/package-info.java | 2 +-
.../main/java/org/apache/sis/io/wkt/Formatter.java | 1 -
.../apache/sis/io/wkt/GeodeticObjectParser.java | 1 -
.../java/org/apache/sis/io/wkt/StoredTree.java | 1 +
.../main/java/org/apache/sis/io/wkt/WKTFormat.java | 5 +--
.../main/java/org/apache/sis/io/wkt/Warnings.java | 25 ++++-------
.../java/org/apache/sis/io/wkt/package-info.java | 2 +-
.../parameter/DefaultParameterDescriptorGroup.java | 3 +-
.../sis/parameter/DefaultParameterValue.java | 4 +-
.../apache/sis/parameter/FilteredParameters.java | 3 +-
.../sis/parameter/MapProjectionParameters.java | 3 ++
.../org/apache/sis/parameter/ParameterFormat.java | 6 +--
.../apache/sis/parameter/ParameterValueList.java | 4 +-
.../java/org/apache/sis/parameter/Parameters.java | 3 +-
.../org/apache/sis/parameter/TensorParameters.java | 2 +-
.../org/apache/sis/parameter/TensorValues.java | 2 +-
.../sis/parameter/UninitializedParameter.java | 2 +-
.../parameter/UnmodifiableParameterValueGroup.java | 4 +-
.../sis/referencing/AbstractIdentifiedObject.java | 8 ++--
.../sis/referencing/AbstractReferenceSystem.java | 4 +-
.../sis/referencing/ImmutableIdentifier.java | 4 +-
.../org/apache/sis/referencing/Properties.java | 1 +
.../apache/sis/referencing/crs/AbstractCRS.java | 2 +-
.../sis/referencing/crs/AbstractDerivedCRS.java | 2 +-
.../sis/referencing/crs/DefaultCompoundCRS.java | 1 +
.../sis/referencing/crs/DefaultEngineeringCRS.java | 2 +-
.../sis/referencing/crs/DefaultGeodeticCRS.java | 1 +
.../sis/referencing/crs/DefaultImageCRS.java | 1 +
.../sis/referencing/crs/DefaultParametricCRS.java | 1 +
.../sis/referencing/crs/DefaultTemporalCRS.java | 1 +
.../sis/referencing/crs/DefaultVerticalCRS.java | 1 +
.../org/apache/sis/referencing/cs/AbstractCS.java | 2 +-
.../sis/referencing/cs/DefaultCompoundCS.java | 5 ++-
.../cs/DefaultCoordinateSystemAxis.java | 1 +
.../sis/referencing/datum/AbstractDatum.java | 3 ++
.../sis/referencing/datum/BursaWolfParameters.java | 2 +
.../sis/referencing/datum/DatumShiftGrid.java | 3 ++
.../sis/referencing/datum/DefaultEllipsoid.java | 1 +
.../referencing/datum/DefaultGeodeticDatum.java | 2 +
.../referencing/datum/DefaultPrimeMeridian.java | 1 +
.../org/apache/sis/referencing/datum/Sphere.java | 3 --
.../factory/ConcurrentAuthorityFactory.java | 1 -
.../factory/UnavailableFactoryException.java | 4 +-
.../sis/referencing/factory/package-info.java | 2 +-
.../referencing/factory/sql/EPSGDataAccess.java | 1 -
.../operation/AbstractCoordinateOperation.java | 14 +++---
.../operation/AbstractSingleOperation.java | 4 +-
.../operation/CoordinateOperationContext.java | 2 +-
.../operation/CoordinateOperationFinder.java | 5 +--
.../operation/DefaultConcatenatedOperation.java | 2 +-
.../sis/referencing/operation/DefaultFormula.java | 4 +-
.../operation/DefaultOperationMethod.java | 4 +-
.../operation/DefaultPassThroughOperation.java | 2 +-
.../operation/InverseOperationMethod.java | 2 +-
.../operation/builder/LinearTransformBuilder.java | 1 -
.../builder/LocalizationGridException.java | 1 +
.../operation/builder/ResidualGrid.java | 1 +
.../sis/referencing/operation/matrix/Matrices.java | 9 ++--
.../operation/matrix/UnmodifiableMatrix.java | 1 +
.../referencing/operation/projection/Inverter.java | 2 +-
.../referencing/operation/projection/Mercator.java | 6 ---
.../operation/projection/NormalizedProjection.java | 2 +-
.../operation/projection/ZonedGridSystem.java | 3 ++
.../transform/AbstractLinearTransform.java | 2 +-
.../operation/transform/ConcatenatedTransform.java | 3 ++
.../operation/transform/ContextualParameters.java | 6 +--
.../operation/transform/DatumShiftTransform.java | 2 +
.../transform/DefaultMathTransformFactory.java | 3 +-
.../transform/EllipsoidToCentricTransform.java | 2 +-
.../transform/ExponentialTransform1D.java | 2 +-
.../transform/InterpolatedGeocentricTransform.java | 1 +
.../operation/transform/LinearInterpolator1D.java | 3 +-
.../transform/LogarithmicTransform1D.java | 1 +
.../operation/transform/PassThroughTransform.java | 1 +
.../operation/transform/PoleRotation.java | 2 +-
.../transform/SpecializableTransform.java | 5 +++
.../operation/transform/TransferFunction.java | 1 +
.../operation/transform/TransformAdapter2D.java | 1 +
.../sis/referencing/factory/TestFactorySource.java | 1 -
.../factory/sql/epsg/DataScriptFormatter.java | 1 -
.../operation/transform/SinusoidalShiftGrid.java | 2 +-
.../sis/internal/converter/ArrayConverter.java | 1 +
.../internal/converter/CharSequenceConverter.java | 1 +
.../sis/internal/converter/FallbackConverter.java | 2 +
.../sis/internal/converter/IdentityConverter.java | 8 ++--
.../sis/internal/converter/StringConverter.java | 22 ++++-----
.../sis/internal/converter/package-info.java | 2 +-
.../sis/internal/util/AutoMessageFormat.java | 2 +-
.../apache/sis/internal/util/CheckedHashSet.java | 1 +
.../sis/internal/util/SimpleCharacterIterator.java | 10 +----
.../sis/internal/util/UnmodifiableArrayList.java | 1 +
.../main/java/org/apache/sis/math/ArrayVector.java | 23 +++++-----
.../org/apache/sis/math/ConcatenatedVector.java | 1 +
.../org/apache/sis/math/LinearlyDerivedVector.java | 1 +
.../java/org/apache/sis/math/RepeatedVector.java | 1 +
.../main/java/org/apache/sis/math/Statistics.java | 1 +
.../apache/sis/measure/ConcatenatedConverter.java | 2 +
.../org/apache/sis/measure/ConventionalUnit.java | 2 +-
.../java/org/apache/sis/measure/DerivedScalar.java | 4 +-
.../sis/measure/FormattedCharacterIterator.java | 23 ++--------
.../org/apache/sis/measure/MeasurementRange.java | 1 +
.../main/java/org/apache/sis/measure/Range.java | 1 +
.../main/java/org/apache/sis/measure/Scalar.java | 2 +-
.../apache/sis/measure/SexagesimalConverter.java | 2 +-
.../java/org/apache/sis/measure/UnitDimension.java | 2 +-
.../java/org/apache/sis/measure/UnitFormat.java | 5 ++-
.../src/main/java/org/apache/sis/setup/About.java | 2 +-
.../sis/util/collection/DefaultTreeTable.java | 5 +--
.../org/apache/sis/util/collection/DerivedMap.java | 6 +--
.../org/apache/sis/util/collection/DerivedSet.java | 2 +-
.../sis/util/collection/FrequencySortedSet.java | 3 +-
.../org/apache/sis/util/collection/RangeSet.java | 1 +
.../apache/sis/util/collection/TreeNodeList.java | 2 +
.../sis/util/collection/TreeTableFormat.java | 14 +++---
.../resources/ResourceInternationalString.java | 1 +
.../measure/FormattedCharacterIteratorTest.java | 2 +-
ide-project/NetBeans/nbproject/cfg_hints.xml | 52 ++++++++++++++++++++++
.../sis/internal/profile/fra/Constraints.java | 1 +
.../internal/profile/fra/DataIdentification.java | 1 +
.../profile/fra/DirectReferenceSystem.java | 2 +-
.../profile/fra/IndirectReferenceSystem.java | 2 +-
.../sis/internal/profile/fra/LegalConstraints.java | 1 +
.../internal/profile/fra/SecurityConstraints.java | 1 +
.../org/apache/sis/storage/geotiff/CRSBuilder.java | 3 +-
.../sis/internal/netcdf/ucar/DecoderWrapper.java | 1 -
.../apache/sis/storage/netcdf/MetadataReader.java | 1 -
.../sis/internal/storage/wkt/StoreFormat.java | 2 +-
.../apache/sis/storage/CanNotProbeException.java | 5 ++-
.../java/org/apache/sis/storage/CoverageQuery.java | 2 +-
.../org/apache/sis/storage/DataStoreRegistry.java | 2 +-
.../java/org/apache/sis/storage/FeatureQuery.java | 5 +++
.../org/apache/sis/storage/StorageConnector.java | 1 -
.../storage/gpx/GroupAsPolylineOperation.java | 1 +
236 files changed, 451 insertions(+), 328 deletions(-)
[sis] 02/02: Resolve compiler warnings about non-serializable fields. https://issues.apache.org/jira/browse/SIS-567
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit a2eed4d0f8af3c3e6476737491aafde6c82d4dcc
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Mon Jan 2 12:30:47 2023 +0100
Resolve compiler warnings about non-serializable fields.
https://issues.apache.org/jira/browse/SIS-567
---
.../org/apache/sis/gui/coverage/GridTileCache.java | 2 +-
.../org/apache/sis/gui/dataset/ResourceEvent.java | 3 +++
.../java/org/apache/sis/coverage/Category.java | 2 ++
.../org/apache/sis/coverage/RegionOfInterest.java | 6 ++++--
.../org/apache/sis/coverage/SampleDimension.java | 2 ++
.../org/apache/sis/coverage/SampleRangeFormat.java | 2 +-
.../main/java/org/apache/sis/coverage/ToNaN.java | 2 +-
.../org/apache/sis/coverage/grid/GridGeometry.java | 4 ++--
.../java/org/apache/sis/coverage/package-info.java | 2 +-
.../apache/sis/feature/AbstractAssociation.java | 1 +
.../org/apache/sis/feature/AbstractAttribute.java | 1 +
.../org/apache/sis/feature/AbstractFeature.java | 3 ++-
.../apache/sis/feature/AbstractIdentifiedType.java | 4 ++++
.../org/apache/sis/feature/AssociationView.java | 1 +
.../java/org/apache/sis/feature/AttributeView.java | 2 +-
.../apache/sis/feature/DefaultAssociationRole.java | 1 +
.../apache/sis/feature/DefaultAttributeType.java | 1 +
.../org/apache/sis/feature/DefaultFeatureType.java | 5 +++++
.../java/org/apache/sis/feature/DenseFeature.java | 2 ++
.../org/apache/sis/feature/EnvelopeOperation.java | 4 ++++
.../sis/feature/FeatureOperationException.java | 1 +
.../sis/feature/InvalidFeatureException.java | 1 +
.../java/org/apache/sis/feature/LinkOperation.java | 1 +
.../org/apache/sis/feature/NamedFeatureType.java | 2 ++
.../java/org/apache/sis/feature/PropertyView.java | 2 +-
.../apache/sis/feature/SingletonAssociation.java | 1 +
.../org/apache/sis/feature/SingletonAttribute.java | 1 +
.../java/org/apache/sis/feature/SparseFeature.java | 1 +
.../apache/sis/feature/StringJoinOperation.java | 4 ++++
.../java/org/apache/sis/filter/BinaryFunction.java | 4 ++--
.../apache/sis/filter/BinaryGeometryFilter.java | 5 +++--
.../org/apache/sis/filter/ConvertFunction.java | 2 +-
.../org/apache/sis/filter/DefaultSortProperty.java | 2 +-
.../java/org/apache/sis/filter/DistanceFilter.java | 2 +-
.../java/org/apache/sis/filter/LeafExpression.java | 2 +-
.../java/org/apache/sis/filter/LikeFilter.java | 2 +-
.../java/org/apache/sis/filter/LogicalFilter.java | 4 ++--
.../java/org/apache/sis/filter/PropertyValue.java | 3 ++-
.../java/org/apache/sis/filter/UnaryFunction.java | 2 +-
.../org/apache/sis/index/tree/NodeIterator.java | 1 +
.../java/org/apache/sis/index/tree/PointTree.java | 15 ++++++-------
.../org/apache/sis/index/tree/PointTreeNode.java | 15 ++-----------
.../org/apache/sis/index/tree/QuadTreeNode.java | 7 +-----
.../org/apache/sis/internal/feature/Resources.java | 1 -
.../internal/feature/SpatialOperationContext.java | 8 +++----
.../sis/internal/feature/j2d/ShapeWrapper.java | 1 +
.../feature/jts/PackedCoordinateSequence.java | 5 +++++
.../sis/internal/filter/GeometryConverter.java | 2 +-
.../sis/internal/filter/SortByComparator.java | 1 +
.../internal/filter/sqlmm/FunctionWithSRID.java | 1 +
.../internal/filter/sqlmm/GeometryConstructor.java | 1 +
.../sis/internal/filter/sqlmm/OneGeometry.java | 3 ++-
.../apache/sis/internal/filter/sqlmm/ST_Point.java | 1 +
.../sis/internal/filter/sqlmm/ST_Transform.java | 1 +
.../sis/internal/filter/sqlmm/TwoGeometries.java | 2 ++
.../sis/internal/processing/isoline/Fragments.java | 2 +-
.../sis/internal/jaxb/IdentifierMapAdapter.java | 2 +-
.../sis/internal/jaxb/SpecializedIdentifier.java | 2 +-
.../apache/sis/internal/metadata/Resources.java | 1 -
.../sis/internal/simple/SimpleAttributeType.java | 1 +
.../internal/simple/SimpleIdentifiedObject.java | 1 +
.../sis/internal/simple/SimpleIdentifier.java | 1 +
.../org/apache/sis/metadata/MetadataFormat.java | 2 +-
.../org/apache/sis/metadata/MetadataStandard.java | 2 +-
.../org/apache/sis/metadata/iso/ISOMetadata.java | 2 +-
.../org/apache/sis/util/iso/DefaultRecord.java | 2 +-
.../org/apache/sis/util/iso/DefaultRecordType.java | 2 +-
.../org/apache/sis/util/iso/DefaultTypeName.java | 2 +-
.../org/apache/sis/util/iso/RecordDefinition.java | 2 +-
.../main/java/org/apache/sis/util/iso/Types.java | 1 +
.../main/java/org/apache/sis/xml/NilReason.java | 3 ++-
.../src/main/java/org/apache/sis/xml/XLink.java | 1 +
.../org/apache/sis/geometry/ArrayEnvelope.java | 1 +
.../org/apache/sis/geometry/CoordinateFormat.java | 3 +++
.../org/apache/sis/geometry/DirectPosition1D.java | 1 +
.../org/apache/sis/geometry/DirectPosition2D.java | 1 +
.../java/org/apache/sis/geometry/Envelope2D.java | 1 +
.../apache/sis/geometry/GeneralDirectPosition.java | 1 +
.../internal/referencing/EPSGParameterDomain.java | 1 +
.../apache/sis/internal/referencing/RTreeNode.java | 1 +
.../referencing/j2d/AffineTransform2D.java | 2 +-
.../referencing/j2d/IntervalRectangle.java | 8 +++++--
.../referencing/j2d/ParameterizedAffine.java | 3 ++-
.../sis/internal/referencing/j2d/package-info.java | 2 +-
.../referencing/provider/DatumShiftGridFile.java | 3 +++
.../referencing/provider/DatumShiftGridGroup.java | 5 ++++-
.../referencing/provider/package-info.java | 2 +-
.../java/org/apache/sis/io/wkt/StoredTree.java | 1 +
.../main/java/org/apache/sis/io/wkt/WKTFormat.java | 5 ++---
.../main/java/org/apache/sis/io/wkt/Warnings.java | 25 ++++++++--------------
.../java/org/apache/sis/io/wkt/package-info.java | 2 +-
.../parameter/DefaultParameterDescriptorGroup.java | 2 +-
.../sis/parameter/DefaultParameterValue.java | 4 ++--
.../apache/sis/parameter/FilteredParameters.java | 3 ++-
.../sis/parameter/MapProjectionParameters.java | 3 +++
.../org/apache/sis/parameter/ParameterFormat.java | 6 +++---
.../apache/sis/parameter/ParameterValueList.java | 4 ++--
.../java/org/apache/sis/parameter/Parameters.java | 2 +-
.../org/apache/sis/parameter/TensorParameters.java | 2 +-
.../org/apache/sis/parameter/TensorValues.java | 2 +-
.../sis/parameter/UninitializedParameter.java | 2 +-
.../parameter/UnmodifiableParameterValueGroup.java | 4 ++--
.../sis/referencing/AbstractIdentifiedObject.java | 8 +++----
.../sis/referencing/AbstractReferenceSystem.java | 4 ++--
.../sis/referencing/ImmutableIdentifier.java | 4 ++--
.../org/apache/sis/referencing/Properties.java | 1 +
.../apache/sis/referencing/crs/AbstractCRS.java | 2 +-
.../sis/referencing/crs/AbstractDerivedCRS.java | 2 +-
.../sis/referencing/crs/DefaultCompoundCRS.java | 1 +
.../sis/referencing/crs/DefaultEngineeringCRS.java | 2 +-
.../sis/referencing/crs/DefaultGeodeticCRS.java | 1 +
.../sis/referencing/crs/DefaultImageCRS.java | 1 +
.../sis/referencing/crs/DefaultParametricCRS.java | 1 +
.../sis/referencing/crs/DefaultTemporalCRS.java | 1 +
.../sis/referencing/crs/DefaultVerticalCRS.java | 1 +
.../org/apache/sis/referencing/cs/AbstractCS.java | 2 +-
.../sis/referencing/cs/DefaultCompoundCS.java | 5 +++--
.../cs/DefaultCoordinateSystemAxis.java | 1 +
.../sis/referencing/datum/AbstractDatum.java | 3 +++
.../sis/referencing/datum/BursaWolfParameters.java | 2 ++
.../sis/referencing/datum/DatumShiftGrid.java | 3 +++
.../sis/referencing/datum/DefaultEllipsoid.java | 1 +
.../referencing/datum/DefaultGeodeticDatum.java | 2 ++
.../referencing/datum/DefaultPrimeMeridian.java | 1 +
.../org/apache/sis/referencing/datum/Sphere.java | 3 ---
.../factory/UnavailableFactoryException.java | 4 ++--
.../sis/referencing/factory/package-info.java | 2 +-
.../operation/AbstractCoordinateOperation.java | 14 ++++++------
.../operation/AbstractSingleOperation.java | 4 ++--
.../operation/CoordinateOperationContext.java | 2 +-
.../operation/DefaultConcatenatedOperation.java | 2 +-
.../sis/referencing/operation/DefaultFormula.java | 4 ++--
.../operation/DefaultOperationMethod.java | 4 ++--
.../operation/DefaultPassThroughOperation.java | 2 +-
.../operation/InverseOperationMethod.java | 2 +-
.../operation/builder/LinearTransformBuilder.java | 1 -
.../builder/LocalizationGridException.java | 1 +
.../operation/builder/ResidualGrid.java | 1 +
.../operation/matrix/UnmodifiableMatrix.java | 1 +
.../referencing/operation/projection/Inverter.java | 2 +-
.../referencing/operation/projection/Mercator.java | 6 ------
.../operation/projection/NormalizedProjection.java | 2 +-
.../operation/projection/ZonedGridSystem.java | 3 +++
.../transform/AbstractLinearTransform.java | 2 +-
.../operation/transform/ConcatenatedTransform.java | 3 +++
.../operation/transform/ContextualParameters.java | 6 +++---
.../operation/transform/DatumShiftTransform.java | 2 ++
.../transform/DefaultMathTransformFactory.java | 2 +-
.../transform/EllipsoidToCentricTransform.java | 2 +-
.../transform/ExponentialTransform1D.java | 2 +-
.../transform/InterpolatedGeocentricTransform.java | 1 +
.../operation/transform/LinearInterpolator1D.java | 3 ++-
.../transform/LogarithmicTransform1D.java | 1 +
.../operation/transform/PassThroughTransform.java | 1 +
.../operation/transform/PoleRotation.java | 2 +-
.../transform/SpecializableTransform.java | 5 +++++
.../operation/transform/TransferFunction.java | 1 +
.../operation/transform/TransformAdapter2D.java | 1 +
.../operation/transform/SinusoidalShiftGrid.java | 2 +-
.../sis/internal/converter/ArrayConverter.java | 1 +
.../internal/converter/CharSequenceConverter.java | 1 +
.../sis/internal/converter/FallbackConverter.java | 2 ++
.../sis/internal/converter/IdentityConverter.java | 8 +++----
.../sis/internal/converter/StringConverter.java | 22 +++++++++----------
.../sis/internal/converter/package-info.java | 2 +-
.../sis/internal/util/AutoMessageFormat.java | 2 +-
.../apache/sis/internal/util/CheckedHashSet.java | 1 +
.../sis/internal/util/SimpleCharacterIterator.java | 10 ++-------
.../sis/internal/util/UnmodifiableArrayList.java | 1 +
.../main/java/org/apache/sis/math/ArrayVector.java | 2 +-
.../org/apache/sis/math/ConcatenatedVector.java | 1 +
.../org/apache/sis/math/LinearlyDerivedVector.java | 1 +
.../java/org/apache/sis/math/RepeatedVector.java | 1 +
.../main/java/org/apache/sis/math/Statistics.java | 1 +
.../apache/sis/measure/ConcatenatedConverter.java | 2 ++
.../org/apache/sis/measure/ConventionalUnit.java | 2 +-
.../java/org/apache/sis/measure/DerivedScalar.java | 4 ++--
.../sis/measure/FormattedCharacterIterator.java | 23 ++++----------------
.../org/apache/sis/measure/MeasurementRange.java | 1 +
.../main/java/org/apache/sis/measure/Range.java | 1 +
.../main/java/org/apache/sis/measure/Scalar.java | 2 +-
.../apache/sis/measure/SexagesimalConverter.java | 2 +-
.../java/org/apache/sis/measure/UnitDimension.java | 2 +-
.../java/org/apache/sis/measure/UnitFormat.java | 5 +++--
.../sis/util/collection/DefaultTreeTable.java | 4 ++--
.../org/apache/sis/util/collection/DerivedMap.java | 6 +++---
.../org/apache/sis/util/collection/DerivedSet.java | 2 +-
.../sis/util/collection/FrequencySortedSet.java | 3 +--
.../org/apache/sis/util/collection/RangeSet.java | 1 +
.../apache/sis/util/collection/TreeNodeList.java | 2 ++
.../sis/util/collection/TreeTableFormat.java | 3 +++
.../resources/ResourceInternationalString.java | 1 +
.../measure/FormattedCharacterIteratorTest.java | 2 +-
.../sis/internal/profile/fra/Constraints.java | 1 +
.../internal/profile/fra/DataIdentification.java | 1 +
.../profile/fra/DirectReferenceSystem.java | 2 +-
.../profile/fra/IndirectReferenceSystem.java | 2 +-
.../sis/internal/profile/fra/LegalConstraints.java | 1 +
.../internal/profile/fra/SecurityConstraints.java | 1 +
.../sis/internal/storage/wkt/StoreFormat.java | 2 +-
.../apache/sis/storage/CanNotProbeException.java | 5 +++--
.../java/org/apache/sis/storage/CoverageQuery.java | 2 +-
.../java/org/apache/sis/storage/FeatureQuery.java | 5 +++++
.../storage/gpx/GroupAsPolylineOperation.java | 1 +
204 files changed, 344 insertions(+), 236 deletions(-)
diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridTileCache.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridTileCache.java
index 81359890e3..52775781ff 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridTileCache.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridTileCache.java
@@ -29,7 +29,7 @@ import org.apache.sis.internal.coverage.j2d.ImageUtilities;
* @version 1.1
* @since 1.1
*/
-@SuppressWarnings("serial")
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
final class GridTileCache extends LinkedHashMap<GridTile,GridTile> {
/**
* Creates a new cache of tiles.
diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/ResourceEvent.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/ResourceEvent.java
index 915e34d9fd..1f44d45726 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/ResourceEvent.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/ResourceEvent.java
@@ -57,6 +57,9 @@ public class ResourceEvent extends Event {
/**
* Path to the resource being loaded or closed.
+ *
+ * @todo The default implementation provided by the JDK is not serializable.
+ * We have no workaround at this time.
*/
private final Path path;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java
index 064932a449..59efc35e42 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java
@@ -103,6 +103,7 @@ public class Category implements Serializable {
*
* @see #getName()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final InternationalString name;
/**
@@ -139,6 +140,7 @@ public class Category implements Serializable {
*
* @see #getTransferFunction()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final MathTransform1D toConverse;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/RegionOfInterest.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/RegionOfInterest.java
index a5cfd024dc..7477a479e4 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/RegionOfInterest.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/RegionOfInterest.java
@@ -49,7 +49,7 @@ import org.apache.sis.util.Utilities;
* Future versions may allow other ways such as mask rasters.</p>
*
* @author Martin Desruisseaux (Geomatys)
- * @version 1.2
+ * @version 1.4
* @since 1.2
*/
public class RegionOfInterest implements LenientComparable, Serializable {
@@ -61,6 +61,7 @@ public class RegionOfInterest implements LenientComparable, Serializable {
/**
* The region of interest as a geometry. Coordinates are in the CRS given be {@link #crs}.
*/
+ @SuppressWarnings("serial") // Most Java2D implementations are serializable.
private final Shape geometry;
/**
@@ -68,6 +69,7 @@ public class RegionOfInterest implements LenientComparable, Serializable {
* In current version, it shall be a two-dimensional CRS.
* May be {@code null} if unknown.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final CoordinateReferenceSystem crs;
/**
@@ -134,7 +136,7 @@ public class RegionOfInterest implements LenientComparable, Serializable {
*/
@Override
public boolean equals(final Object other, final ComparisonMode mode) {
- if (other instanceof ComparisonMode) {
+ if (other instanceof RegionOfInterest) {
final RegionOfInterest that = (RegionOfInterest) other;
if (mode != ComparisonMode.STRICT || other.getClass() == getClass()) {
return geometry.equals(that.geometry) && Utilities.deepEquals(crs, that.crs, mode);
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java
index f2cb9f40db..8f105ffe50 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java
@@ -96,6 +96,7 @@ public class SampleDimension implements Serializable {
*
* @see #getName()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GenericName name;
/**
@@ -117,6 +118,7 @@ public class SampleDimension implements Serializable {
*
* @see #getTransferFunction()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final MathTransform1D transferFunction;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleRangeFormat.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleRangeFormat.java
index b41e4ef1e6..06ef7c6f49 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleRangeFormat.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleRangeFormat.java
@@ -38,7 +38,7 @@ import org.apache.sis.util.resources.Vocabulary;
* @version 1.1
* @since 1.0
*/
-@SuppressWarnings({"CloneableImplementsClone", "serial"}) // Not intended to be cloned or serialized.
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to serialized.
final class SampleRangeFormat extends RangeFormat {
/**
* Maximum value for {@link #numFractionDigits}. This is the number
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java
index 14c4d5eaba..411e74b6ae 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java
@@ -32,7 +32,7 @@ import org.apache.sis.internal.feature.Resources;
* @version 1.1
* @since 1.0
*/
-@SuppressWarnings({"CloneableImplementsClone", "serial"}) // Not intended to be cloned or serialized.
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
final class ToNaN extends HashSet<Integer> implements DoubleToIntFunction {
/**
* The value which should be assigned ordinal 0 if that ordinal value is available.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
index 3a2aaf195e..5933ed685d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
@@ -232,7 +232,7 @@ public class GridGeometry implements LenientComparable, Serializable {
* @see #getGridToCRS(PixelInCell)
* @see PixelInCell#CELL_CENTER
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final MathTransform gridToCRS;
/**
@@ -242,7 +242,7 @@ public class GridGeometry implements LenientComparable, Serializable {
* @serial This field is serialized because it may be a value specified explicitly at construction time,
* in which case it can be more accurate than a computed value.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final MathTransform cornerToCRS;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/package-info.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/package-info.java
index 433124dd5f..65ea533405 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/package-info.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/package-info.java
@@ -23,7 +23,7 @@
* {@link org.apache.sis.coverage.grid}.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 1.2
+ * @version 1.4
* @since 1.0
*/
package org.apache.sis.coverage;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java
index 4d8e4d3892..116f1f8e91 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java
@@ -63,6 +63,7 @@ public abstract class AbstractAssociation extends Field<Feature> implements Feat
/**
* Information about the association.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final FeatureAssociationRole role;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java
index a7e169cb12..545156f1ba 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java
@@ -86,6 +86,7 @@ public abstract class AbstractAttribute<V> extends Field<V> implements Attribute
/**
* Information about the attribute (base Java class, domain of values, <i>etc.</i>).
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final AttributeType<V> type;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java
index 932de85abe..b644531b7f 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java
@@ -101,6 +101,7 @@ public abstract class AbstractFeature implements Feature, Serializable {
/**
* Information about the feature (name, characteristics, <i>etc.</i>).
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final FeatureType type;
/**
@@ -844,7 +845,7 @@ public abstract class AbstractFeature implements Feature, Serializable {
* Notifies that the comparison of {@code this} feature is finished.
*/
final void comparisonEnd() {
- if (COMPARING.get().remove(this) != Boolean.TRUE) {
+ if (!Boolean.TRUE.equals(COMPARING.get().remove(this))) {
throw new AssertionError(); // Should never happen.
}
}
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java
index 9267611d2d..d8e1c54604 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java
@@ -98,6 +98,7 @@ public class AbstractIdentifiedType implements IdentifiedType, Deprecable, Seria
* @see #getName()
* @see #NAME_KEY
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GenericName name;
/**
@@ -106,6 +107,7 @@ public class AbstractIdentifiedType implements IdentifiedType, Deprecable, Seria
* @see #getDefinition()
* @see #DEFINITION_KEY
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString definition;
/**
@@ -115,6 +117,7 @@ public class AbstractIdentifiedType implements IdentifiedType, Deprecable, Seria
* @see #getDesignation()
* @see #DESIGNATION_KEY
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString designation;
/**
@@ -124,6 +127,7 @@ public class AbstractIdentifiedType implements IdentifiedType, Deprecable, Seria
* @see #getDescription()
* @see #DESCRIPTION_KEY
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString description;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AssociationView.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AssociationView.java
index 71373715ae..3b44cc198e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/AssociationView.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AssociationView.java
@@ -47,6 +47,7 @@ class AssociationView extends PropertyView<Feature> implements FeatureAssociatio
/**
* The role of this association. Must be one of the properties listed in the {@link #feature}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final FeatureAssociationRole role;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AttributeView.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AttributeView.java
index b31a7b24f8..fead64f113 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/AttributeView.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AttributeView.java
@@ -53,7 +53,7 @@ class AttributeView<V> extends PropertyView<V> implements Attribute<V> {
/**
* The type of this attribute. Must be one of the properties listed in the {@link #feature}.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final AttributeType<V> type;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
index 14f98fc51b..b7f0bbbbc3 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
@@ -74,6 +74,7 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
*
* @see #getValueType()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private volatile FeatureType valueType;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java
index e9623d6cd8..00c813eba5 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java
@@ -123,6 +123,7 @@ public class DefaultAttributeType<V> extends FieldType implements AttributeType<
*
* @see #getDefaultValue()
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private final V defaultValue;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
index 8d21a8cbb0..29841e9f5a 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
@@ -156,6 +156,7 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur
*
* @see #getSuperTypes()
*/
+ @SuppressWarnings("serial") // Can be various serializable implementations.
private final Set<FeatureType> superTypes;
/**
@@ -173,6 +174,7 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur
*
* @see #getProperties(boolean)
*/
+ @SuppressWarnings("serial") // Can be various serializable implementations.
private final List<PropertyType> properties;
/**
@@ -198,6 +200,8 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur
*
* The size of this map may be smaller than the {@link #byName} size.
* This map shall not be modified after construction.
+ *
+ * @see #indices()
*/
private transient Map<String, Integer> indices;
@@ -875,6 +879,7 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur
/**
* Returns the map from names to indices in an array of properties.
* This is used for {@link DenseFeature} implementation.
+ * Caller shall not modify the returned map.
*/
@SuppressWarnings("ReturnOfCollectionOrArrayField")
final Map<String,Integer> indices() {
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DenseFeature.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DenseFeature.java
index e6fd97f7bf..319a81f9d1 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DenseFeature.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DenseFeature.java
@@ -55,6 +55,7 @@ final class DenseFeature extends AbstractFeature implements Cloneable {
* {@link DefaultFeatureType#indices} map (potentially shared by many feature instances) and shall not be
* modified.
*/
+ @SuppressWarnings("serial") // Can be various serializable implementations.
private final Map<String, Integer> indices;
/**
@@ -65,6 +66,7 @@ final class DenseFeature extends AbstractFeature implements Cloneable {
* property is requested. The intent is to reduce the amount of allocated objects as much as possible,
* because typical SIS applications may create a very large amount of features.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Object[] properties;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java b/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java
index 5ed1cfdbfa..6018a951d6 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/EnvelopeOperation.java
@@ -96,6 +96,7 @@ final class EnvelopeOperation extends AbstractOperation {
* Note that this is the CRS desired by user of this {@link EnvelopeOperation};
* it may be unrelated to the CRS of stored geometries.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final CoordinateReferenceSystem targetCRS;
/**
@@ -114,6 +115,7 @@ final class EnvelopeOperation extends AbstractOperation {
* implementations of {@link DenseFeature} and {@link SparseFeature} have a "all of nothing" behavior anyway.
* So there is no performance gain to expect from a fine-grained knowledge of which properties declare a CRS.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final CoordinateOperation[] attributeToCRS;
/**
@@ -124,6 +126,7 @@ final class EnvelopeOperation extends AbstractOperation {
/**
* The type of the result returned by the envelope operation.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final AttributeType<Envelope> resultType;
/**
@@ -278,6 +281,7 @@ final class EnvelopeOperation extends AbstractOperation {
/**
* The feature specified to the {@link StringJoinOperation#apply(Feature, ParameterValueGroup)} method.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Feature feature;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperationException.java b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperationException.java
index 870cfefbcc..530ddddf6a 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperationException.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperationException.java
@@ -39,6 +39,7 @@ final class FeatureOperationException extends IllegalStateException implements L
/**
* A description of the computation error.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString message;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/InvalidFeatureException.java b/core/sis-feature/src/main/java/org/apache/sis/feature/InvalidFeatureException.java
index 9c920ace88..6e14737c1e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/InvalidFeatureException.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/InvalidFeatureException.java
@@ -47,6 +47,7 @@ final class InvalidFeatureException extends InvalidPropertyValueException implem
/**
* A description of the illegal feature.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString message;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/LinkOperation.java b/core/sis-feature/src/main/java/org/apache/sis/feature/LinkOperation.java
index f6c2115b52..c83f847b61 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/LinkOperation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/LinkOperation.java
@@ -54,6 +54,7 @@ final class LinkOperation extends AbstractOperation {
/**
* The type of the result.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final PropertyType result;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/NamedFeatureType.java b/core/sis-feature/src/main/java/org/apache/sis/feature/NamedFeatureType.java
index dc2bd3bd4f..6d09745246 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/NamedFeatureType.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/NamedFeatureType.java
@@ -49,6 +49,7 @@ final class NamedFeatureType implements FeatureType, Serializable {
/**
* The name of the feature type for which this {@code NamedFeatureType} is a placeholder.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GenericName name;
/**
@@ -57,6 +58,7 @@ final class NamedFeatureType implements FeatureType, Serializable {
* to create it. This information is stored in case the same {@code NamedFeatureType} instance has been used
* in more than one {@link DefaultFeatureType}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
volatile FeatureType resolved;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/PropertyView.java b/core/sis-feature/src/main/java/org/apache/sis/feature/PropertyView.java
index d54694ded0..cca9096f3e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/PropertyView.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/PropertyView.java
@@ -62,7 +62,7 @@ abstract class PropertyView<V> extends Field<V> implements Property, Serializabl
/**
* The feature from which to read and where to write the attribute or association value.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Feature feature;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAssociation.java b/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAssociation.java
index 3dfe0d4fc7..2aaa206fee 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAssociation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAssociation.java
@@ -53,6 +53,7 @@ final class SingletonAssociation extends AbstractAssociation {
/**
* The associated feature.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Feature value;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java b/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java
index d5872eed54..ab25bc7501 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java
@@ -56,6 +56,7 @@ final class SingletonAttribute<V> extends AbstractAttribute<V> implements Clonea
/**
* The attribute value, or {@code null} if none.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private V value;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/SparseFeature.java b/core/sis-feature/src/main/java/org/apache/sis/feature/SparseFeature.java
index 4652ce707e..55af5252ed 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/SparseFeature.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/SparseFeature.java
@@ -77,6 +77,7 @@ final class SparseFeature extends AbstractFeature implements Cloneable {
* <p>We use those indices as {@link #properties} keys instead of using directly the property names
* in order to resolve aliases.</p>
*/
+ @SuppressWarnings("serial") // Can be various serializable implementations.
private final Map<String, Integer> indices;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java b/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java
index 9c3565b64f..a618de04a4 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java
@@ -107,6 +107,7 @@ final class StringJoinOperation extends AbstractOperation {
* array if the property was an attribute instead of an association. For formatting the feature
* identifier, we need to use the inverse of that converter.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final ObjectConverter<? super String, ?> converter;
/** Creates a new wrapper over the given converter. */
@@ -144,6 +145,7 @@ final class StringJoinOperation extends AbstractOperation {
* the inverse conversion is often a simple call to {@link Object#toString()}, so there
* is a risk that some of the latter converters do not bother to remember their inverse.</p>
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<? super String, ?>[] converters;
/**
@@ -154,6 +156,7 @@ final class StringJoinOperation extends AbstractOperation {
/**
* The type of the result returned by the string concatenation operation.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final AttributeType<String> resultType;
/**
@@ -323,6 +326,7 @@ final class StringJoinOperation extends AbstractOperation {
/**
* The feature specified to the {@link StringJoinOperation#apply(Feature, ParameterValueGroup)} method.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Feature feature;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryFunction.java b/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryFunction.java
index 8eff3facc7..4b8062442d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryFunction.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryFunction.java
@@ -58,7 +58,7 @@ abstract class BinaryFunction<R,V1,V2> extends Node {
*
* @see #getExpression1()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Expression<? super R, ? extends V1> expression1;
/**
@@ -66,7 +66,7 @@ abstract class BinaryFunction<R,V1,V2> extends Node {
*
* @see #getExpression2()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Expression<? super R, ? extends V2> expression2;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java b/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java
index a830518e4e..b936b9d522 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java
@@ -66,7 +66,7 @@ abstract class BinaryGeometryFilter<R,G> extends FilterNode<R> implements Spatia
*
* @see BinarySpatialOperator#getOperand1()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Expression<? super R, GeometryWrapper<G>> expression1;
/**
@@ -74,7 +74,7 @@ abstract class BinaryGeometryFilter<R,G> extends FilterNode<R> implements Spatia
*
* @see BinarySpatialOperator#getOperand2()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Expression<? super R, GeometryWrapper<G>> expression2;
/**
@@ -156,6 +156,7 @@ abstract class BinaryGeometryFilter<R,G> extends FilterNode<R> implements Spatia
* @param expression the expression to unwrap.
* @return the unwrapped expression.
*/
+ @SuppressWarnings("unchecked") // We replace <? super ? super R> by <? super R>.
protected static <R,G> Expression<? super R, ?> original(final Expression<R, GeometryWrapper<G>> expression) {
Expression<? super R, ?> unwrapped = unwrap(expression);
if (unwrapped instanceof LeafExpression.Transformed<?, ?>) {
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/ConvertFunction.java b/core/sis-feature/src/main/java/org/apache/sis/filter/ConvertFunction.java
index b6e6b6459c..43f6f8eb4b 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/ConvertFunction.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/ConvertFunction.java
@@ -63,7 +63,7 @@ final class ConvertFunction<R,S,V> extends UnaryFunction<R,S>
/**
* The converter to use.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<? super S, ? extends V> converter;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/DefaultSortProperty.java b/core/sis-feature/src/main/java/org/apache/sis/filter/DefaultSortProperty.java
index b24f391cda..03c6e46c40 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/DefaultSortProperty.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/DefaultSortProperty.java
@@ -49,7 +49,7 @@ final class DefaultSortProperty<R> implements SortProperty<R>, Serializable {
/**
* The property on which to apply sorting.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ValueReference<? super R, ?> property;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/DistanceFilter.java b/core/sis-feature/src/main/java/org/apache/sis/filter/DistanceFilter.java
index 915aebda28..aea44fe99c 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/DistanceFilter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/DistanceFilter.java
@@ -64,7 +64,7 @@ final class DistanceFilter<R,G> extends BinaryGeometryFilter<R,G> implements Dis
/**
* The buffer distance around the geometry of the second expression.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Quantity<Length> distance;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/LeafExpression.java b/core/sis-feature/src/main/java/org/apache/sis/filter/LeafExpression.java
index 5f72c00ca7..1926511b5c 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/LeafExpression.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/LeafExpression.java
@@ -185,7 +185,7 @@ abstract class LeafExpression<R,V> extends Node implements FeatureExpression<R,V
private static final long serialVersionUID = -5120203649333919221L;
/** The original expression. */
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<R,?> original;
/** Creates a new literal holding the given constant value. */
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/LikeFilter.java b/core/sis-feature/src/main/java/org/apache/sis/filter/LikeFilter.java
index 50d8edd090..63ed1bbdf4 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/LikeFilter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/LikeFilter.java
@@ -47,7 +47,7 @@ final class LikeFilter<R> extends FilterNode<R> implements LikeOperator<R>, Opti
/**
* The source of values to compare against the pattern.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Expression<? super R, ?> expression;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java b/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java
index 39b45858b1..2916fa227a 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java
@@ -51,7 +51,7 @@ abstract class LogicalFilter<R> extends FilterNode<R> implements LogicalOperator
/**
* The filter on which to apply the logical operator.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Filter<? super R>[] operands;
/**
@@ -219,7 +219,7 @@ abstract class LogicalFilter<R> extends FilterNode<R> implements LogicalOperator
private static final long serialVersionUID = -1296823195138427781L;
/** The filter to negate. */
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Filter<? super R> operand;
/** Creates a new operator. */
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java b/core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java
index ad996001fc..20d281e95e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java
@@ -192,6 +192,7 @@ split: if (path != null) {
* put the column name in the SQL {@code WHERE} clause. It makes the difference between
* using or not the database index.
*/
+ @Override
public abstract PropertyValue<V> optimize(Optimization optimization);
@@ -404,7 +405,7 @@ split: if (path != null) {
private final Class<S> source;
/** The conversion from source type to the type to be returned. */
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<? super S, ? extends V> converter;
/** Creates a new expression retrieving values from a property of the given name. */
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/UnaryFunction.java b/core/sis-feature/src/main/java/org/apache/sis/filter/UnaryFunction.java
index ebea70a8fb..cb51eaa56d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/UnaryFunction.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/UnaryFunction.java
@@ -54,7 +54,7 @@ class UnaryFunction<R,V> extends Node {
*
* @see #getExpression()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Expression<? super R, ? extends V> expression;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/index/tree/NodeIterator.java b/core/sis-feature/src/main/java/org/apache/sis/index/tree/NodeIterator.java
index 96199e114d..f34c03d513 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/index/tree/NodeIterator.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/index/tree/NodeIterator.java
@@ -37,6 +37,7 @@ import org.apache.sis.internal.util.Numerics;
*
* @since 1.1
*/
+@SuppressWarnings("CloneableImplementsClone")
class NodeIterator<E> implements Spliterator<E>, Cloneable {
/**
* Sentinel value meaning that iteration is over.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java b/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
index fddacf1312..9a77fda74e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.index.tree;
-import java.io.Serializable;
import java.util.Optional;
import java.util.AbstractSet;
import java.util.Collection;
@@ -73,13 +72,18 @@ import org.apache.sis.util.collection.CheckedContainer;
*
* @author Chris Mattmann
* @author Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.4
*
* @param <E> the type of elements stored in this tree.
*
* @since 1.1
*/
-public class PointTree<E> extends AbstractSet<E> implements CheckedContainer<E>, Serializable {
+public class PointTree<E> extends AbstractSet<E> implements CheckedContainer<E> {
+ /*
+ * We do not declare this class as Serializable because we would need to serialize
+ * the lambda function `Locator`. While technically possible, this is not recommended.
+ */
+
/**
* Provides the coordinates of any element stored in {@link PointTree}.
*
@@ -97,11 +101,6 @@ public class PointTree<E> extends AbstractSet<E> implements CheckedContainer<E>,
void getPositionOf(E element, double[] dest);
}
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = 488727778652772913L;
-
/**
* The maximum number of dimensions (inclusive) that this class currently supports.
* Current maximum is {@value}. This restriction come from 2⁶ = {@value Long#SIZE}.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTreeNode.java b/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTreeNode.java
index bd7a60e998..771d2a0111 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTreeNode.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTreeNode.java
@@ -17,7 +17,6 @@
package org.apache.sis.index.tree;
import java.util.Arrays;
-import java.io.Serializable;
/**
@@ -44,15 +43,10 @@ import java.io.Serializable;
*
* @author Chris Mattmann
* @author Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.4
* @since 1.1
*/
-abstract class PointTreeNode implements Cloneable, Serializable {
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = -5911043832415017844L;
-
+abstract class PointTreeNode implements Cloneable {
/**
* Constructs an initially empty {@link PointTree} node.
*/
@@ -180,11 +174,6 @@ abstract class PointTreeNode implements Cloneable, Serializable {
* the cost of arrays creation should be less significant compared to array length.
*/
static final class Default extends PointTreeNode {
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = 5726750714534959859L;
-
/**
* The nodes or element values in each quadrant/octant of this node.
* Each array element can be null or an instance of one of the classes
diff --git a/core/sis-feature/src/main/java/org/apache/sis/index/tree/QuadTreeNode.java b/core/sis-feature/src/main/java/org/apache/sis/index/tree/QuadTreeNode.java
index 6b37b01dbf..cb9bc30ef0 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/index/tree/QuadTreeNode.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/index/tree/QuadTreeNode.java
@@ -25,15 +25,10 @@ package org.apache.sis.index.tree;
*
* @author Chris Mattmann
* @author Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.4
* @since 0.1
*/
final class QuadTreeNode extends PointTreeNode {
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = 3860185925702742700L;
-
/**
* The 4 quadrants of a {@link QuadTreeNode}: North-West (NW), North-East (NE),
* South-West (SW) and South-East (SE). Numerical values follow this bit pattern:
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java
index 6e5e148385..d15501c53e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java
@@ -599,7 +599,6 @@ public final class Resources extends IndexedResourceBundle {
private static final class International extends ResourceInternationalString {
private static final long serialVersionUID = -667435900917846518L;
- International(short key) {super(key);}
International(short key, Object args) {super(key, args);}
@Override protected KeyConstants getKeyConstants() {return Keys.INSTANCE;}
@Override protected IndexedResourceBundle getBundle(final Locale locale) {
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java
index 62bc8f1dcc..4221b7572d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java
@@ -77,13 +77,13 @@ public final class SpatialOperationContext implements Serializable {
/**
* Approximate geographic area of geometries, or {@code null} if unspecified.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GeographicBoundingBox areaOfInterest;
/**
* The target CRS in which to transform geometries, or {@code null} for inferring automatically.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final CoordinateReferenceSystem computationCRS;
/**
@@ -92,7 +92,7 @@ public final class SpatialOperationContext implements Serializable {
* Note that it does not mean that the units of measurement must be meters; only that they must
* be compatible with meters.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Unit<?> systemUnit;
/**
@@ -104,7 +104,7 @@ public final class SpatialOperationContext implements Serializable {
/**
* The common CRS found by {@link #transform(GeometryWrapper[])}. May be null.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
CoordinateReferenceSystem commonCRS;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/ShapeWrapper.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/ShapeWrapper.java
index 232c6b5a6b..e08a665eef 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/ShapeWrapper.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/ShapeWrapper.java
@@ -43,6 +43,7 @@ abstract class ShapeWrapper extends AbstractShape implements Serializable {
/**
* The source of coordinate values.
*/
+ @SuppressWarnings("serial") // Most Java2D implementations are serializable.
protected final Shape source;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PackedCoordinateSequence.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PackedCoordinateSequence.java
index 64d8660bf9..fd912d09f3 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PackedCoordinateSequence.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PackedCoordinateSequence.java
@@ -262,6 +262,7 @@ abstract class PackedCoordinateSequence implements CoordinateSequence, Serializa
/**
* Coordinate sequence storing values in a packed {@code double[]} array.
*/
+ @SuppressWarnings("CloneableImplementsClone")
static final class Double extends PackedCoordinateSequence {
/** For cross-version compatibility. */
private static final long serialVersionUID = 1940132733783453171L;
@@ -349,6 +350,7 @@ abstract class PackedCoordinateSequence implements CoordinateSequence, Serializa
/**
* Coordinate sequence storing values in a packed {@code float[]} array.
*/
+ @SuppressWarnings("CloneableImplementsClone")
static final class Float extends PackedCoordinateSequence {
/** For cross-version compatibility. */
private static final long serialVersionUID = 2625498691139718968L;
@@ -448,6 +450,7 @@ abstract class PackedCoordinateSequence implements CoordinateSequence, Serializa
/**
* Returns a string representation of this coordinate sequence.
*/
+ @Override
public final String toString() {
return CoordinateSequences.toString(this);
}
@@ -477,7 +480,9 @@ abstract class PackedCoordinateSequence implements CoordinateSequence, Serializa
*
* @deprecated Inherits the deprecation status from JTS.
*/
+ @Override
@Deprecated
+ @SuppressWarnings("CloneDoesntCallSuperClone")
public final Object clone() {
return copy();
}
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java
index a39c920b2f..fc204d038a 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java
@@ -73,7 +73,7 @@ final class GeometryConverter<R,G> extends Node implements Optimization.OnExpres
*
* @see #getParameters()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, ?> expression;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java
index 2d4b2787a9..42425aa7a1 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java
@@ -53,6 +53,7 @@ public final class SortByComparator<R> implements SortBy<R>, Serializable {
*
* @see #getSortProperties()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final SortProperty<R>[] properties;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/FunctionWithSRID.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/FunctionWithSRID.java
index 6b4931546c..8a7ed8afe3 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/FunctionWithSRID.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/FunctionWithSRID.java
@@ -59,6 +59,7 @@ abstract class FunctionWithSRID<R> extends SpatialFunction<R> {
/**
* The expression giving the spatial reference system identifier, or {@code null} if none.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, ?> srid;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/GeometryConstructor.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/GeometryConstructor.java
index 620280cc3b..6f781e1cf6 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/GeometryConstructor.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/GeometryConstructor.java
@@ -51,6 +51,7 @@ class GeometryConstructor<R,G> extends FunctionWithSRID<R> {
/**
* The expression giving the geometry.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, ?> geometry;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/OneGeometry.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/OneGeometry.java
index bb6fb1ac7c..50c299ca57 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/OneGeometry.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/OneGeometry.java
@@ -47,7 +47,7 @@ class OneGeometry<R,G> extends SpatialFunction<R> {
/**
* The expression giving the geometry.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, GeometryWrapper<G>> geometry;
/**
@@ -107,6 +107,7 @@ class OneGeometry<R,G> extends SpatialFunction<R> {
/**
* The first argument after the geometry.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, ?> argument;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Point.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Point.java
index be91be1b5f..5be5872f8b 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Point.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Point.java
@@ -61,6 +61,7 @@ final class ST_Point<R,G> extends FunctionWithSRID<R> {
/**
* The expression giving the coordinate values. May include the SRID as last parameter.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Expression<? super R, ?>[] parameters;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Transform.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Transform.java
index 4e93fa066e..9861c9baf5 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Transform.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/ST_Transform.java
@@ -70,6 +70,7 @@ final class ST_Transform<R,G> extends FunctionWithSRID<R> {
/**
* The expression giving the geometry.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Expression<? super R, GeometryWrapper<G>> geometry;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java
index d80cc93ed3..7b81f2c337 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java
@@ -53,6 +53,7 @@ class TwoGeometries<R,G> extends SpatialFunction<R> {
/**
* The expression giving the geometries.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, GeometryWrapper<G>> geometry1, geometry2;
/**
@@ -151,6 +152,7 @@ class TwoGeometries<R,G> extends SpatialFunction<R> {
/**
* The first argument after the geometries.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Expression<? super R, ?> argument;
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/processing/isoline/Fragments.java b/core/sis-feature/src/main/java/org/apache/sis/internal/processing/isoline/Fragments.java
index 0e684512b1..f44a5b4254 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/processing/isoline/Fragments.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/processing/isoline/Fragments.java
@@ -44,7 +44,7 @@ import org.apache.sis.internal.util.Numerics;
*
* @since 1.1
*/
-@SuppressWarnings({"CloneableImplementsClone", "serial"}) // Not intended to be cloned or serialized.
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
final class Fragments extends ArrayList<double[]> {
/**
* The first points and last point in this list of polylines. By convention the coordinate having fraction
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
index cc92d21399..65533ce214 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
@@ -103,7 +103,7 @@ public class IdentifierMapAdapter extends AbstractMap<Citation,String> implement
*
* @see #getIdentifiers(Class)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
public final Collection<Identifier> identifiers;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
index d285d5b499..4620c3c516 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
@@ -59,7 +59,7 @@ public final class SpecializedIdentifier<T> implements Identifier, Cloneable, Se
*
* @see #getAuthority()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final IdentifierSpace<T> authority;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Resources.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Resources.java
index f3fdafdcaf..9dfde583cb 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Resources.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Resources.java
@@ -183,7 +183,6 @@ public final class Resources extends IndexedResourceBundle {
private static final long serialVersionUID = 7465539282825054584L;
International(short key) {super(key);}
- International(short key, Object args) {super(key, args);}
@Override protected KeyConstants getKeyConstants() {return Resources.Keys.INSTANCE;}
@Override protected IndexedResourceBundle getBundle(final Locale locale) {
return forLocale(locale);
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java
index 7b24606142..8f85f31945 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java
@@ -46,6 +46,7 @@ public final class SimpleAttributeType<V> implements AttributeType<V>, Type, Ser
/**
* The name for this attribute type.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final TypeName name;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
index b8d058ab0d..7b3b9d21f2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
@@ -51,6 +51,7 @@ public class SimpleIdentifiedObject implements IdentifiedObject, LenientComparab
/**
* The primary name by which this object is identified.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected Identifier name;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
index abc8684333..8206513ff2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
@@ -49,6 +49,7 @@ public class SimpleIdentifier implements Identifier, Deprecable, Serializable {
* @see #getCodeSpace()
* @see #getVersion()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final Citation authority;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataFormat.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataFormat.java
index c0f07e9877..34cd53944d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataFormat.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataFormat.java
@@ -31,7 +31,7 @@ import org.apache.sis.io.TableAppender;
* @version 1.0
* @since 1.0
*/
-@SuppressWarnings({"CloneableImplementsClone", "serial"}) // Not intended to be cloned or serialized.
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
final class MetadataFormat extends TreeTableFormat {
/**
* The shared instance to use for the {@link TreeTableView#toString()} method implementation.
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
index 234fb2d125..24c276ce3f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
@@ -174,7 +174,7 @@ public class MetadataStandard implements Serializable {
*
* @see #getCitation()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final Citation citation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
index fd8c2eb0ea..bcac4318db 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
@@ -73,7 +73,7 @@ public class ISOMetadata extends ModifiableMetadata implements IdentifiedObject,
* All identifiers associated with this metadata, or {@code null} if none.
* This field is initialized to a non-null value when first needed.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected Collection<Identifier> identifiers;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
index 1ca956cba9..4a8bc3d062 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
@@ -72,7 +72,7 @@ public class DefaultRecord implements Record, Serializable {
/**
* The type definition of this record. Cannot be {@code null}.
*/
- @SuppressWarnings("serial")
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final RecordDefinition definition;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
index c7b2f7877c..3351e560b5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
@@ -107,7 +107,7 @@ public class DefaultRecordType extends RecordDefinition implements RecordType, S
*
* @see #getTypeName()
*/
- @SuppressWarnings("serial")
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final TypeName typeName;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultTypeName.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultTypeName.java
index 2d89d18350..7a64737f32 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultTypeName.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultTypeName.java
@@ -147,7 +147,7 @@ public class DefaultTypeName extends DefaultLocalName implements TypeName {
* The value returned by {@link #toJavaType()}, or {@code null} if none.
* This is usually a {@link Class}, which is serializable.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial")
private final Type javaType;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
index 9b2ce0d031..e5893496b4 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
@@ -69,7 +69,7 @@ abstract class RecordDefinition { // Inten
/**
* The wrapped record type.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final RecordType recordType; // This is the only serialized field in this file.
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
index e714c40340..aae61ea6bf 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
@@ -438,6 +438,7 @@ public final class Types extends Static {
/**
* The code list for which to create a title.
*/
+ @SuppressWarnings("serial") // Enum and CodeList implementations are serializable.
final ControlledVocabulary code;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java
index 828c66614e..9ac9b410da 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/NilReason.java
@@ -144,8 +144,9 @@ public final class NilReason implements Serializable {
/**
* Either the XML value as a {@code String} (including the explanation if the prefix
- * is "{@code other}", or a {@link URI}.
+ * is "{@code other}", or a {@link URI}. Those types are serializable.
*/
+ @SuppressWarnings("serial")
private final Object reason;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java
index 7cc56daa7d..abfac9a314 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java
@@ -126,6 +126,7 @@ public class XLink implements Serializable {
* @see #getTitle()
* @category semantic
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private InternationalString title;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/ArrayEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/ArrayEnvelope.java
index 44c8a527d7..2c10ad3686 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/ArrayEnvelope.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/ArrayEnvelope.java
@@ -75,6 +75,7 @@ class ArrayEnvelope extends AbstractEnvelope implements Serializable {
/**
* The coordinate reference system, or {@code null}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
CoordinateReferenceSystem crs;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
index 8238da32db..6412aa4037 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
@@ -158,6 +158,7 @@ public class CoordinateFormat extends CompoundFormat<DirectPosition> {
* @see #groundDimensions
* @see #setGroundPrecision(Quantity)
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Quantity<?> groundPrecision;
/**
@@ -171,6 +172,7 @@ public class CoordinateFormat extends CompoundFormat<DirectPosition> {
* @see #accuracyThreshold
* @see #setGroundAccuracy(Quantity)
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Quantity<?> groundAccuracy;
/**
@@ -246,6 +248,7 @@ public class CoordinateFormat extends CompoundFormat<DirectPosition> {
*
* @see #setDefaultCRS(CoordinateReferenceSystem)
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateReferenceSystem defaultCRS;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition1D.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition1D.java
index 4bbc99474e..90364785d2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition1D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition1D.java
@@ -52,6 +52,7 @@ public class DirectPosition1D extends AbstractDirectPosition implements Serializ
/**
* The coordinate reference system for this position;
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateReferenceSystem crs;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java
index 6a147900eb..a6eef5174d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java
@@ -77,6 +77,7 @@ public class DirectPosition2D extends Point2D.Double implements DirectPosition,
/**
* The coordinate reference system for this position;
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateReferenceSystem crs;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
index ca5f61ef7e..35ac3589f5 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
@@ -124,6 +124,7 @@ public class Envelope2D extends Rectangle2D.Double implements Envelope, Emptiabl
/**
* The coordinate reference system, or {@code null}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateReferenceSystem crs;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralDirectPosition.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralDirectPosition.java
index 1ce7526640..bfefda5417 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralDirectPosition.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralDirectPosition.java
@@ -79,6 +79,7 @@ public class GeneralDirectPosition extends AbstractDirectPosition implements Ser
/**
* The coordinate reference system for this position, or {@code null}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateReferenceSystem crs;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGParameterDomain.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGParameterDomain.java
index 98f8989dfb..d0988d76f6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGParameterDomain.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGParameterDomain.java
@@ -40,6 +40,7 @@ public final class EPSGParameterDomain extends NumberRange<Double> {
/**
* The units of measurement.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
public final Set<Unit<?>> units;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/RTreeNode.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/RTreeNode.java
index 23c874e2ad..39864790e7 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/RTreeNode.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/RTreeNode.java
@@ -51,6 +51,7 @@ import org.apache.sis.util.collection.DefaultTreeTable;
* @version 1.1
* @since 1.1
*/
+@SuppressWarnings("CloneableImplementsClone")
public class RTreeNode extends GeneralEnvelope {
/**
* For cross-version compatibility.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/AffineTransform2D.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/AffineTransform2D.java
index 8902b5961d..c13c82ad0a 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/AffineTransform2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/AffineTransform2D.java
@@ -112,7 +112,7 @@ public class AffineTransform2D extends ImmutableAffineTransform
* Work around for RFE #4093999 in Sun's bug database
* ("Relax constraint on placement of this()/super() call in constructors").
*/
- @Workaround(library="JDK", version="1.7")
+ @Workaround(library="JDK", version="1.7", fixed="20")
private AffineTransform2D(final ExtendedPrecisionMatrix m, final double[] elements) {
super(pz(elements[0]), pz(elements[3]),
pz(elements[1]), pz(elements[4]),
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/IntervalRectangle.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/IntervalRectangle.java
index a09a745708..07a336cf40 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/IntervalRectangle.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/IntervalRectangle.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.internal.referencing.j2d;
+import java.io.Serializable;
import java.awt.geom.Rectangle2D;
import org.opengis.geometry.Envelope;
import org.opengis.geometry.DirectPosition;
@@ -59,11 +60,14 @@ import org.apache.sis.internal.util.Strings;
* recommended approach, but for Apache SIS private classes this is a way to reduce pressure on garbage collector.</div>
*
* @author Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.4
* @since 0.8
*/
@SuppressWarnings("CloneableImplementsClone")
-public class IntervalRectangle extends Rectangle2D {
+public class IntervalRectangle extends Rectangle2D implements Serializable {
+ /** For cross-version compatibility. */
+ private static final long serialVersionUID = -5921513912411186629L;
+
/** Minimal <var>x</var> coordinate value. */ public double xmin;
/** Minimal <var>y</var> coordinate value. */ public double ymin;
/** Maximal <var>x</var> coordinate value. */ public double xmax;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ParameterizedAffine.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ParameterizedAffine.java
index 825ad5338f..93c5c8c65b 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ParameterizedAffine.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ParameterizedAffine.java
@@ -46,6 +46,7 @@ import org.apache.sis.internal.system.Semaphores;
* @version 0.6
* @since 0.6
*/
+@SuppressWarnings("CloneableImplementsClone")
public final class ParameterizedAffine extends AffineTransform2D {
/**
* For cross-version compatibility.
@@ -55,7 +56,7 @@ public final class ParameterizedAffine extends AffineTransform2D {
/**
* The (presumed immutable) parameters used for creating this transform.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterValueGroup parameters;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/package-info.java
index af99c0e43d..2795ae536c 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/package-info.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/package-info.java
@@ -26,7 +26,7 @@
* may change in incompatible ways in any future version without notice.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 1.3
+ * @version 1.4
*
* @see org.apache.sis.internal.feature.j2d
*
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
index 100b8b5361..70510c524d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
@@ -105,12 +105,15 @@ abstract class DatumShiftGridFile<C extends Quantity<C>, T extends Quantity<T>>
/**
* The parameter descriptor of the provider that created this grid.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterDescriptorGroup descriptor;
/**
* The files from which the grid has been loaded. This is not used directly by this class
* (except for {@link #equals(Object)} and {@link #hashCode()}), but can be used by math
* transform for setting the parameter values. Shall never be null and never empty.
+ *
+ * @todo We have a serialization problem here. Possible workaround may be to replace by URI.
*/
private final Path[] files;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridGroup.java
index f153c6cbcb..7d98c5b849 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridGroup.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridGroup.java
@@ -57,7 +57,7 @@ import org.apache.sis.util.collection.Containers;
* </ol>
*
* @author Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.4
* @since 1.1
*/
final class DatumShiftGridGroup<C extends Quantity<C>, T extends Quantity<T>> extends DatumShiftGridFile<C,T> {
@@ -73,6 +73,9 @@ final class DatumShiftGridGroup<C extends Quantity<C>, T extends Quantity<T>> ex
*/
@SuppressWarnings("CloneableImplementsClone")
private static final class Region extends IntervalRectangle {
+ /** For cross-version compatibility. */
+ private static final long serialVersionUID = -2925837396412170681L;
+
/** Subsampling compared to the grid having finest resolution. */
private final double sx, sy;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
index a7758f6ce5..93ec656af1 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
@@ -22,7 +22,7 @@
*
* @author Martin Desruisseaux (Geomatys)
* @author Matthieu Bastianelli (Geomatys)
- * @version 1.3
+ * @version 1.4
*
* @see org.apache.sis.referencing.operation.transform.MathTransformProvider
*
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/StoredTree.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/StoredTree.java
index c16eb018db..7fff322f32 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/StoredTree.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/StoredTree.java
@@ -86,6 +86,7 @@ final class StoredTree implements Serializable {
* (e.g. "north"). A null value is not equivalent to an empty list. For example, the
* list is null when parsing {@code "FOO"} but is empty when parsing {@code "FOO[]"}.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private final Object[] children;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
index fd499dc990..4f1173bfeb 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
@@ -168,7 +168,7 @@ public class WKTFormat extends CompoundFormat<Object> {
* The preferred authority for objects or parameter names. A {@code null} value
* means that the authority shall be inferred from the {@linkplain #convention}.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Citation authority;
/**
@@ -226,8 +226,7 @@ public class WKTFormat extends CompoundFormat<Object> {
*
* @see #fragments(boolean)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
- private Map<String,StoredTree> fragments;
+ private TreeMap<String,StoredTree> fragments;
/**
* {@code true} if the {@link #fragments} map is shared by two or more {@code WKTFormat} instances.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Warnings.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Warnings.java
index 2e1342733c..0f7528f1c0 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Warnings.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Warnings.java
@@ -69,7 +69,7 @@ import org.apache.sis.util.resources.Vocabulary;
* </div>
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.6
+ * @version 1.4
*
* @see WKTFormat#getWarnings()
*
@@ -104,9 +104,7 @@ public final class Warnings implements Localized, Serializable {
/**
* Warning messages or exceptions emitted during parsing or formatting.
- * Initially {@code null} and created when first needed.
- *
- * <p>Objects in this list must be a sequence of the following tuple:</p>
+ * Objects in this list must be a sequence of the following tuple:
*
* <ul>
* <li>An optional message as an {@link InternationalString}.</li>
@@ -117,18 +115,16 @@ public final class Warnings implements Localized, Serializable {
*
* @see #add(InternationalString, Exception, String[])
*/
- private List<Object> messages;
+ private final ArrayList<Object> messages;
/**
* The keywords of elements in which exception occurred.
- * Initially {@code null} and created when first needed.
- *
- * <p>For each {@code String[]} value, the first array element shall be the keyword of the WKT element
+ * For each {@code String[]} value, the first array element shall be the keyword of the WKT element
* in which the exception occurred. The second array element shall be the parent of above-cited first
* element. Other array elements can optionally be present for declaring the parents of the parent,
- * but they will be ignored by this {@code Warnings} implementation.</p>
+ * but they will be ignored by this {@code Warnings} implementation.
*/
- private Map<Exception, String[]> exceptionSources;
+ private final LinkedHashMap<Exception, String[]> exceptionSources;
/**
* Keyword of unknown elements. This is initially a direct reference to the {@link AbstractParser#ignoredElements}
@@ -137,6 +133,7 @@ public final class Warnings implements Localized, Serializable {
*
* @see AbstractParser#ignoredElements
*/
+ @SuppressWarnings("serial") // Various serializable implementations.
private Map<String, List<String>> ignoredElements;
/**
@@ -155,6 +152,8 @@ public final class Warnings implements Localized, Serializable {
this.errorLocale = locale;
this.isParsing = isParsing;
this.ignoredElements = ignoredElements;
+ exceptionSources = new LinkedHashMap<>(4);
+ messages = new ArrayList<>();
}
/**
@@ -184,15 +183,9 @@ public final class Warnings implements Localized, Serializable {
*/
final void add(final InternationalString message, final Exception cause, final String[] source) {
assert (message != null) || (cause != null);
- if (messages == null) {
- messages = new ArrayList<>(4); // We expect few items.
- }
messages.add(message);
messages.add(cause);
if (cause != null) {
- if (exceptionSources == null) {
- exceptionSources = new LinkedHashMap<>(4); // We expect few items.
- }
exceptionSources.put(cause, source);
}
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/package-info.java
index b288d04368..934feec6a9 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/package-info.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/package-info.java
@@ -83,7 +83,7 @@
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Rémi Eve (IRD)
* @author Rueben Schulz (UBC)
- * @version 1.3
+ * @version 1.4
*
* @see <a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html">WKT 2 specification</a>
* @see <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">Legacy WKT 1</a>
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
index d1b3071673..18ec28ddd6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
@@ -107,7 +107,7 @@ public class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor
*
* @see #descriptors()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private List<GeneralParameterDescriptor> descriptors;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
index 6240fb10ec..f6efa95e34 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
@@ -148,7 +148,7 @@ public class DefaultParameterValue<T> extends FormattableObject implements Param
*
* @see #getDescriptor()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private ParameterDescriptor<T> descriptor;
/**
@@ -168,7 +168,7 @@ public class DefaultParameterValue<T> extends FormattableObject implements Param
*
* @since 0.7
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected Unit<?> unit;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/FilteredParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/FilteredParameters.java
index ef1d17dec3..d310cc5909 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/FilteredParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/FilteredParameters.java
@@ -35,6 +35,7 @@ import org.apache.sis.util.ComparisonMode;
* @version 1.3
* @since 1.3
*/
+@SuppressWarnings("CloneableImplementsClone")
final class FilteredParameters extends UnmodifiableParameterValueGroup {
/**
* For cross-version compatibility.
@@ -44,7 +45,7 @@ final class FilteredParameters extends UnmodifiableParameterValueGroup {
/**
* The filtered parameter values.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GeneralParameterValue[] filtered;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
index 1aeabe1985..c47cefde99 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
@@ -172,6 +172,7 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
/**
* The parameters for the semi-major and semi-minor axis length.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterValue<?> semiMajor, semiMinor;
/**
@@ -264,6 +265,7 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
/**
* The parameters for the semi-major and semi-minor axis length.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterValue<?> semiMajor, semiMinor;
/**
@@ -441,6 +443,7 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
/**
* The parameters for the standard parallels.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterValue<?> standardParallel1, standardParallel2;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
index f0b84a0d72..e9ea1f8f21 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
@@ -244,7 +244,7 @@ public class ParameterFormat extends TabularFormat<Object> {
*
* @see #getPreferredCodespaces()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Various serializable implementations.
private Set<String> preferredCodespaces;
/**
@@ -333,7 +333,7 @@ public class ParameterFormat extends TabularFormat<Object> {
*/
public String[] getPreferredCodespaces() {
final Set<String> p = preferredCodespaces;
- return (p != null) ? p.toArray(new String[p.size()]) : null;
+ return (p != null) ? p.toArray(String[]::new) : null;
}
/**
@@ -350,7 +350,7 @@ public class ParameterFormat extends TabularFormat<Object> {
if (codespaces != null) {
copy = CollectionsExt.immutableSet(true, codespaces);
}
- this.preferredCodespaces = copy;
+ preferredCodespaces = copy;
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java
index faf9c7fa9d..de4c7735b5 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java
@@ -65,14 +65,14 @@ final class ParameterValueList extends AbstractList<GeneralParameterValue> imple
* <p>This descriptor shall not be used in {@link #equals(Object)} and {@link #hashCode()}
* implementations in order to stay consistent with the {@link List} contract.</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final ParameterDescriptorGroup descriptor;
/**
* The parameter values in the group. The length of this array is the list capacity.
* This array will growth as needed.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private GeneralParameterValue[] values;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
index c68b6d02c6..460142560c 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
@@ -198,7 +198,7 @@ public abstract class Parameters implements ParameterValueGroup, Cloneable {
private static final class Wrapper extends Parameters implements Serializable {
private static final long serialVersionUID = -5491790565456920471L;
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterValueGroup delegate;
Wrapper(final ParameterValueGroup delegate) {this.delegate = delegate;}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java
index 0deb6b7acb..95b48ae4d2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java
@@ -277,7 +277,7 @@ public class TensorParameters<E> implements Serializable {
*
* <p>The length of this array determine the tensor {@linkplain #rank() rank}.</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterDescriptor<Integer>[] dimensions;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
index 80729182a3..233d0c32d7 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
@@ -80,7 +80,7 @@ final class TensorValues<E> extends AbstractParameterDescriptor
/**
* The parameter for the number of row, columns and other dimensions in the tensor.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterValue<Integer>[] dimensions;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/UninitializedParameter.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/UninitializedParameter.java
index bcee320e02..feeebc7e83 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/UninitializedParameter.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/UninitializedParameter.java
@@ -42,7 +42,7 @@ final class UninitializedParameter implements GeneralParameterValue, Serializabl
/**
* The descriptor of the parameter to initialize.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GeneralParameterDescriptor descriptor;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java
index 3c08afb126..72fdab3524 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java
@@ -58,7 +58,7 @@ class UnmodifiableParameterValueGroup extends Parameters implements LenientCompa
*
* @see #getDescriptor()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterDescriptorGroup descriptor;
/**
@@ -66,7 +66,7 @@ class UnmodifiableParameterValueGroup extends Parameters implements LenientCompa
*
* @see #values()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final List<GeneralParameterValue> values;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
index d46a30b423..1f9d776561 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
@@ -177,7 +177,7 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
* @see #getName()
* @see #getNames()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Identifier name;
/**
@@ -188,7 +188,7 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
* <p><b>Consider this field as final!</b>
* This field is modified only at unmarshalling time by {@link Names#add(Identifier)}.</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Collection<GenericName> alias;
/**
@@ -201,7 +201,7 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
* @see #getIdentifiers()
* @see #getIdentifier()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Set<Identifier> identifiers;
/**
@@ -212,7 +212,7 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
*
* @see #getRemarks()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private InternationalString remarks;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractReferenceSystem.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractReferenceSystem.java
index 57297d8a17..20572bc3d2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractReferenceSystem.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractReferenceSystem.java
@@ -81,7 +81,7 @@ public class AbstractReferenceSystem extends AbstractIdentifiedObject implements
*
* @see #getDomainOfValidity()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Extent domainOfValidity;
/**
@@ -93,7 +93,7 @@ public class AbstractReferenceSystem extends AbstractIdentifiedObject implements
*
* @see #getScope()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private InternationalString scope;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/ImmutableIdentifier.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/ImmutableIdentifier.java
index 987691dc5f..1038861c67 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/ImmutableIdentifier.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/ImmutableIdentifier.java
@@ -121,7 +121,7 @@ public class ImmutableIdentifier extends FormattableObject implements Identifier
*
* @see #getAuthority()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Citation authority;
/**
@@ -151,7 +151,7 @@ public class ImmutableIdentifier extends FormattableObject implements Identifier
/**
* Natural language description of the meaning of the code value.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString description;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/Properties.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/Properties.java
index 1cc90f6521..1451bb7a71 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/Properties.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/Properties.java
@@ -92,6 +92,7 @@ final class Properties extends AbstractMap<String,Object> implements Serializabl
/**
* The object where all properties come from.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final IdentifiedObject object;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
index 19387b6fb8..aec6873097 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
@@ -117,7 +117,7 @@ public class AbstractCRS extends AbstractReferenceSystem implements CoordinateRe
*
* @see #getCoordinateSystem()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateSystem coordinateSystem;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
index da7d39d4ec..c25fb52c43 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
@@ -80,7 +80,7 @@ abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS impl
*
* @see #getConversionFromBase()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private C conversionFromBase;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
index e09d69358f..e1f2c36228 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
@@ -131,6 +131,7 @@ public class DefaultCompoundCRS extends AbstractCRS implements CompoundCRS {
* <p><b>Consider this field as final!</b>
* This field is modified only at construction and unmarshalling time by {@link #setComponents(List)}</p>
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private List<? extends CoordinateReferenceSystem> components;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
index 36b4389d4c..ff0d0f48e1 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
@@ -94,7 +94,7 @@ public class DefaultEngineeringCRS extends AbstractCRS implements EngineeringCRS
*
* @see #getDatum()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private EngineeringDatum datum;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
index 64f2651764..9baa92bf78 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
@@ -84,6 +84,7 @@ class DefaultGeodeticCRS extends AbstractCRS implements GeodeticCRS { // If made
*
* @see #getDatum()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private GeodeticDatum datum;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
index 4977e635da..b0029e4d8f 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
@@ -79,6 +79,7 @@ public class DefaultImageCRS extends AbstractCRS implements ImageCRS {
*
* @see #getDatum()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private ImageDatum datum;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java
index 128cee1c6c..8da528526d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java
@@ -79,6 +79,7 @@ public class DefaultParametricCRS extends AbstractCRS implements ParametricCRS {
*
* @see #getDatum()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private ParametricDatum datum;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
index a2698c3044..99b7b49ad0 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
@@ -93,6 +93,7 @@ public class DefaultTemporalCRS extends AbstractCRS implements TemporalCRS {
*
* @see #getDatum()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private TemporalDatum datum;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
index 20aeac5f0c..eaca04829f 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
@@ -77,6 +77,7 @@ public class DefaultVerticalCRS extends AbstractCRS implements VerticalCRS {
*
* @see #getDatum()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private VerticalDatum datum;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
index 19960cdb98..6e439d5f3a 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
@@ -116,7 +116,7 @@ public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSy
*
* @see #getAxis(int)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateSystemAxis[] axes;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCompoundCS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCompoundCS.java
index 7cf5b154d3..05bdadea81 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCompoundCS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCompoundCS.java
@@ -62,8 +62,9 @@ public class DefaultCompoundCS extends AbstractCS {
private static final long serialVersionUID = -5726410275278843373L;
/**
- * The coordinate systems.
+ * The coordinate systems in an unmodifiable list.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final List<CoordinateSystem> components;
/**
@@ -171,7 +172,7 @@ public class DefaultCompoundCS extends AbstractCS {
*/
@SuppressWarnings("ReturnOfCollectionOrArrayField")
public List<CoordinateSystem> getComponents() {
- return components; // Unmodifiable.
+ return components; // Unmodifiable.
}
/*
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
index 47c55016c9..319baafe72 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
@@ -206,6 +206,7 @@ public class DefaultCoordinateSystemAxis extends AbstractIdentifiedObject implem
*
* @see #getUnit()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Unit<?> unit;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
index 4fb4ac6713..fd6b351d48 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
@@ -101,6 +101,7 @@ public class AbstractDatum extends AbstractIdentifiedObject implements Datum {
*
* @see #getAnchorPoint()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private InternationalString anchorDefinition;
/**
@@ -121,6 +122,7 @@ public class AbstractDatum extends AbstractIdentifiedObject implements Datum {
*
* @see #getDomainOfValidity()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Extent domainOfValidity;
/**
@@ -131,6 +133,7 @@ public class AbstractDatum extends AbstractIdentifiedObject implements Datum {
*
* @see #getScope()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private InternationalString scope;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
index c009e25373..91ff7ce939 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
@@ -196,6 +196,7 @@ public class BursaWolfParameters extends FormattableObject implements Cloneable,
*
* @see #getTargetDatum()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final GeodeticDatum targetDatum;
/**
@@ -204,6 +205,7 @@ public class BursaWolfParameters extends FormattableObject implements Cloneable,
*
* @see #getDomainOfValidity()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Extent domainOfValidity;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java
index aab09a0318..25d19b1b5d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java
@@ -182,6 +182,7 @@ public abstract class DatumShiftGrid<C extends Quantity<C>, T extends Quantity<T
*
* @see #getCoordinateUnit()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Unit<C> coordinateUnit;
/**
@@ -190,6 +191,7 @@ public abstract class DatumShiftGrid<C extends Quantity<C>, T extends Quantity<T
*
* @see #getCoordinateToGrid()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final LinearTransform coordinateToGrid;
/**
@@ -197,6 +199,7 @@ public abstract class DatumShiftGrid<C extends Quantity<C>, T extends Quantity<T
*
* @see #getTranslationUnit()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Unit<T> translationUnit;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
index 98f6151a6a..cf339dc8a2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
@@ -157,6 +157,7 @@ public class DefaultEllipsoid extends AbstractIdentifiedObject implements Ellips
/**
* The units of the semi-major and semi-minor axis values.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Unit<Length> unit;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
index e92f5c76b6..71e7269752 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
@@ -166,6 +166,7 @@ public class DefaultGeodeticDatum extends AbstractDatum implements GeodeticDatum
*
* @see #getEllipsoid()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Ellipsoid ellipsoid;
/**
@@ -176,6 +177,7 @@ public class DefaultGeodeticDatum extends AbstractDatum implements GeodeticDatum
*
* @see #getPrimeMeridian()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private PrimeMeridian primeMeridian;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
index 6787d48f63..7ac6d72f53 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
@@ -111,6 +111,7 @@ public class DefaultPrimeMeridian extends AbstractIdentifiedObject implements Pr
* <p><b>Consider this field as final!</b>
* This field is modified only at unmarshalling time by {@link #setGreenwichMeasure(Measure)}</p>
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Unit<Angle> angularUnit;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/Sphere.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/Sphere.java
index d429adcc10..131d54b0e3 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/Sphere.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/Sphere.java
@@ -22,8 +22,6 @@ import javax.measure.quantity.Length;
import javax.xml.bind.annotation.XmlTransient;
import org.opengis.referencing.datum.Ellipsoid;
-import static java.lang.Math.*;
-
/**
* A ellipsoid which is spherical.
@@ -95,5 +93,4 @@ final class Sphere extends DefaultEllipsoid {
public double flatteningDifference(final Ellipsoid other) {
return 1 / other.getInverseFlattening();
}
-
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/UnavailableFactoryException.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/UnavailableFactoryException.java
index 4fe2be98d4..8a244522d2 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/UnavailableFactoryException.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/UnavailableFactoryException.java
@@ -30,7 +30,7 @@ import org.opengis.referencing.AuthorityFactory;
* cannot be created, but other objects may be okay.
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 0.7
+ * @version 1.4
*
* @see ConcurrentAuthorityFactory#newDataAccess()
*
@@ -45,7 +45,7 @@ public class UnavailableFactoryException extends MissingFactoryResourceException
/**
* The factory that cannot perform its work, or {@code null} if unknown.
*/
- private AuthorityFactory factory;
+ private transient AuthorityFactory factory;
/**
* Construct an exception with no detail message.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/package-info.java
index cbdba32291..373041442d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/package-info.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/package-info.java
@@ -56,7 +56,7 @@
* </table>
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 1.3
+ * @version 1.4
* @since 0.6
*/
package org.apache.sis.referencing.factory;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
index 2ad33ec0b6..086c820b73 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
@@ -137,7 +137,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
*
* @see #getSourceCRS()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
CoordinateReferenceSystem sourceCRS;
/**
@@ -149,7 +149,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
*
* @see #getTargetCRS()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
CoordinateReferenceSystem targetCRS;
/**
@@ -161,7 +161,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
*
* @see #getInterpolationCRS()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateReferenceSystem interpolationCRS;
/**
@@ -184,7 +184,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
*
* @see #getCoordinateOperationAccuracy()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
Collection<PositionalAccuracy> coordinateOperationAccuracy;
/**
@@ -196,7 +196,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
*
* @see #getDomainOfValidity()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
Extent domainOfValidity;
/**
@@ -207,7 +207,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
*
* @see #getScope()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private InternationalString scope;
/**
@@ -218,7 +218,7 @@ public class AbstractCoordinateOperation extends AbstractIdentifiedObject implem
* This field is non-final only for the convenience of constructors and for initialization
* at XML unmarshalling time by {@link AbstractSingleOperation#afterUnmarshal(Unmarshaller, Object)}.</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
MathTransform transform;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java
index d0de657224..acd6c2f177 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java
@@ -94,7 +94,7 @@ class AbstractSingleOperation extends AbstractCoordinateOperation implements Sin
*
* @see #getMethod()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private OperationMethod method;
/**
@@ -107,7 +107,7 @@ class AbstractSingleOperation extends AbstractCoordinateOperation implements Sin
* @see #getParameterValues()
* @see #setParameterValues(ParameterValueGroup, Map)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
ParameterValueGroup parameters;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationContext.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationContext.java
index b645c92fce..922b3bc43a 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationContext.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationContext.java
@@ -74,7 +74,7 @@ public class CoordinateOperationContext implements Serializable {
* The spatiotemporal area of interest, or {@code null} if none. This instance may be updated or
* replaced by other methods in this class, or (indirectly) by {@link CoordinateOperationFinder}.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Extent areaOfInterest;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
index 72d84182c6..dbd6c52dcd 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
@@ -70,7 +70,7 @@ final class DefaultConcatenatedOperation extends AbstractCoordinateOperation imp
* <p><b>Consider this field as final!</b>
* This field is modified only at unmarshalling time by {@link #setSteps(CoordinateOperation[])}</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private List<? extends CoordinateOperation> operations;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultFormula.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultFormula.java
index a184bbfee8..4b59cacf2c 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultFormula.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultFormula.java
@@ -57,13 +57,13 @@ public class DefaultFormula extends FormattableObject implements Formula, Serial
/**
* Formula(s) or procedure used by the operation method.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString formula;
/**
* Reference to a publication giving the formula(s) or procedure used by the coordinate operation method.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Citation citation;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
index 4b6e9d46d1..8411135d51 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
@@ -154,7 +154,7 @@ public class DefaultOperationMethod extends AbstractIdentifiedObject implements
* This field is modified only at unmarshalling time by {@link #setFormulaCitation(Citation)}
* or {@link #setFormulaDescription(String)}.</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Formula formula;
/**
@@ -194,7 +194,7 @@ public class DefaultOperationMethod extends AbstractIdentifiedObject implements
* This field is modified only at unmarshalling time by {@link #setDescriptors(GeneralParameterDescriptor[])}
* or {@link #afterUnmarshal(Unmarshaller, Object)}.</p>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private ParameterDescriptorGroup parameters;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
index f0e3f1e38f..4ac1387348 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
@@ -72,7 +72,7 @@ public class DefaultPassThroughOperation extends AbstractCoordinateOperation imp
*
* @see #getOperation()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private CoordinateOperation operation;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
index 973e6f04a2..0fa154aa3e 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
@@ -59,7 +59,7 @@ final class InverseOperationMethod extends DefaultOperationMethod {
/**
* The original operation method for which this {@code InverseOperationMethod} is the inverse.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final OperationMethod inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
index 293c15134d..42874d9d40 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
@@ -1496,7 +1496,6 @@ search: for (int j=domain(); --j >= 0;) {
* some codes may not work anymore. Search for {@code isAffine()} statements for locating codes
* that depend on affine transform assumption.</p>
*/
- @SuppressWarnings("serial")
private MatrixSIS fit() throws FactoryException {
final double[][] sources = this.sources; // Protect from changes.
final double[][] targets = this.targets;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridException.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridException.java
index f2483ae330..1c19d0c157 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridException.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridException.java
@@ -52,6 +52,7 @@ public class LocalizationGridException extends FactoryDataException {
*
* @see #getPotentialCause()
*/
+ @SuppressWarnings("serial") // String and most InternationalString are serializable.
private CharSequence potentialCause;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ResidualGrid.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ResidualGrid.java
index e5968ed889..5f153d9e99 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ResidualGrid.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ResidualGrid.java
@@ -123,6 +123,7 @@ final class ResidualGrid extends DatumShiftGrid<Dimensionless,Dimensionless> {
* inverse of {@link #getCoordinateToGrid()}. But in this {@code ResidualGrid} case, we need to override with
* the linear regression computed by {@link LocalizationGridBuilder}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final LinearTransform gridToTarget;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/UnmodifiableMatrix.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/UnmodifiableMatrix.java
index 6e7183fd19..aae5271267 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/UnmodifiableMatrix.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/UnmodifiableMatrix.java
@@ -38,6 +38,7 @@ final class UnmodifiableMatrix extends MatrixSIS implements ExtendedPrecisionMat
/**
* The wrapped matrix.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Matrix matrix;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Inverter.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Inverter.java
index 62a1e9e23a..e2cc7668e3 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Inverter.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Inverter.java
@@ -50,7 +50,7 @@ import static java.lang.Math.abs;
*
* @since 1.1
*/
-@SuppressWarnings({"CloneableImplementsClone", "serial"})
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
final class Inverter extends Matrix2 {
/**
* Creates a new matrix initialized to identity.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
index 0ca7f6aa27..43ac3b9e62 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
@@ -241,12 +241,6 @@ public class Mercator extends ConformalProjection {
private Mercator(final Initializer initializer) {
super(initializer);
variant = (Variant) initializer.variant;
- /*
- * The "Longitude of natural origin" parameter is found in all Mercator projections and is mandatory.
- * Since this is usually the Greenwich meridian, the default value is 0°. We keep the value in degrees
- * for now; it will be converted to radians later.
- */
- final double λ0 = initializer.getAndStore(Mercator1SP.LONGITUDE_OF_ORIGIN);
/*
* The "Latitude of natural origin" is not formally a parameter of Mercator projection. But the parameter
* is included for completeness in CRS labelling, with the restriction (specified in EPSG documentation)
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
index d560fbddeb..7a82723003 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
@@ -236,7 +236,7 @@ public abstract class NormalizedProjection extends AbstractMathTransform2D imple
* construction time). In addition this field is part of serialization form in order to preserve the
* references graph.</div>
*/
- private final MathTransform2D inverse;
+ private final Inverse inverse;
/**
* Maps the parameters to be used for initializing {@link NormalizedProjection} and its
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ZonedGridSystem.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ZonedGridSystem.java
index 85dda95f27..c43800595c 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ZonedGridSystem.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ZonedGridSystem.java
@@ -98,11 +98,13 @@ public class ZonedGridSystem extends AbstractMathTransform2D implements Serializ
/**
* The projection that performs the actual work before we add the zone number.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final AbstractMathTransform projection;
/**
* The inverse of this map projection.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final MathTransform2D inverse;
/**
@@ -220,6 +222,7 @@ public class ZonedGridSystem extends AbstractMathTransform2D implements Serializ
/**
* The projection that performs the actual work after we removed the zone number.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final AbstractMathTransform inverseProjection;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbstractLinearTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbstractLinearTransform.java
index e41b38a184..c9688059d4 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbstractLinearTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbstractLinearTransform.java
@@ -61,7 +61,7 @@ abstract class AbstractLinearTransform extends AbstractMathTransform implements
*
* @see #inverse()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
volatile LinearTransform inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
index 690d9cbc4e..f1f0c1482c 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
@@ -84,11 +84,13 @@ class ConcatenatedTransform extends AbstractMathTransform implements Serializabl
/**
* The first math transform.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final MathTransform transform1;
/**
* The second math transform.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final MathTransform transform2;
/**
@@ -98,6 +100,7 @@ class ConcatenatedTransform extends AbstractMathTransform implements Serializabl
*
* @see #inverse()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private MathTransform inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
index 9c6c8ecc71..6085df0ce8 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
@@ -187,7 +187,7 @@ public class ContextualParameters extends Parameters implements Serializable {
*
* @see #getDescriptor()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ParameterDescriptorGroup descriptor;
/**
@@ -199,7 +199,7 @@ public class ContextualParameters extends Parameters implements Serializable {
*
* @see #getMatrix(MatrixRole)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Matrix normalize, denormalize;
/**
@@ -212,7 +212,7 @@ public class ContextualParameters extends Parameters implements Serializable {
* @see #parameter(String)
* @see #freeze()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private ParameterValue<?>[] values;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java
index 783921f0ce..95fdd872db 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java
@@ -111,6 +111,8 @@ public abstract class DatumShiftTransform extends AbstractMathTransform implemen
*
* Those factors are extracted from the {@link DatumShiftGrid#getCoordinateToGrid()}
* transform for performance reasons.
+ *
+ * @see #computeConversionFactors()
*/
private transient double scaleX, scaleY, x0, y0;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
index 571062d004..895c5ef0eb 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
@@ -557,7 +557,7 @@ public class DefaultMathTransformFactory extends AbstractFactory implements Math
* @version 1.3
* @since 0.7
*/
- @SuppressWarnings("serial") // Fields are not statically typed as Serializable.
+ @SuppressWarnings("serial") // All field values are usually serializable instances.
public static class Context implements Serializable {
/**
* For cross-version compatibility.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
index 8ce552ab11..ecc26c1040 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
@@ -214,7 +214,7 @@ public class EllipsoidToCentricTransform extends AbstractMathTransform implement
* construction time). In addition this field is part of serialization form in order to preserve the
* references graph.</div>
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final AbstractMathTransform inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ExponentialTransform1D.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ExponentialTransform1D.java
index 03512753b2..527a618dd4 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ExponentialTransform1D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ExponentialTransform1D.java
@@ -83,7 +83,7 @@ final class ExponentialTransform1D extends AbstractMathTransform1D implements Se
* The inverse of this transform. Created only when first needed. Serialized in order to avoid
* rounding error if this transform is actually the one which was created from the inverse.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private MathTransform1D inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java
index 582f27ce18..2320e3ee9e 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java
@@ -141,6 +141,7 @@ public class InterpolatedGeocentricTransform extends DatumShiftTransform {
* The transform to apply before and after the geocentric translation. Shall be instance of
* {@link EllipsoidToCentricTransform} and {@code EllipsoidToCentricTransform.Inverse} respectively.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final AbstractMathTransform ellipsoidToCentric, centricToEllipsoid;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearInterpolator1D.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearInterpolator1D.java
index c3faf5bdd7..bc7f110505 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearInterpolator1D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearInterpolator1D.java
@@ -76,6 +76,7 @@ final class LinearInterpolator1D extends AbstractMathTransform1D implements Seri
* If the transform is invertible, the inverse. Otherwise {@code null}.
* The transform is invertible only if values are in increasing order.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final MathTransform1D inverse;
/**
@@ -91,7 +92,7 @@ final class LinearInterpolator1D extends AbstractMathTransform1D implements Seri
this.values = values; // Cloning this array is caller's responsibility.
double last = values[0];
for (int i=1; i<values.length; i++) {
- if (!(last <= (last = values[i]))) { // Use '!' for catching NaN values.
+ if (!(last <= (last = values[i]))) { // Use `!` for catching NaN values.
inverse = null; // Transform is not reversible.
return;
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LogarithmicTransform1D.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LogarithmicTransform1D.java
index ec735528af..5f8f1f2b33 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LogarithmicTransform1D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LogarithmicTransform1D.java
@@ -61,6 +61,7 @@ class LogarithmicTransform1D extends AbstractMathTransform1D implements Serializ
* The inverse of this transform. Created only when first needed. Serialized in order to avoid
* rounding error if this transform is actually the one which was created from the inverse.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private MathTransform1D inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PassThroughTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PassThroughTransform.java
index 2a1c75efcc..38107bf365 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PassThroughTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PassThroughTransform.java
@@ -96,6 +96,7 @@ public class PassThroughTransform extends AbstractMathTransform implements Seria
* The sub-transform to apply on the {@linkplain #getModifiedCoordinates() modified coordinates}.
* This is often the sub-transform specified at construction time, but not necessarily.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final MathTransform subTransform;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
index a445b93e44..bc477b0986 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
@@ -126,7 +126,7 @@ public class PoleRotation extends AbstractMathTransform2D implements Serializabl
*
* @see #inverse()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private MathTransform2D inverse;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
index 88736c4abe..b15a47c206 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
@@ -56,6 +56,7 @@ class SpecializableTransform extends AbstractMathTransform implements Serializab
/**
* The global transform to use if there is no suitable specialization.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final MathTransform global;
/**
@@ -73,6 +74,7 @@ class SpecializableTransform extends AbstractMathTransform implements Serializab
/**
* The transform to apply in this area.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final MathTransform transform;
/**
@@ -81,6 +83,7 @@ class SpecializableTransform extends AbstractMathTransform implements Serializab
*
* @see #createInverseTransform()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
MathTransform inverse;
/**
@@ -140,6 +143,7 @@ class SpecializableTransform extends AbstractMathTransform implements Serializab
*
* @see #inverse()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private MathTransform inverse;
/**
@@ -533,6 +537,7 @@ class SpecializableTransform extends AbstractMathTransform implements Serializab
/**
* The inverse of {@link SpecializableTransform#global}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final MathTransform global;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransferFunction.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransferFunction.java
index 782e072a8f..5c051ea061 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransferFunction.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransferFunction.java
@@ -97,6 +97,7 @@ public class TransferFunction implements Cloneable, Serializable {
*
* <p>This field is serialized because the transform may be a user-provided one.</p>
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private MathTransform1D transform;
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
index 858983cf0a..92cc51a26f 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
@@ -47,6 +47,7 @@ final class TransformAdapter2D extends AbstractMathTransform2D implements Serial
/**
* The math transform which was supposed to implement the {@link MathTransform2D} interface..
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final MathTransform impl;
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java
index 8b96a0777d..d7f72f4c67 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java
@@ -37,7 +37,7 @@ import static org.junit.Assert.*;
* @version 1.0
* @since 1.0
*/
-@SuppressWarnings("serial") // Not intended to be serialized.
+@SuppressWarnings("serial") // Not intended to be serialized.
final class SinusoidalShiftGrid extends DatumShiftGrid<Dimensionless,Dimensionless> {
/**
* Number of source and target dimensions of the grid.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ArrayConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ArrayConverter.java
index ace70cadde..2238df33c9 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ArrayConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ArrayConverter.java
@@ -57,6 +57,7 @@ final class ArrayConverter<S,T> extends SystemConverter<S,T> {
* The converter for array elements. The source and target types shall be compatible with the array component
* types of {@code <S>} and {@code <T>} (this constraint cannot be expressed by JDK 7 parameterized types).
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<?,?> converter;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java
index a32982071d..170e08afd3 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java
@@ -49,6 +49,7 @@ final class CharSequenceConverter<T> extends SystemConverter<CharSequence,T> {
/**
* The converter to apply after this one.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<? super String, ? extends T> next;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java
index b88dd94e07..23f869a289 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java
@@ -67,6 +67,7 @@ final class FallbackConverter<S,T> extends SystemConverter<S,T> {
/**
* The primary converter, to be tried first.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final ObjectConverter<S, ? extends T> primary;
/**
@@ -76,6 +77,7 @@ final class FallbackConverter<S,T> extends SystemConverter<S,T> {
* type he would have asked explicitly for it. In addition this layout reduces the amount of
* exceptions to be thrown and caught before we found a successful conversion.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final ObjectConverter<S, ? extends T> fallback;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/IdentityConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/IdentityConverter.java
index e9a56e02b1..f73d835ec1 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/IdentityConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/IdentityConverter.java
@@ -29,7 +29,7 @@ import org.apache.sis.math.FunctionProperty;
* This class is immutable and thus inherently thread-safe.
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 0.3
+ * @version 1.4
*
* @param <S> the base type of source objects.
* @param <T> the base type of converted objects.
@@ -47,7 +47,7 @@ public final class IdentityConverter<S extends T, T> extends SystemConverter<S,T
/**
* The inverse converter specified at construction time, or {@code null} if none.
*/
- private final ObjectConverter<T, S> inverse;
+ private final SystemConverter<T, S> inverse;
/**
* Creates a new identity converter.
@@ -58,11 +58,11 @@ public final class IdentityConverter<S extends T, T> extends SystemConverter<S,T
*/
@SuppressWarnings("unchecked")
public IdentityConverter(final Class<S> sourceClass, final Class<T> targetClass,
- ObjectConverter<T, S> inverse)
+ SystemConverter<T, S> inverse)
{
super(sourceClass, targetClass);
if (inverse == null && sourceClass == targetClass) {
- inverse = (ObjectConverter<T,S>) this;
+ inverse = (SystemConverter<T,S>) this;
}
this.inverse = inverse;
}
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
index 329df588a0..4fe9b79381 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
@@ -65,7 +65,7 @@ import org.apache.sis.measure.Units;
* This base class and all inner classes are immutable, and thus inherently thread-safe.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.5
+ * @version 1.4
* @since 0.3
*/
abstract class StringConverter<T> extends SystemConverter<String, T> {
@@ -77,7 +77,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
/**
* The inverse converter from the target to the source class.
*/
- private final ObjectConverter<T, String> inverse;
+ private final ObjectToString<T> inverse;
/**
* Creates a new converter for the given target class.
@@ -94,7 +94,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
* Invoked by the constructor for creating the inverse converter.
* To be overridden by classes which need a specialized instance.
*/
- ObjectConverter<T, String> createInverse() {
+ ObjectToString<T> createInverse() {
return new ObjectToString<>(targetClass, this);
}
@@ -166,7 +166,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
public Double() {super(java.lang.Double.class);} // Instantiated by ServiceLoader.
@Override java.lang.Double doConvert(String source) throws NumberFormatException {
- return java.lang.Double.parseDouble(source);
+ return java.lang.Double.valueOf(source);
}
}
@@ -175,7 +175,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
public Float() {super(java.lang.Float.class);} // Instantiated by ServiceLoader.
@Override java.lang.Float doConvert(String source) throws NumberFormatException {
- return java.lang.Float.parseFloat(source);
+ return java.lang.Float.valueOf(source);
}
}
@@ -184,7 +184,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
public Long() {super(java.lang.Long.class);} // Instantiated by ServiceLoader.
@Override java.lang.Long doConvert(String source) throws NumberFormatException {
- return java.lang.Long.parseLong(source);
+ return java.lang.Long.valueOf(source);
}
}
@@ -193,7 +193,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
public Integer() {super(java.lang.Integer.class);} // Instantiated by ServiceLoader.
@Override java.lang.Integer doConvert(String source) throws NumberFormatException {
- return java.lang.Integer.parseInt(source);
+ return java.lang.Integer.valueOf(source);
}
}
@@ -202,7 +202,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
public Short() {super(java.lang.Short.class);} // Instantiated by ServiceLoader.
@Override java.lang.Short doConvert(String source) throws NumberFormatException {
- return java.lang.Short.parseShort(source);
+ return java.lang.Short.valueOf(source);
}
}
@@ -211,7 +211,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
public Byte() {super(java.lang.Byte.class);} // Instantiated by ServiceLoader.
@Override java.lang.Byte doConvert(String source) throws NumberFormatException {
- return java.lang.Byte.parseByte(source);
+ return java.lang.Byte.valueOf(source);
}
}
@@ -361,7 +361,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
}
/** Invoked by the constructor for creating the inverse converter. */
- @Override ObjectConverter<T, String> createInverse() {
+ @Override ObjectToString<T> createInverse() {
return new ObjectToString.CodeList<>(targetClass, this);
}
}
@@ -393,7 +393,7 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
}
/** Invoked by the constructor for creating the inverse converter. */
- @Override ObjectConverter<T, String> createInverse() {
+ @Override ObjectToString<T> createInverse() {
return new ObjectToString.Enum<>(targetClass, this);
}
}
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
index 3e6cf6439e..a65dca2b4a 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/package-info.java
@@ -39,7 +39,7 @@
* classpath changes.</p>
*
* @author Martin Desruisseaux (Geomatys)
- * @version 1.0
+ * @version 1.4
* @since 0.3
*/
package org.apache.sis.internal.converter;
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/util/AutoMessageFormat.java b/core/sis-utility/src/main/java/org/apache/sis/internal/util/AutoMessageFormat.java
index df945b6a33..2d43bfa9cb 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/AutoMessageFormat.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/AutoMessageFormat.java
@@ -30,7 +30,7 @@ import java.text.MessageFormat;
* @version 1.0
* @since 1.0
*/
-@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not to be serialized.
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
public final class AutoMessageFormat extends MessageFormat {
/**
* Formats that may need to be configured before to write a value, or {@code null} if none.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedHashSet.java b/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedHashSet.java
index 257f592455..41cee05f58 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedHashSet.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedHashSet.java
@@ -46,6 +46,7 @@ import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
*
* @since 0.3
*/
+@SuppressWarnings("CloneableImplementsClone")
public final class CheckedHashSet<E> extends LinkedHashSet<E> implements CheckedContainer<E> {
/**
* Serial version UID for compatibility with different versions.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/util/SimpleCharacterIterator.java b/core/sis-utility/src/main/java/org/apache/sis/internal/util/SimpleCharacterIterator.java
index 5693c6bf3b..be685e6295 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/SimpleCharacterIterator.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/SimpleCharacterIterator.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.internal.util;
-import java.io.Serializable;
import java.text.CharacterIterator;
import org.apache.sis.util.ArgumentChecks;
@@ -26,15 +25,10 @@ import org.apache.sis.util.ArgumentChecks;
* around a given {@link CharSequence}.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.4
* @since 0.3
*/
-public class SimpleCharacterIterator implements CharacterIterator, CharSequence, Serializable {
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = 4211374670559434445L;
-
+public class SimpleCharacterIterator implements CharacterIterator, CharSequence {
/**
* The wrapped character sequence.
*/
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/util/UnmodifiableArrayList.java b/core/sis-utility/src/main/java/org/apache/sis/internal/util/UnmodifiableArrayList.java
index f35f8d7455..2dcf736b91 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/UnmodifiableArrayList.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/UnmodifiableArrayList.java
@@ -70,6 +70,7 @@ public class UnmodifiableArrayList<E> extends AbstractList<E> implements RandomA
/**
* The wrapped array.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
final E[] array;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java b/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java
index b92c86a738..e2c830ad7f 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java
@@ -1229,7 +1229,7 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
@Override public byte byteValue(int index) {return Byte .parseByte (array[index]);}
@Override public Number get(int index) {
final String value = array[index];
- return (value != null) ? Double.parseDouble(value) : null;
+ return (value != null) ? Double.valueOf(value) : null;
}
/** Stores the given value in this vector and returns the previous value. */
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java b/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java
index d4362e22fe..874008316e 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java
@@ -38,6 +38,7 @@ final class ConcatenatedVector extends Vector implements Serializable {
/**
* The vectors to concatenate.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Vector first, second;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/LinearlyDerivedVector.java b/core/sis-utility/src/main/java/org/apache/sis/math/LinearlyDerivedVector.java
index 8cda33925a..15142ca79e 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/LinearlyDerivedVector.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/LinearlyDerivedVector.java
@@ -47,6 +47,7 @@ final class LinearlyDerivedVector extends Vector implements Serializable {
/**
* The vector on which this vector is derived from.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Vector base;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/RepeatedVector.java b/core/sis-utility/src/main/java/org/apache/sis/math/RepeatedVector.java
index 70332e9127..338d872e7c 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/RepeatedVector.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/RepeatedVector.java
@@ -65,6 +65,7 @@ final class RepeatedVector extends Vector implements Serializable {
/**
* The vector on which this vector is derived from.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Vector base;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java b/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
index 54e1a90cf9..2e36491e3d 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
@@ -104,6 +104,7 @@ public class Statistics implements DoubleConsumer, LongConsumer, Cloneable, Seri
*
* @see #name()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final InternationalString name;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/ConcatenatedConverter.java b/core/sis-utility/src/main/java/org/apache/sis/measure/ConcatenatedConverter.java
index e099355d49..5a9e72bfb0 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/ConcatenatedConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/ConcatenatedConverter.java
@@ -41,11 +41,13 @@ final class ConcatenatedConverter extends AbstractConverter implements LenientCo
/**
* The first unit converter to apply.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final UnitConverter c1;
/**
* The second unit converter to apply, after {@code c1}.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final UnitConverter c2;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java b/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java
index ba32acceb7..641fe29042 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java
@@ -59,7 +59,7 @@ final class ConventionalUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> {
/**
* The conversion from this unit to the {@linkplain #target} unit.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
final UnitConverter toTarget;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/DerivedScalar.java b/core/sis-utility/src/main/java/org/apache/sis/measure/DerivedScalar.java
index fdc669828d..3358262bb9 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/DerivedScalar.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/DerivedScalar.java
@@ -59,13 +59,13 @@ class DerivedScalar<Q extends Quantity<Q>> extends Scalar<Q> {
* and its system unit (stored in super-class) is something more complex than a scale
* factor, otherwise we would not need this {@code DerivedScalar}.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Unit<Q> derivedUnit;
/**
* Converter from the system unit to the unit of this quantity.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final UnitConverter fromSystem;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java b/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java
index 11317891a4..85c8fe3528 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.measure;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -47,16 +46,11 @@ import org.apache.sis.internal.util.SimpleCharacterIterator;
* will still been seen as 3 separated fields by this implementation.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.4
* @since 0.3
*/
@SuppressWarnings("CloneableImplementsClone") // Not needed - see comment about clone() at the end of this file.
final class FormattedCharacterIterator extends SimpleCharacterIterator implements AttributedCharacterIterator {
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = -5864519830922231670L;
-
/**
* Holds a field value, together with the run range in which this value is valid.
* Contains also a reference to the previous {@code Entry} in order to build a chained
@@ -80,12 +74,7 @@ final class FormattedCharacterIterator extends SimpleCharacterIterator implement
* <li>{@link #limit} is 3.</li>
* </ul>
*/
- private static final class Entry implements Serializable {
- /**
- * For cross-version compatibility.
- */
- private static final long serialVersionUID = 3297480138621390486L;
-
+ private static final class Entry {
/**
* The attribute value.
*/
@@ -332,9 +321,7 @@ final class FormattedCharacterIterator extends SimpleCharacterIterator implement
* by {@link FormattedCharacterIterator#getAttributes()}. The value to extract depends
* on the character index.
*/
- private static final class Selector extends SurjectiveConverter<Entry,Object> implements Serializable {
- private static final long serialVersionUID = -7281235148346378214L;
-
+ private static final class Selector extends SurjectiveConverter<Entry,Object> {
/** Index of the character for which the map of attributes is requested. */
private final int index;
@@ -363,9 +350,7 @@ final class FormattedCharacterIterator extends SimpleCharacterIterator implement
* The object converter to use for filtering the keys in the map returned by
* {@link FormattedCharacterIterator#getAttributes()}.
*/
- private static class Filter extends SurjectiveConverter<Attribute,Attribute> implements Serializable {
- private static final long serialVersionUID = 6951804952836918035L;
-
+ private static class Filter extends SurjectiveConverter<Attribute,Attribute> {
/** A reference to {@link FormattedCharacterIterator#attributes}. */
private final Map<Attribute,Entry> attributes;
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java b/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java
index 5fb67e5e82..acca67d316 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java
@@ -74,6 +74,7 @@ public class MeasurementRange<E extends Number & Comparable<? super E>> extends
*
* @see #unit()
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Unit<?> unit;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/Range.java b/core/sis-utility/src/main/java/org/apache/sis/measure/Range.java
index 80376cfe88..a22c730c59 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/Range.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/Range.java
@@ -105,6 +105,7 @@ public class Range<E extends Comparable<? super E>> implements CheckedContainer<
/**
* The minimal and maximal values.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
final E minValue, maxValue;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/Scalar.java b/core/sis-utility/src/main/java/org/apache/sis/measure/Scalar.java
index f5cd5e6f55..65f8351f17 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/Scalar.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/Scalar.java
@@ -63,7 +63,7 @@ class Scalar<Q extends Quantity<Q>> extends Number implements Quantity<Q>, Compa
/**
* The unit of measurement associated to the value.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Unit<Q> unit;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/SexagesimalConverter.java b/core/sis-utility/src/main/java/org/apache/sis/measure/SexagesimalConverter.java
index 7ff83cad10..4385b1c4f0 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/SexagesimalConverter.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/SexagesimalConverter.java
@@ -126,7 +126,7 @@ class SexagesimalConverter extends AbstractConverter {
/**
* The inverse of this converter.
*/
- private final UnitConverter inverse;
+ private final SexagesimalConverter inverse;
/**
* Constructs a converter for sexagesimal units.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java
index 5ee6fa4ca6..7b861a7527 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java
@@ -77,7 +77,7 @@ final class UnitDimension implements Dimension, Serializable {
*
* @see #getBaseDimensions()
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // The implementation is serializable.
final Map<UnitDimension,Fraction> components;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
index abcbe693d2..99d603ea93 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
@@ -266,7 +266,7 @@ public class UnitFormat extends Format implements javax.measure.format.UnitForma
*
* @see #label(Unit, String)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Various serializable implementations.
private final Map<Unit<?>,String> unitToLabel;
/**
@@ -277,7 +277,7 @@ public class UnitFormat extends Format implements javax.measure.format.UnitForma
*
* @see #label(Unit, String)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Various serializable implementations.
private final Map<String,Unit<?>> labelToUnit;
/**
@@ -1102,6 +1102,7 @@ appPow: if (unit == null) {
* @return the unit parsed from the specified symbols.
* @throws MeasurementParseException if a problem occurred while parsing the given symbols.
*/
+ @Override
@SuppressWarnings({"null", "fallthrough"})
public Unit<?> parse(CharSequence symbols, final ParsePosition position) throws MeasurementParseException {
ArgumentChecks.ensureNonNull("symbols", symbols);
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
index 3ef3214f3d..0059575199 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
@@ -81,7 +81,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @see #getRoot()
* @see #setRoot(TreeTable.Node)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private TreeTable.Node root;
/**
@@ -390,7 +390,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @see #getParent()
* @see #setParent(TreeTable.Node)
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private TreeTable.Node parent;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedMap.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedMap.java
index c4a6c44156..876401fc11 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedMap.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedMap.java
@@ -209,7 +209,7 @@ class DerivedMap<SK,SV,K,V> extends AbstractMap<K,V> implements
private static final long serialVersionUID = 3499911507293121425L;
/** The inverse of {@link #keyConverter}. */
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final ObjectConverter<K,SK> keyInverse;
InvertibleKey(final Map<SK,SV> storage,
@@ -253,7 +253,7 @@ class DerivedMap<SK,SV,K,V> extends AbstractMap<K,V> implements
private static final long serialVersionUID = -8290698486357636366L;
/** The inverse of {@link #valueConverter}. */
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<V,SV> valueInverse;
InvertibleValue(final Map<SK,SV> storage,
@@ -285,7 +285,7 @@ class DerivedMap<SK,SV,K,V> extends AbstractMap<K,V> implements
private static final long serialVersionUID = -6625938922337246124L;
/** The inverse of {@link #valueConverter}. */
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<V,SV> valueInverse;
/** The inverse of this entry converter. */
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java
index 5576778be3..ecd6307bfb 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java
@@ -185,7 +185,7 @@ class DerivedSet<S,E> extends SetOfUnknownSize<E> implements CheckedContainer<E>
/**
* The converter from the derived to the storage type.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final ObjectConverter<E,S> inverse;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java
index 79e0779926..fae1cbd41d 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java
@@ -62,8 +62,7 @@ public class FrequencySortedSet<E> extends AbstractSet<E> implements SortedSet<E
* Values are positives if this set sorts by increasing frequencies, or negatives if this set sorts by
* decreasing frequencies.
*/
- @SuppressWarnings("serial") // Not statically typed as Serializable.
- private final Map<E,Integer> count;
+ private final LinkedHashMap<E,Integer> count;
/**
* {@code 0} if the element should be sorted in the usual order, or {@code -1}
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/RangeSet.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/RangeSet.java
index 3be0bef1bc..1bbf68e843 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/RangeSet.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/RangeSet.java
@@ -1511,6 +1511,7 @@ public class RangeSet<E extends Comparable<? super E>> extends AbstractSet<Range
*
* @see RangeSet#create(Class, boolean, boolean)
*/
+ @SuppressWarnings("CloneableImplementsClone")
private static final class Numeric<E extends Number & Comparable<? super E>> extends RangeSet<E> {
private static final long serialVersionUID = 5603640102714482527L;
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeNodeList.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeNodeList.java
index 9d21eed1d3..d9821689a2 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeNodeList.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeNodeList.java
@@ -77,12 +77,14 @@ abstract class TreeNodeList extends AbstractList<TreeTable.Node>
/**
* The parent of all children managed by this list.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
protected final TreeTable.Node parent;
/**
* The children, or {@code null} if none.
* This array will be created when first needed.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private TreeTable.Node[] children;
/**
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
index 8eea14fe63..5aa7e23416 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
@@ -117,6 +117,7 @@ public class TreeTableFormat extends TabularFormat<TreeTable> {
* @see #getColumns()
* @see #setColumns(TableColumn[])
*/
+ @SuppressWarnings("serial") // The implementations that we use are Serializable.
private Map<TableColumn<?>,Integer> columnIndices;
/**
@@ -158,6 +159,8 @@ public class TreeTableFormat extends TabularFormat<TreeTable> {
* A filter for specifying whether a node should be formatted, or {@code null} if no filtering is applied.
* This is ignored at parsing time.
*
+ * <p>A non-null value may cause the serialization to fail.</p>
+ *
* @see #getNodeFilter()
* @see #setNodeFilter(Predicate)
*/
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/resources/ResourceInternationalString.java b/core/sis-utility/src/main/java/org/apache/sis/util/resources/ResourceInternationalString.java
index 7b8be6a767..dd9fbe4930 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/resources/ResourceInternationalString.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/resources/ResourceInternationalString.java
@@ -65,6 +65,7 @@ public abstract class ResourceInternationalString extends AbstractInternationalS
* specify {@code null} as an argument value. We distinguish the two cases with the sign
* of the {@link #key} value.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private final Object arguments;
/**
diff --git a/core/sis-utility/src/test/java/org/apache/sis/measure/FormattedCharacterIteratorTest.java b/core/sis-utility/src/test/java/org/apache/sis/measure/FormattedCharacterIteratorTest.java
index 266ad16ef0..965772a103 100644
--- a/core/sis-utility/src/test/java/org/apache/sis/measure/FormattedCharacterIteratorTest.java
+++ b/core/sis-utility/src/test/java/org/apache/sis/measure/FormattedCharacterIteratorTest.java
@@ -129,7 +129,7 @@ public final class FormattedCharacterIteratorTest extends TestCase {
* with attributes. Built in a sub-class of {@link SimpleCharacterIterator} in
* order to have access to the protected {@link #upper} field.
*/
- @SuppressWarnings({"serial", "CloneableImplementsClone"})
+ @SuppressWarnings("CloneableImplementsClone")
private static class LatitudeString extends SimpleCharacterIterator {
LatitudeString() {
super(LATITUDE_STRING);
diff --git a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/Constraints.java b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/Constraints.java
index 29a9bc6cf6..69ade75f99 100644
--- a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/Constraints.java
+++ b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/Constraints.java
@@ -60,6 +60,7 @@ public class Constraints extends DefaultConstraints {
/**
* The documents that specifies the nature of the constraints.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Collection<Citation> citations;
/**
diff --git a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DataIdentification.java b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DataIdentification.java
index eb34437d02..b7089ce84d 100644
--- a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DataIdentification.java
+++ b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DataIdentification.java
@@ -59,6 +59,7 @@ public class DataIdentification extends DefaultDataIdentification {
/**
* The documents at the origin of the creation of the identified resources.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Collection<Citation> relatedCitations;
/**
diff --git a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DirectReferenceSystem.java b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DirectReferenceSystem.java
index b91fce84dd..318f10de13 100644
--- a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DirectReferenceSystem.java
+++ b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/DirectReferenceSystem.java
@@ -53,7 +53,7 @@ public class DirectReferenceSystem extends ReferenceSystemMetadata {
/**
* Empty constructor for JAXB.
*/
- private DirectReferenceSystem() {
+ public DirectReferenceSystem() {
}
/**
diff --git a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/IndirectReferenceSystem.java b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/IndirectReferenceSystem.java
index 7e7191716e..706170c8b5 100644
--- a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/IndirectReferenceSystem.java
+++ b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/IndirectReferenceSystem.java
@@ -53,7 +53,7 @@ public class IndirectReferenceSystem extends ReferenceSystemMetadata {
/**
* Empty constructor for JAXB.
*/
- private IndirectReferenceSystem() {
+ public IndirectReferenceSystem() {
}
/**
diff --git a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/LegalConstraints.java b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/LegalConstraints.java
index bf22c875d4..37b2a430b5 100644
--- a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/LegalConstraints.java
+++ b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/LegalConstraints.java
@@ -60,6 +60,7 @@ public class LegalConstraints extends DefaultLegalConstraints {
/**
* The documents that specifies the nature of the constraints.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Collection<Citation> citations;
/**
diff --git a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/SecurityConstraints.java b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/SecurityConstraints.java
index e2e3f67f5a..55d53fe262 100644
--- a/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/SecurityConstraints.java
+++ b/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/SecurityConstraints.java
@@ -60,6 +60,7 @@ public class SecurityConstraints extends DefaultSecurityConstraints {
/**
* The documents that specifies the nature of the constraints.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Collection<Citation> citations;
/**
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreFormat.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreFormat.java
index c403105ea0..798768bd65 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreFormat.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreFormat.java
@@ -46,7 +46,7 @@ import org.apache.sis.util.ArraysExt;
* @version 1.2
* @since 0.8
*/
-@SuppressWarnings("serial")
+@SuppressWarnings({"serial", "CloneableImplementsClone"}) // Not intended to be serialized.
public final class StoreFormat extends WKTFormat {
/**
* The geometry library, or {@code null} for the default.
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/CanNotProbeException.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/CanNotProbeException.java
index 17eafb357a..dd1321f779 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/CanNotProbeException.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/CanNotProbeException.java
@@ -36,8 +36,9 @@ public class CanNotProbeException extends DataStoreException {
/**
* The data store provider that failed to probe a file.
+ * This is null if this exception has been deserialized.
*/
- private final DataStoreProvider provider;
+ private final transient DataStoreProvider provider;
/**
* Creates an exception with the specified details message and cause.
@@ -67,7 +68,7 @@ public class CanNotProbeException extends DataStoreException {
/**
* Returns the data store provider that failed to probe a file.
*
- * @return the data store provider that failed to probe a file.
+ * @return the data store provider that failed to probe a file, or {@code null} if unknown.
*
* @see DataStore#getProvider()
*/
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageQuery.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageQuery.java
index 464ab01d0e..2bfc6007b6 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageQuery.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageQuery.java
@@ -357,7 +357,7 @@ next: for (int i=0; i<rangeNames.length; i++) {
new Longitude(box.getEastBoundLongitude()));
} else {
sb.append('?'); // If the domain cannot be expressed as a geographic bounding box.
- };
+ }
sb.append(']');
if (sourceDomainExpansion != 0) {
sb.append(" + margin(").append(sourceDomainExpansion).append(')');
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java
index 049666b127..e7409c28ba 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java
@@ -108,6 +108,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* @see #getSelection()
* @see #setSelection(Filter)
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Filter<? super Feature> selection;
/**
@@ -136,6 +137,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* @see #getSortBy()
* @see #setSortBy(SortBy)
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private SortBy<Feature> sortBy;
/**
@@ -146,6 +148,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* @see #getLinearResolution()
* @see #setLinearResolution(Quantity)
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private Quantity<Length> linearResolution;
/**
@@ -415,11 +418,13 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* The literal, value reference or more complex expression to be retrieved by a {@code Query}.
* Never {@code null}.
*/
+ @SuppressWarnings("serial")
public final Expression<? super Feature, ?> expression;
/**
* The name to assign to the expression result, or {@code null} if unspecified.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
public final GenericName alias;
/**
diff --git a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java
index 57f643e102..8277244ea7 100644
--- a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java
+++ b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java
@@ -153,6 +153,7 @@ final class GroupAsPolylineOperation extends AbstractOperation {
/**
* The feature on which to execute the operation.
*/
+ @SuppressWarnings("serial") // Most SIS implementations are serializable.
private final Feature feature;
/**
[sis] 01/02: Reduce the amount of `@SuppressWarnings("null")` annotations. There is too many false positives for making null check useful. This commit contains opportunistic comment formatting in modified files.
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 422c7f36fe94c93d6d572cee02d7b1a1d4adf4f9
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Sat Dec 31 16:35:51 2022 +0100
Reduce the amount of `@SuppressWarnings("null")` annotations.
There is too many false positives for making null check useful.
This commit contains opportunistic comment formatting in modified files.
Corresponding changes in NetBeans project configuration:
- Disable null checks because too many false positives.
- Disable other hints that not available in Java 11.
---
.../java/org/apache/sis/console/CommandRunner.java | 2 +-
.../org/apache/sis/coverage/grid/GridGeometry.java | 1 -
.../apache/sis/feature/DefaultAssociationRole.java | 13 +++---
.../java/org/apache/sis/feature/FeatureFormat.java | 5 +--
.../apache/sis/feature/builder/TypeBuilder.java | 1 -
.../org/apache/sis/filter/ComparisonFilter.java | 1 -
.../sis/internal/jaxb/NonMarshalledAuthority.java | 1 -
.../sis/internal/jaxb/lan/LocaleAndCharset.java | 4 +-
.../apache/sis/metadata/sql/MetadataWriter.java | 6 +--
.../sis/metadata/iso/extent/ExtentsTest.java | 1 -
.../apache/sis/test/xml/DocumentComparator.java | 6 +--
.../org/apache/sis/geometry/AbstractEnvelope.java | 12 ++---
.../org/apache/sis/geometry/CoordinateFormat.java | 5 +--
.../java/org/apache/sis/geometry/Envelopes.java | 3 --
.../org/apache/sis/geometry/GeneralEnvelope.java | 5 +--
.../java/org/apache/sis/geometry/Shapes2D.java | 1 -
.../provider/FranceGeocentricInterpolation.java | 5 +--
.../referencing/provider/GeocentricAffine.java | 1 -
.../sis/internal/referencing/provider/NADCON.java | 5 +--
.../sis/internal/referencing/provider/NTv2.java | 3 +-
.../main/java/org/apache/sis/io/wkt/Formatter.java | 1 -
.../apache/sis/io/wkt/GeodeticObjectParser.java | 1 -
.../parameter/DefaultParameterDescriptorGroup.java | 1 -
.../java/org/apache/sis/parameter/Parameters.java | 1 -
.../factory/ConcurrentAuthorityFactory.java | 1 -
.../referencing/factory/sql/EPSGDataAccess.java | 1 -
.../operation/CoordinateOperationFinder.java | 5 +--
.../sis/referencing/operation/matrix/Matrices.java | 9 ++--
.../transform/DefaultMathTransformFactory.java | 1 -
.../sis/referencing/factory/TestFactorySource.java | 1 -
.../factory/sql/epsg/DataScriptFormatter.java | 1 -
.../main/java/org/apache/sis/math/ArrayVector.java | 21 +++++----
.../src/main/java/org/apache/sis/setup/About.java | 2 +-
.../sis/util/collection/DefaultTreeTable.java | 1 -
.../sis/util/collection/TreeTableFormat.java | 11 +++--
ide-project/NetBeans/nbproject/cfg_hints.xml | 52 ++++++++++++++++++++++
.../org/apache/sis/storage/geotiff/CRSBuilder.java | 3 +-
.../sis/internal/netcdf/ucar/DecoderWrapper.java | 1 -
.../apache/sis/storage/netcdf/MetadataReader.java | 1 -
.../org/apache/sis/storage/DataStoreRegistry.java | 2 +-
.../org/apache/sis/storage/StorageConnector.java | 1 -
41 files changed, 107 insertions(+), 92 deletions(-)
diff --git a/application/sis-console/src/main/java/org/apache/sis/console/CommandRunner.java b/application/sis-console/src/main/java/org/apache/sis/console/CommandRunner.java
index fb8f2f5cad..1a33bc9e3a 100644
--- a/application/sis-console/src/main/java/org/apache/sis/console/CommandRunner.java
+++ b/application/sis-console/src/main/java/org/apache/sis/console/CommandRunner.java
@@ -221,7 +221,7 @@ abstract class CommandRunner {
console = System.console();
colors = (value != null) ? Option.COLORS.parseBoolean(value) : (console != null) && X364.isAnsiSupported();
} catch (RuntimeException e) {
- @SuppressWarnings("null") // 'option' has been assigned in 'get' argument.
+ @SuppressWarnings("null") // `option` has been assigned in `get` argument.
final String name = option.label();
throw new InvalidOptionException(Errors.format(Errors.Keys.IllegalOptionValue_2, name, value), name);
}
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
index bfc22b4402..3a2aaf195e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
@@ -522,7 +522,6 @@ public class GridGeometry implements LenientComparable, Serializable {
* @param rounding controls behavior of rounding from floating point values to integers.
* @throws IllegalGridGeometryException if the math transform cannot compute the grid extent or the resolution.
*/
- @SuppressWarnings("null")
public GridGeometry(final PixelInCell anchor, final MathTransform gridToCRS, final Envelope envelope, final GridRoundingMode rounding) {
if (gridToCRS == null) {
ArgumentChecks.ensureNonNull("envelope", envelope);
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
index cf1d6aac7a..14f98fc51b 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
@@ -233,14 +233,14 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
} else {
/*
* The feature that we need to resolve is not the one we just created. Maybe we can find
- * this desired feature in an association of the 'creating' feature, instead of beeing
- * the 'creating' feature itself. This is a little bit unusual, but not illegal.
+ * this desired feature in an association of the `creating` feature, instead of beeing
+ * the `creating` feature itself. This is a little bit unusual, but not illegal.
*/
final List<FeatureType> deferred = new ArrayList<>();
resolved = search(creating, properties, name, deferred);
if (resolved == null) {
/*
- * Did not found the desired FeatureType in the 'creating' instance.
+ * Did not found the desired FeatureType in the `creating` instance.
* Try harder, by searching recursively in associations of associations.
*/
if (deferred.isEmpty() || (resolved = deepSearch(deferred, name)) == null) {
@@ -270,7 +270,6 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
* @param deferred where to store {@code FeatureType}s to be eventually used for a deep search.
* @return the feature of the given name, or {@code null} if none.
*/
- @SuppressWarnings("null")
private static FeatureType search(final FeatureType feature, Collection<? extends PropertyType> properties,
final GenericName name, final List<FeatureType> deferred)
{
@@ -365,7 +364,7 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
public final FeatureType getValueType() {
/*
* This method shall be final for consistency with other methods in this classes
- * which use the 'valueType' field directly. Furthermore, this method is invoked
+ * which use the `valueType` field directly. Furthermore, this method is invoked
* (indirectly) by DefaultFeatureType constructors.
*/
FeatureType type = valueType;
@@ -491,8 +490,8 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
@Override
public int hashCode() {
/*
- * Do not use the full 'valueType' object for computing hash code,
- * because it may change before and after 'resolve' is invoked. In
+ * Do not use the full `valueType` object for computing hash code,
+ * because it may change before and after `resolve` is invoked. In
* addition, this avoid infinite recursivity in case of cyclic graph.
*/
return super.hashCode() + valueType.getName().hashCode();
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
index 78011cce79..6b55312d79 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
@@ -307,7 +307,6 @@ public class FeatureFormat extends TabularFormat<Object> {
* @throws IOException if an error occurred while writing to the given appendable.
*/
@Override
- @SuppressWarnings("null") // Many false positives in this method.
public void format(final Object object, final Appendable toAppendTo) throws IOException {
ArgumentChecks.ensureNonNull("object", object);
ArgumentChecks.ensureNonNull("toAppendTo", toAppendTo);
@@ -629,9 +628,9 @@ format: for (final AttributeType<?> ct : ((AttributeType<?>)
Collection<?> cv = CollectionsExt.singletonOrEmpty(ct.getDefaultValue());
if (feature != null) {
/*
- * Usually, the property 'cp' below is null because all features use the same
+ * Usually, the property `cp` below is null because all features use the same
* characteristic value (for example the same unit of measurement), which is
- * given by the default value 'cv'. Nevertheless we have to check if current
+ * given by the default value `cv`. Nevertheless we have to check if current
* feature overrides this characteristic.
*/
final Property cp = feature.getProperty(propertyType.getName().toString());
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/builder/TypeBuilder.java b/core/sis-feature/src/main/java/org/apache/sis/feature/builder/TypeBuilder.java
index 475c0272d1..59d7249d4e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/builder/TypeBuilder.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/builder/TypeBuilder.java
@@ -433,7 +433,6 @@ public abstract class TypeBuilder implements Localized {
* @return element of the given name, or {@code null} if none were found.
* @throws IllegalArgumentException if the given name is ambiguous.
*/
- @SuppressWarnings("null")
final <E extends TypeBuilder> E forName(final List<E> types, final String name, final boolean nonAmbiguous) {
E best = null; // Best type found so far.
E ambiguity = null; // If two types are found at the same depth, the other type.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/ComparisonFilter.java b/core/sis-feature/src/main/java/org/apache/sis/filter/ComparisonFilter.java
index e7e7540274..5e43ed87d3 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/ComparisonFilter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/ComparisonFilter.java
@@ -236,7 +236,6 @@ abstract class ComparisonFilter<R> extends BinaryFunction<R,Object,Object>
* @param left the first object to compare. Must be non-null.
* @param right the second object to compare. Must be non-null.
*/
- @SuppressWarnings("null")
private boolean evaluate(Object left, Object right) {
/*
* For numbers, the apply(…) method inherited from parent class will delegate to specialized methods like
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
index 33010e5040..21b6577c93 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
@@ -216,7 +216,6 @@ public final class NonMarshalledAuthority<T> extends CitationConstant.Authority<
*
* @see #setMarshallable(Collection, Identifier)
*/
- @SuppressWarnings("null")
public static Collection<? extends Identifier> setMarshallables(
final Collection<Identifier> identifiers, final Collection<? extends Identifier> newValues)
{
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/LocaleAndCharset.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/LocaleAndCharset.java
index c465140092..e99f8b7ccb 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/LocaleAndCharset.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/lan/LocaleAndCharset.java
@@ -350,7 +350,6 @@ public final class LocaleAndCharset implements Node {
* @param newValues the new languages.
* @return the given map, or a new map if necessary and the given map was null.
*/
- @SuppressWarnings("null")
public static Map<Locale,Charset> setLanguages(Map<Locale,Charset> locales, final Collection<? extends Locale> newValues) {
final Charset encoding = (locales != null) ? CollectionsExt.first(locales.values()) : null;
if (newValues == null || newValues.isEmpty()) {
@@ -369,8 +368,9 @@ public final class LocaleAndCharset implements Node {
/*
* If an encoding was defined before invocation of this method and is not associated to any
* locale specified in `newValues`, preserve that encoding in an entry with null locale.
+ * Note: `locales` is non-null if `encoding` is non-null.
*/
- if (encoding != null && !locales.values().contains(encoding)) { // `locales` is non-null if `encoding` is non-null.
+ if (encoding != null && !locales.values().contains(encoding)) {
locales.put(null, encoding);
}
return locales;
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/MetadataWriter.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/MetadataWriter.java
index 98223d0a27..e3b70e62e7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/MetadataWriter.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/MetadataWriter.java
@@ -301,11 +301,11 @@ public class MetadataWriter extends MetadataSource {
}
/*
* We have found a column to add. Check if the column actually needs to be added to the parent table
- * (if such parent exists). In most case, the answer is "no" and 'addTo' is equal to 'table'.
+ * (if such parent exists). In most case, the answer is "no" and `addTo` is equal to `table`.
*/
String addTo = table;
if (helper.dialect.supportsTableInheritance) {
- @SuppressWarnings("null")
+ @SuppressWarnings("null") // `colTables` is initialized in same time than `colTypes`.
final Class<?> declaring = colTables.get(column);
if (!interfaceType.isAssignableFrom(declaring)) {
addTo = getTableName(declaring);
@@ -402,7 +402,7 @@ public class MetadataWriter extends MetadataSource {
/*
* Process all dependencies now. This block may invoke this method recursively.
* Once a dependency has been added to the database, the corresponding value in
- * the 'asMap' HashMap is replaced by the identifier of the dependency we just added.
+ * the `asMap` HashMap is replaced by the identifier of the dependency we just added.
*/
Map<String,FKey> referencedTables = null;
for (final Map.Entry<String,Object> entry : asSingletons.entrySet()) {
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/ExtentsTest.java b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/ExtentsTest.java
index 122699462e..6b096f44be 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/ExtentsTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/ExtentsTest.java
@@ -62,7 +62,6 @@ public final class ExtentsTest extends TestCase {
* @throws IncommensurableException if a conversion between incompatible units were attempted.
*/
@Test
- @SuppressWarnings("null")
public void testGetVerticalRange() throws IncommensurableException {
final List<DefaultVerticalExtent> extents = Arrays.asList(
new DefaultVerticalExtent( -200, -100, VerticalCRSMock.HEIGHT),
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/test/xml/DocumentComparator.java b/core/sis-metadata/src/test/java/org/apache/sis/test/xml/DocumentComparator.java
index c5c721665d..a3e568caa3 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/test/xml/DocumentComparator.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/test/xml/DocumentComparator.java
@@ -470,7 +470,6 @@ public class DocumentComparator {
* @param expected the node having the expected attributes.
* @param actual the node to compare.
*/
- @SuppressWarnings("null")
protected void compareAttributes(final Node expected, final Node actual) {
final NamedNodeMap expectedAttributes = expected.getAttributes();
final NamedNodeMap actualAttributes = actual.getAttributes();
@@ -500,7 +499,7 @@ public class DocumentComparator {
* └───────────────────┴─────────────────────────────────┴──────────────┴─────────────┘
*
* By default, this block is not be executed. However if the user gave us Nodes that are
- * not namespace aware, then the 'isIgnored(…)' method will try to parse the node name.
+ * not namespace aware, then the `isIgnored(…)` method will try to parse the node name.
*/
name = expAttr.getNodeName();
}
@@ -528,7 +527,7 @@ public class DocumentComparator {
if (!ignored.isEmpty()) {
if (ns == null) {
/*
- * If there is no namespace, then the 'name' argument should be the qualified name
+ * If there is no namespace, then the `name` argument should be the qualified name
* (with a prefix). Example: "xsi:schemaLocation". We will look first for an exact
* name match, then for a match after replacing the local name by "*".
*/
@@ -754,7 +753,6 @@ public class DocumentComparator {
* @param node the node to format.
* @param lineSeparator the platform-specific line separator.
*/
- @SuppressWarnings("null")
private static void formatNode(final StringBuilder buffer, final Node node, final String lineSeparator) {
if (node == null) {
buffer.append("(no node)").append(lineSeparator);
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
index 56998127d3..176be0fbf6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
@@ -601,7 +601,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
final int dimension = getDimension();
for (int i=0; i!=dimension; i++) {
final double span = getUpper(i) - getLower(i); // Do not use getSpan(i).
- if (!(span > 0)) { // Use '!' for catching NaN.
+ if (!(span > 0)) { // Use `!` for catching NaN.
if (!isNegative(span)) {
return EMPTY; // Span is positive zero.
}
@@ -651,11 +651,11 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
}
/*
* Assign the minimum and maximum coordinate values in the dimension where a wraparound has been found.
- * The 'for' loop below iterates only over the 'i' values for which the 'isWrapAround' bit is set to 1.
+ * The `for` loop below iterates only over the `i` values for which the `isWrapAround` bit is set to 1.
*/
int mask = 1; // For identifying whether we need to set the lower or the upper coordinate.
- @SuppressWarnings("null")
- final CoordinateSystem cs = crs.getCoordinateSystem(); // Should not be null at this point.
+ @SuppressWarnings("null") // CRS should not be null at this point.
+ final CoordinateSystem cs = crs.getCoordinateSystem();
for (int i; (i = Long.numberOfTrailingZeros(isWrapAround)) != Long.SIZE; isWrapAround &= ~(1L << i)) {
final CoordinateSystemAxis axis = cs.getAxis(i);
final double min = axis.getMinimumValue();
@@ -699,7 +699,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
return true;
}
for (int i=0; i<dimension; i++) {
- if (!(getSpan(i) > 0)) { // Use '!' in order to catch NaN
+ if (!(getSpan(i) > 0)) { // Use `!` in order to catch NaN
return true;
}
}
@@ -778,7 +778,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
if (isNegative(upper - lower)) {
/*
* "Crossing the anti-meridian" case: if we reach this point, then the
- * [upper...lower] range (note the 'lower' and 'upper' interchanging)
+ * [upper...lower] range (note the `lower` and `upper` interchanging)
* is actually a space outside the envelope and we have checked that
* the coordinate value is outside that space.
*/
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
index 7ea1996634..8238da32db 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
@@ -966,7 +966,6 @@ public class CoordinateFormat extends CompoundFormat<DirectPosition> {
*
* @param crs the target CRS in the conversion from ground units to CRS units.
*/
- @SuppressWarnings("null")
private void applyGroundPrecision(final CoordinateReferenceSystem crs) {
/*
* If the given resolution is linear (for example in metres), compute an equivalent resolution in degrees
@@ -1622,13 +1621,13 @@ skipSep: if (i != 0) {
throw new LocalizedParseException(getLocale(), key, args, index);
}
/*
- * At this point 'subPos' is set to the beginning of the next coordinate to parse in 'asString'.
+ * At this point `subPos` is set to the beginning of the next coordinate to parse in `asString`.
* Parse the value as a number, angle or date, as determined from the coordinate system axis.
*/
if (formats != null) {
format = formats[i];
}
- @SuppressWarnings("null")
+ @SuppressWarnings("null") // `format` was initially null only if `formats` is non-null.
final Object object = format.parseObject(asString, subPos);
if (object == null) {
/*
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
index 8d829b99bb..4736cef6b6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
@@ -302,7 +302,6 @@ public final class Envelopes extends Static {
* @throws TransformException if the point cannot be transformed
* or if a problem occurred while calculating the derivative.
*/
- @SuppressWarnings("null")
static Matrix derivativeAndTransform(final MathTransform transform, final double[] srcPts,
final double[] dstPts, final int dstOff, final boolean derivate) throws TransformException
{
@@ -376,7 +375,6 @@ public final class Envelopes extends Static {
* or {@code null} for computing the union of all results instead.
* @return the transformed envelope. May be {@code null} if {@code results} was non-null.
*/
- @SuppressWarnings("null")
private static GeneralEnvelope transform(final MathTransform transform, final Envelope envelope,
double[] targetPt, final List<GeneralEnvelope> results) throws TransformException
{
@@ -607,7 +605,6 @@ nextPoint: for (int pointIndex = 0;;) { // Break condition at th
*
* @since 0.5
*/
- @SuppressWarnings("null")
public static GeneralEnvelope transform(final CoordinateOperation operation, Envelope envelope)
throws TransformException
{
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
index 7e84dbf427..5a56f97871 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
@@ -418,7 +418,6 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
System.arraycopy(source, srcOffset, coordinates, beginIndex, dimension);
System.arraycopy(source, srcOffset + (source.length >>> 1), coordinates, beginIndex + d, dimension);
} else {
- @SuppressWarnings("null")
final DirectPosition lower = envelope.getLowerCorner();
final DirectPosition upper = envelope.getUpperCorner();
for (int i=0; i<dimension; i++) {
@@ -845,7 +844,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
final double max1 = upper.getOrdinate(i);
final double span0 = max0 - min0;
final double span1 = max1 - min1;
- if (isSameSign(span0, span1)) { // Always 'false' if any value is NaN.
+ if (isSameSign(span0, span1)) { // Always `false` if any value is NaN.
/*
* First, verify that the two envelopes intersect.
* ┌──────────┐ ┌─────────────┐
@@ -1155,7 +1154,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
final int iUpper = iLower + d;
final double lower = coordinates[iLower];
final double upper = coordinates[iUpper];
- if (isNegative(upper - lower)) { // Use 'isNegative' for catching [+0 … -0] range.
+ if (isNegative(upper - lower)) { // Use `isNegative(…)` for catching [+0 … -0] range.
final CoordinateSystemAxis axis = getAxis(crs, i);
if (isWrapAround(axis)) {
changed = true;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Shapes2D.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Shapes2D.java
index 9e4bddc033..a9bd3c57c8 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Shapes2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Shapes2D.java
@@ -411,7 +411,6 @@ public final class Shapes2D extends Static {
* @see #transform(MathTransform2D, Rectangle2D, Rectangle2D)
* @see Envelopes#transform(CoordinateOperation, Envelope)
*/
- @SuppressWarnings("null")
public static Rectangle2D transform(final CoordinateOperation operation,
final Rectangle2D envelope,
Rectangle2D destination)
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
index caf95df88b..ddb61882f5 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
@@ -365,7 +365,6 @@ public class FranceGeocentricInterpolation extends GeodeticOperation {
* @param averages an "average" value for the offset in each dimension, or {@code null} if unknown.
* @param scale the factor by which to multiply each compressed value before to add to the average value.
*/
- @SuppressWarnings("null")
static DatumShiftGridFile<Angle,Length> getOrLoad(final Path file, final double[] averages, final double scale)
throws FactoryException
{
@@ -477,7 +476,7 @@ public class FranceGeocentricInterpolation extends GeodeticOperation {
Level.WARNING, Errors.Keys.UnsupportedInterpolation_1, interp);
record.setLoggerName(Loggers.COORDINATE_OPERATION);
Logging.log(FranceGeocentricInterpolation.class, "createMathTransform", record);
- // We declare 'createMathTransform' method because it is closer to public API.
+ // We declare `createMathTransform(…)` method because it is closer to public API.
}
break;
}
@@ -528,7 +527,7 @@ public class FranceGeocentricInterpolation extends GeodeticOperation {
tZ[p] = -parseFloat(t.nextToken());
final double accuracy = ACCURACY[Math.min(ACCURACY.length - 1,
Math.max(0, Integer.parseInt(t.nextToken()) - 1))];
- if (!(accuracy >= grid.accuracy)) { // Use '!' for replacing the initial NaN.
+ if (!(accuracy >= grid.accuracy)) { // Use `!` for replacing the initial NaN.
grid.accuracy = accuracy;
}
} while ((line = in.readLine()) != null);
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/GeocentricAffine.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/GeocentricAffine.java
index cba324290f..bc0a0e21b7 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/GeocentricAffine.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/GeocentricAffine.java
@@ -339,7 +339,6 @@ public abstract class GeocentricAffine extends GeodeticOperation {
{
return null; // Coordinate systems are not two EllipsoidalCS or two CartesianCS.
}
- @SuppressWarnings("null")
int dimension = sourceCS.getDimension();
if (dimension != targetCS.getDimension()) {
dimension = 4; // Any value greater than 3 means "mismatched dimensions" for this method.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NADCON.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NADCON.java
index 7111e2c7a8..0828872fd7 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NADCON.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NADCON.java
@@ -155,7 +155,6 @@ public final class NADCON extends AbstractProvider {
* @param latitudeShifts name of the grid file for latitude shifts.
* @param longitudeShifts name of the grid file for longitude shifts.
*/
- @SuppressWarnings("null")
static DatumShiftGridFile<Angle,Angle> getOrLoad(final Path latitudeShifts, final Path longitudeShifts)
throws FactoryException
{
@@ -171,7 +170,7 @@ public final class NADCON extends AbstractProvider {
final Loader loader;
Path file = latitudeShifts;
try {
- // Note: buffer size must be divisible by the size of 'float' data type.
+ // Note: buffer size must be divisible by the size of `float` data type.
final ByteBuffer buffer = ByteBuffer.allocate(4096).order(ByteOrder.LITTLE_ENDIAN);
final FloatBuffer fb = buffer.asFloatBuffer();
try (ReadableByteChannel in = Files.newByteChannel(rlat)) {
@@ -445,7 +444,7 @@ public final class NADCON extends AbstractProvider {
}
/*
* Convert seconds to degrees for consistency with the unit declared at the beginning of this method,
- * then divide by cell size for consistency with the 'isCellRatio = true' configuration.
+ * then divide by cell size for consistency with the `isCellRatio = true` configuration.
*/
for (int i=0; i<array.length; i++) {
array[i] /= scale;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java
index be435672eb..108d96fe9e 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java
@@ -158,7 +158,6 @@ public final class NTv2 extends AbstractProvider {
* @param file name of the datum shift grid file to load.
* @param version the expected version (1 or 2).
*/
- @SuppressWarnings("null")
static DatumShiftGridFile<Angle,Angle> getOrLoad(final Class<? extends AbstractProvider> provider,
final Path file, final int version) throws FactoryException
{
@@ -567,7 +566,7 @@ public final class NTv2 extends AbstractProvider {
ty[i] = (float) (buffer.getFloat() / dy); // Division by dx and dy because isCellValueRatio = true.
tx[i] = (float) (buffer.getFloat() / dx);
final double accuracy = Math.min(buffer.getFloat() / dy, buffer.getFloat() / dx);
- if (accuracy > 0 && !(accuracy >= data.accuracy)) { // Use '!' for replacing the initial NaN.
+ if (accuracy > 0 && !(accuracy >= data.accuracy)) { // Use `!` for replacing the initial NaN.
data.accuracy = accuracy; // Smallest non-zero accuracy.
}
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java
index aced9fad00..f64bef6d26 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Formatter.java
@@ -796,7 +796,6 @@ public class Formatter implements Localized {
* A {@code <remark>} can be included within the descriptions of source and target CRS embedded within
* a coordinate transformation as well as within the coordinate transformation itself.</blockquote>
*/
- @SuppressWarnings("null")
private void appendComplement(final IdentifiedObject object, final FormattableObject parent, final FormattableObject gp) {
isComplement = true;
final boolean showIDs; // Whether to format ID[…] elements.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
index a50cab95e3..5bae69b55b 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
@@ -1882,7 +1882,6 @@ class GeodeticObjectParser extends MathTransformParser implements Comparator<Coo
* @return the {@code "VerticalCRS"} element as a {@link VerticalCRS} object.
* @throws ParseException if the {@code "VerticalCRS"} element cannot be parsed.
*/
- @SuppressWarnings("null")
private SingleCRS parseVerticalCRS(final int mode, final Element parent, final boolean isBaseCRS)
throws ParseException
{
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
index 7728d40087..d1b3071673 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
@@ -367,7 +367,6 @@ public class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor
* @throws ParameterNotFoundException if there is no parameter for the given name.
*/
@Override
- @SuppressWarnings("null")
public GeneralParameterDescriptor descriptor(final String name) throws ParameterNotFoundException {
// Quick search for an exact match.
ArgumentChecks.ensureNonNull("name", name);
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
index 59d38f21a0..c68b6d02c6 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
@@ -414,7 +414,6 @@ public abstract class Parameters implements ParameterValueGroup, Cloneable {
* The {@link DefaultParameterValueGroup} subclass will override this method with a more efficient
* implementation which avoid creating some deferred parameters.
*/
- @SuppressWarnings("null")
ParameterValue<?> parameterIfExist(final String name) throws ParameterNotFoundException {
int i1 = 0, i2 = 0;
ParameterValue<?> first = null;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
index 2bdb38399c..823976a0af 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
@@ -388,7 +388,6 @@ public abstract class ConcurrentAuthorityFactory<DAO extends GeodeticAuthorityFa
* @return Data Access Object (DAO) to use in {@code createFoo(String)} methods.
* @throws FactoryException if the Data Access Object creation failed.
*/
- @SuppressWarnings("null")
private DAO getDataAccess() throws FactoryException {
/*
* First checks if the current thread is already using a factory. If yes, we will
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
index 7481a76ebd..7985cabf94 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
@@ -2834,7 +2834,6 @@ next: while (r.next()) {
* @throws FactoryException if the object creation failed for some other reason.
*/
@Override
- @SuppressWarnings("null")
public synchronized CoordinateOperation createCoordinateOperation(final String code)
throws NoSuchAuthorityCodeException, FactoryException
{
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
index 436735e4d3..c32c92e177 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
@@ -500,16 +500,15 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry {
* for the area of interest.</li>
* </ul>
*
- * <p>This method returns only <em>one</em> step for a chain of concatenated operations (to be built by the caller).
+ * This method returns only <em>one</em> step for a chain of concatenated operations (to be built by the caller).
* But a list is returned because the same step may be implemented by different operation methods. Only one element
- * in the returned list should be selected (usually the first one).</p>
+ * in the returned list should be selected (usually the first one).
*
* @param sourceCRS input coordinate reference system.
* @param targetCRS output coordinate reference system.
* @return a coordinate operation from {@code sourceCRS} to {@code targetCRS}.
* @throws FactoryException if the operation cannot be constructed.
*/
- @SuppressWarnings("null")
protected List<CoordinateOperation> createOperationStep(final GeodeticCRS sourceCRS,
final GeodeticCRS targetCRS)
throws FactoryException
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java
index b20281f0aa..9e32ade91b 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java
@@ -235,7 +235,6 @@ public final class Matrices extends Static {
* @param useEnvelopes {@code true} if source and destination envelopes shall be taken in account.
* If {@code false}, then source and destination envelopes will be ignored and can be null.
*/
- @SuppressWarnings("null")
private static MatrixSIS createTransform(final Envelope srcEnvelope, final AxisDirection[] srcAxes,
final Envelope dstEnvelope, final AxisDirection[] dstAxes,
final boolean useEnvelopes)
@@ -645,7 +644,7 @@ public final class Matrices extends Static {
int targetDimensions = subMatrix.getNumRow();
/*
* Get data from the source matrix, together with the error terms if present.
- * The 'stride' and 'length' values will be used for computing indices in that array.
+ * The `stride` and `length` values will be used for computing indices in that array.
* The DoubleDouble temporary object is used only if the array contains error terms.
*/
final int stride = sourceDimensions;
@@ -677,7 +676,7 @@ public final class Matrices extends Static {
targetDimensions, 1); // Copy some rows of only 1 column.
/*
* Set the pseudo-diagonal elements on the trailing new dimensions.
- * 'diff' is zero for a square matrix and non-zero for rectangular matrix.
+ * `diff` is zero for a square matrix and non-zero for rectangular matrix.
*/
final int diff = targetDimensions - sourceDimensions;
for (int i=lastColumn - numTrailingCoordinates; i<lastColumn; i++) {
@@ -1081,7 +1080,7 @@ public final class Matrices extends Static {
if (i == j) {
e--;
}
- if (!(Math.abs(e) <= tolerance)) { // Uses '!' in order to catch NaN values.
+ if (!(Math.abs(e) <= tolerance)) { // Uses `!` in order to catch NaN values.
return false;
}
}
@@ -1275,7 +1274,7 @@ public final class Matrices extends Static {
/*
* If the number use exponential notation, we will not be allowed to append any zero.
* Otherwise we will append some zeros for right-alignment, but without exceeding the
- * IEEE 754 'double' accuracy for not giving a false sense of precision.
+ * IEEE 754 `double` accuracy for not giving a false sense of precision.
*/
if (element.indexOf('E') < 0) {
final int accuracy = -DecimalFunctions.floorLog10(Math.ulp(value));
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
index be1a205e43..571062d004 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
@@ -1035,7 +1035,6 @@ public class DefaultMathTransformFactory extends AbstractFactory implements Math
*
* @see #getCompletedParameters()
*/
- @SuppressWarnings("null")
final RuntimeException completeParameters(final DefaultMathTransformFactory factory, OperationMethod method,
final ParameterValueGroup userParams) throws FactoryException, IllegalArgumentException
{
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/TestFactorySource.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/TestFactorySource.java
index 34578dad92..b47f3bd7ab 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/TestFactorySource.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/TestFactorySource.java
@@ -127,7 +127,6 @@ public final class TestFactorySource {
*
* @throws FactoryException if an error occurred while creating the factory.
*/
- @SuppressWarnings("null")
public static synchronized void createFactory() throws FactoryException {
if (!isUnavailable) {
EPSGFactory af = factory;
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
index be86f8f9e1..881c63b6df 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
@@ -445,7 +445,6 @@ public final class DataScriptFormatter extends ScriptRunner {
/**
* Removes the useless "E0" exponents after floating point numbers.
*/
- @SuppressWarnings("null")
private String removeUselessExponents(String line) {
StringBuilder cleaned = null;
final Matcher matcher = uselessExponentPattern.matcher(line);
diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java b/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java
index fee30e2be6..b92c86a738 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java
@@ -97,7 +97,6 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
* or {@code null} if this method cannot do better than the given {@code Vector} instance.
* This method shall be invoked only for vector of integer values (this is not verified).
*/
- @SuppressWarnings("null")
static Vector compress(final Vector source, final long min, final long max) {
boolean isSigned = (min >= Byte.MIN_VALUE && max <= Byte.MAX_VALUE);
if (isSigned || (min >= 0 && max <= 0xFF)) {
@@ -144,8 +143,8 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
static Vector compress(final Vector source, final double tolerance) {
if (!Float.class.equals(source.getElementType())) {
/*
- * For floating point types, verify if values are equivalent to 'float' values.
- * There is two different ways to pad extra fraction digits in 'double' values:
+ * For floating point types, verify if values are equivalent to `float` values.
+ * There is two different ways to pad extra fraction digits in `double` values:
* with zero fraction digits in base 2 representation (the standard Java cast),
* or with zero fraction digits in base 10 representation.
*/
@@ -154,7 +153,7 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
double v;
do if (i >= length) {
return new Floats(source.floatValues());
- } while (!(Math.abs((v = source.doubleValue(i++)) - (float) v) > tolerance)); // Use '!' for accepting NaN.
+ } while (!(Math.abs((v = source.doubleValue(i++)) - (float) v) > tolerance)); // Use `!` for accepting NaN.
/*
* Same try than above loop, but now using base 10 representation.
* This is a more costly computation.
@@ -583,7 +582,7 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
* signed integers. Consequently, we do not need to distinguish the two cases during the loop.
*/
@Override public final Number increment(final double tolerance) {
- if (!(tolerance >= 0 && tolerance < 1)) { // Use '!' for catching NaN.
+ if (!(tolerance >= 0 && tolerance < 1)) { // Use `!` for catching NaN.
return super.increment(tolerance);
}
int i = array.length;
@@ -713,7 +712,7 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
* signed integers. Consequently, we do not need to distinguish the two cases during the loop.
*/
@Override public final Number increment(final double tolerance) {
- if (!(tolerance >= 0 && tolerance < 1)) { // Use '!' for catching NaN.
+ if (!(tolerance >= 0 && tolerance < 1)) { // Use `!` for catching NaN.
return super.increment(tolerance);
}
int i = array.length;
@@ -728,7 +727,7 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
return null;
}
}
- // Do not use the ?: operator below since it casts 'asInt' to Long, which is not wanted.
+ // Do not use the ?: operator below since it casts `asInt` to Long, which is not wanted.
if (isSigned) {
return asInt;
} else {
@@ -842,8 +841,8 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
}
/*
- * Not worth to override 'increment(double)' because the array cannot be long anyway
- * (except if the increment is zero) and the implicit conversion of 'short' to 'int'
+ * Not worth to override `increment(double)` because the array cannot be long anyway
+ * (except if the increment is zero) and the implicit conversion of `short` to `int`
* performed by Java would make the implementation a little bit more tricky.
*/
@@ -951,8 +950,8 @@ abstract class ArrayVector<E extends Number> extends Vector implements CheckedCo
}
/*
- * Not worth to override 'increment(double)' because the array cannot be long anyway
- * (except if the increment is zero) and the implicit conversion of 'byte' to 'int'
+ * Not worth to override `increment(double)` because the array cannot be long anyway
+ * (except if the increment is zero) and the implicit conversion of `byte` to `int`
* performed by Java would make the implementation a little bit more tricky.
*/
diff --git a/core/sis-utility/src/main/java/org/apache/sis/setup/About.java b/core/sis-utility/src/main/java/org/apache/sis/setup/About.java
index 9feede5beb..7f84dee8cb 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/setup/About.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/setup/About.java
@@ -470,7 +470,7 @@ fill: for (int i=0; ; i++) {
if (name == null) {
name = resources.getString(nameKey);
}
- @SuppressWarnings("null")
+ @SuppressWarnings("null") // `section` is non-null because of initially non-null `newSection`.
final TreeTable.Node node = section.newChild();
node.setValue(NAME, name);
if (children != null) {
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
index 6bf8660220..3ef3214f3d 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
@@ -695,7 +695,6 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @return {@code true} if the two objects are equal, ignoring the parent node.
*/
@Override
- @SuppressWarnings("null")
public boolean equals(final Object other) {
if (other == this) {
return true;
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
index 019cf0cf71..8eea14fe63 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
@@ -405,14 +405,13 @@ public class TreeTableFormat extends TabularFormat<TreeTable> {
* @throws ParseException if an error occurred while parsing a node value.
*/
@Override
- @SuppressWarnings("null")
public TreeTable parse(final CharSequence text, final ParsePosition pos) throws ParseException {
final Matcher matcher = getColumnSeparatorMatcher(text);
final int length = text.length();
int indexOfLineStart = pos.getIndex();
- int indentationLevel = 0; // Current index in the 'indentations' array.
+ int indentationLevel = 0; // Current index in the `indentations` array.
int[] indentations = new int[16]; // Number of spaces (ignoring drawing characters) for each level.
- TreeTable.Node lastNode = null; // Last parsed node, having 'indentation[level]' characters before its content.
+ TreeTable.Node lastNode = null; // Last parsed node, having `indentation[level]` characters before its content.
TreeTable.Node root = null; // First node found while parsing.
final DefaultTreeTable table = new DefaultTreeTable(columnIndices != null ? columnIndices : TableColumn.NAME_MAP);
final TableColumn<?>[] columns = DefaultTreeTable.getColumns(table.columnIndices);
@@ -496,7 +495,7 @@ public class TreeTableFormat extends TabularFormat<TreeTable> {
/*
* Lower indentation level: go up in the tree until we find the new parent.
* Note that lastNode.getParent() should never return null, since only the
- * node at 'indentationLevel == 0' has a null parent and we check that case.
+ * node at `indentationLevel == 0` has a null parent and we check that case.
*/
if (--indentationLevel < 0) {
pos.setErrorIndex(indexOfLineStart);
@@ -715,7 +714,7 @@ public class TreeTableFormat extends TabularFormat<TreeTable> {
final Format format = getFormat(value.getClass());
if (format instanceof DecimalFormat && Numbers.isFloat(value.getClass())) {
final double number = ((Number) value).doubleValue();
- if (number != (int) number) { // Cast to 'int' instead of 'long' as a way to limit to about 2E9.
+ if (number != (int) number) { // Cast to `int` instead of `long` as a way to limit to about 2E9.
/*
* The default floating point format uses only 3 fraction digits. We adjust that to the number
* of digits required by the number to format. We do that only if no NumberFormat was inferred
@@ -810,7 +809,7 @@ public class TreeTableFormat extends TabularFormat<TreeTable> {
if (needLineSeparator && lineSeparator != null) {
setLineSeparator(lineSeparator + getTreeSymbols(true, isLast[level]));
}
- format(child, level+1); // 'isLast' must be set before to call this method.
+ format(child, level+1); // `isLast` must be set before to call this method.
}
if (lineSeparator != null) {
setLineSeparator(lineSeparator); // Restore previous state.
diff --git a/ide-project/NetBeans/nbproject/cfg_hints.xml b/ide-project/NetBeans/nbproject/cfg_hints.xml
index 4c832fa7d3..bc79ffd6ea 100644
--- a/ide-project/NetBeans/nbproject/cfg_hints.xml
+++ b/ide-project/NetBeans/nbproject/cfg_hints.xml
@@ -157,5 +157,57 @@
<attribute name="enabled" value="true"/>
<attribute name="hintSeverity" value="HINT"/>
</node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertToTextBlock">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertTextBlockToString">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.NoLoggers">
+ <attribute name="custom-loggers" value="false"/>
+ <attribute name="custom-loggers-list" value=""/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.errors.ErrorFixesFakeHintCREATE_FINAL_FIELD_CTOR">
+ <attribute name="create-final-fields-from-ctor" value="true"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.errors.ErrorFixesFakeHintCREATE_LOCAL_VARIABLE">
+ <attribute name="create-local-variables-in-place" value="true"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertSwitchToRuleSwitch">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertToNestedRecordPattern">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertToSwitchPatternInstanceOf">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.errors.ErrorFixesFakeHintSURROUND_WITH_TRY_CATCH">
+ <attribute name="surround-try-catch-rethrow" value="false"/>
+ <attribute name="surround-try-catch-java-util-logging-Logger" value="true"/>
+ <attribute name="surround-try-catch-rethrow-runtime" value="false"/>
+ <attribute name="surround-try-catch-org-openide-util-Exceptions" value="true"/>
+ <attribute name="surround-try-catch-printStackTrace" value="true"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertToPatternInstanceOf">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.AddUnderscores">
+ <attribute name="size-binary" value="4"/>
+ <attribute name="size-hexadecimal" value="4"/>
+ <attribute name="size-decimal" value="3"/>
+ <attribute name="also-with-underscores" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.jdk.ConvertToRecordPattern">
+ <attribute name="enabled" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.errors.ErrorFixesFakeHintIMPORT_CLASS">
+ <attribute name="organize-import-class" value="false"/>
+ </node>
+ <node name="org.netbeans.modules.java.hints.bugs.NPECheck">
+ <attribute name="unboxing-unknown" value="true"/>
+ <attribute name="enable-for-fields" value="false"/>
+ <attribute name="enabled" value="false"/>
+ </node>
</tool>
</configuration>
diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java
index cfcfdbf994..58b39d3af4 100644
--- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java
+++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java
@@ -464,7 +464,6 @@ final class CRSBuilder extends ReferencingFactoryContainer {
* @throws ClassCastException if an object defined by an EPSG code is not of the expected type.
* @throws FactoryException if an error occurred during objects creation with the factories.
*/
- @SuppressWarnings("null")
public CoordinateReferenceSystem build(final GeoKeysLoader source) throws FactoryException {
try {
source.logger = this;
@@ -491,7 +490,7 @@ final class CRSBuilder extends ReferencingFactoryContainer {
default: invalidValue(GeoKeys.RasterType, code); break;
}
/*
- * First create the main coordinate reference system, as determined by 'ModelType'.
+ * First create the main coordinate reference system, as determined by `ModelType`.
* Then if a vertical CRS exists and the main CRS is not geocentric (in which case
* adding a vertical CRS would make no sense), create a three-dimensional compound CRS.
*/
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/DecoderWrapper.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/DecoderWrapper.java
index 10be35c10f..e29dc154d8 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/DecoderWrapper.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/DecoderWrapper.java
@@ -452,7 +452,6 @@ public final class DecoderWrapper extends Decoder implements CancelTask {
* @throws DataStoreException if the library of geometric objects is not available.
*/
@Override
- @SuppressWarnings("null")
public DiscreteSampling[] getDiscreteSampling(final DataStore lock) throws IOException, DataStoreException {
final FeatureDataset features = getFeatureDataSet();
if (features instanceof FeatureDatasetPoint) {
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
index 28b6494e55..4962e1122e 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
@@ -868,7 +868,6 @@ split: while ((start = CharSequences.skipLeadingWhitespaces(value, start, lengt
* Adds information about all netCDF variables. This is the {@code <mdb:contentInfo>} element in XML.
* This method groups variables by their domains, i.e. variables having the same set of axes are grouped together.
*/
- @SuppressWarnings("null")
private void addContentInfo() {
/*
* Prepare a list of features and coverages, but without writing metadata now.
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java
index 79b018cf20..5ccaaabd59 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java
@@ -311,7 +311,7 @@ search: for (int ci=0; ci < categories.length; ci++) {
}
}
if (open && selected == null) {
- @SuppressWarnings("null")
+ @SuppressWarnings("null") // `connector` is null only if `selected` is non-null.
final String name = connector.getStorageName();
throw new UnsupportedStorageException(null, Resources.Keys.UnknownFormatFor_1, name);
}
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java
index 4141179c0a..9fcb237b2a 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java
@@ -1538,7 +1538,6 @@ public class StorageConnector implements Serializable {
*/
final Map<AutoCloseable,Boolean> toClose = new IdentityHashMap<>(views.size());
for (Coupled c : views.values()) {
- @SuppressWarnings("null")
Object v = c.view;
if (v != view) {
if (v instanceof AutoCloseable) {