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