This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git
commit f9314a0864c217a5afc737e13ecbc4d44fb93ba3 Merge: edc8e9e83e 0a71185c8c Author: Martin Desruisseaux <[email protected]> AuthorDate: Fri Oct 4 17:32:40 2024 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1. Contain improvements of the GIMI reader (incubator). Resolve a test failure when run without EPSG database. The log messages have also been reduced a little bit. .../apache/sis/console/ResourcesDownloader.java | 9 +- .../sis/coverage/grid/TranslatedGridCoverage.java | 4 +- .../org/apache/sis/feature/AbstractFeature.java | 2 +- .../apache/sis/feature/DefaultAssociationRole.java | 2 +- .../org/apache/sis/feature/DefaultFeatureType.java | 2 +- .../apache/sis/feature/ExpressionOperation.java | 2 +- .../main/org/apache/sis/filter/Optimization.java | 2 +- .../sis/feature/DefaultAssociationRoleTest.java | 2 +- .../org/apache/sis/metadata/MetadataStandard.java | 2 +- .../org/apache/sis/metadata/MetadataVisitor.java | 8 +- .../apache/sis/metadata/ModifiableMetadata.java | 2 +- .../main/org/apache/sis/metadata/ObjectPair.java | 2 +- .../apache/sis/metadata/ValueExistencePolicy.java | 2 +- .../apache/sis/metadata/sql/MetadataWriter.java | 2 +- .../sis/metadata/sql/privy/LocalDataSource.java | 6 +- .../main/org/apache/sis/xml/ReferenceResolver.java | 2 +- .../main/org/apache/sis/xml/XML.java | 2 +- .../main/org/apache/sis/xml/bind/Context.java | 1 + .../apache/sis/metadata/AbstractMetadataTest.java | 2 +- .../apache/sis/metadata/MetadataStandardTest.java | 4 +- .../test/org/apache/sis/metadata/PrunerTest.java | 4 +- .../gazetteer/AbstractLocationType.java | 10 +- .../referencing/gazetteer/LocationTypeTest.java | 2 +- .../main/org/apache/sis/io/wkt/Warnings.java | 2 +- .../apache/sis/referencing/AuthorityFactories.java | 209 +++++++------ .../main/org/apache/sis/referencing/CRS.java | 5 +- .../main/org/apache/sis/referencing/CommonCRS.java | 330 +++++++++------------ .../apache/sis/referencing/IdentifiedObjects.java | 2 + .../sis/referencing/crs/AbstractDerivedCRS.java | 2 +- .../factory/AuthorityFactoryIdentifier.java | 104 ++++--- .../referencing/factory/AuthorityFactoryProxy.java | 83 +++--- .../factory/ConcurrentAuthorityFactory.java | 10 +- .../factory/IdentifiedObjectFinder.java | 120 +++++++- .../factory/LazySynchronizedIterator.java | 48 +-- .../factory/MultiAuthoritiesFactory.java | 164 +++++----- .../referencing/factory/sql/EPSGDataAccess.java | 18 +- .../sis/referencing/factory/sql/EPSGFactory.java | 15 +- .../sis/referencing/factory/sql/EPSGInstaller.java | 5 +- .../factory/sql/InstallationScriptProvider.java | 2 +- .../referencing/internal/ServicesForMetadata.java | 3 +- .../operation/AbstractCoordinateOperation.java | 4 +- .../operation/CoordinateOperationFinder.java | 4 +- .../operation/builder/ProjectedTransformTry.java | 3 +- .../transform/DefaultMathTransformFactory.java | 2 +- .../apache/sis/geometry/DirectPosition1DTest.java | 4 +- .../org/apache/sis/parameter/ParametersTest.java | 2 +- .../apache/sis/referencing/ClenshawSummation.java | 2 +- .../sis/referencing/EPSGFactoryFallbackTest.java | 4 +- .../operation/transform/MathTransformTestCase.java | 2 +- .../operation/transform/MathTransformWrapper.java | 4 +- .../sis/storage/geotiff/MultiResolutionImage.java | 2 +- .../apache/sis/storage/geotiff/NativeMetadata.java | 2 +- .../org/apache/sis/storage/geotiff/Reader.java | 2 +- .../sis/storage/geotiff/reader/Localization.java | 2 +- .../sis/storage/sql/feature/FeatureAdapter.java | 4 +- .../sis/storage/sql/feature/InfoStatements.java | 12 +- .../apache/sis/storage/sql/feature/Relation.java | 2 +- .../org/apache/sis/storage/sql/feature/Table.java | 2 +- .../sis/util/stream/PaginedDoubleStream.java | 4 +- .../org/apache/sis/util/stream/PaginedStream.java | 4 +- .../storage/sql/feature/InfoStatementsTest.java | 8 +- .../main/org/apache/sis/io/stream/IOUtilities.java | 5 +- .../sis/storage/aggregate/GridSliceLocator.java | 2 +- .../sis/storage/base/GridResourceWrapper.java | 6 +- .../apache/sis/storage/event/StoreListeners.java | 10 +- .../apache/sis/converter/ConverterRegistry.java | 4 +- .../org/apache/sis/converter/SystemRegistry.java | 2 +- .../main/org/apache/sis/math/MathFunctions.java | 2 +- .../main/org/apache/sis/math/Vector.java | 2 +- .../main/org/apache/sis/pending/jdk/JDK22.java | 2 +- .../main/org/apache/sis/setup/About.java | 2 +- .../apache/sis/setup/InstallationResources.java | 22 +- .../apache/sis/setup/OptionalInstallations.java | 10 +- .../main/org/apache/sis/system/DataDirectory.java | 3 +- .../main/org/apache/sis/system/Semaphores.java | 2 +- .../main/org/apache/sis/util/Exceptions.java | 24 +- .../main/org/apache/sis/util/collection/Cache.java | 2 +- .../sis/util/collection/DefaultTreeTable.java | 2 +- .../org/apache/sis/util/collection/TreeTable.java | 6 +- .../sis/util/collection/TreeTableFormat.java | 32 +- .../main/org/apache/sis/util/internal/Acyclic.java | 2 +- .../main/org/apache/sis/util/logging/Logging.java | 6 +- .../org/apache/sis/util/privy/AbstractMap.java | 2 +- .../main/org/apache/sis/util/privy/Cloner.java | 2 +- .../sis/util/resources/IndexedResourceBundle.java | 18 +- .../test/org/apache/sis/test/Assertions.java | 5 +- .../main/org/apache/sis/map/MapLayer.java | 2 +- .../main/module-info.java | 2 + .../org/apache/sis/storage/gimi/GimiProvider.java | 15 +- .../org/apache/sis/storage/gimi/GimiStore.java | 154 +++++++--- .../apache/sis/storage/gimi/GimiTileMatrix.java | 2 +- .../org/apache/sis/storage/gimi/GimiUtils.java | 53 ---- .../main/org/apache/sis/storage/gimi/Group.java | 66 +++++ .../main/org/apache/sis/storage/gimi/Item.java | 179 ++++++++--- .../org/apache/sis/storage/gimi/ResourceGrid.java | 8 +- .../apache/sis/storage/gimi/ResourceImageJpeg.java | 3 +- .../storage/gimi/ResourceImageUncompressed.java | 151 +++++++--- .../apache/sis/storage/gimi/ResourcePyramid.java | 7 +- .../apache/sis/storage/gimi/ResourceUnknown.java | 16 + .../storage/gimi/internal/MatrixGridRessource.java | 6 +- .../sis/storage/gimi/isobmff/ISOBMFFReader.java | 22 ++ .../apache/sis/storage/gimi/isobmff/gimi/GIMI.java | 6 +- .../TiledImageConfigurationBox.java} | 23 +- .../gimi/isobmff/iso14496_12/MediaData.java | 21 ++ .../gimi/isobmff/iso23001_17/ISO23001_17.java | 2 +- .../gimi/isobmff/iso23001_17/TAIClockInfo.java | 1 + .../sis/storage/gsf/panama/LibraryLoader.java | 4 +- .../sis/gui/coverage/ImagePropertyExplorer.java | 4 +- .../gui/internal/io/OptionalDataDownloader.java | 15 + .../apache/sis/gui/referencing/AuthorityCodes.java | 3 +- .../resources/embedded/EmbeddedResourcesTest.java | 1 - .../apache/sis/storage/panama/LibraryLoader.java | 4 +- .../org/apache/sis/storage/panama/Resources.java | 2 +- .../apache/sis/storage/panama/Resources.properties | 2 +- .../sis/storage/panama/Resources_fr.properties | 2 +- 115 files changed, 1348 insertions(+), 876 deletions(-) diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java index dd8756e091,df276fe9ca..a2d4616aff --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java @@@ -190,11 -189,16 +189,11 @@@ abstract class AuthorityFactoryProxy<T /** * The proxy for the {@link GeodeticAuthorityFactory#createObject(String)} method. */ + @SuppressWarnings("removal") static final AuthorityFactoryProxy<IdentifiedObject> OBJECT = - new AuthorityFactoryProxy<IdentifiedObject>(IdentifiedObject.class, AuthorityFactoryIdentifier.ANY) { + new AuthorityFactoryProxy<IdentifiedObject>(IdentifiedObject.class, AuthorityFactoryIdentifier.Type.ANY) { - @Override IdentifiedObject create(GeodeticAuthorityFactory factory, String code) throws FactoryException { - return factory.createObject(code); - } @Override IdentifiedObject createFromAPI(AuthorityFactory factory, String code) throws FactoryException { - if (factory instanceof GeodeticAuthorityFactory) { - return ((GeodeticAuthorityFactory) factory).createObject(code); - } - throw new FactoryException(Errors.format(Errors.Keys.UnsupportedOperation_1, "createObject")); + return factory.createObject(code); } }; @@@ -218,19 -222,8 +217,19 @@@ } }; + @SuppressWarnings("deprecation") + static final AuthorityFactoryProxy<ImageDatum> IMAGE_DATUM = - new AuthorityFactoryProxy<ImageDatum>(ImageDatum.class, AuthorityFactoryIdentifier.DATUM) { ++ new AuthorityFactoryProxy<ImageDatum>(ImageDatum.class, AuthorityFactoryIdentifier.Type.DATUM) { + @Override ImageDatum create(GeodeticAuthorityFactory factory, String code) throws FactoryException { + return factory.createImageDatum(code); + } + @Override ImageDatum createFromAPI(AuthorityFactory factory, String code) throws FactoryException { + return datumFactory(factory).createImageDatum(code); + } + }; + static final AuthorityFactoryProxy<ParametricDatum> PARAMETRIC_DATUM = - new AuthorityFactoryProxy<ParametricDatum>(ParametricDatum.class, AuthorityFactoryIdentifier.DATUM) { + new AuthorityFactoryProxy<ParametricDatum>(ParametricDatum.class, AuthorityFactoryIdentifier.Type.DATUM) { @Override ParametricDatum create(GeodeticAuthorityFactory factory, String code) throws FactoryException { return factory.createParametricDatum(code); } @@@ -460,19 -453,8 +459,19 @@@ } }; + @Deprecated(since = "2.0") // Temporary version number until this branch is released. + static final AuthorityFactoryProxy<GeocentricCRS> GEOCENTRIC_CRS = - new AuthorityFactoryProxy<GeocentricCRS>(GeocentricCRS.class, AuthorityFactoryIdentifier.CRS) { ++ new AuthorityFactoryProxy<GeocentricCRS>(GeocentricCRS.class, AuthorityFactoryIdentifier.Type.CRS) { + @Override GeocentricCRS create(GeodeticAuthorityFactory factory, String code) throws FactoryException { + return factory.createGeocentricCRS(code); + } + @Override GeocentricCRS createFromAPI(AuthorityFactory factory, String code) throws FactoryException { + return crsFactory(factory).createGeocentricCRS(code); + } + }; + static final AuthorityFactoryProxy<GeodeticCRS> GEODETIC_CRS = - new AuthorityFactoryProxy<GeodeticCRS>(GeodeticCRS.class, AuthorityFactoryIdentifier.CRS) { + new AuthorityFactoryProxy<GeodeticCRS>(GeodeticCRS.class, AuthorityFactoryIdentifier.Type.CRS) { @Override GeodeticCRS create(GeodeticAuthorityFactory factory, String code) throws FactoryException { return factory.createGeodeticCRS(code); } @@@ -481,19 -463,8 +480,19 @@@ } }; + @SuppressWarnings("deprecation") + static final AuthorityFactoryProxy<ImageCRS> IMAGE_CRS = - new AuthorityFactoryProxy<ImageCRS>(ImageCRS.class, AuthorityFactoryIdentifier.CRS) { ++ new AuthorityFactoryProxy<ImageCRS>(ImageCRS.class, AuthorityFactoryIdentifier.Type.CRS) { + @Override ImageCRS create(GeodeticAuthorityFactory factory, String code) throws FactoryException { + return factory.createImageCRS(code); + } + @Override ImageCRS createFromAPI(AuthorityFactory factory, String code) throws FactoryException { + return crsFactory(factory).createImageCRS(code); + } + }; + static final AuthorityFactoryProxy<ProjectedCRS> PROJECTED_CRS = - new AuthorityFactoryProxy<ProjectedCRS>(ProjectedCRS.class, AuthorityFactoryIdentifier.CRS) { + new AuthorityFactoryProxy<ProjectedCRS>(ProjectedCRS.class, AuthorityFactoryIdentifier.Type.CRS) { @Override ProjectedCRS create(GeodeticAuthorityFactory factory, String code) throws FactoryException { return factory.createProjectedCRS(code); }
