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/17 15:34:19 UTC

[sis] branch master updated (835b893740 -> 668c1d28b5)

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

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


    from 835b893740 Merge branch 'geoapi-3.1'.
     add ae61bb0a20 Add missing `equals` and `hashCode` method on a legacy metadata property.
     add 8881e88be3 Disable some GIGS tests that are known to fail. https://gigs.iogp.org/
     add 0f46e213f3 More advanced test for rounding errors.
     add 8991c55d92 Replace `Path` parameter value by `URI` in operation methods using datum shift grids.
     add 8eceb4133a Replace `Path` by `File` in `ResourceEvent` for resolving serialization warning. The `File` object was what we needed for storing in `RecentFiles` anyway. Opportunistic documentation cleanup.
     add f8afbbfd5b Document `StandardDateFormat` as not intended for serialization. We verified that it was not used as non-transient field in a serialiable class.
     add c288461503 Consolidate the constants for `ByteBuffer` capacity and increase the default capacity from 8 kb to 16 kb.
     add 47e5b43141 Replace some <div> by <h2> or <h4> headings. This is a change in javadoc formatting only.
     add 9f079c7e51 Move the `Configuration` annotation to internal package. Apply the annotation on some static constants worth to know that they can be changed.
     add 8566937622 Use static constants for most (not all) loggers.
     add 3014fe6003 Opportunistically use the division by `w` in ProjectiveTransform for reducing rounding errors with fractional matrix element values.
     add bece843ce4 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains cleanup on serialization, loggers, rounding errors (again), javadoc.
     new 30388c561a Merge branch 'geoapi-3.1'
     new 668c1d28b5 Disable the use of FMA on the master branch for `MathTransform.transform(…)` methods. FMA stay enabled on the geoapi-4.0 development branch.

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/AboutCommand.java  |   4 +-
 .../java/org/apache/sis/console/package-info.java  |   2 +-
 .../main/java/org/apache/sis/gui/RecentFiles.java  |  14 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   7 +-
 .../apache/sis/gui/coverage/GridSliceSelector.java |   8 +-
 .../org/apache/sis/gui/dataset/FeatureLoader.java  |   2 +
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   9 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |  12 +-
 .../org/apache/sis/gui/dataset/ResourceCell.java   |   4 +-
 .../org/apache/sis/gui/dataset/ResourceEvent.java  |  33 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |   9 +-
 .../org/apache/sis/gui/dataset/WindowHandler.java  |   8 +-
 .../org/apache/sis/gui/dataset/package-info.java   |   2 +-
 .../org/apache/sis/gui/map/GestureFollower.java    |   8 +-
 .../java/org/apache/sis/gui/map/MapCanvas.java     |   7 +-
 .../java/org/apache/sis/gui/map/MapCanvasAWT.java  |   3 +
 .../org/apache/sis/gui/map/OperationFinder.java    |   7 +-
 .../java/org/apache/sis/gui/map/StatusBar.java     |   6 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    |   7 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |   7 +-
 .../org/apache/sis/gui/metadata/package-info.java  |   2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |   7 +-
 .../gui/referencing/PositionableProjection.java    |   8 +-
 .../gui/referencing/RecentReferenceSystems.java    |   7 +-
 .../java/org/apache/sis/gui/referencing/Utils.java |   7 +-
 .../apache/sis/internal/gui/BackgroundThreads.java |   7 +-
 .../apache/sis/internal/gui/ImageConverter.java    |   7 +-
 .../org/apache/sis/internal/gui/LogHandler.java    |  10 +-
 .../org/apache/sis/internal/gui/RecentChoices.java |   2 +
 .../java/org/apache/sis/internal/gui/Styles.java   |   7 +-
 .../apache/sis/internal/gui/control/ColorCell.java |   6 +-
 .../org/apache/sis/internal/gui/package-info.java  |   2 +-
 .../org/apache/sis/coverage/SampleRangeFormat.java |   2 +
 .../coverage/grid/CoordinateOperationFinder.java   |   7 +-
 .../apache/sis/coverage/grid/DefaultEvaluator.java |   7 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |   7 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |  11 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   4 +-
 .../apache/sis/feature/AbstractIdentifiedType.java |   9 +-
 .../java/org/apache/sis/feature/FeatureFormat.java |   7 +-
 .../java/org/apache/sis/feature/package-info.java  |   2 +-
 .../apache/sis/image/BandedSampleConverter.java    |   7 +-
 .../java/org/apache/sis/image/ErrorAction.java     |  13 +-
 .../main/java/org/apache/sis/image/MaskImage.java  |   7 +-
 .../java/org/apache/sis/image/ResampledImage.java  |   7 +-
 .../java/org/apache/sis/image/ResamplingGrid.java  |   2 +
 .../java/org/apache/sis/image/package-info.java    |   2 +-
 .../sis/internal/coverage/j2d/ImageLayout.java     |   4 +
 .../sis/internal/coverage/j2d/ImageUtilities.java  |  15 +-
 .../apache/sis/internal/feature/Geometries.java    |   9 +-
 .../sis/internal/feature/GeometryFactories.java    |   6 +-
 .../org/apache/sis/internal/feature/jts/JTS.java   |   7 +-
 .../sis/internal/feature/jts/package-info.java     |   2 +-
 .../apache/sis/internal/feature/package-info.java  |   2 +-
 .../java/org/apache/sis/internal/filter/Node.java  |  12 +-
 .../internal/filter/sqlmm/RegistryTestCase.java    |   8 +-
 .../apache/sis/internal/metadata/Dependencies.java |   3 +-
 .../sis/internal/metadata/ServicesForUtility.java  |   8 +-
 .../internal/metadata/legacy/DateToTemporal.java   |  25 +-
 .../internal/metadata/legacy/TemporalToDate.java   |  25 +-
 .../sis/internal/metadata/legacy/package-info.java |   2 +-
 .../sis/internal/metadata/sql/Initializer.java     |  32 +-
 .../sis/internal/metadata/sql/LocalDataSource.java |  14 +-
 .../sis/internal/metadata/sql/package-info.java    |   2 +-
 .../sis/internal/simple/CitationConstant.java      |  12 +-
 .../apache/sis/internal/simple/package-info.java   |   2 +-
 .../org/apache/sis/metadata/AbstractMetadata.java  |   4 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   2 +
 .../apache/sis/metadata/PropertyInformation.java   |  11 +-
 .../sis/metadata/StandardImplementation.java       |  16 +-
 .../org/apache/sis/metadata/TreeNodeChildren.java  |   4 +-
 .../java/org/apache/sis/metadata/package-info.java |   2 +-
 .../apache/sis/metadata/sql/MetadataSource.java    |  10 +-
 .../org/apache/sis/metadata/sql/package-info.java  |   2 +-
 .../main/java/org/apache/sis/util/iso/Types.java   |  18 +-
 .../main/java/org/apache/sis/xml/LegacyCodes.java  |   2 +-
 .../java/org/apache/sis/xml/MarshallerPool.java    |  14 +-
 .../java/org/apache/sis/xml/NilObjectHandler.java  |   4 +-
 .../main/java/org/apache/sis/xml/NilReason.java    |   4 +-
 .../src/main/java/org/apache/sis/xml/XLink.java    |   8 +-
 .../src/main/java/org/apache/sis/xml/XML.java      |   4 +-
 .../coverage/MultiResolutionCoverageLoader.java    |   2 +
 .../sis/internal/map/coverage/RenderingData.java   |  12 +-
 .../sis/internal/map/coverage/package-info.java    |   2 +-
 .../main/java/org/apache/sis/portrayal/Canvas.java |   5 +-
 .../org/apache/sis/portrayal/CanvasContext.java    |   2 +
 .../org/apache/sis/portrayal/CanvasFollower.java   |   4 +-
 .../java/org/apache/sis/portrayal/Observable.java  |   9 +-
 .../apache/sis/portrayal/TransformChangeEvent.java |   4 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |   3 +-
 .../gazetteer/ReferencingByIdentifiers.java        |  10 +-
 .../sis/referencing/gazetteer/package-info.java    |   2 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |   4 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |  14 +-
 .../java/org/apache/sis/geometry/Envelopes.java    |  13 +-
 .../apache/sis/geometry/GeneralDirectPosition.java |   6 +-
 .../apache/sis/geometry/WraparoundAdjustment.java  |   6 +-
 .../java/org/apache/sis/geometry/package-info.java |   2 +-
 .../sis/internal/referencing/Arithmetic.java       |   4 +-
 .../internal/referencing/DefinitionVerifier.java   |   2 +-
 .../sis/internal/referencing/DeprecatedCode.java   |   9 +-
 .../sis/internal/referencing/DeprecatedName.java   |   9 +-
 .../apache/sis/internal/referencing/Formulas.java  |  10 +-
 .../referencing/PositionalAccuracyConstant.java    |   4 +
 .../sis/internal/referencing/WKTKeywords.java      |   6 +-
 .../sis/internal/referencing/WKTUtilities.java     |   9 +-
 .../referencing/provider/AbstractProvider.java     |  12 +-
 .../referencing/provider/DatumShiftGridFile.java   |  65 ++--
 .../referencing/provider/DatumShiftGridGroup.java  |   6 +-
 .../referencing/provider/DatumShiftGridLoader.java |  62 +++-
 .../provider/FranceGeocentricInterpolation.java    | 361 +++++++++++----------
 .../referencing/provider/GeocentricAffine.java     |   7 +-
 .../referencing/provider/Geographic3Dto2D.java     |   6 +-
 .../provider/MolodenskyInterpolation.java          |   1 +
 .../sis/internal/referencing/provider/NADCON.java  |  93 +++---
 .../sis/internal/referencing/provider/NTv2.java    |  54 ++-
 .../referencing/provider/VerticalOffset.java       |   6 +-
 .../java/org/apache/sis/io/wkt/AbstractParser.java |  14 +-
 .../main/java/org/apache/sis/io/wkt/Formatter.java |   3 +
 .../java/org/apache/sis/io/wkt/WKTDictionary.java  |   6 +-
 .../main/java/org/apache/sis/io/wkt/WKTFormat.java |  16 +-
 .../sis/parameter/DefaultParameterValue.java       |  12 +-
 .../apache/sis/parameter/ParameterValueList.java   |   6 +-
 .../java/org/apache/sis/parameter/Verifier.java    |  12 +-
 .../org/apache/sis/parameter/package-info.java     |   2 +-
 .../apache/sis/referencing/AuthorityFactories.java |  11 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |  12 +-
 .../java/org/apache/sis/referencing/CommonCRS.java |   9 +-
 .../sis/referencing/GeodesicsOnEllipsoid.java      |   6 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |   6 +-
 .../sis/referencing/ImmutableIdentifier.java       |   4 +-
 .../sis/referencing/crs/DefaultEngineeringCRS.java |   4 +-
 .../sis/referencing/crs/ExplicitParameters.java    |  11 +-
 .../apache/sis/referencing/crs/package-info.java   |   2 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |  11 +-
 .../sis/referencing/cs/CoordinateSystems.java      |   5 +-
 .../sis/referencing/cs/DirectionAlongMeridian.java |   7 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |   6 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |  23 +-
 .../factory/AuthorityFactoryIdentifier.java        |   7 +-
 .../factory/CommonAuthorityFactory.java            |   5 +-
 .../factory/ConcurrentAuthorityFactory.java        |  24 +-
 .../factory/GeodeticAuthorityFactory.java          |   9 +-
 .../referencing/factory/GeodeticObjectFactory.java |   9 +-
 .../factory/IdentifiedObjectFinder.java            |   8 +-
 .../referencing/factory/IdentifiedObjectSet.java   |   8 +-
 .../factory/MultiAuthoritiesFactory.java           |   9 +-
 .../sis/referencing/factory/ReferenceKeeper.java   |   3 +
 .../factory/sql/CloseableReference.java            |   7 +-
 .../referencing/factory/sql/EPSGCodeFinder.java    |  11 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |  19 +-
 .../sis/referencing/factory/sql/EPSGFactory.java   |   3 +-
 .../factory/sql/InstallationScriptProvider.java    |   6 +-
 .../sis/referencing/factory/sql/package-info.java  |   9 +-
 .../operation/AbstractCoordinateOperation.java     |  12 +-
 .../operation/CoordinateOperationRegistry.java     |  15 +-
 .../DefaultCoordinateOperationFactory.java         |   2 +
 .../operation/builder/LinearTransformBuilder.java  |   6 +-
 .../operation/builder/LocalizationGridBuilder.java |   2 +
 .../operation/builder/ProjectedTransformTry.java   |  12 +-
 .../operation/matrix/GeneralMatrix.java            |   4 +
 .../referencing/operation/projection/Mercator.java |   3 +-
 .../operation/projection/NormalizedProjection.java |   8 +-
 .../operation/projection/Orthographic.java         |   4 +-
 .../operation/projection/TransverseMercator.java   |   2 +
 .../transform/AbstractLinearTransform.java         |   4 +-
 .../operation/transform/AbstractMathTransform.java |   9 +-
 .../operation/transform/ConcatenatedTransform.java |  12 +-
 .../operation/transform/ContextualParameters.java  |   5 +-
 .../transform/DefaultMathTransformFactory.java     |  11 +-
 .../operation/transform/InterpolatedTransform.java |   3 +
 .../operation/transform/ProjectiveTransform.java   | 221 ++++++++++---
 .../operation/transform/WraparoundTransform.java   |   7 +-
 .../src/main/resources/META-INF/GIGS.properties    |  80 +++++
 .../referencing/provider/DatumShiftTestCase.java   |  23 +-
 .../FranceGeocentricInterpolationTest.java         |  37 ++-
 .../internal/referencing/provider/NADCONTest.java  |  11 +-
 .../internal/referencing/provider/NTv2Test.java    |  19 +-
 .../factory/ConcurrentAuthorityFactoryTest.java    |   6 +-
 .../sis/referencing/factory/TestFactorySource.java |   8 +-
 .../transform/ProjectiveTransformTest.java         |  19 +-
 .../sis/test/integration/DatumShiftTest.java       |  10 +-
 .../org/apache/sis/internal/jdk17/HexFormat.java   |   6 +-
 .../apache/sis/internal/system/CommonExecutor.java |   1 +
 .../apache/sis/internal/system/Configuration.java  |  91 ++++++
 .../apache/sis/internal/system/DataDirectory.java  |  30 +-
 .../sis/internal/system/DefaultFactories.java      |   5 +-
 .../sis/internal/system/DelayedExecutor.java       |   6 +-
 .../org/apache/sis/internal/system/Loggers.java    |   9 +-
 .../sis/internal/system/OptionalDependency.java    |   2 +-
 .../internal/system/ReferenceQueueConsumer.java    |   6 +-
 .../org/apache/sis/internal/system/Shutdown.java   |   6 +-
 .../org/apache/sis/internal/system/Supervisor.java |  11 +-
 .../apache/sis/internal/system/SystemListener.java |   8 +-
 .../org/apache/sis/internal/system/Threads.java    |   6 +-
 .../apache/sis/internal/util/DefinitionURI.java    |   6 +-
 .../org/apache/sis/internal/util/DoubleDouble.java |   4 +
 .../org/apache/sis/internal/util/Numerics.java     |   3 +
 .../sis/internal/util/StandardDateFormat.java      |  13 +-
 .../main/java/org/apache/sis/math/Fraction.java    |   2 +-
 .../src/main/java/org/apache/sis/math/Plane.java   |   2 +
 .../src/main/java/org/apache/sis/math/Vector.java  |  10 +-
 .../java/org/apache/sis/measure/AbstractUnit.java  |  11 +-
 .../apache/sis/measure/DefaultQuantityFactory.java |   2 +-
 .../org/apache/sis/measure/QuantityFormat.java     |   9 +-
 .../main/java/org/apache/sis/measure/Scalar.java   |   5 +-
 .../java/org/apache/sis/measure/UnitFormat.java    |   7 +-
 .../java/org/apache/sis/measure/UnitRegistry.java  |  13 +-
 .../java/org/apache/sis/measure/UnitServices.java  |   4 +-
 .../src/main/java/org/apache/sis/setup/About.java  |   4 +-
 .../java/org/apache/sis/setup/Configuration.java   |  11 +-
 .../main/java/org/apache/sis/setup/OptionKey.java  |   2 +-
 .../java/org/apache/sis/setup/package-info.java    |   2 +-
 .../java/org/apache/sis/util/Configuration.java    |  44 ---
 .../src/main/java/org/apache/sis/util/Locales.java |   9 +-
 .../src/main/java/org/apache/sis/util/Numbers.java |   2 +-
 .../java/org/apache/sis/util/collection/Cache.java |   8 +-
 .../apache/sis/util/collection/CodeListSet.java    |   4 +-
 .../sis/util/collection/DefaultTreeTable.java      |   9 +-
 .../sis/util/collection/FrequencySortedSet.java    |   6 +-
 .../apache/sis/util/collection/TreeNodeList.java   |   4 +-
 .../java/org/apache/sis/util/logging/Logging.java  |  57 +++-
 .../apache/sis/util/logging/MonolineFormatter.java |  15 +-
 .../apache/sis/util/logging/PerformanceLevel.java  |   7 +-
 .../sis/util/resources/IndexedResourceBundle.java  |  18 +-
 .../apache/sis/util/resources/package-info.java    |   2 +-
 .../src/test/java/org/apache/sis/test/Assume.java  |   7 +-
 .../java/org/apache/sis/test/package-info.java     |   2 +-
 ide-project/NetBeans/nbproject/genfiles.properties |   4 +-
 ide-project/NetBeans/nbproject/project.xml         |   1 +
 .../sis/storage/landsat/LandsatStoreProvider.java  |  18 +-
 .../storage/inflater/CompressionChannel.java       |   6 +-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  18 +-
 .../org/apache/sis/storage/geotiff/Reader.java     |   6 +-
 .../org/apache/sis/internal/netcdf/Decoder.java    |  16 +-
 .../org/apache/sis/internal/netcdf/FeatureSet.java |   2 +
 .../apache/sis/internal/netcdf/package-info.java   |   2 +-
 .../apache/sis/storage/netcdf/MetadataReader.java  |   2 +
 .../sis/storage/netcdf/NetcdfStoreProvider.java    |  14 +-
 .../apache/sis/storage/netcdf/package-info.java    |   2 +-
 .../apache/sis/storage/sql/SQLStoreProvider.java   |  18 +-
 .../internal/storage/DocumentedStoreProvider.java  |   5 +-
 .../sis/internal/storage/StoreUtilities.java       |   2 +
 .../sis/internal/storage/csv/StoreProvider.java    |  20 +-
 .../storage/esri/AsciiGridStoreProvider.java       |  18 +-
 .../storage/esri/RawRasterStoreProvider.java       |  18 +-
 .../sis/internal/storage/esri/package-info.java    |   2 +-
 .../sis/internal/storage/folder/StoreProvider.java |  18 +-
 .../sis/internal/storage/folder/package-info.java  |   2 +-
 .../storage/image/WorldFileStoreProvider.java      |  18 +-
 .../internal/storage/io/FileCacheByteChannel.java  |  18 +-
 .../sis/internal/storage/io/HttpByteChannel.java   |   2 +-
 .../sis/internal/storage/io/IOUtilities.java       |  21 --
 .../internal/storage/io/MemoryDataTransfer.java    |   4 +-
 .../internal/storage/io/RewindableLineReader.java  |   7 +-
 .../apache/sis/internal/storage/package-info.java  |   2 +-
 .../sis/internal/storage/wkt/FirstKeywordPeek.java |   1 +
 .../sis/internal/storage/wkt/StoreProvider.java    |  18 +-
 .../sis/internal/storage/wkt/package-info.java     |   2 +-
 .../sis/internal/storage/xml/StoreProvider.java    |  16 +
 .../org/apache/sis/storage/AbstractResource.java   |  12 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |  26 +-
 .../org/apache/sis/storage/ProbeInputStream.java   |   4 +-
 .../java/org/apache/sis/storage/ProbeReader.java   |   4 +-
 .../org/apache/sis/storage/StorageConnector.java   |  31 +-
 .../aggregate/ConcatenatedGridCoverage.java        |   9 +-
 .../apache/sis/storage/aggregate/package-info.java |   2 +-
 .../apache/sis/storage/event/StoreListeners.java   |   5 +-
 .../storage/io/FileCacheByteChannelTest.java       |   2 +-
 .../apache/sis/test/storage/SubsampledImage.java   |   4 +-
 .../sis/internal/storage/gpx/StoreProvider.java    |  16 +
 271 files changed, 1958 insertions(+), 1277 deletions(-)
 create mode 100644 core/sis-referencing/src/main/resources/META-INF/GIGS.properties
 create mode 100644 core/sis-utility/src/main/java/org/apache/sis/internal/system/Configuration.java
 delete mode 100644 core/sis-utility/src/main/java/org/apache/sis/util/Configuration.java


[sis] 02/02: Disable the use of FMA on the master branch for `MathTransform.transform(…)` methods. FMA stay enabled on the geoapi-4.0 development branch.

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 668c1d28b55766371eb5210fc1abcbe68852fd3a
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Tue Jan 17 15:53:20 2023 +0100

    Disable the use of FMA on the master branch for `MathTransform.transform(…)` methods.
    FMA stay enabled on the geoapi-4.0 development branch.
    
    The reason for disabling FMA is that they provide a slight performance increase on processors
    that support it, but a big performance penality on processors that do not support it.
    FMA may be considered common enough if the future, when `geoapi-3.1` will become `main`.
---
 .../src/main/java/org/apache/sis/internal/referencing/Formulas.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Formulas.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Formulas.java
index 538cb09cc6..89c7837181 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Formulas.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Formulas.java
@@ -110,7 +110,7 @@ public final class Formulas extends Static {
      * but come at a high cost on older machines without hardware support.
      */
     @Configuration
-    public static final boolean USE_FMA = true;
+    public static final boolean USE_FMA = false;
 
     /**
      * Do not allow instantiation of this class.


[sis] 01/02: Merge branch 'geoapi-3.1'

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 30388c561a5a15137bf53c1537db0eba0844f319
Merge: 835b893740 bece843ce4
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Tue Jan 17 15:49:25 2023 +0100

    Merge branch 'geoapi-3.1'

 .../java/org/apache/sis/console/AboutCommand.java  |   4 +-
 .../java/org/apache/sis/console/package-info.java  |   2 +-
 .../main/java/org/apache/sis/gui/RecentFiles.java  |  14 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   7 +-
 .../apache/sis/gui/coverage/GridSliceSelector.java |   8 +-
 .../org/apache/sis/gui/dataset/FeatureLoader.java  |   2 +
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   9 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |  12 +-
 .../org/apache/sis/gui/dataset/ResourceCell.java   |   4 +-
 .../org/apache/sis/gui/dataset/ResourceEvent.java  |  33 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |   9 +-
 .../org/apache/sis/gui/dataset/WindowHandler.java  |   8 +-
 .../org/apache/sis/gui/dataset/package-info.java   |   2 +-
 .../org/apache/sis/gui/map/GestureFollower.java    |   8 +-
 .../java/org/apache/sis/gui/map/MapCanvas.java     |   7 +-
 .../java/org/apache/sis/gui/map/MapCanvasAWT.java  |   3 +
 .../org/apache/sis/gui/map/OperationFinder.java    |   7 +-
 .../java/org/apache/sis/gui/map/StatusBar.java     |   6 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    |   7 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |   7 +-
 .../org/apache/sis/gui/metadata/package-info.java  |   2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |   7 +-
 .../gui/referencing/PositionableProjection.java    |   8 +-
 .../gui/referencing/RecentReferenceSystems.java    |   7 +-
 .../java/org/apache/sis/gui/referencing/Utils.java |   7 +-
 .../apache/sis/internal/gui/BackgroundThreads.java |   7 +-
 .../apache/sis/internal/gui/ImageConverter.java    |   7 +-
 .../org/apache/sis/internal/gui/LogHandler.java    |  10 +-
 .../org/apache/sis/internal/gui/RecentChoices.java |   2 +
 .../java/org/apache/sis/internal/gui/Styles.java   |   7 +-
 .../apache/sis/internal/gui/control/ColorCell.java |   6 +-
 .../org/apache/sis/internal/gui/package-info.java  |   2 +-
 .../org/apache/sis/coverage/SampleRangeFormat.java |   2 +
 .../coverage/grid/CoordinateOperationFinder.java   |   7 +-
 .../apache/sis/coverage/grid/DefaultEvaluator.java |   7 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |   7 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |  11 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   4 +-
 .../apache/sis/feature/AbstractIdentifiedType.java |   9 +-
 .../java/org/apache/sis/feature/FeatureFormat.java |   7 +-
 .../java/org/apache/sis/feature/package-info.java  |   2 +-
 .../apache/sis/image/BandedSampleConverter.java    |   7 +-
 .../java/org/apache/sis/image/ErrorAction.java     |  13 +-
 .../main/java/org/apache/sis/image/MaskImage.java  |   7 +-
 .../java/org/apache/sis/image/ResampledImage.java  |   7 +-
 .../java/org/apache/sis/image/ResamplingGrid.java  |   2 +
 .../java/org/apache/sis/image/package-info.java    |   2 +-
 .../sis/internal/coverage/j2d/ImageLayout.java     |   4 +
 .../sis/internal/coverage/j2d/ImageUtilities.java  |  15 +-
 .../apache/sis/internal/feature/Geometries.java    |   9 +-
 .../sis/internal/feature/GeometryFactories.java    |   6 +-
 .../org/apache/sis/internal/feature/jts/JTS.java   |   7 +-
 .../sis/internal/feature/jts/package-info.java     |   2 +-
 .../apache/sis/internal/feature/package-info.java  |   2 +-
 .../java/org/apache/sis/internal/filter/Node.java  |  12 +-
 .../internal/filter/sqlmm/RegistryTestCase.java    |   8 +-
 .../apache/sis/internal/metadata/Dependencies.java |   3 +-
 .../sis/internal/metadata/ServicesForUtility.java  |   8 +-
 .../internal/metadata/legacy/DateToTemporal.java   |  25 +-
 .../internal/metadata/legacy/TemporalToDate.java   |  25 +-
 .../sis/internal/metadata/legacy/package-info.java |   2 +-
 .../sis/internal/metadata/sql/Initializer.java     |  32 +-
 .../sis/internal/metadata/sql/LocalDataSource.java |  14 +-
 .../sis/internal/metadata/sql/package-info.java    |   2 +-
 .../sis/internal/simple/CitationConstant.java      |  12 +-
 .../apache/sis/internal/simple/package-info.java   |   2 +-
 .../org/apache/sis/metadata/AbstractMetadata.java  |   4 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   2 +
 .../apache/sis/metadata/PropertyInformation.java   |  11 +-
 .../sis/metadata/StandardImplementation.java       |  16 +-
 .../org/apache/sis/metadata/TreeNodeChildren.java  |   4 +-
 .../java/org/apache/sis/metadata/package-info.java |   2 +-
 .../apache/sis/metadata/sql/MetadataSource.java    |  10 +-
 .../org/apache/sis/metadata/sql/package-info.java  |   2 +-
 .../main/java/org/apache/sis/util/iso/Types.java   |  18 +-
 .../main/java/org/apache/sis/xml/LegacyCodes.java  |   2 +-
 .../java/org/apache/sis/xml/MarshallerPool.java    |  14 +-
 .../java/org/apache/sis/xml/NilObjectHandler.java  |   4 +-
 .../main/java/org/apache/sis/xml/NilReason.java    |   4 +-
 .../src/main/java/org/apache/sis/xml/XLink.java    |   8 +-
 .../src/main/java/org/apache/sis/xml/XML.java      |   4 +-
 .../coverage/MultiResolutionCoverageLoader.java    |   2 +
 .../sis/internal/map/coverage/RenderingData.java   |  12 +-
 .../sis/internal/map/coverage/package-info.java    |   2 +-
 .../main/java/org/apache/sis/portrayal/Canvas.java |   5 +-
 .../org/apache/sis/portrayal/CanvasContext.java    |   2 +
 .../org/apache/sis/portrayal/CanvasFollower.java   |   4 +-
 .../java/org/apache/sis/portrayal/Observable.java  |   9 +-
 .../apache/sis/portrayal/TransformChangeEvent.java |   4 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |   3 +-
 .../gazetteer/ReferencingByIdentifiers.java        |  10 +-
 .../sis/referencing/gazetteer/package-info.java    |   2 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |   4 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |  14 +-
 .../java/org/apache/sis/geometry/Envelopes.java    |  13 +-
 .../apache/sis/geometry/GeneralDirectPosition.java |   6 +-
 .../apache/sis/geometry/WraparoundAdjustment.java  |   6 +-
 .../java/org/apache/sis/geometry/package-info.java |   2 +-
 .../sis/internal/referencing/Arithmetic.java       |   4 +-
 .../internal/referencing/DefinitionVerifier.java   |   2 +-
 .../sis/internal/referencing/DeprecatedCode.java   |   9 +-
 .../sis/internal/referencing/DeprecatedName.java   |   9 +-
 .../apache/sis/internal/referencing/Formulas.java  |   8 +-
 .../referencing/PositionalAccuracyConstant.java    |   4 +
 .../sis/internal/referencing/WKTKeywords.java      |   6 +-
 .../sis/internal/referencing/WKTUtilities.java     |   9 +-
 .../referencing/provider/AbstractProvider.java     |  12 +-
 .../referencing/provider/DatumShiftGridFile.java   |  65 ++--
 .../referencing/provider/DatumShiftGridGroup.java  |   6 +-
 .../referencing/provider/DatumShiftGridLoader.java |  62 +++-
 .../provider/FranceGeocentricInterpolation.java    | 361 +++++++++++----------
 .../referencing/provider/GeocentricAffine.java     |   7 +-
 .../referencing/provider/Geographic3Dto2D.java     |   6 +-
 .../provider/MolodenskyInterpolation.java          |   1 +
 .../sis/internal/referencing/provider/NADCON.java  |  93 +++---
 .../sis/internal/referencing/provider/NTv2.java    |  54 ++-
 .../referencing/provider/VerticalOffset.java       |   6 +-
 .../java/org/apache/sis/io/wkt/AbstractParser.java |  14 +-
 .../main/java/org/apache/sis/io/wkt/Formatter.java |   3 +
 .../java/org/apache/sis/io/wkt/WKTDictionary.java  |   6 +-
 .../main/java/org/apache/sis/io/wkt/WKTFormat.java |  16 +-
 .../sis/parameter/DefaultParameterValue.java       |  12 +-
 .../apache/sis/parameter/ParameterValueList.java   |   6 +-
 .../java/org/apache/sis/parameter/Verifier.java    |  12 +-
 .../org/apache/sis/parameter/package-info.java     |   2 +-
 .../apache/sis/referencing/AuthorityFactories.java |  11 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |  12 +-
 .../java/org/apache/sis/referencing/CommonCRS.java |   9 +-
 .../sis/referencing/GeodesicsOnEllipsoid.java      |   6 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |   6 +-
 .../sis/referencing/ImmutableIdentifier.java       |   4 +-
 .../sis/referencing/crs/DefaultEngineeringCRS.java |   4 +-
 .../sis/referencing/crs/ExplicitParameters.java    |  11 +-
 .../apache/sis/referencing/crs/package-info.java   |   2 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |  11 +-
 .../sis/referencing/cs/CoordinateSystems.java      |   5 +-
 .../sis/referencing/cs/DirectionAlongMeridian.java |   7 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |   6 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |  23 +-
 .../factory/AuthorityFactoryIdentifier.java        |   7 +-
 .../factory/CommonAuthorityFactory.java            |   5 +-
 .../factory/ConcurrentAuthorityFactory.java        |  24 +-
 .../factory/GeodeticAuthorityFactory.java          |   9 +-
 .../referencing/factory/GeodeticObjectFactory.java |   9 +-
 .../factory/IdentifiedObjectFinder.java            |   8 +-
 .../referencing/factory/IdentifiedObjectSet.java   |   8 +-
 .../factory/MultiAuthoritiesFactory.java           |   9 +-
 .../sis/referencing/factory/ReferenceKeeper.java   |   3 +
 .../factory/sql/CloseableReference.java            |   7 +-
 .../referencing/factory/sql/EPSGCodeFinder.java    |  11 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |  19 +-
 .../sis/referencing/factory/sql/EPSGFactory.java   |   3 +-
 .../factory/sql/InstallationScriptProvider.java    |   6 +-
 .../sis/referencing/factory/sql/package-info.java  |   9 +-
 .../operation/AbstractCoordinateOperation.java     |  12 +-
 .../operation/CoordinateOperationRegistry.java     |  15 +-
 .../DefaultCoordinateOperationFactory.java         |   2 +
 .../operation/builder/LinearTransformBuilder.java  |   6 +-
 .../operation/builder/LocalizationGridBuilder.java |   2 +
 .../operation/builder/ProjectedTransformTry.java   |  12 +-
 .../operation/matrix/GeneralMatrix.java            |   4 +
 .../referencing/operation/projection/Mercator.java |   3 +-
 .../operation/projection/NormalizedProjection.java |   8 +-
 .../operation/projection/Orthographic.java         |   4 +-
 .../operation/projection/TransverseMercator.java   |   2 +
 .../transform/AbstractLinearTransform.java         |   4 +-
 .../operation/transform/AbstractMathTransform.java |   9 +-
 .../operation/transform/ConcatenatedTransform.java |  12 +-
 .../operation/transform/ContextualParameters.java  |   5 +-
 .../transform/DefaultMathTransformFactory.java     |  11 +-
 .../operation/transform/InterpolatedTransform.java |   3 +
 .../operation/transform/ProjectiveTransform.java   | 221 ++++++++++---
 .../operation/transform/WraparoundTransform.java   |   7 +-
 .../src/main/resources/META-INF/GIGS.properties    |  80 +++++
 .../referencing/provider/DatumShiftTestCase.java   |  23 +-
 .../FranceGeocentricInterpolationTest.java         |  37 ++-
 .../internal/referencing/provider/NADCONTest.java  |  11 +-
 .../internal/referencing/provider/NTv2Test.java    |  19 +-
 .../factory/ConcurrentAuthorityFactoryTest.java    |   6 +-
 .../sis/referencing/factory/TestFactorySource.java |   8 +-
 .../transform/ProjectiveTransformTest.java         |  19 +-
 .../sis/test/integration/DatumShiftTest.java       |  10 +-
 .../org/apache/sis/internal/jdk17/HexFormat.java   |   6 +-
 .../apache/sis/internal/system/CommonExecutor.java |   1 +
 .../apache/sis/internal/system/Configuration.java  |  91 ++++++
 .../apache/sis/internal/system/DataDirectory.java  |  30 +-
 .../sis/internal/system/DefaultFactories.java      |   5 +-
 .../sis/internal/system/DelayedExecutor.java       |   6 +-
 .../org/apache/sis/internal/system/Loggers.java    |   9 +-
 .../sis/internal/system/OptionalDependency.java    |   2 +-
 .../internal/system/ReferenceQueueConsumer.java    |   6 +-
 .../org/apache/sis/internal/system/Shutdown.java   |   6 +-
 .../org/apache/sis/internal/system/Supervisor.java |  11 +-
 .../apache/sis/internal/system/SystemListener.java |   8 +-
 .../org/apache/sis/internal/system/Threads.java    |   6 +-
 .../apache/sis/internal/util/DefinitionURI.java    |   6 +-
 .../org/apache/sis/internal/util/DoubleDouble.java |   4 +
 .../org/apache/sis/internal/util/Numerics.java     |   3 +
 .../sis/internal/util/StandardDateFormat.java      |  13 +-
 .../main/java/org/apache/sis/math/Fraction.java    |   2 +-
 .../src/main/java/org/apache/sis/math/Plane.java   |   2 +
 .../src/main/java/org/apache/sis/math/Vector.java  |  10 +-
 .../java/org/apache/sis/measure/AbstractUnit.java  |  11 +-
 .../apache/sis/measure/DefaultQuantityFactory.java |   2 +-
 .../org/apache/sis/measure/QuantityFormat.java     |   9 +-
 .../main/java/org/apache/sis/measure/Scalar.java   |   5 +-
 .../java/org/apache/sis/measure/UnitFormat.java    |   7 +-
 .../java/org/apache/sis/measure/UnitRegistry.java  |  13 +-
 .../java/org/apache/sis/measure/UnitServices.java  |   4 +-
 .../src/main/java/org/apache/sis/setup/About.java  |   4 +-
 .../java/org/apache/sis/setup/Configuration.java   |  11 +-
 .../main/java/org/apache/sis/setup/OptionKey.java  |   2 +-
 .../java/org/apache/sis/setup/package-info.java    |   2 +-
 .../java/org/apache/sis/util/Configuration.java    |  44 ---
 .../src/main/java/org/apache/sis/util/Locales.java |   9 +-
 .../src/main/java/org/apache/sis/util/Numbers.java |   2 +-
 .../java/org/apache/sis/util/collection/Cache.java |   8 +-
 .../apache/sis/util/collection/CodeListSet.java    |   4 +-
 .../sis/util/collection/DefaultTreeTable.java      |   9 +-
 .../sis/util/collection/FrequencySortedSet.java    |   6 +-
 .../apache/sis/util/collection/TreeNodeList.java   |   4 +-
 .../java/org/apache/sis/util/logging/Logging.java  |  57 +++-
 .../apache/sis/util/logging/MonolineFormatter.java |  15 +-
 .../apache/sis/util/logging/PerformanceLevel.java  |   7 +-
 .../sis/util/resources/IndexedResourceBundle.java  |  18 +-
 .../apache/sis/util/resources/package-info.java    |   2 +-
 .../src/test/java/org/apache/sis/test/Assume.java  |   7 +-
 .../java/org/apache/sis/test/package-info.java     |   2 +-
 ide-project/NetBeans/nbproject/genfiles.properties |   4 +-
 ide-project/NetBeans/nbproject/project.xml         |   1 +
 .../sis/storage/landsat/LandsatStoreProvider.java  |  18 +-
 .../storage/inflater/CompressionChannel.java       |   6 +-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  18 +-
 .../org/apache/sis/storage/geotiff/Reader.java     |   6 +-
 .../org/apache/sis/internal/netcdf/Decoder.java    |  16 +-
 .../org/apache/sis/internal/netcdf/FeatureSet.java |   2 +
 .../apache/sis/internal/netcdf/package-info.java   |   2 +-
 .../apache/sis/storage/netcdf/MetadataReader.java  |   2 +
 .../sis/storage/netcdf/NetcdfStoreProvider.java    |  14 +-
 .../apache/sis/storage/netcdf/package-info.java    |   2 +-
 .../apache/sis/storage/sql/SQLStoreProvider.java   |  18 +-
 .../internal/storage/DocumentedStoreProvider.java  |   5 +-
 .../sis/internal/storage/StoreUtilities.java       |   2 +
 .../sis/internal/storage/csv/StoreProvider.java    |  20 +-
 .../storage/esri/AsciiGridStoreProvider.java       |  18 +-
 .../storage/esri/RawRasterStoreProvider.java       |  18 +-
 .../sis/internal/storage/esri/package-info.java    |   2 +-
 .../sis/internal/storage/folder/StoreProvider.java |  18 +-
 .../sis/internal/storage/folder/package-info.java  |   2 +-
 .../storage/image/WorldFileStoreProvider.java      |  18 +-
 .../internal/storage/io/FileCacheByteChannel.java  |  18 +-
 .../sis/internal/storage/io/HttpByteChannel.java   |   2 +-
 .../sis/internal/storage/io/IOUtilities.java       |  21 --
 .../internal/storage/io/MemoryDataTransfer.java    |   4 +-
 .../internal/storage/io/RewindableLineReader.java  |   7 +-
 .../apache/sis/internal/storage/package-info.java  |   2 +-
 .../sis/internal/storage/wkt/FirstKeywordPeek.java |   1 +
 .../sis/internal/storage/wkt/StoreProvider.java    |  18 +-
 .../sis/internal/storage/wkt/package-info.java     |   2 +-
 .../sis/internal/storage/xml/StoreProvider.java    |  16 +
 .../org/apache/sis/storage/AbstractResource.java   |  12 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |  26 +-
 .../org/apache/sis/storage/ProbeInputStream.java   |   4 +-
 .../java/org/apache/sis/storage/ProbeReader.java   |   4 +-
 .../org/apache/sis/storage/StorageConnector.java   |  31 +-
 .../aggregate/ConcatenatedGridCoverage.java        |   9 +-
 .../apache/sis/storage/aggregate/package-info.java |   2 +-
 .../apache/sis/storage/event/StoreListeners.java   |   5 +-
 .../storage/io/FileCacheByteChannelTest.java       |   2 +-
 .../apache/sis/test/storage/SubsampledImage.java   |   4 +-
 .../sis/internal/storage/gpx/StoreProvider.java    |  16 +
 271 files changed, 1957 insertions(+), 1276 deletions(-)

diff --cc application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/FeatureLoader.java
index 8ef703971e,65af557681..0a85743204
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/FeatureLoader.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/FeatureLoader.java
@@@ -27,8 -29,7 +27,9 @@@ import org.apache.sis.storage.FeatureSe
  import org.apache.sis.storage.DataStoreException;
  import org.apache.sis.util.collection.BackingStoreException;
  import org.apache.sis.internal.gui.Resources;
 +import org.apache.sis.feature.AbstractFeature;
 +import org.apache.sis.feature.DefaultFeatureType;
+ import org.apache.sis.internal.system.Configuration;
  
  
  /**
diff --cc application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/FeatureTable.java
index 4f3175701e,b8ffecac1e..0389cbf7eb
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/FeatureTable.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/FeatureTable.java
@@@ -46,14 -50,8 +45,14 @@@ import org.apache.sis.internal.feature.
  import org.apache.sis.internal.gui.IdentityValueFactory;
  import org.apache.sis.internal.gui.ExceptionReporter;
  
- import static java.util.logging.Logger.getLogger;
+ import static org.apache.sis.internal.gui.LogHandler.LOGGER;
  
 +// Branch-dependent imports
 +import org.apache.sis.feature.AbstractFeature;
 +import org.apache.sis.feature.DefaultFeatureType;
 +import org.apache.sis.feature.AbstractIdentifiedType;
 +import org.apache.sis.feature.DefaultAttributeType;
 +
  
  /**
   * A view of {@link FeatureSet} data organized as a table. The features are specified by a call
diff --cc application/sis-javafx/src/main/java/org/apache/sis/gui/map/ValuesFormatter.java
index 440fee4641,192856d836..208703217d
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/map/ValuesFormatter.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/map/ValuesFormatter.java
@@@ -44,10 -43,10 +43,10 @@@ import org.apache.sis.measure.UnitForma
  import org.apache.sis.util.Characters;
  import org.apache.sis.util.logging.Logging;
  
- import static java.util.logging.Logger.getLogger;
+ import static org.apache.sis.internal.gui.LogHandler.LOGGER;
  
  // Branch-dependent imports
 -import org.opengis.coverage.CannotEvaluateException;
 +import org.apache.sis.coverage.CannotEvaluateException;
  
  
  /**
diff --cc core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DefaultEvaluator.java
index c2b1242692,8b156a7a9e..62db8d99c2
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DefaultEvaluator.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DefaultEvaluator.java
@@@ -47,11 -46,9 +46,9 @@@ import org.apache.sis.util.ArraysExt
  import org.apache.sis.util.ArgumentChecks;
  import org.apache.sis.util.logging.Logging;
  
- import static java.util.logging.Logger.getLogger;
- 
  // Branch-dependent imports
 -import org.opengis.coverage.CannotEvaluateException;
 -import org.opengis.coverage.PointOutsideCoverageException;
 +import org.apache.sis.coverage.CannotEvaluateException;
 +import org.apache.sis.coverage.PointOutsideCoverageException;
  
  
  /**
diff --cc core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
index 6590adfb17,35c0f58f8c..38ca4d4a9b
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
@@@ -65,11 -66,13 +66,9 @@@ import org.apache.sis.util.LenientCompa
  import org.apache.sis.util.iso.Types;
  import org.apache.sis.util.logging.Logging;
  import org.apache.sis.internal.system.Modules;
 -
 -// Branch-dependent imports
 -import org.opengis.coverage.grid.GridEnvelope;
 -import org.opengis.coverage.grid.GridCoordinates;
 -import org.opengis.coverage.CannotEvaluateException;
 -import org.opengis.coverage.PointOutsideCoverageException;
 +import org.apache.sis.coverage.CannotEvaluateException;
 +import org.apache.sis.coverage.PointOutsideCoverageException;
  
- import static java.util.logging.Logger.getLogger;
- 
  
  /**
   * A range of grid coverage coordinates, also known as "grid envelope".
diff --cc core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java
index 1a176bd304,5b8b09389d..159795d400
--- 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
@@@ -34,16 -39,11 +36,16 @@@ import static org.apache.sis.util.Argum
  /**
   * Identification and description information inherited by property types and feature types.
   *
 + * <div class="warning"><b>Warning:</b>
 + * This class is expected to implement a GeoAPI {@code IdentifiedType} interface in a future version.
 + * When such interface will be available, most references to {@code AbstractIdentifiedType} in the API
 + * will be replaced by references to the {@code IdentifiedType} interface.</div>
 + *
   * @author  Martin Desruisseaux (Geomatys)
-  * @version 0.8
+  * @version 1.4
   * @since   0.5
   */
 -public class AbstractIdentifiedType implements IdentifiedType, Deprecable, Serializable {
 +public class AbstractIdentifiedType implements Deprecable, Serializable {
      /**
       * For cross-version compatibility.
       */
diff --cc core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
index a41ba4057a,95eb82490c..f7cf047213
--- 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
@@@ -50,9 -50,18 +50,6 @@@ import org.apache.sis.internal.feature.
  import org.apache.sis.referencing.IdentifiedObjects;
  import org.apache.sis.math.MathFunctions;
  
- import static java.util.logging.Logger.getLogger;
 -// Branch-dependent imports
 -import org.opengis.feature.IdentifiedType;
 -import org.opengis.feature.Property;
 -import org.opengis.feature.PropertyType;
 -import org.opengis.feature.Attribute;
 -import org.opengis.feature.AttributeType;
 -import org.opengis.feature.Feature;
 -import org.opengis.feature.FeatureType;
 -import org.opengis.feature.FeatureAssociation;
 -import org.opengis.feature.FeatureAssociationRole;
 -import org.opengis.feature.Operation;
--
  
  /**
   * Formats {@linkplain AbstractFeature features} or {@linkplain DefaultFeatureType feature types} in a tabular format.
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
index 42bc9816df,04febe4872..00e1a74293
--- 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
@@@ -113,7 -113,8 +114,8 @@@ public class MetadataStandard implement
       * than GeoAPI, but have a slight performance cost at construction time. Performance
       * after construction should be the same.</p>
       */
+     @Configuration
 -    static final boolean IMPLEMENTATION_CAN_ALTER_API = false;
 +    static final boolean IMPLEMENTATION_CAN_ALTER_API = true;
  
      /**
       * Metadata instances defined in this class. Standards will be tested in the order they appear in this array.
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java
index e4079ec4dc,76d0f246aa..6f8124ecae
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java
@@@ -18,8 -18,11 +18,9 @@@ package org.apache.sis.metadata
  
  import java.util.Map;
  import java.util.IdentityHashMap;
+ import java.util.logging.Logger;
  import java.io.ObjectStreamException;
  import org.opengis.annotation.UML;
 -import org.opengis.annotation.Classifier;
 -import org.opengis.annotation.Stereotype;
  import org.apache.sis.util.CharSequences;
  import org.apache.sis.util.logging.Logging;
  import org.apache.sis.internal.system.Modules;
@@@ -142,22 -154,17 +147,21 @@@ final class StandardImplementation exte
                          }
                      }
                      /*
 -                     * Try to instantiate the implementation class.
 +                     * Try to insert a prefix in front of the class name, until a match is found.
                       */
                      final int prefixPosition = buffer.lastIndexOf(".") + 1;
 -                    buffer.insert(prefixPosition, isAbstract(type) ? "Abstract" : "Default");
 -                    classname = buffer.toString();
 -                    try {
 -                        candidate = Class.forName(classname);
 +                    int length = 0;
 +                    for (final String p : IMPL_PREFIXES) {
 +                        classname = buffer.replace(prefixPosition, prefixPosition + length, p).toString();
 +                        try {
 +                            candidate = Class.forName(classname);
 +                        } catch (ClassNotFoundException e) {
-                             Logging.recoverableException(getLogger(Modules.METADATA),
-                                     MetadataStandard.class, "getImplementation", e);
++                            Logging.recoverableException(LOGGER, MetadataStandard.class, "getImplementation", e);
 +                            length = p.length();
 +                            continue;
 +                        }
                          implementations.put(type, candidate);
                          return candidate.asSubclass(type);
 -                    } catch (ClassNotFoundException e) {
 -                        Logging.recoverableException(LOGGER, MetadataStandard.class, "getImplementation", e);
                      }
                      implementations.put(type, Void.TYPE);                       // Marker for "class not found".
                  }
diff --cc core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
index 75bb27ae62,b1a4bcfcc1..008bd00231
--- a/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
+++ b/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
@@@ -76,9 -79,10 +76,8 @@@ import org.apache.sis.measure.Latitude
  import org.apache.sis.measure.Quantities;
  import org.apache.sis.measure.Units;
  
- 
  // Branch-dependent imports
 -import org.opengis.metadata.citation.Party;
 -import org.opengis.referencing.gazetteer.Location;
 -import org.opengis.referencing.gazetteer.LocationType;
 +import org.apache.sis.metadata.iso.citation.AbstractParty;
  
  
  /**
diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
index 65e0bd8a47,0733eb6361..45554cecb3
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
@@@ -88,8 -91,9 +89,6 @@@ import org.apache.sis.util.ArgumentChec
  import org.apache.sis.util.Utilities;
  import org.apache.sis.util.Static;
  
- import static java.util.logging.Logger.getLogger;
 -// Branch-dependent imports
 -import org.opengis.geometry.Geometry;
--
  
  /**
   * Static methods working on {@linkplain CoordinateReferenceSystem Coordinate Reference Systems}.
diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
index 21332577ee,530056f8cd..1f99956d20
--- 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
@@@ -22,8 -22,10 +22,9 @@@ import java.util.Map
  import java.util.HashMap;
  import java.util.Objects;
  import java.util.regex.Pattern;
+ import java.util.logging.Logger;
  import java.io.Serializable;
  import java.lang.reflect.Modifier;
 -import org.opengis.metadata.Identifier;
  import org.opengis.parameter.ParameterValueGroup;
  import org.opengis.parameter.ParameterDescriptor;
  import org.opengis.parameter.ParameterDescriptorGroup;
@@@ -62,11 -64,7 +63,10 @@@ import org.apache.sis.util.resources.Er
  import org.apache.sis.util.logging.Logging;
  
  import static java.lang.Math.*;
- import static java.util.logging.Logger.getLogger;
  
 +// Branch-dependent imports
 +import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * Base class for conversion services between ellipsoidal and cartographic projections.
diff --cc core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolationTest.java
index 096fcfa1ac,2dc409a8d5..7dfbe1038e
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolationTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolationTest.java
@@@ -38,7 -36,11 +36,10 @@@ import static org.opengis.test.Assert.*
   * Tests {@link FranceGeocentricInterpolation}.
   *
   * @author  Martin Desruisseaux (Geomatys)
-  * @version 0.7
+  * @version 1.4
+  *
 - * @see GeocentricTranslationTest#testFranceGeocentricInterpolationPoint()
+  * @see org.apache.sis.referencing.operation.transform.MolodenskyTransformTest#testFranceGeocentricInterpolationPoint()
+  *
   * @since 0.7
   */
  public final class FranceGeocentricInterpolationTest extends DatumShiftTestCase {
diff --cc core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java
index eec4821870,82a2b93f1a..20be6a2bcd
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/NTv2Test.java
@@@ -49,8 -49,9 +49,8 @@@ import static org.apache.sis.internal.r
   * It will also indirectly tests {@link DatumShiftGridGroup} class.
   *
   * @author  Martin Desruisseaux (Geomatys)
-  * @version 1.1
+  * @version 1.4
   *
 - * @see GeocentricTranslationTest#testFranceGeocentricInterpolationPoint()
   * @see org.apache.sis.referencing.operation.transform.MolodenskyTransformTest#testFranceGeocentricInterpolationPoint()
   *
   * @since 0.7
diff --cc core/sis-utility/src/main/java/org/apache/sis/internal/system/Supervisor.java
index 155d830da9,4eb58b18be..89bd5e950a
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/system/Supervisor.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/system/Supervisor.java
@@@ -59,7 -58,8 +58,8 @@@ public final class Supervisor extends S
       * Whatever JMX agent is enabled. Setting this variable to {@code false} allows the
       * Java compiler to omit any dependency to this {@code Supervisor} class.
       */
+     @Configuration
 -    static final boolean ENABLED = true;
 +    static final boolean ENABLED = false;
  
      /**
       * The JMX object name for the {@code Supervisor} service.
diff --cc ide-project/NetBeans/nbproject/genfiles.properties
index b73c624292,874d87f86b..6a1416b2f4
--- a/ide-project/NetBeans/nbproject/genfiles.properties
+++ b/ide-project/NetBeans/nbproject/genfiles.properties
@@@ -3,6 -3,6 +3,6 @@@
  build.xml.data.CRC32=58e6b21c
  build.xml.script.CRC32=462eaba0
  build.xml.stylesheet.CRC32=28e38971@1.53.1.46
- nbproject/build-impl.xml.data.CRC32=61740f25
 -nbproject/build-impl.xml.data.CRC32=e6c2891e
 -nbproject/build-impl.xml.script.CRC32=02d4f276
 -nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.104.0.48
++nbproject/build-impl.xml.data.CRC32=35f0a045
 +nbproject/build-impl.xml.script.CRC32=101e7069
- nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.104.0.48
++nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.105.0.48
diff --cc storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/ConcatenatedGridCoverage.java
index 5137471aea,df1e9105ab..a2b06ac1f7
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/ConcatenatedGridCoverage.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/ConcatenatedGridCoverage.java
@@@ -35,8 -33,10 +33,10 @@@ import org.apache.sis.internal.util.Num
  import org.apache.sis.util.collection.Cache;
  import org.apache.sis.util.logging.Logging;
  
+ import static org.apache.sis.internal.coverage.j2d.ImageUtilities.LOGGER;
+ 
  // Branch-dependent imports
 -import org.opengis.coverage.CannotEvaluateException;
 +import org.apache.sis.coverage.CannotEvaluateException;
  
  
  /**