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);
              }

Reply via email to