This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 98ad705d64463c46658b95a62689de5ea62eb170
Merge: 2330bb247d cdfb5327b5
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Sun Jan 14 21:03:40 2024 +0100

    Merge branch 'geoapi-3.1'

 .../sis/buildtools/gradle/ModularCompilation.java  |   2 +-
 .../sis/buildtools/gradle/ModularJavadoc.java      |   2 +-
 .../resources/IndexedResourceCompiler.java         |   2 +-
 .../apache/sis/cloud/aws/internal/Resources.java   |   4 +-
 .../sis/cloud/aws/internal/Resources_en.java       |   2 +-
 .../sis/cloud/aws/internal/Resources_fr.java       |   2 +-
 .../org/apache/sis/cloud/aws/s3/FileService.java   |   2 +-
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |   8 +-
 .../org/apache/sis/cloud/aws/s3/PathIterator.java  |   2 +-
 .../org/apache/sis/cloud/aws/s3/package-info.java  |   2 +-
 .../main/org/apache/sis/console/CommandRunner.java |   2 +-
 .../main/org/apache/sis/console/HelpCommand.java   |   2 +-
 .../main/org/apache/sis/console/SIS.java           |   4 +-
 .../org/apache/sis/console/AboutCommandTest.java   |   2 +-
 .../apache/sis/console/MetadataCommandTest.java    |   2 +-
 .../main/org/apache/sis/coverage/Category.java     |   2 +-
 .../org/apache/sis/coverage/SampleDimension.java   |   6 +-
 .../org/apache/sis/coverage/SampleRangeFormat.java |   2 +-
 .../main/org/apache/sis/coverage/ToNaN.java        |   2 +-
 .../sis/coverage/grid/BufferedGridCoverage.java    |   2 +-
 .../sis/coverage/grid/ConvertedGridCoverage.java   |   4 +-
 .../coverage/grid/CoordinateOperationFinder.java   |   2 +-
 .../apache/sis/coverage/grid/DefaultEvaluator.java |   6 +-
 .../sis/coverage/grid/DerivedGridCoverage.java     |   6 +-
 .../sis/coverage/grid/DimensionalityReduction.java |  16 +-
 .../coverage/grid/FractionalGridCoordinates.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridCoverage.java |   6 +-
 .../apache/sis/coverage/grid/GridCoverage2D.java   |  10 +-
 .../sis/coverage/grid/GridCoverageBuilder.java     |   4 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |  10 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |  12 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |  12 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |  18 +--
 .../apache/sis/coverage/grid/GridOrientation.java  |   2 +-
 .../apache/sis/coverage/grid/ReshapedImage.java    |   4 +-
 .../apache/sis/coverage/grid/SliceGeometry.java    |   8 +-
 .../sis/coverage/grid/TranslatedGridCoverage.java  |  10 +-
 .../sis/coverage/grid/j2d/ColorModelBuilder.java   |   6 +-
 .../sis/coverage/grid/j2d/ColorModelFactory.java   |   4 +-
 .../apache/sis/coverage/grid/j2d/FillValues.java   |   2 +-
 .../apache/sis/coverage/grid/j2d/ImageLayout.java  |   2 +-
 .../grid/j2d/MultiBandsIndexColorModel.java        |   4 +-
 .../sis/coverage/grid/j2d/ScaledColorModel.java    |   2 +-
 .../sis/coverage/grid/j2d/TileOpExecutor.java      |  12 +-
 .../sis/coverage/internal/CommonDomainFinder.java  |   2 +-
 .../sis/coverage/internal/MultiSourceArgument.java |   4 +-
 .../sis/coverage/internal/RangeArgument.java       |   4 +-
 .../org/apache/sis/feature/AbstractFeature.java    |   4 +-
 .../org/apache/sis/feature/FeatureOperations.java  |   8 +-
 .../org/apache/sis/feature/PropertySingleton.java  |   4 +-
 .../sis/feature/builder/FeatureTypeBuilder.java    |   2 +-
 .../sis/feature/internal/MovingFeatures.java       |   2 +-
 .../org/apache/sis/feature/internal/Resources.java |   4 +-
 .../apache/sis/feature/internal/Resources_en.java  |   2 +-
 .../apache/sis/feature/internal/Resources_fr.java  |   2 +-
 .../org/apache/sis/filter/AssociationValue.java    |   2 +-
 .../org/apache/sis/filter/ComparisonFilter.java    |   2 +-
 .../org/apache/sis/filter/ConvertFunction.java     |   4 +-
 .../main/org/apache/sis/filter/LeafExpression.java |   2 +-
 .../main/org/apache/sis/filter/LogicalFilter.java  |   6 +-
 .../main/org/apache/sis/filter/Optimization.java   |   4 +-
 .../sis/filter/internal/GeometryConverter.java     |   2 +-
 .../org/apache/sis/filter/internal/Visitor.java    |   2 +-
 .../sis/filter/sqlmm/GeometryConstructor.java      |   2 +-
 .../apache/sis/filter/sqlmm/GeometryParser.java    |   2 +-
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |   4 +-
 .../org/apache/sis/filter/sqlmm/ST_FromBinary.java |   2 +-
 .../org/apache/sis/filter/sqlmm/ST_FromText.java   |   2 +-
 .../main/org/apache/sis/filter/sqlmm/ST_Point.java |   2 +-
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |   2 +-
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |   4 +-
 .../apache/sis/geometry/wrapper/Geometries.java    |   2 +-
 .../sis/geometry/wrapper/GeometryWithCRS.java      |   2 +-
 .../sis/geometry/wrapper/GeometryWrapper.java      |  12 +-
 .../geometry/wrapper/SpatialOperationContext.java  |   2 +-
 .../sis/geometry/wrapper/j2d/PathBuilder.java      |   4 +-
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |   2 +-
 .../wrapper/jts/PackedCoordinateSequence.java      |   2 +-
 .../jts/PackedCoordinateSequenceFactory.java       |   2 +-
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |   2 +-
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |   6 +-
 .../main/org/apache/sis/image/AnnotatedImage.java  |   4 +-
 .../main/org/apache/sis/image/BandSelectImage.java |   4 +-
 .../main/org/apache/sis/image/BandedIterator.java  |   4 +-
 .../apache/sis/image/BandedSampleConverter.java    |  14 +-
 .../main/org/apache/sis/image/ComputedImage.java   |  10 +-
 .../main/org/apache/sis/image/ImageAdapter.java    |   4 +-
 .../main/org/apache/sis/image/ImageCombiner.java   |   2 +-
 .../main/org/apache/sis/image/ImageProcessor.java  |  14 +-
 .../main/org/apache/sis/image/MaskedImage.java     |   4 +-
 .../org/apache/sis/image/MultiSourceLayout.java    |   4 +-
 .../main/org/apache/sis/image/PixelIterator.java   |  16 +-
 .../main/org/apache/sis/image/PlanarImage.java     |   2 +-
 .../main/org/apache/sis/image/PrefetchedImage.java |   2 +-
 .../main/org/apache/sis/image/RecoloredImage.java  |   6 +-
 .../main/org/apache/sis/image/ResampledImage.java  |  10 +-
 .../org/apache/sis/image/SourceAlignedImage.java   |   4 +-
 .../main/org/apache/sis/image/TransferType.java    |   2 +-
 .../apache/sis/image/WritablePixelIterator.java    |   4 +-
 .../org/apache/sis/index/tree/PointTreeNode.java   |   4 +-
 .../org/apache/sis/index/tree/QuadTreeNode.java    |   2 +-
 .../org/apache/sis/coverage/CategoryListTest.java  |   2 +-
 .../sis/coverage/grid/GridDerivationTest.java      |  16 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |   2 +-
 .../coverage/grid/ResampledGridCoverageTest.java   |   6 +-
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |   2 +-
 .../apache/sis/feature/DefaultFeatureTypeTest.java |   2 +-
 .../org/apache/sis/feature/FeatureTestCase.java    |   4 +-
 .../sis/filter/internal/FunctionNamesTest.java     |   2 +-
 .../apache/sis/filter/sqlmm/RegistryTestCase.java  |   2 +-
 .../org/apache/sis/image/PixelIteratorTest.java    |   6 +-
 .../sis/image/processing/isoline/IsolinesTest.java |   4 +-
 .../org/apache/sis/metadata/KeyNamePolicy.java     |   2 +-
 .../org/apache/sis/metadata/MetadataCopier.java    |   4 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   6 +-
 .../apache/sis/metadata/ModifiableMetadata.java    |   2 +-
 .../org/apache/sis/metadata/PropertyAccessor.java  |  14 +-
 .../apache/sis/metadata/PropertyComparator.java    |   2 +-
 .../main/org/apache/sis/metadata/SpecialCases.java |   2 +-
 .../main/org/apache/sis/metadata/TreeNode.java     |   8 +-
 .../org/apache/sis/metadata/TreeNodeChildren.java  |   6 +-
 .../org/apache/sis/metadata/TypeValuePolicy.java   |   2 +-
 .../apache/sis/metadata/internal/Dependencies.java |   2 +-
 .../apache/sis/metadata/internal/Resources.java    |   4 +-
 .../apache/sis/metadata/internal/Resources_en.java |   2 +-
 .../apache/sis/metadata/internal/Resources_fr.java |   2 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |   2 +-
 .../sis/metadata/iso/citation/Citations.java       |   4 +-
 .../metadata/iso/citation/DefaultTelephone.java    |   2 +-
 .../sis/metadata/iso/extent/DefaultExtent.java     |   2 +-
 .../iso/extent/DefaultGeographicBoundingBox.java   |   8 +-
 .../DefaultRepresentativeFraction.java             |   4 +-
 .../sis/metadata/simple/CitationConstant.java      |   2 +-
 .../metadata/simple/SimpleIdentifiedObject.java    |   2 +-
 .../sis/metadata/simple/SimpleIdentifier.java      |   2 +-
 .../org/apache/sis/metadata/sql/Dispatcher.java    |   2 +-
 .../sis/metadata/sql/IdentifierGenerator.java      |   4 +-
 .../org/apache/sis/metadata/sql/LookupInfo.java    |   2 +-
 .../apache/sis/metadata/sql/MetadataSource.java    |   2 +-
 .../apache/sis/metadata/sql/MetadataWriter.java    |   4 +-
 .../apache/sis/metadata/sql/util/SQLBuilder.java   |   2 +-
 .../apache/sis/metadata/sql/util/SQLUtilities.java |   2 +-
 .../org/apache/sis/metadata/sql/util/Syntax.java   |   2 +-
 .../org/apache/sis/util/iso/DefaultLocalName.java  |   2 +-
 .../org/apache/sis/util/iso/DefaultMemberName.java |   2 +-
 .../apache/sis/util/iso/DefaultNameFactory.java    |   2 +-
 .../org/apache/sis/util/iso/DefaultNameSpace.java  |   4 +-
 .../org/apache/sis/util/iso/DefaultScopedName.java |   4 +-
 .../org/apache/sis/util/iso/DefaultTypeName.java   |   2 +-
 .../main/org/apache/sis/util/iso/Names.java        |   2 +-
 .../main/org/apache/sis/util/iso/TypeNames.java    |   2 +-
 .../main/org/apache/sis/util/iso/Types.java        |   6 +-
 .../main/org/apache/sis/xml/Namespaces.java        |   2 +-
 .../main/org/apache/sis/xml/ReferenceResolver.java |   2 +-
 .../main/org/apache/sis/xml/TransformedEvent.java  |  10 +-
 .../main/org/apache/sis/xml/Transformer.java       |   2 +-
 .../org/apache/sis/xml/TransformingReader.java     |   2 +-
 .../org/apache/sis/xml/TransformingWriter.java     |   2 +-
 .../main/org/apache/sis/xml/XML.java               |   2 +-
 .../main/org/apache/sis/xml/bind/Context.java      |   4 +-
 .../apache/sis/xml/bind/IdentifierMapEntry.java    |   2 +-
 .../sis/xml/bind/NonMarshalledAuthority.java       |   2 +-
 .../org/apache/sis/xml/bind/ScopedIdentifier.java  |   2 +-
 .../org/apache/sis/xml/bind/TypeRegistration.java  |   2 +-
 .../org/apache/sis/xml/bind/lan/PT_FreeText.java   |   2 +-
 .../sis/xml/bind/metadata/replace/SensorType.java  |   2 +-
 .../apache/sis/metadata/AbstractMetadataTest.java  |   2 +-
 .../apache/sis/metadata/PropertyAccessorTest.java  |   2 +-
 .../test/org/apache/sis/metadata/ValueMapTest.java |   6 +-
 .../metadata/iso/citation/DefaultCitationTest.java |   2 +-
 .../sis/metadata/iso/extent/ExtentsTest.java       |   2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |   4 +-
 .../iso/lineage/DefaultProcessStepTest.java        |   2 +-
 .../org/apache/sis/xml/ReferenceResolverTest.java  |   2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java    |   2 +-
 .../apache/sis/xml/bind/gco/MultiplicityTest.java  |   2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java    |   6 +-
 .../sis/xml/test/AnnotationConsistencyCheck.java   |   4 +-
 .../org/apache/sis/openoffice/TransformerTest.java |   2 +-
 .../coverage/MultiResolutionCoverageLoader.java    |   2 +-
 .../main/org/apache/sis/portrayal/Canvas.java      |   2 +-
 .../org/apache/sis/portrayal/CanvasFollower.java   |   2 +-
 .../apache/sis/portrayal/TransformChangeEvent.java |   2 +-
 .../main/org/apache/sis/style/se1/Rule.java        |   2 +-
 .../org/apache/sis/style/se1/StyleElement.java     |   2 +-
 .../org/apache/sis/style/se1/StyleFactory.java     |   2 +-
 .../apache/sis/profile/japan/netcdf/GCOM_C.java    |   4 +-
 .../referencing/gazetteer/GazetteerFactory.java    |   2 +-
 .../gazetteer/GeohashReferenceSystem.java          |   2 +-
 .../sis/referencing/gazetteer/LocationFormat.java  |   2 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |  18 +--
 .../gazetteer/ModifiableLocationType.java          |   2 +-
 .../gazetteer/ReferencingByIdentifiers.java        |   2 +-
 .../referencing/gazetteer/internal/Resources.java  |   4 +-
 .../gazetteer/internal/Resources_en.java           |   2 +-
 .../gazetteer/internal/Resources_fr.java           |   2 +-
 .../sis/referencing/gazetteer/LocationViewer.java  |   2 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |  12 +-
 .../org/apache/sis/geometry/ArrayEnvelope.java     |   4 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |   4 +-
 .../org/apache/sis/geometry/DirectPosition2D.java  |   2 +-
 .../main/org/apache/sis/geometry/Envelope2D.java   |  18 +--
 .../main/org/apache/sis/geometry/Envelopes.java    |   8 +-
 .../apache/sis/geometry/GeneralDirectPosition.java |   2 +-
 .../org/apache/sis/geometry/GeneralEnvelope.java   |   8 +-
 .../org/apache/sis/geometry/ImmutableEnvelope.java |   2 +-
 .../main/org/apache/sis/geometry/Shapes2D.java     |   2 +-
 .../apache/sis/geometry/WraparoundAdjustment.java  |   8 +-
 .../main/org/apache/sis/io/wkt/Convention.java     |   4 +-
 .../org/apache/sis/io/wkt/FormattableObject.java   |   2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java      |  10 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |  12 +-
 .../org/apache/sis/io/wkt/MathTransformParser.java |   2 +-
 .../main/org/apache/sis/io/wkt/Symbols.java        |   2 +-
 .../main/org/apache/sis/io/wkt/Transliterator.java |   2 +-
 .../sis/io/wkt/UnparsableObjectException.java      |   2 +-
 .../main/org/apache/sis/io/wkt/WKTFormat.java      |   2 +-
 .../main/org/apache/sis/io/wkt/Warnings.java       |   4 +-
 .../sis/parameter/AbstractParameterDescriptor.java |   2 +-
 .../sis/parameter/DefaultParameterDescriptor.java  |   6 +-
 .../parameter/DefaultParameterDescriptorGroup.java |  10 +-
 .../sis/parameter/DefaultParameterValue.java       |   2 +-
 .../sis/parameter/MapProjectionDescriptor.java     |   2 +-
 .../org/apache/sis/parameter/ParameterBuilder.java |   6 +-
 .../org/apache/sis/parameter/ParameterFormat.java  |   4 +-
 .../apache/sis/parameter/ParameterTableRow.java    |   2 +-
 .../main/org/apache/sis/parameter/Parameters.java  |  10 +-
 .../sis/parameter/UnmodifiableParameterValue.java  |   2 +-
 .../main/org/apache/sis/parameter/Verifier.java    |   2 +-
 .../org/apache/sis/parameter/package-info.java     |   2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   6 +-
 .../sis/referencing/AbstractReferenceSystem.java   |   4 +-
 .../main/org/apache/sis/referencing/Builder.java   |   4 +-
 .../main/org/apache/sis/referencing/CRS.java       |   2 +-
 .../main/org/apache/sis/referencing/CommonCRS.java |   4 +-
 .../sis/referencing/GeodesicsOnEllipsoid.java      |   4 +-
 .../apache/sis/referencing/GeodeticCalculator.java |   4 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |  20 ++-
 .../sis/referencing/ImmutableIdentifier.java       |   2 +-
 .../apache/sis/referencing/NamedIdentifier.java    |   6 +-
 .../apache/sis/referencing/crs/AbstractCRS.java    |   6 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   4 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |  10 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java     |  22 +--
 .../sis/referencing/crs/DefaultEngineeringCRS.java |   8 +-
 .../sis/referencing/crs/DefaultGeocentricCRS.java  |  10 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |   6 +-
 .../sis/referencing/crs/DefaultGeographicCRS.java  |   8 +-
 .../sis/referencing/crs/DefaultImageCRS.java       |   8 +-
 .../sis/referencing/crs/DefaultParametricCRS.java  |   6 +-
 .../sis/referencing/crs/DefaultProjectedCRS.java   |   8 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   8 +-
 .../sis/referencing/crs/DefaultVerticalCRS.java    |   8 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |   6 +-
 .../apache/sis/referencing/cs/DefaultAffineCS.java |   4 +-
 .../sis/referencing/cs/DefaultCartesianCS.java     |   4 +-
 .../cs/DefaultCoordinateSystemAxis.java            |   4 +-
 .../sis/referencing/cs/DefaultCylindricalCS.java   |   4 +-
 .../sis/referencing/cs/DefaultEllipsoidalCS.java   |   4 +-
 .../apache/sis/referencing/cs/DefaultLinearCS.java |   4 +-
 .../sis/referencing/cs/DefaultParametricCS.java    |   2 +-
 .../apache/sis/referencing/cs/DefaultPolarCS.java  |   4 +-
 .../sis/referencing/cs/DefaultSphericalCS.java     |   4 +-
 .../apache/sis/referencing/cs/DefaultTimeCS.java   |   4 +-
 .../sis/referencing/cs/DefaultUserDefinedCS.java   |   4 +-
 .../sis/referencing/cs/DefaultVerticalCS.java      |   4 +-
 .../org/apache/sis/referencing/cs/Normalizer.java  |   8 +-
 .../sis/referencing/datum/AbstractDatum.java       |   4 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |  16 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |  10 +-
 .../referencing/datum/DefaultEngineeringDatum.java |   4 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |   6 +-
 .../sis/referencing/datum/DefaultImageDatum.java   |   4 +-
 .../referencing/datum/DefaultParametricDatum.java  |   2 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |   6 +-
 .../referencing/datum/DefaultTemporalDatum.java    |   4 +-
 .../referencing/datum/DefaultVerticalDatum.java    |   4 +-
 .../factory/AuthorityFactoryIdentifier.java        |   4 +-
 .../factory/CommonAuthorityFactory.java            |   2 +-
 .../factory/ConcurrentAuthorityFactory.java        |   2 +-
 .../referencing/factory/GeodeticObjectFactory.java |   2 +-
 .../factory/IdentifiedObjectFinder.java            |  10 +-
 .../referencing/factory/IdentifiedObjectSet.java   |   4 +-
 .../factory/MultiAuthoritiesFactory.java           |   2 +-
 .../factory/sql/CoordinateOperationSet.java        |   2 +-
 .../referencing/factory/sql/EPSGCodeFinder.java    |   2 +-
 .../sis/referencing/factory/sql/EPSGInstaller.java |   2 +-
 .../factory/sql/InstallationScriptProvider.java    |   2 +-
 .../sis/referencing/factory/sql/TableInfo.java     |   4 +-
 .../referencing/internal/PositionTransformer.java  |   6 +-
 .../apache/sis/referencing/internal/RTreeNode.java |   2 +-
 .../apache/sis/referencing/internal/Resources.java |  10 +-
 .../sis/referencing/internal/Resources.properties  |   3 +-
 .../sis/referencing/internal/Resources_en.java     |   2 +-
 .../sis/referencing/internal/Resources_fr.java     |   2 +-
 .../referencing/internal/Resources_fr.properties   |   3 +-
 .../operation/AbstractCoordinateOperation.java     |  53 ++++++-
 .../operation/AbstractSingleOperation.java         |   2 +-
 .../apache/sis/referencing/operation/CRSPair.java  |  17 ++-
 .../operation/CoordinateOperationContext.java      |   2 +-
 .../operation/CoordinateOperationFinder.java       |  29 ++--
 .../operation/CoordinateOperationRegistry.java     | 166 +++++++++++++++------
 .../operation/DefaultConcatenatedOperation.java    | 158 +++++++++++++++-----
 .../operation/DefaultConicProjection.java          |   4 +-
 .../referencing/operation/DefaultConversion.java   |  12 +-
 .../DefaultCoordinateOperationFactory.java         |  38 ++---
 .../operation/DefaultCylindricalProjection.java    |   4 +-
 .../sis/referencing/operation/DefaultFormula.java  |   4 +-
 .../operation/DefaultOperationMethod.java          |   6 +-
 .../operation/DefaultPassThroughOperation.java     |   4 +-
 .../operation/DefaultPlanarProjection.java         |   4 +-
 .../referencing/operation/DefaultProjection.java   |   4 +-
 .../operation/DefaultTransformation.java           |   4 +-
 .../operation/InverseOperationMethod.java          |  10 +-
 .../operation/MathTransformContext.java            |   2 +-
 .../operation/builder/LinearTransformBuilder.java  |   2 +-
 .../operation/builder/LocalizationGridBuilder.java |   2 +-
 .../operation/builder/ResidualGrid.java            |   2 +-
 .../operation/gridded/CompressedGrid.java          |   8 +-
 .../referencing/operation/gridded/GridGroup.java   |   6 +-
 .../referencing/operation/gridded/LoadedGrid.java  |  24 +--
 .../operation/matrix/AffineTransforms2D.java       |   6 +-
 .../sis/referencing/operation/matrix/Matrices.java |   4 +-
 .../sis/referencing/operation/matrix/Matrix1.java  |   4 +-
 .../sis/referencing/operation/matrix/Matrix2.java  |   4 +-
 .../sis/referencing/operation/matrix/Matrix3.java  |   4 +-
 .../sis/referencing/operation/matrix/Matrix4.java  |   4 +-
 .../referencing/operation/matrix/MatrixSIS.java    |  10 +-
 .../sis/referencing/operation/matrix/Solver.java   |   2 +-
 .../operation/projection/AlbersEqualArea.java      |   2 +-
 .../operation/projection/AuthalicConversion.java   |   2 +-
 .../operation/projection/AuthalicMercator.java     |   2 +-
 .../operation/projection/AzimuthalEquidistant.java |   6 +-
 .../operation/projection/CassiniSoldner.java       |   6 +-
 .../operation/projection/CylindricalEqualArea.java |   6 +-
 .../operation/projection/Initializer.java          |   6 +-
 .../projection/LambertConicConformal.java          |   6 +-
 .../referencing/operation/projection/Mercator.java |   8 +-
 .../operation/projection/MeridianArcBased.java     |   4 +-
 .../operation/projection/NormalizedProjection.java |   8 +-
 .../operation/projection/ObliqueMercator.java      |   2 +-
 .../operation/projection/ObliqueStereographic.java |  12 +-
 .../operation/projection/PolarStereographic.java   |   6 +-
 .../operation/projection/Polyconic.java            |   2 +-
 .../operation/projection/SatelliteTracking.java    |   2 +-
 .../operation/projection/Sinusoidal.java           |   4 +-
 .../operation/projection/TransverseMercator.java   |   4 +-
 .../operation/projection/ZonedGridSystem.java      |   2 +-
 .../operation/projection/package-info.java         |   2 +-
 .../operation/provider/AbstractProvider.java       |   2 +-
 .../provider/CoordinateFrameRotation.java          |   2 +-
 .../provider/CoordinateFrameRotation2D.java        |   2 +-
 .../provider/CoordinateFrameRotation3D.java        |   2 +-
 .../operation/provider/Equirectangular.java        |   2 +-
 .../operation/provider/GeodeticOperation.java      |   2 +-
 .../operation/provider/Geographic3DtoVertical.md   |   2 +-
 .../provider/GeographicAndVerticalOffsets.java     |   2 +-
 .../operation/provider/GeographicToGeocentric.java |   2 +-
 .../operation/provider/MapProjection.java          |   2 +-
 .../operation/provider/MapProjection3D.java        |   2 +-
 .../provider/ModifiedAzimuthalEquidistant.java     |   2 +-
 .../transform/AbstractLinearTransform.java         |   2 +-
 .../operation/transform/AbstractMathTransform.java |  18 +--
 .../operation/transform/CartesianToPolar.java      |   2 +-
 .../operation/transform/CartesianToSpherical.java  |   2 +-
 .../operation/transform/ConcatenatedTransform.java |   8 +-
 .../transform/ConcatenatedTransformDirect.java     |   2 +-
 .../operation/transform/ContextualParameters.java  |   6 +-
 .../transform/CoordinateSystemTransform.java       |   2 +-
 .../transform/DefaultMathTransformFactory.java     |  14 +-
 .../transform/EllipsoidToCentricTransform.java     |   8 +-
 .../transform/InterpolatedGeocentricTransform.java |   4 +-
 .../operation/transform/InterpolatedTransform.java |   6 +-
 .../operation/transform/IterationStrategy.java     |   6 +-
 .../operation/transform/LinearTransform.java       |   2 +-
 .../operation/transform/MathTransforms.java        |   2 +-
 .../operation/transform/MolodenskyTransform.java   |  26 ++--
 .../operation/transform/PassThroughTransform.java  |   4 +-
 .../operation/transform/PolarToCartesian.java      |   4 +-
 .../operation/transform/PoleRotation.java          |   2 +-
 .../operation/transform/ProjectiveTransform.java   |   2 +-
 .../operation/transform/ScaleTransform.java        |   2 +-
 .../operation/transform/SphericalToCartesian.java  |   2 +-
 .../operation/transform/TransformSeparator.java    |   6 +-
 .../operation/transform/TranslationTransform.java  |   2 +-
 .../operation/transform/WraparoundTransform.java   |   6 +-
 .../sis/referencing/util/CoordinateOperations.java |  14 ++
 .../org/apache/sis/referencing/util/Formulas.java  |   6 +-
 .../referencing/util/GeodeticObjectBuilder.java    |   6 +-
 .../org/apache/sis/referencing/util/LazySet.java   |   2 +-
 .../sis/referencing/util/ReferencingUtilities.java |   2 +-
 .../sis/referencing/util/TemporalAccessor.java     |   4 +-
 .../sis/referencing/util/j2d/AffineMatrix.java     |   2 +-
 .../referencing/util/j2d/AffineTransform2D.java    |   2 +-
 .../apache/sis/referencing/util/j2d/Bezier.java    |   4 +-
 .../referencing/util/j2d/ParameterizedAffine.java  |   2 +-
 .../sis/referencing/util/j2d/TileOrganizer.java    |   4 +-
 .../bind/referencing/CC_CoordinateOperation.java   |   4 +-
 .../referencing/CC_GeneralOperationParameter.java  |   6 +-
 .../sis/xml/bind/referencing/RS_Identifier.java    |   2 +-
 .../org/apache/sis/geometry/EnvelopesTest.java     |   2 +-
 .../org/apache/sis/geometry/TransformTestCase.java |   2 +-
 .../sis/io/wkt/GeodeticObjectParserTest.java       |   2 +-
 .../test/org/apache/sis/io/wkt/WKTFormatTest.java  |   2 +-
 .../sis/parameter/DefaultParameterValueTest.java   |   4 +-
 .../apache/sis/parameter/ParameterFormatTest.java  |   2 +-
 .../apache/sis/parameter/ParameterValueGroup.xml   |   2 +-
 .../org/apache/sis/parameter/TensorValuesTest.java |   2 +-
 .../sis/referencing/GeodesicsOnEllipsoidTest.java  |   4 +-
 .../sis/referencing/GeodeticCalculatorTest.java    |   2 +-
 .../referencing/crs/DefaultProjectedCRSTest.java   |   2 +-
 .../sis/referencing/datum/GeodeticDatumMock.java   |   2 +-
 .../referencing/datum/TimeDependentBWPTest.java    |   2 +-
 .../factory/CommonAuthorityFactoryTest.java        |   2 +-
 .../factory/IdentifiedObjectFinderTest.java        |   2 +-
 .../factory/sql/epsg/DataScriptFormatter.java      |   2 +-
 .../operation/CoordinateOperationFinderTest.java   |   6 +-
 .../operation/CoordinateOperationRegistryTest.java |   2 +-
 .../operation/DefaultConversionTest.java           |   2 +-
 .../DefaultCoordinateOperationFactoryTest.java     |   6 +-
 .../operation/SingleOperationMarshallingTest.java  |   2 +-
 .../builder/LinearTransformBuilderTest.java        |   2 +-
 .../operation/builder/LinearizerTest.java          |   2 +-
 .../operation/builder/ResidualGridTest.java        |   2 +-
 .../operation/matrix/MatrixTestCase.java           |   4 +-
 .../referencing/operation/matrix/SolverTest.java   |   2 +-
 .../operation/projection/CassiniSoldnerTest.java   |   4 +-
 .../projection/LambertConicConformalTest.java      |   2 +-
 .../projection/MercatorMethodComparison.java       |   4 +-
 .../operation/projection/MercatorTest.java         |   2 +-
 .../ModifiedAzimuthalEquidistantTest.java          |   2 +-
 .../projection/PolarStereographicTest.java         |   2 +-
 .../projection/ProjectionResultComparator.java     |   6 +-
 .../provider/CoordinateFrameRotationTest.java      |   2 +-
 .../operation/provider/GeographicOffsetsTest.java  |   4 +-
 .../referencing/operation/provider/NADCONTest.java |   2 +-
 .../referencing/operation/provider/NTv2Test.java   |   4 +-
 .../transform/DefaultMathTransformFactoryTest.java |   2 +-
 .../transform/EllipsoidToCentricTransformTest.java |   4 +-
 .../transform/InterpolatedTransformTest.java       |  10 +-
 .../operation/transform/MathTransformTestCase.java |   4 +-
 .../operation/transform/MathTransformsTest.java    |   4 +-
 .../transform/MolodenskyTransformTest.java         |   2 +-
 .../operation/transform/PoleRotationTest.java      |   2 +-
 .../transform/ProjectiveTransformTest.java         |   2 +-
 .../operation/transform/SinusoidalShiftGrid.java   |   2 +-
 .../operation/transform/TransferFunctionTest.java  |   2 +-
 .../report/CoordinateOperationMethods.java         |   2 +-
 .../sis/referencing/util/ExtentSelectorTest.java   |   2 +-
 .../CC_OperationParameterGroupTest.java            |   2 +-
 .../apache/sis/xml/bind/referencing/CodeTest.java  |   2 +-
 .../sis/storage/geotiff/CompressedSubset.java      |   2 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   2 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   6 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    |   4 +-
 .../org/apache/sis/storage/geotiff/Writer.java     |   2 +-
 .../apache/sis/storage/geotiff/base/Resources.java |   4 +-
 .../sis/storage/geotiff/base/Resources_en.java     |   2 +-
 .../sis/storage/geotiff/base/Resources_fr.java     |   2 +-
 .../geotiff/inflater/HorizontalPredictor.java      |   2 +-
 .../sis/storage/geotiff/reader/CRSBuilder.java     |   8 +-
 .../sis/storage/geotiff/reader/GeoKeysLoader.java  |   2 +-
 .../geotiff/reader/ReversedBitsChannel.java        |   2 +-
 .../sis/storage/geotiff/spi/SchemaModifier.java    |   2 +-
 .../sis/storage/geotiff/writer/TagValue.java       |   2 +-
 .../apache/sis/storage/netcdf/MetadataReader.java  |   2 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   2 +-
 .../org/apache/sis/storage/netcdf/base/Axis.java   |   4 +-
 .../apache/sis/storage/netcdf/base/Convention.java |   4 +-
 .../apache/sis/storage/netcdf/base/Decoder.java    |   2 +-
 .../apache/sis/storage/netcdf/base/FeatureSet.java |   4 +-
 .../org/apache/sis/storage/netcdf/base/Grid.java   |   8 +-
 .../sis/storage/netcdf/base/GridCacheKey.java      |   2 +-
 .../sis/storage/netcdf/base/GridMapping.java       |   2 +-
 .../sis/storage/netcdf/base/RasterResource.java    |   8 +-
 .../apache/sis/storage/netcdf/base/Variable.java   |  14 +-
 .../sis/storage/netcdf/classic/GridInfo.java       |   4 +-
 .../sis/storage/netcdf/classic/VariableInfo.java   |   2 +-
 .../sis/storage/netcdf/internal/Resources.java     |   4 +-
 .../sis/storage/netcdf/internal/Resources_en.java  |   2 +-
 .../sis/storage/netcdf/internal/Resources_fr.java  |   2 +-
 .../apache/sis/storage/netcdf/package-info.java    |   2 +-
 .../sis/storage/netcdf/ucar/DimensionWrapper.java  |   4 +-
 .../sis/storage/netcdf/ucar/GridWrapper.java       |  10 +-
 .../sis/storage/netcdf/ucar/VariableWrapper.java   |   2 +-
 .../main/org/apache/sis/storage/sql/SQLStore.java  |   2 +-
 .../apache/sis/storage/sql/feature/Resources.java  |   4 +-
 .../sis/storage/sql/feature/Resources_en.java      |   2 +-
 .../sis/storage/sql/feature/Resources_fr.java      |   2 +-
 .../storage/sql/feature/SelectionClauseWriter.java |   4 +-
 .../org/apache/sis/storage/sql/package-info.java   |   2 +-
 .../storage/sql/postgis/ExtendedClauseWriter.java  |   4 +-
 .../apache/sis/util/stream/BaseStreamWrapper.java  |   2 +-
 .../org/apache/sis/storage/sql/SQLStoreTest.java   |   4 +-
 .../storage/sql/feature/GeometryGetterTest.java    |   2 +-
 .../sis/storage/sql/postgis/PostgresTest.java      |   2 +-
 .../org/apache/sis/storage/gpx/Description.java    |   2 +-
 .../sis/storage/xml/stream/StaxDataStore.java      |   4 +-
 .../sis/storage/xml/stream/StaxStreamIO.java       |   2 +-
 .../sis/storage/xml/stream/StaxStreamReader.java   |   4 +-
 .../sis/storage/xml/stream/StaxStreamWriter.java   |   2 +-
 .../org/apache/sis/storage/gpx/MetadataTest.java   |   2 +-
 .../org/apache/sis/storage/gpx/WriterTest.java     |  16 +-
 .../apache/sis/io/stream/ChannelDataOutput.java    |   2 +-
 .../org/apache/sis/io/stream/ChannelFactory.java   |   2 +-
 .../apache/sis/io/stream/FileCacheByteChannel.java |   2 +-
 .../main/org/apache/sis/storage/CoverageQuery.java |   4 +-
 .../org/apache/sis/storage/CoverageSubset.java     |   2 +-
 .../main/org/apache/sis/storage/DataSet.java       |   2 +-
 .../main/org/apache/sis/storage/DataStore.java     |   2 +-
 .../org/apache/sis/storage/DataStoreException.java |   2 +-
 .../main/org/apache/sis/storage/FeatureQuery.java  |   2 +-
 .../main/org/apache/sis/storage/Resource.java      |   2 +-
 .../org/apache/sis/storage/StorageConnector.java   |   4 +-
 .../aggregate/BandAggregateGridResource.java       |   2 +-
 .../storage/aggregate/ConcatenatedFeatureSet.java  |   2 +-
 .../aggregate/ConcatenatedGridCoverage.java        |   2 +-
 .../aggregate/ConcatenatedGridResource.java        |   8 +-
 .../sis/storage/aggregate/CoverageAggregator.java  |   2 +-
 .../sis/storage/aggregate/GroupAggregate.java      |   4 +-
 .../sis/storage/aggregate/MergeStrategy.java       |   4 +-
 .../sis/storage/base/MemoryGridResource.java       |   2 +-
 .../apache/sis/storage/base/MetadataBuilder.java   |  12 +-
 .../org/apache/sis/storage/base/PRJDataStore.java  |   4 +-
 .../org/apache/sis/storage/base/StoreMetadata.java |   2 +-
 .../apache/sis/storage/base/TiledGridCoverage.java |  14 +-
 .../sis/storage/base/TransactionalResource.java    |   2 +-
 .../org/apache/sis/storage/base/URIDataStore.java  |   2 +-
 .../storage/base/WritableGridCoverageSupport.java  |   2 +-
 .../apache/sis/storage/csv/FeatureIterator.java    |   2 +-
 .../main/org/apache/sis/storage/csv/Store.java     |   4 +-
 .../sis/storage/event/CascadedStoreEvent.java      |   4 +-
 .../org/apache/sis/storage/event/CloseEvent.java   |   4 +-
 .../apache/sis/storage/event/StoreListeners.java   |   2 +-
 .../org/apache/sis/storage/image/FormatFinder.java |   2 +-
 .../apache/sis/storage/image/WorldFileStore.java   |   4 +-
 .../org/apache/sis/storage/internal/Resources.java |   4 +-
 .../apache/sis/storage/internal/Resources_en.java  |   2 +-
 .../apache/sis/storage/internal/Resources_fr.java  |   2 +-
 .../sis/storage/tiling/WritableTileMatrixSet.java  |   4 +-
 .../sis/storage/tiling/WritableTiledResource.java  |   2 +-
 .../apache/sis/storage/xml/MimeTypeDetector.java   |   2 +-
 .../org/apache/sis/io/stream/IOUtilitiesTest.java  |   2 +-
 .../org/apache/sis/storage/CoverageQueryTest.java  |   2 +-
 .../org/apache/sis/storage/FeatureNamingTest.java  |   2 +-
 .../apache/sis/storage/StorageConnectorTest.java   |   4 +-
 .../sis/storage/test/CoverageReadConsistency.java  |   2 +-
 .../src/org.apache.sis.util/main/module-info.java  |   1 +
 .../apache/sis/converter/ConverterRegistry.java    |   2 +-
 .../apache/sis/converter/FallbackConverter.java    |   4 +-
 .../org/apache/sis/converter/SystemConverter.java  |   4 +-
 .../main/org/apache/sis/io/CompoundFormat.java     |   2 +-
 .../main/org/apache/sis/math/ArrayVector.java      |   8 +-
 .../main/org/apache/sis/math/DecimalFunctions.java |   4 +-
 .../main/org/apache/sis/math/Fraction.java         |   2 +-
 .../main/org/apache/sis/math/MathFunctions.java    |   8 +-
 .../main/org/apache/sis/math/Statistics.java       |   2 +-
 .../main/org/apache/sis/math/StatisticsFormat.java |   4 +-
 .../main/org/apache/sis/math/Vector.java           |  20 +--
 .../main/org/apache/sis/measure/AngleFormat.java   |   4 +-
 .../main/org/apache/sis/measure/DerivedScalar.java |   8 +-
 .../sis/measure/FormattedCharacterIterator.java    |   2 +-
 .../main/org/apache/sis/measure/Latitude.java      |   2 +-
 .../org/apache/sis/measure/LinearConverter.java    |   4 +-
 .../org/apache/sis/measure/MeasurementRange.java   |  10 +-
 .../main/org/apache/sis/measure/NumberRange.java   |  12 +-
 .../main/org/apache/sis/measure/Quantities.java    |   2 +-
 .../main/org/apache/sis/measure/Range.java         |   4 +-
 .../main/org/apache/sis/measure/Scalar.java        |  10 +-
 .../org/apache/sis/measure/ScalarFallback.java     |   2 +-
 .../org/apache/sis/measure/ScaleRateOfChange.java  |   2 +-
 .../main/org/apache/sis/measure/SystemUnit.java    |   2 +-
 .../main/org/apache/sis/measure/UnitRegistry.java  |   2 +-
 .../main/org/apache/sis/pending/jdk/JDK21.java     |  31 ++++
 .../org/apache/sis/system/OptionalDependency.java  |   2 +-
 .../sis/util/AbstractInternationalString.java      |   4 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   |   2 +-
 .../main/org/apache/sis/util/ArraysExt.java        |  88 +++++------
 .../main/org/apache/sis/util/CharSequences.java    |  14 +-
 .../main/org/apache/sis/util/Classes.java          |   2 +-
 .../main/org/apache/sis/util/ComparisonMode.java   |   2 +-
 .../sis/util/DefaultInternationalString.java       |   2 +-
 .../org/apache/sis/util/LenientComparable.java     |  14 +-
 .../main/org/apache/sis/util/Numbers.java          |   2 +-
 .../main/org/apache/sis/util/Utilities.java        |   4 +-
 .../main/org/apache/sis/util/collection/Cache.java |   4 +-
 .../apache/sis/util/collection/CodeListSet.java    |   2 +-
 .../sis/util/collection/DefaultTreeTable.java      |   6 +-
 .../sis/util/collection/FrequencySortedSet.java    |   2 +-
 .../apache/sis/util/collection/IntegerList.java    |   2 +-
 .../org/apache/sis/util/collection/RangeSet.java   |   2 +-
 .../org/apache/sis/util/collection/TreeTable.java  |   6 +-
 .../org/apache/sis/util/collection/TreeTables.java |   2 +-
 .../org/apache/sis/util/internal/AbstractMap.java  |   6 +-
 .../main/org/apache/sis/util/internal/Bag.java     |   2 +-
 .../apache/sis/util/internal/CollectionsExt.java   |   4 +-
 .../org/apache/sis/util/internal/Numerics.java     |   2 +-
 .../main/org/apache/sis/util/internal/Strings.java |   4 +-
 .../main/org/apache/sis/util/logging/Logging.java  |   2 +-
 .../apache/sis/util/logging/MonolineFormatter.java |   4 +-
 .../main/org/apache/sis/util/resources/Errors.java |   6 +-
 .../org/apache/sis/util/resources/Errors_en.java   |   2 +-
 .../org/apache/sis/util/resources/Errors_fr.java   |   2 +-
 .../apache/sis/util/resources/KeyConstants.java    |   2 +-
 .../org/apache/sis/util/resources/Messages.java    |   4 +-
 .../org/apache/sis/util/resources/Messages_en.java |   2 +-
 .../org/apache/sis/util/resources/Messages_fr.java |   2 +-
 .../org/apache/sis/util/resources/Vocabulary.java  |   4 +-
 .../apache/sis/util/resources/Vocabulary_en.java   |   2 +-
 .../apache/sis/util/resources/Vocabulary_fr.java   |   2 +-
 .../sis/converter/ConverterRegistryTest.java       |   4 +-
 .../test/org/apache/sis/io/TableAppenderTest.java  |   2 +-
 .../test/org/apache/sis/math/PlaneTest.java        |   4 +-
 .../org/apache/sis/math/StatisticsFormatTest.java  |   2 +-
 .../test/org/apache/sis/math/StatisticsTest.java   |   2 +-
 .../apache/sis/measure/ConventionalUnitTest.java   |   2 +-
 .../apache/sis/measure/MeasurementRangeTest.java   |   2 +-
 .../test/org/apache/sis/test/Assertions.java       |   4 +-
 .../test/org/apache/sis/test/TestUtilities.java    |   4 +-
 .../sis/util/collection/CodeListSetTest.java       |   2 +-
 .../apache/sis/util/collection/LargeCodeList.java  |   2 +-
 .../apache/sis/util/collection/RangeSetTest.java   |   2 +-
 .../sis/util/internal/StandardDateFormatTest.java  |   2 +-
 .../storage/coveragejson/CoverageJsonStore.java    |   2 +-
 .../apache/sis/gui/controls/FormatTableCell.java   |   2 +-
 .../org/apache/sis/gui/coverage/CellFormat.java    |   2 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   2 +-
 .../org/apache/sis/gui/coverage/GridViewSkin.java  |   2 +-
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   2 +-
 .../org/apache/sis/gui/dataset/ResourceItem.java   |   2 +-
 .../org/apache/sis/gui/dataset/WindowHandler.java  |   6 +-
 .../apache/sis/gui/internal/DataStoreOpener.java   |   2 +-
 .../org/apache/sis/gui/internal/GUIUtilities.java  |   2 +-
 .../sis/gui/internal/PropertyValueFormats.java     |   2 +-
 .../org/apache/sis/gui/internal/Resources.java     |   4 +-
 .../org/apache/sis/gui/internal/Resources_en.java  |   2 +-
 .../org/apache/sis/gui/internal/Resources_fr.java  |   2 +-
 .../main/org/apache/sis/gui/map/MapCanvasAWT.java  |   8 +-
 .../main/org/apache/sis/gui/map/StatusBar.java     |  10 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    |   6 +-
 .../gui/referencing/PositionableProjection.java    |   2 +-
 .../main/org/apache/sis/gui/setup/FXFinder.java    |   2 +-
 .../main/org/apache/sis/gui/setup/Wizard.java      |   2 +-
 644 files changed, 1706 insertions(+), 1437 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java
index 8e6897db9b,52347d3211..5bc3f3a7b6
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java
@@@ -64,7 -64,7 +64,7 @@@ import org.apache.sis.util.iso.Names
   * In this example, sample values in range [10…210] define a quantitative 
category, while all others categories are qualitative.
   *
   * <h2>Relationship with metadata</h2>
-  * This class provides the same information than ISO 19115 {@code 
org.opengis.metadata.content.SampleDimension},
 - * This class provides the same information as ISO 19115 {@link 
org.opengis.metadata.content.SampleDimension},
++ * This class provides the same information as ISO 19115 {@code 
org.opengis.metadata.content.SampleDimension},
   * but organized in a different way. The use of the same name may seem a 
risk, but those two types are typically
   * not used at the same time.
   *
diff --cc 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
index fc502bf8ec,1a1c90e0ac..856cbe7222
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
@@@ -592,17 -604,17 +592,17 @@@ public abstract class AbstractFeature i
  
      /**
       * Verifies the validity of the given value for the property of the given 
name, then returns the value to store.
-      * The returned value is usually the same than the given one, except in 
the case of collections.
+      * The returned value is usually the same as the given one, except in the 
case of collections.
       */
      final Object verifyPropertyValue(final String name, final Object value) {
 -        final PropertyType pt = type.getProperty(name);
 -        if (pt instanceof AttributeType<?>) {
 +        final AbstractIdentifiedType pt = type.getProperty(name);
 +        if (pt instanceof DefaultAttributeType<?>) {
              if (value != null) {
 -                return verifyAttributeValue((AttributeType<?>) pt, value);
 +                return verifyAttributeValue((DefaultAttributeType<?>) pt, 
value);
              }
 -        } else if (pt instanceof FeatureAssociationRole) {
 +        } else if (pt instanceof DefaultAssociationRole) {
              if (value != null) {
 -                return verifyAssociationValue((FeatureAssociationRole) pt, 
value);
 +                return verifyAssociationValue((DefaultAssociationRole) pt, 
value);
              }
          } else {
              throw new 
IllegalArgumentException(unsupportedPropertyType(pt.getName()));
diff --cc 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/MovingFeatures.java
index 5f6b74408e,ff26bc3ffd..9bf72c36d5
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/MovingFeatures.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/MovingFeatures.java
@@@ -46,10 -47,10 +46,10 @@@ public class MovingFeatures 
  
      /**
       * An alternative to {@link #TIME_AS_INSTANTS} used when times cannot be 
mapped to calendar dates.
-      * This characteristic uses the same name than {@code TIME_AS_INSTANTS}. 
Consequently, at most one
+      * This characteristic uses the same name as {@code TIME_AS_INSTANTS}. 
Consequently, at most one
       * of {@code TIME_AS_INSTANTS} and {@code TIME_AS_NUMBERS} can be used on 
the same property.
       */
 -    private static final AttributeType<Number> TIME_AS_NUMBERS;
 +    private static final DefaultAttributeType<Number> TIME_AS_NUMBERS;
      static {
          final var scope = Names.createLocalName("OGC", null, "MF");
          final var properties = Map.of(DefaultAttributeType.NAME_KEY, 
Names.createScopedName(scope, null, "datetimes"));
diff --cc 
endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/FeatureTestCase.java
index 99a365283b,e6d2bef557..9b6ae477b4
--- 
a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/FeatureTestCase.java
+++ 
b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/FeatureTestCase.java
@@@ -98,11 -103,11 +98,11 @@@ public abstract class FeatureTestCase e
          if (getValuesFromProperty) {
              /*
               * Verifies consistency with the Attribute instance:
-              *   - The AttributeType shall be the same than the one provided 
by FeatureType for the given name.
-              *   - Attribute value shall be the same than the one we got at 
the beginning of this method.
+              *   - The AttributeType shall be the same as the one provided by 
FeatureType for the given name.
+              *   - Attribute value shall be the same as the one we got at the 
beginning of this method.
               *   - Attribute values (as a collection) is either empty or 
contains the same value.
               */
 -            final Attribute<?> property = (Attribute<?>) 
feature.getProperty(name);
 +            final AbstractAttribute<?> property = (AbstractAttribute<?>) 
feature.getProperty(name);
              assertSame(name, feature.getType().getProperty(name), 
property.getType());
              assertSame(name, value, property.getValue());
              final Collection<?> values = property.getValues();
diff --cc 
endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java
index 4b2c8f9b21,97ef37bcfb..b9b15bcd03
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java
@@@ -266,7 -267,7 +266,7 @@@ public final class Types extends Stati
  
      /**
       * Returns the title of the given enumeration or code list value. Title 
are usually much shorter than descriptions.
-      * English titles are often the same than the {@linkplain 
#getCodeLabel(CodeList) code labels}.
 -     * English titles are often the same as the {@linkplain 
#getCodeLabel(ControlledVocabulary) code labels}.
++     * English titles are often the same as the {@linkplain 
#getCodeLabel(CodeList) code labels}.
       *
       * <p>The code or enumeration value given in argument to this method can 
be retrieved from the returned title
       * with the {@link #forCodeTitle(CharSequence)} method. See 
<cite>Substituting a free text by a code list</cite>
diff --cc 
endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/IdentifierMapEntry.java
index 409c1584e3,7997e62eb5..f566d794c4
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/IdentifierMapEntry.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/IdentifierMapEntry.java
@@@ -71,18 -68,8 +71,18 @@@ final class IdentifierMapEntry extends 
          return Citations.toCodeSpace(getAuthority());
      }
  
 +    /**
 +     * Returns {@code null} since this class does not hold version 
information.
 +     *
 +     * @return {@code null}.
 +     */
 +    @Override
 +    public String getVersion() {
 +        return null;
 +    }
 +
      /**
-      * Same than the above, but as an immutable entry. We use this 
implementation when the
+      * Same as the above, but as an immutable entry. We use this 
implementation when the
       * entry has been created on-the-fly at iteration time rather than being 
stored in the
       * identifier collection.
       */
diff --cc 
endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/ReferenceResolverTest.java
index 642e8b522f,9085d277ce..d68c00288a
--- 
a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/ReferenceResolverTest.java
+++ 
b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/ReferenceResolverTest.java
@@@ -54,13 -54,13 +54,13 @@@ public final class ReferenceResolverTes
          final Citation citation = data.getCitation();
          DefaultCitationTest.verifyUnmarshalledCitation(citation);
          /*
-          * The fragment should reference the exact same object than the one 
in the citation.
+          * The fragment should reference the exact same object as the one in 
the citation.
           */
 -        final var parent  = 
getSingleton(citation.getCitedResponsibleParties().iterator().next().getParties());
 -        final var reusing = 
getSingleton(getSingleton(data.getPointOfContacts()).getParties());
 -        assertEquals("Little John", reusing.getName().toString());
 -        assertSame(getSingleton(parent .getContactInfo()),
 -                   getSingleton(reusing.getContactInfo()));
 +        final var parent  = 
citation.getCitedResponsibleParties().iterator().next();
 +        final var reusing = getSingleton(data.getPointOfContacts());
 +        assertEquals("Little John", reusing.getIndividualName());
 +        assertSame(parent .getContactInfo(),
 +                   reusing.getContactInfo());
  
      }
  }
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
index de4e24cc57,61c2c3e80a..3b168130c1
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
@@@ -48,10 -51,9 +51,9 @@@ import org.apache.sis.metadata.iso.cita
  import org.apache.sis.referencing.factory.IdentifiedObjectFinder;
  import org.apache.sis.referencing.factory.GeodeticAuthorityFactory;
  import org.apache.sis.referencing.factory.NoSuchAuthorityFactoryException;
- import static org.apache.sis.util.internal.CollectionsExt.nonNull;
  
 -// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.referencing.ObjectDomain;
 +// Specific to the main branch:
 +import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
index 32c229eec0,4f18a7bbb9..7f4bfbe318
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
@@@ -798,11 -799,11 +798,11 @@@ public class DefaultDerivedCRS extends 
          }
  
          /** Returns the coordinate system given at construction time. */
 -        @Override public ParametricCS getCoordinateSystem() {
 -            return (ParametricCS) super.getCoordinateSystem();
 +        @Override public DefaultParametricCS getCoordinateSystem() {
 +            return (DefaultParametricCS) super.getCoordinateSystem();
          }
  
-         /** Returns a coordinate reference system of the same type than this 
CRS but with different axes. */
+         /** Returns a coordinate reference system of the same type as this 
CRS but with different axes. */
          @Override AbstractCRS createSameType(final Map<String,?> properties, 
final CoordinateSystem derivedCS) {
              final Conversion conversionFromBase = getConversionFromBase();
              return new Parametric(properties, (ParametricCRS) 
conversionFromBase.getSourceCRS(),
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/TableInfo.java
index 126c516d4f,9dba8c517f..ee688c4ccf
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/TableInfo.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/TableInfo.java
@@@ -93,10 -88,10 +93,10 @@@ final class TableInfo 
                  "COORD_SYS_TYPE",
                  new Class<?>[] {CartesianCS.class,      EllipsoidalCS.class,  
    VerticalCS.class,      LinearCS.class,
                                  SphericalCS.class,      PolarCS.class,        
    CylindricalCS.class,
 -                                TimeCS.class,           ParametricCS.class,   
    AffineCS.class},
 +                                TimeCS.class,           
DefaultParametricCS.class, AffineCS.class},
                  new String[]   {WKTKeywords.Cartesian,  
WKTKeywords.ellipsoidal,  WKTKeywords.vertical,  WKTKeywords.linear,
                                  WKTKeywords.spherical,  WKTKeywords.polar,    
    WKTKeywords.cylindrical,
-                                 WKTKeywords.temporal,   
WKTKeywords.parametric,   WKTKeywords.affine},      // Same comment than in the 
CRS case above.
+                                 WKTKeywords.temporal,   
WKTKeywords.parametric,   WKTKeywords.affine},      // Same comment as in the 
CRS case above.
                  null),
  
          new TableInfo(CoordinateSystemAxis.class,
@@@ -112,9 -107,9 +112,9 @@@
                  "DATUM_NAME",
                  "DATUM_TYPE",
                  new Class<?>[] { GeodeticDatum.class,  VerticalDatum.class,   
EngineeringDatum.class,
 -                                 TemporalDatum.class,  ParametricDatum.class},
 +                                 TemporalDatum.class,  
DefaultParametricDatum.class},
                  new String[]   {"geodetic",           "vertical",            
"engineering",
-                                 "temporal",           "parametric"},         
// Same comment than in the CRS case above.
+                                 "temporal",           "parametric"},         
// Same comment as in the CRS case above.
                  null),
  
          ELLIPSOID = new TableInfo(Ellipsoid.class,
diff --cc 
endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/CodeTest.java
index c908515e54,c3ed6781e3..a360d7cd6a
--- 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/CodeTest.java
+++ 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/CodeTest.java
@@@ -71,9 -71,9 +71,9 @@@ public final class CodeTest extends Tes
      }
  
      /**
 -     * Tests the {@link Code#Code(Identifier)} constructor with {@code 
"EPSG:8.3:4326"} identifier.
 +     * Tests the {@link Code#Code(ReferenceIdentifier)} constructor with 
{@code "EPSG:8.3:4326"} identifier.
       * This test intentionally uses an identifier with the {@code IOGP} 
authority instead of EPSG
-      * for the same reason than {@link #testSimple()}.
+      * for the same reason as {@link #testSimple()}.
       */
      @Test
      @DependsOnMethod("testSimple")
diff --cc 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java
index bcf6cb0137,d5dd7eec14..728bc13321
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java
@@@ -69,10 -69,10 +69,10 @@@ public class ConcatenatedFeatureSet ext
      /**
       * The most specific feature type common to all feature sets in the 
{@linkplain #sources} list.
       */
 -    private final FeatureType commonType;
 +    private final DefaultFeatureType commonType;
  
      /**
-      * Creates a new concatenated feature set with the same types than the 
given feature set,
+      * Creates a new concatenated feature set with the same types as the 
given feature set,
       * but different sources. This is used for creating {@linkplain 
#subset(Query) subsets}.
       */
      private ConcatenatedFeatureSet(final FeatureSet[] sources, final 
ConcatenatedFeatureSet original) {

Reply via email to