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 f173cc01f50286ae1e9b854a39b2b5b1ad95f84f
Merge: b86dbe8b92 c39f9ef256
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Fri Apr 5 22:53:07 2024 +0200

    Merge branch 'geoapi-4.0' into geoapi-3.1, but without the removal of 
deprecated interfaces and methods.

 .../main/org/apache/sis/util/iso/Types.java          |  4 ++--
 .../apache/sis/openoffice/ReferencingFunctions.java  |  1 +
 .../main/org/apache/sis/io/wkt/Convention.java       |  7 +------
 .../org/apache/sis/io/wkt/GeodeticObjectParser.java  |  8 ++++----
 .../main/org/apache/sis/referencing/CRS.java         | 20 ++++++++++++++------
 .../apache/sis/referencing/EPSGFactoryFallback.java  |  1 +
 .../sis/referencing/crs/DefaultEngineeringCRS.java   |  4 ++++
 .../sis/referencing/crs/DefaultGeocentricCRS.java    |  2 +-
 .../apache/sis/referencing/crs/DefaultImageCRS.java  |  6 +++---
 .../sis/referencing/cs/DefaultUserDefinedCS.java     |  4 ++--
 .../sis/referencing/datum/DefaultImageDatum.java     |  6 +++---
 .../referencing/factory/AuthorityFactoryProxy.java   |  1 +
 .../referencing/factory/CommonAuthorityFactory.java  |  1 +
 .../factory/ConcurrentAuthorityFactory.java          |  3 ++-
 .../factory/GeodeticAuthorityFactory.java            |  4 ++--
 .../referencing/factory/GeodeticObjectFactory.java   | 12 ++++++------
 .../referencing/factory/MultiAuthoritiesFactory.java |  3 ++-
 .../sis/referencing/factory/sql/EPSGDataAccess.java  |  1 +
 .../sis/referencing/internal/EPSGFactoryProxy.java   |  2 +-
 .../referencing/internal/EPSGFactoryProxyCRS.java    |  2 +-
 .../apache/sis/referencing/internal/Resources.java   |  5 +++++
 .../sis/referencing/internal/Resources.properties    |  1 +
 .../sis/referencing/internal/Resources_fr.properties |  1 +
 .../operation/AbstractCoordinateOperation.java       |  2 +-
 .../operation/TransformedCoordinateSet.java          |  2 +-
 .../sis/referencing/AuthorityFactoriesTest.java      |  3 ++-
 .../referencing/factory/AuthorityFactoryMock.java    |  4 ++++
 .../operation/provider/ProvidersTest.java            |  1 -
 geoapi/snapshot                                      |  2 +-
 29 files changed, 69 insertions(+), 44 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.openoffice/main/org/apache/sis/openoffice/ReferencingFunctions.java
index 2701a8bf28,2fbfc7b4d3..3883c2dee6
--- 
a/endorsed/src/org.apache.sis.openoffice/main/org/apache/sis/openoffice/ReferencingFunctions.java
+++ 
b/endorsed/src/org.apache.sis.openoffice/main/org/apache/sis/openoffice/ReferencingFunctions.java
@@@ -106,6 -110,6 +106,7 @@@ public class ReferencingFunctions exten
       * @throws FactoryException if an error occurred while creating the 
object.
       * @throws DataStoreException if an error occurred while reading a data 
file.
       */
++    @SuppressWarnings("removal")
      private IdentifiedObject getIdentifiedObject(final String codeOrPath, 
CodeType type)
              throws FactoryException, DataStoreException
      {
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
index 840710fe4c,56001c098e..1b9ca46297
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
@@@ -1563,11 -1564,10 +1563,11 @@@ class GeodeticObjectParser extends Math
       *
       * @param  mode    {@link #FIRST}, {@link #OPTIONAL} or {@link 
#MANDATORY}.
       * @param  parent  the parent element.
-      * @return the {@code "ImageDatum"} element as an {@link ImageDatum} 
object.
+      * @return the {@code "ImageDatum"} element.
       * @throws ParseException if the {@code "ImageDatum"} element cannot be 
parsed.
       */
 -    private DefaultImageDatum parseImageDatum(final int mode, final Element 
parent) throws ParseException {
 +    @SuppressWarnings("deprecation")
 +    private ImageDatum parseImageDatum(final int mode, final Element parent) 
throws ParseException {
          final Element element = parent.pullElement(mode, 
WKTKeywords.ImageDatum, WKTKeywords.IDatum);
          if (element == null) {
              return null;
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/EPSGFactoryFallback.java
index 38a495452a,38a495452a..5970702890
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/EPSGFactoryFallback.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/EPSGFactoryFallback.java
@@@ -264,6 -264,6 +264,7 @@@ final class EPSGFactoryFallback extend
       * Returns a coordinate reference system, datum or ellipsoid for the 
given EPSG code.
       */
      @Override
++    @SuppressWarnings("removal")
      public IdentifiedObject createObject(final String code) throws 
NoSuchAuthorityCodeException {
          return (IdentifiedObject) predefined(code, -1 & ~UNIT);
      }
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
index 416297c6cd,5a62c3e211..940daa1e34
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
@@@ -325,8 -325,9 +325,10 @@@ public class DefaultEngineeringCRS exte
      @XmlElement(name="linearCS")      private LinearCS      getLinearCS()     
 {return getCoordinateSystem(LinearCS     .class);}
      @XmlElement(name="polarCS")       private PolarCS       getPolarCS()      
 {return getCoordinateSystem(PolarCS      .class);}
      @XmlElement(name="sphericalCS")   private SphericalCS   getSphericalCS()  
 {return getCoordinateSystem(SphericalCS  .class);}
+ 
+     // Types that do not exist anymore in lastest ISO 19111 standard.
 -    @XmlElement(name="userDefinedCS") private DefaultUserDefinedCS 
getUserDefinedCS() {return getCoordinateSystem(DefaultUserDefinedCS.class);}
 +    @Deprecated(since = "1.5")
 +    @XmlElement(name="userDefinedCS") private UserDefinedCS 
getUserDefinedCS() {return getCoordinateSystem(UserDefinedCS.class);}
  
      /**
       * Invoked by JAXB at unmarshalling time.
@@@ -337,8 -338,9 +339,10 @@@
      private void setLinearCS     (final LinearCS      cs) 
{super.setCoordinateSystem("linearCS",      cs);}
      private void setPolarCS      (final PolarCS       cs) 
{super.setCoordinateSystem("polarCS",       cs);}
      private void setSphericalCS  (final SphericalCS   cs) 
{super.setCoordinateSystem("sphericalCS",   cs);}
+ 
+     // Types that do not exist anymore in lastest ISO 19111 standard.
 -    private void setUserDefinedCS(final DefaultUserDefinedCS cs) 
{super.setCoordinateSystem("userDefinedCS", cs);}
 +    @Deprecated(since = "1.5")
 +    private void setUserDefinedCS(final UserDefinedCS cs) 
{super.setCoordinateSystem("userDefinedCS", cs);}
  
      /**
       * The types for which a specialized method exists.
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java
index 6eff39afc2,e9e58b45d8..3a5f1d5a7d
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java
@@@ -68,7 -69,7 +68,7 @@@ import org.apache.sis.io.wkt.Formatter
      "datum"
  })
  @XmlRootElement(name = "ImageCRS")
- public class DefaultImageCRS extends AbstractCRS implements ImageCRS {
 -public final class DefaultImageCRS extends AbstractCRS {
++public final class DefaultImageCRS extends AbstractCRS implements ImageCRS {
      /**
       * Serial number for inter-operability with different versions.
       */
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java
index 677feb5fb1,304f1a38dd..86b26fc3d1
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java
@@@ -48,10 -47,10 +48,10 @@@ import org.opengis.referencing.cs.Coord
   *
   * @deprecated The {@code UserDefinedCS} class has been removed from ISO 
19111:2019.
   */
- @Deprecated(since = "1.5")
+ @Deprecated(since="1.5", forRemoval=true)   // Actually to be moved to an 
internal package for GML and WKT purposes.
  @XmlType(name = "UserDefinedCSType")
  @XmlRootElement(name = "UserDefinedCS")
- public class DefaultUserDefinedCS extends AbstractCS implements UserDefinedCS 
{
 -public final class DefaultUserDefinedCS extends AbstractCS {
++public final class DefaultUserDefinedCS extends AbstractCS implements 
UserDefinedCS {
      /**
       * Serial number for inter-operability with different versions.
       */
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java
index 9100a447af,2dabc1c611..819c0cac25
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java
@@@ -56,10 -55,10 +56,10 @@@ import org.opengis.metadata.Identifier
   *
   * @since 0.4
   */
- @Deprecated(since = "1.5")
+ @Deprecated(since="1.5", forRemoval=true)   // Actually to be moved to an 
internal package for GML and WKT purposes.
  @XmlType(name = "ImageDatumType")
  @XmlRootElement(name = "ImageDatum")
- public class DefaultImageDatum extends AbstractDatum implements ImageDatum {
 -public final class DefaultImageDatum extends AbstractDatum {
++public final class DefaultImageDatum extends AbstractDatum implements 
ImageDatum {
      /**
       * Serial number for inter-operability with different versions.
       */
@@@ -198,19 -149,10 +198,19 @@@
      @Override
      public boolean equals(final Object object, final ComparisonMode mode) {
          if (object == this) {
-             return true;                                                // 
Slight optimization.
+             return true;        // Slight optimization.
          }
 -        return (object instanceof DefaultImageDatum) &&
 -                Objects.equals(pixelInCell, ((DefaultImageDatum) 
object).pixelInCell);
 +        if (!super.equals(object, mode)) {
 +            return false;
 +        }
 +        switch (mode) {
 +            case STRICT: {
 +                return Objects.equals(pixelInCell, ((DefaultImageDatum) 
object).pixelInCell);
 +            }
 +            default: {
 +                return Objects.equals(getPixelInCell(), ((ImageDatum) 
object).getPixelInCell());
 +            }
 +        }
      }
  
      /**
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
index 4f7a0b5c3d,abe367a11d..d2dea321f7
--- 
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,10 -190,16 +190,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) {
 -            @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);
              }
      };
  
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java
index 76a29a557f,76a29a557f..089d0277d0
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java
@@@ -456,6 -456,6 +456,7 @@@ public class CommonAuthorityFactory ext
       * @throws FactoryException if the object creation failed.
       */
      @Override
++    @SuppressWarnings("removal")
      public IdentifiedObject createObject(final String code) throws 
FactoryException {
          return createCoordinateReferenceSystem(code);
      }
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
index f32cffccf1,fa6331cab3..200c5d602d
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
@@@ -873,6 -873,6 +873,7 @@@ public abstract class ConcurrentAuthori
       * @throws FactoryException if the object creation failed.
       */
      @Override
++    @SuppressWarnings("removal")
      public IdentifiedObject createObject(final String code) throws 
FactoryException {
          return create(AuthorityFactoryProxy.OBJECT, code);
      }
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
index 981f93e539,338d80a203..2158b76e30
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
@@@ -211,8 -211,6 +211,8 @@@ public abstract class GeodeticAuthority
       *
       * @see org.apache.sis.referencing.AbstractIdentifiedObject
       */
 +    @Override
-     @SuppressWarnings("deprecation")
++    @SuppressWarnings("removal")
      public abstract IdentifiedObject createObject(String code) throws 
NoSuchAuthorityCodeException, FactoryException;
  
      /**
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
index ca2bcea3de,a3a645da73..4f668f6f27
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
@@@ -901,6 -901,6 +901,7 @@@ public class MultiAuthoritiesFactory ex
       * @throws FactoryException if the object creation failed.
       */
      @Override
++    @SuppressWarnings("removal")
      public IdentifiedObject createObject(final String code) throws 
FactoryException {
          return create(AuthorityFactoryProxy.OBJECT, code);
      }
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
index 8f17efbc4d,8f17efbc4d..4ccec2c8bf
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
@@@ -1255,6 -1255,6 +1255,7 @@@ codes:  for (int i=0; i<codes.length; i
       * @see #createCoordinateSystem(String)
       */
      @Override
++    @SuppressWarnings("removal")
      public synchronized IdentifiedObject createObject(final String code)
              throws NoSuchAuthorityCodeException, FactoryException
      {
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxy.java
index d6eaeb701f,a4a079fcdf..60fdca2540
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxy.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxy.java
@@@ -65,12 -65,6 +65,12 @@@ public abstract class EPSGFactoryProxy 
          return factory().getDescriptionText(type, code);
      }
  
 +    @Override
-     @SuppressWarnings("deprecation")
++    @SuppressWarnings("removal")
 +    public final IdentifiedObject createObject(String code) throws 
FactoryException {
 +        return factory().createObject(code);
 +    }
 +
      @Override
      public final Set<String> getAuthorityCodes(Class<? extends 
IdentifiedObject> type) throws FactoryException {
          return factory().getAuthorityCodes(type);
diff --cc 
endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/AuthorityFactoryMock.java
index eb3a284b6b,010e8db29d..291317e1d0
--- 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/AuthorityFactoryMock.java
+++ 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/AuthorityFactoryMock.java
@@@ -125,6 -128,6 +128,7 @@@ public final class AuthorityFactoryMoc
       * @throws NoSuchAuthorityCodeException if the given code is unknown.
       */
      @Override
++    @SuppressWarnings("removal")
      public IdentifiedObject createObject(final String code) throws 
NoSuchAuthorityCodeException {
          assertFalse(isClosed());
          final int n;
diff --cc geoapi/snapshot
index 41f2ea73ab,622eb1227c..4235801918
--- a/geoapi/snapshot
+++ b/geoapi/snapshot
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit 41f2ea73ab004c3f5db8f19b63388fcac4875b82
 -Subproject commit 622eb1227c8c04cf243747f3426e66565453cbb9
++Subproject commit 4235801918a06f807a93b490fcc12d060f81004e

Reply via email to