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 65cb13ffb1e136ca06f14f8b44cdc02c542919b8
Merge: fed83f0af1 c2b85ee4ee
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Wed Feb 26 15:52:26 2025 +0100

    Merge branch 'geoapi-3.1': preparation for GeoHEIF refactoring.

 .../main/org/apache/sis/image/DataType.java        |   5 +-
 .../main/org/apache/sis/image/MaskImage.java       |   2 +-
 .../main/org/apache/sis/image/RecoloredImage.java  |   3 +-
 .../apache/sis/image/privy/ColorModelBuilder.java  | 309 ++++++++++++++------
 .../apache/sis/image/privy/ColorModelFactory.java  |  35 ++-
 .../org/apache/sis/image/privy/ImageUtilities.java |   8 +-
 .../apache/sis/image/privy/SampleModelBuilder.java |  35 ++-
 .../org/apache/sis/image/BandSelectImageTest.java  |   2 +-
 .../apache/sis/image/privy/ImageUtilitiesTest.java |  16 +-
 .../sis/image/privy/SampleModelBuilderTest.java    |  22 +-
 .../sis/metadata/iso/citation/Citations.java       |  54 ++--
 .../sis/metadata/privy/NameToIdentifier.java       |   2 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |  15 +-
 .../operation/DefaultConcatenatedOperation.java    |   8 +-
 .../apache/sis/referencing/privy/WKTKeywords.java  |   3 +
 .../sis/referencing/ImmutableIdentifierTest.java   |   2 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |  10 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  40 ++-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |   9 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    |  14 +-
 .../sis/storage/geotiff/MultiResolutionImage.java  |   2 +-
 .../org/apache/sis/storage/geotiff/Reader.java     |  12 +-
 .../org/apache/sis/storage/geotiff/Writer.java     |   2 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   5 +-
 .../org/apache/sis/storage/netcdf/base/Axis.java   |   2 +-
 .../apache/sis/storage/netcdf/base/Convention.java |   8 -
 .../apache/sis/storage/netcdf/base/Decoder.java    |  28 +-
 .../apache/sis/storage/netcdf/base/FeatureSet.java |   4 +-
 .../sis/storage/netcdf/base/GridMapping.java       | 314 +++++++++++++--------
 .../sis/storage/netcdf/base/NamedElement.java      |   2 +-
 .../org/apache/sis/storage/netcdf/base/Node.java   |   3 +-
 .../sis/storage/netcdf/base/RasterResource.java    |   8 +-
 .../apache/sis/storage/netcdf/base/Variable.java   |  36 +--
 .../sis/storage/netcdf/classic/VariableInfo.java   |   2 +-
 .../sis/storage/netcdf/internal/Resources.java     |  20 +-
 .../storage/netcdf/internal/Resources.properties   |   6 +-
 .../netcdf/internal/Resources_fr.properties        |   6 +-
 .../sis/storage/netcdf/ucar/VariableWrapper.java   |  11 +-
 .../apache/sis/storage/netcdf/base/GridTest.java   |  15 +-
 .../apache/sis/storage/sql/feature/Analyzer.java   |   8 +-
 .../sis/storage/sql/feature/QueryAnalyzer.java     |  13 +-
 .../org/apache/sis/io/stream/ChannelDataInput.java | 174 ++++++------
 .../org/apache/sis/io/stream/DataTransfer.java     |  28 +-
 .../apache/sis/io/stream/HyperRectangleReader.java |  28 +-
 .../apache/sis/io/stream/MemoryDataTransfer.java   |  22 +-
 .../main/org/apache/sis/io/stream/Region.java      |  13 +-
 .../org/apache/sis/storage/AbstractResource.java   |  10 +-
 .../org/apache/sis/storage/StorageConnector.java   |  71 +++--
 .../org/apache/sis/storage/aggregate/Group.java    |  22 +-
 .../org/apache/sis/storage/base/ArrayOfLongs.java  |  86 ++++++
 .../apache/sis/storage/base/MetadataBuilder.java   |  17 +-
 .../apache/sis/storage/base/TiledGridCoverage.java |  27 +-
 .../org/apache/sis/storage/esri/RasterStore.java   |   2 +-
 .../apache/sis/storage/esri/RawRasterReader.java   |  20 +-
 .../apache/sis/storage/esri/RawRasterStore.java    |  16 +-
 .../sis/io/stream/HyperRectangleReaderTest.java    |  10 +-
 .../apache/sis/storage/StorageConnectorTest.java   |  16 ++
 .../main/org/apache/sis/util/privy/Numerics.java   |  19 ++
 .../test/org/apache/sis/pending/jdk/JDK18Test.java |  53 ++++
 .../org/apache/sis/util/privy/NumericsTest.java    |  26 +-
 .../org/apache/sis/storage/gdal/TiledResource.java |   2 +-
 61 files changed, 1169 insertions(+), 594 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridMapping.java
index fcb9421e3a,70412a7534..db429c0659
--- 
a/endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridMapping.java
+++ 
b/endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridMapping.java
@@@ -370,8 -381,9 +381,8 @@@ final class GridMapping 
           */
          final Object bursaWolf = definition.remove(Convention.TOWGS84);
          final GeodeticDatum datum;
 -        DatumEnsemble<GeodeticDatum> ensemble = null;
          if (isSpecified | bursaWolf != null) {
-             Map<String,Object> properties = properties(definition, 
Convention.GEODETIC_DATUM_NAME, ellipsoid);
+             Map<String,Object> properties = properties(definition, 
Convention.GEODETIC_DATUM_NAME, false, ellipsoid);
              if (bursaWolf instanceof BursaWolfParameters) {
                  properties = new HashMap<>(properties);
                  properties.put(DefaultGeodeticDatum.BURSA_WOLF_KEY, 
bursaWolf);
@@@ -385,8 -400,8 +396,8 @@@
           * Geographic CRS from all above properties.
           */
          if (isSpecified) {
-             final Map<String,?> properties = properties(definition, 
Convention.GEOGRAPHIC_CRS_NAME, datum);
+             final Map<String,?> properties = properties(definition, 
Convention.GEOGRAPHIC_CRS_NAME, main, datum);
 -            return decoder.getCRSFactory().createGeographicCRS(properties, 
datum, ensemble,
 +            return decoder.getCRSFactory().createGeographicCRS(properties, 
datum,
                      defaultDefinitions.geographic().getCoordinateSystem());
          } else {
              return defaultDefinitions.geographic();
diff --cc 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
index adf43539ac,ef6d83a2bb..9599d7d43f
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
@@@ -1148,13 -1142,12 +1148,12 @@@ public class MetadataBuilder 
       * If two dates are of the same type, retains the latest one if the type 
name starts with {@code "LATE_"}
       * or retains the earliest date otherwise.
       */
-     private static void addEarliest(final Collection<CitationDate> dates, 
final CitationDate cd, final DateType type) {
 -    private static void addEarliest(final Collection<CitationDate> dates, 
final CitationDate date, final DateType type) {
++    private static void addEarliest(final Collection<CitationDate> dates, 
final DefaultCitationDate date, final DateType type) {
          for (final Iterator<CitationDate> it = dates.iterator(); 
it.hasNext();) {
-             final CitationDate co = it.next();
-             if (type.equals(co.getDateType())) {
-                 final Date oldDate = co.getDate();
-                 final Date newDate = cd.getDate();
-                 if (type.name().startsWith("LATE_") ? oldDate.before(newDate) 
: oldDate.after(newDate)) {
+             final CitationDate existing = it.next();
 -            if (type.equals(existing.getDateType())) {
++            if (type.equals(existing.getDateType()) && existing instanceof 
DefaultCitationDate) {
+                 final int method = type.name().startsWith("LATE_") ? 
TimeMethods.BEFORE : TimeMethods.AFTER;
 -                if (TimeMethods.compareAny(method, 
existing.getReferenceDate(), date.getReferenceDate())) {
++                if (TimeMethods.compareAny(method, ((DefaultCitationDate) 
existing).getReferenceDate(), date.getReferenceDate())) {
                      it.remove();
                      break;
                  }

Reply via email to