This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 6c50bd371c Update for the removal of `GeneralDerivedCRS` from GeoAPI 4.0. This is replaced by direct usage of `DerivedCRS`. 6c50bd371c is described below commit 6c50bd371c210bb3ee28525f9abe0f2ad59de146 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Tue Apr 16 14:42:06 2024 +0200 Update for the removal of `GeneralDerivedCRS` from GeoAPI 4.0. This is replaced by direct usage of `DerivedCRS`. --- .../org/apache/sis/buildtools/book/GEOAPI.lst | 1 - .../geometry/wrapper/SpatialOperationContext.java | 10 +++---- .../apache/sis/io/wkt/GeodeticObjectParser.java | 2 +- .../org/apache/sis/io/wkt/MathTransformParser.java | 2 +- .../main/org/apache/sis/io/wkt/WKTFormat.java | 4 +-- .../main/org/apache/sis/referencing/CRS.java | 12 ++++---- .../apache/sis/referencing/crs/AbstractCRS.java | 7 ++--- .../sis/referencing/crs/AbstractDerivedCRS.java | 12 ++++---- .../sis/referencing/crs/DefaultDerivedCRS.java | 5 ++-- .../referencing/datum/DefaultPrimeMeridian.java | 4 +-- .../referencing/factory/AuthorityFactoryProxy.java | 2 +- .../factory/MultiAuthoritiesFactory.java | 2 +- .../factory/sql/CoordinateOperationSet.java | 6 ++-- .../referencing/factory/sql/EPSGCodeFinder.java | 6 ++-- .../operation/AbstractCoordinateOperation.java | 19 ++++++------ .../operation/CoordinateOperationFinder.java | 34 +++++++++++----------- .../operation/CoordinateOperationRegistry.java | 5 ++-- .../referencing/operation/DefaultConversion.java | 8 ++--- .../operation/DefaultOperationMethod.java | 6 ++-- .../referencing/operation/SubOperationInfo.java | 4 +-- .../operation/transform/ConcatenatedTransform.java | 2 +- .../referencing/privy/CoordinateOperations.java | 6 ++-- .../sis/referencing/privy/DefinitionVerifier.java | 8 ++--- .../referencing/privy/ReferencingUtilities.java | 5 ++-- .../report/CoordinateOperationMethods.java | 6 ++-- .../report/CoordinateReferenceSystems.java | 5 ++-- .../integration/CoordinateReferenceSystemTest.java | 5 ++-- geoapi/snapshot | 2 +- .../src/org.apache.sis.gui/bundle/conf/imports.jsh | 1 - .../org/apache/sis/gui/referencing/CRSChooser.java | 7 ++--- 30 files changed, 93 insertions(+), 105 deletions(-) diff --git a/buildSrc/src/main/resources/org/apache/sis/buildtools/book/GEOAPI.lst b/buildSrc/src/main/resources/org/apache/sis/buildtools/book/GEOAPI.lst index dfea7437fb..ca0059bed2 100644 --- a/buildSrc/src/main/resources/org/apache/sis/buildtools/book/GEOAPI.lst +++ b/buildSrc/src/main/resources/org/apache/sis/buildtools/book/GEOAPI.lst @@ -79,7 +79,6 @@ FormatConsistency Formula GCP GCPCollection -GeneralDerivedCRS GeneralParameterDescriptor GeneralParameterValue GeodeticCRS diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/SpatialOperationContext.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/SpatialOperationContext.java index 871ce7619b..c372eff258 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/SpatialOperationContext.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/SpatialOperationContext.java @@ -30,7 +30,7 @@ import org.opengis.referencing.cs.CoordinateSystem; import org.opengis.referencing.cs.CoordinateSystemAxis; import org.opengis.referencing.crs.ProjectedCRS; import org.opengis.referencing.crs.GeographicCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.OperationMethod; import org.opengis.referencing.operation.TransformException; @@ -319,8 +319,8 @@ select: if (commonCRS == null) { if (Units.isLinear(systemUnit) && targetCRS instanceof GeographicCRS) { return Projector.instance().create((GeographicCRS) targetCRS, geometry.getCentroid(), geometryCRS); } - if (targetCRS instanceof GeneralDerivedCRS) { - targetCRS = ((GeneralDerivedCRS) targetCRS).getBaseCRS(); + if (targetCRS instanceof DerivedCRS) { + targetCRS = ((DerivedCRS) targetCRS).getBaseCRS(); } else { throw new IncommensurableException(Errors.format(Errors.Keys.InconsistentUnitsForCS_1, systemUnit)); } @@ -381,8 +381,8 @@ select: if (commonCRS == null) { * Note that a CRS can be both derived and geographic, so we need to do this check first in order to * avoid derived geographic CRS such as the ones having rotated poles. */ - while (geometryCRS instanceof GeneralDerivedCRS) { - final GeneralDerivedCRS g = (GeneralDerivedCRS) geometryCRS; + while (geometryCRS instanceof DerivedCRS) { + final var g = (DerivedCRS) geometryCRS; centroid = g.getConversionFromBase().getMathTransform().inverse().transform(centroid, centroid); geometryCRS = g.getBaseCRS(); } diff --git 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 index 9486ec792b..4fb5f64603 100644 --- 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 @@ -1708,7 +1708,7 @@ class GeodeticObjectParser extends MathTransformParser implements Comparator<Coo * @param parent the parent element. * @param dimension the minimal number of dimensions (usually 2). * @param csType the default coordinate system type, or {@code null} if unknown. - * Should be non-null only when parsing a {@link GeneralDerivedCRS#getBaseCRS()} component. + * Should be non-null only when parsing a {@link DerivedCRS#getBaseCRS()} component. * @return the {@code "GeodeticCRS"} element as a {@link GeographicCRS} or {@link GeodeticCRS} object. * @throws ParseException if the {@code "GeodeticCRS"} element cannot be parsed. * diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/MathTransformParser.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/MathTransformParser.java index 79815a42b8..0e2c75750f 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/MathTransformParser.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/MathTransformParser.java @@ -528,7 +528,7 @@ class MathTransformParser extends AbstractParser { /** * Returns the operation method for the last math transform parsed. This is used by - * {@link GeodeticObjectParser} in order to built {@link org.opengis.referencing.crs.DerivedCRS}. + * {@link GeodeticObjectParser} in order to build {@link org.opengis.referencing.crs.DerivedCRS}. */ final OperationMethod getOperationMethod() { if (lastMethod == null) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java index 71eeef9f3d..e3dd12768b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java @@ -109,8 +109,8 @@ import org.opengis.metadata.Identifier; * <li><strong>The WKT format is not lossless!</strong> * Objects formatted by {@code WKTFormat} are not guaranteed to be identical after parsing. * Some metadata may be lost or altered, but the coordinate operations between two CRS should produce - * the same numerical results provided that the two CRS were formatted independently (do not rely on - * {@link org.opengis.referencing.crs.GeneralDerivedCRS#getConversionFromBase()} for instance).</li> + * the same numerical results provided that the two CRS were formatted independently + * (not as inner element of another WKT).</li> * <li>Instances of this class are not synchronized for multi-threading. * It is recommended to create separated format instances for each thread. * If multiple threads access a {@code WKTFormat} concurrently, it must be synchronized externally.</li> diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java index cf564ec9f8..5cc2248a7b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java @@ -38,9 +38,9 @@ import org.opengis.referencing.crs.SingleCRS; import org.opengis.referencing.crs.CompoundCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CRSAuthorityFactory; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.GeodeticCRS; import org.opengis.referencing.crs.GeographicCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; import org.opengis.referencing.crs.ProjectedCRS; import org.opengis.referencing.crs.TemporalCRS; import org.opengis.referencing.crs.VerticalCRS; @@ -479,7 +479,7 @@ public final class CRS extends Static { * Suggests a coordinate reference system which could be a common target for coordinate operations having the * given sources. This method compares the {@linkplain #getGeographicBoundingBox(CoordinateReferenceSystem) * domain of validity} of all given CRSs. If a CRS has a domain of validity that contains the domain of all other - * CRS, then that CRS is returned. Otherwise this method verifies if a {@linkplain GeneralDerivedCRS#getBaseCRS() + * CRS, then that CRS is returned. Otherwise this method verifies if a {@linkplain DerivedCRS#getBaseCRS() * base CRS} (usually a {@linkplain org.apache.sis.referencing.crs.DefaultGeographicCRS geographic CRS} instance) * would be suitable. If no suitable CRS is found, then this method returns {@code null}. * @@ -605,8 +605,8 @@ public final class CRS extends Static { for (int i=0; i < derivedCRS.length; i++) { GeographicBoundingBox bbox = null; final CoordinateReferenceSystem crs = sourceCRS[i]; - if (crs instanceof GeneralDerivedCRS) { - final SingleCRS baseCRS = ((GeneralDerivedCRS) crs).getBaseCRS(); + if (crs instanceof DerivedCRS) { + final SingleCRS baseCRS = ((DerivedCRS) crs).getBaseCRS(); bbox = getGeographicBoundingBox(baseCRS); if (bbox == null && bestCRS == null && baseCRS instanceof GeodeticCRS) { bestCRS = baseCRS; // Fallback to be used if we don't find anything better. @@ -1170,8 +1170,8 @@ public final class CRS extends Static { * * In case of doubt, this method conservatively returns {@code false}. * - * @todo Future SIS implementation may extend the above conditions list. For example, a radar station could - * use a polar coordinate system in a <code>DerivedCRS</code> instance based on a projected CRS. + * @todo Future SIS implementation may extend the above conditions list. For example, a radar station + * could use a polar coordinate system in a {@code DerivedCRS} instance based on a projected CRS. * Conversely, a future SIS versions may impose more conditions on <code>EngineeringCRS</code>. * See <a href="http://issues.apache.org/jira/browse/SIS-161">SIS-161</a>. * diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java index 38c5dff592..7c684047b5 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java @@ -30,7 +30,7 @@ import org.opengis.referencing.cs.AffineCS; import org.opengis.referencing.cs.CartesianCS; import org.opengis.referencing.cs.CoordinateSystem; import org.opengis.referencing.crs.SingleCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.apache.sis.referencing.AbstractReferenceSystem; import org.apache.sis.referencing.cs.AbstractCS; @@ -473,15 +473,14 @@ public class AbstractCRS extends AbstractReferenceSystem implements CoordinateRe * {@link AbstractDerivedCRS}. In such case, the coordinate system axes shall not be formatted. * * <p>This method should return {@code true} when {@code this} CRS is the value returned by - * {@link GeneralDerivedCRS#getBaseCRS()} (typically {@link AbstractDerivedCRS#getBaseCRS()}). + * {@link DerivedCRS#getBaseCRS()} (typically {@link AbstractDerivedCRS#getBaseCRS()}). * Since the base CRS is the only CRS enclosed in derived CRS, we should have no ambiguity * (assuming that the user did not created some weird subclass).</p> * * <p>This method should be invoked for WKT 2 formatting only.</p> */ - @SuppressWarnings("deprecation") static boolean isBaseCRS(final Formatter formatter) { - return formatter.getEnclosingElement(1) instanceof GeneralDerivedCRS; + return formatter.getEnclosingElement(1) instanceof DerivedCRS; } /** diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractDerivedCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractDerivedCRS.java index 759890f96f..e27652217b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractDerivedCRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractDerivedCRS.java @@ -25,7 +25,7 @@ import jakarta.xml.bind.annotation.XmlRootElement; import org.opengis.util.FactoryException; import org.opengis.referencing.datum.Datum; import org.opengis.referencing.crs.SingleCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.cs.CoordinateSystem; import org.opengis.referencing.operation.OperationMethod; @@ -60,7 +60,7 @@ import org.apache.sis.util.resources.Errors; DefaultDerivedCRS.class, DefaultProjectedCRS.class }) -abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS implements GeneralDerivedCRS { +abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS implements DerivedCRS { /** * Serial number for inter-operability with different versions. */ @@ -68,7 +68,7 @@ abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS impl /** * The conversion from the {@linkplain #getBaseCRS() base CRS} to this CRS. - * The base CRS of this {@code GeneralDerivedCRS} is {@link Conversion#getSourceCRS()}. + * The base CRS of this {@code DerivedCRS} is {@link Conversion#getSourceCRS()}. * * <p><b>Consider this field as final!</b> * This field is modified only at unmarshalling time by {@link #setConversionFromBase(Conversion)}</p> @@ -147,7 +147,7 @@ abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS impl * * @param crs the coordinate reference system to copy. */ - AbstractDerivedCRS(final GeneralDerivedCRS crs) { + AbstractDerivedCRS(final DerivedCRS crs) { super(crs); conversionFromBase = createConversionFromBase(null, crs.getBaseCRS(), crs.getConversionFromBase()); } @@ -187,7 +187,7 @@ abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS impl * Returns the GeoAPI interface implemented by this class. */ @Override - public abstract Class<? extends GeneralDerivedCRS> getInterface(); + public abstract Class<? extends DerivedCRS> getInterface(); /** * Returns the datum of the {@linkplain #getBaseCRS() base CRS}. @@ -241,7 +241,7 @@ abstract class AbstractDerivedCRS<C extends Conversion> extends AbstractCRS impl return Utilities.deepEquals( strict ? conversionFromBase : getConversionFromBase(), strict ? ((AbstractDerivedCRS) object).conversionFromBase - : ((GeneralDerivedCRS) object).getConversionFromBase(), mode); + : ((DerivedCRS) object).getConversionFromBase(), mode); } finally { Semaphores.clear(Semaphores.CONVERSION_AND_CRS); } diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java index 21aec9e2b5..631d67866d 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java @@ -88,9 +88,8 @@ import org.opengis.referencing.cs.ParametricCS; * <h2>Immutability and thread safety</h2> * This base class is immutable and thus thread-safe if the property <em>values</em> (not necessarily the map itself) * given to the constructor are also immutable. Most SIS subclasses and related classes are immutable under similar - * conditions. This means that unless otherwise noted in the javadoc, {@code GeneralDerivedCRS} instances created - * using only SIS factories and static constants can be shared by many objects and passed between threads without - * synchronization. + * conditions. This means that unless otherwise noted in the javadoc, {@code DerivedCRS} instances created using only + * SIS factories and static constants can be shared by many objects and passed between threads without synchronization. * * @author Martin Desruisseaux (IRD, Geomatys) * @author Johann Sorel (Geomatys) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java index b9ba5f0f7b..46cca6c3ed 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java @@ -26,7 +26,7 @@ import javax.measure.quantity.Angle; import org.opengis.util.GenericName; import org.opengis.util.InternationalString; import org.opengis.referencing.datum.PrimeMeridian; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.apache.sis.referencing.AbstractIdentifiedObject; import org.apache.sis.referencing.privy.Formulas; import org.apache.sis.referencing.privy.WKTUtilities; @@ -327,7 +327,7 @@ public class DefaultPrimeMeridian extends AbstractIdentifiedObject implements Pr * @see org.apache.sis.referencing.crs.AbstractCRS#isBaseCRS(Formatter) */ private static boolean isElementOfBaseCRS(final Formatter formatter) { - return formatter.getEnclosingElement(2) instanceof GeneralDerivedCRS; + return formatter.getEnclosingElement(2) instanceof DerivedCRS; } /** diff --git 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 index 7893b80b77..6e13333fcd 100644 --- 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 @@ -541,7 +541,7 @@ abstract class AuthorityFactoryProxy<T> { * This field can be declared only after all the above constants. */ static final AuthorityFactoryProxy<?>[] PROXIES = new AuthorityFactoryProxy<?>[] { - PROJECTED_CRS, // Special kind of GeneralDerivedCRS. + PROJECTED_CRS, // Special kind of DerivedCRS. GEOGRAPHIC_CRS, // Special kind of GeodeticCRS. GEODETIC_CRS, VERTICAL_CRS, diff --git 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 index 0bcfff9048..56005e8379 100644 --- 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 @@ -1680,7 +1680,7 @@ public class MultiAuthoritiesFactory extends GeodeticAuthorityFactory implements * @return the combined CRS, or {@code null} if the given information are not sufficient. * @throws FactoryException if an error occurred while creating the combined CRS. */ - private static GeneralDerivedCRS combine(final CoordinateReferenceSystem baseCRS, final Conversion fromBase, + private static DerivedCRS combine(final CoordinateReferenceSystem baseCRS, final Conversion fromBase, final CoordinateSystem cs) throws FactoryException { if (baseCRS != null && fromBase.getSourceCRS() == null && fromBase.getTargetCRS() == null) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/CoordinateOperationSet.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/CoordinateOperationSet.java index 63cd3c8159..f53666783b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/CoordinateOperationSet.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/CoordinateOperationSet.java @@ -21,7 +21,7 @@ import java.util.HashMap; import org.opengis.metadata.Identifier; import org.opengis.util.FactoryException; import org.opengis.referencing.AuthorityFactory; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CRSAuthorityFactory; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.CoordinateOperation; @@ -122,8 +122,8 @@ final class CoordinateOperationSet extends IdentifiedObjectSet<CoordinateOperati */ CoordinateReferenceSystem crs; crs = ((CRSAuthorityFactory) factory).createCoordinateReferenceSystem(String.valueOf(base)); - if (crs instanceof GeneralDerivedCRS) { - return ((GeneralDerivedCRS) crs).getConversionFromBase(); + if (crs instanceof DerivedCRS) { + return ((DerivedCRS) crs).getConversionFromBase(); } } /* diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGCodeFinder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGCodeFinder.java index 04d74233f7..c3b1bfa3f0 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGCodeFinder.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGCodeFinder.java @@ -32,7 +32,7 @@ import org.opengis.referencing.crs.CompoundCRS; import org.opengis.referencing.crs.GeodeticCRS; import org.opengis.referencing.crs.TemporalCRS; import org.opengis.referencing.crs.VerticalCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.cs.CoordinateSystem; import org.opengis.referencing.datum.Datum; import org.opengis.referencing.datum.Ellipsoid; @@ -317,8 +317,8 @@ crs: if (isInstance(CoordinateReferenceSystem.class, object)) { * ORDER BY COORD_REF_SYS_CODE */ final Condition filter; - if (object instanceof GeneralDerivedCRS) { // No need to use isInstance(Class, Object) from here. - filter = dependencies("SOURCE_GEOGCRS_CODE", SingleCRS.class, ((GeneralDerivedCRS) object).getBaseCRS(), true); + if (object instanceof DerivedCRS) { // No need to use isInstance(Class, Object) from here. + filter = dependencies("SOURCE_GEOGCRS_CODE", SingleCRS.class, ((DerivedCRS) object).getBaseCRS(), true); } else if (object instanceof GeodeticCRS) { filter = dependencies("DATUM_CODE", GeodeticDatum.class, ((GeodeticCRS) object).getDatum(), true); } else if (object instanceof VerticalCRS) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java index b75d81ee06..75910575f1 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java @@ -34,8 +34,8 @@ import org.opengis.util.InternationalString; import org.opengis.metadata.Identifier; import org.opengis.metadata.quality.PositionalAccuracy; import org.opengis.referencing.IdentifiedObject; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.GeographicCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.ConcatenatedOperation; import org.opengis.referencing.operation.CoordinateOperation; @@ -485,25 +485,24 @@ check: for (int isTarget=0; ; isTarget++) { // 0 == source check; 1 * But SIS supports also defining conversions with non-null CRS provided that: * * <ul> - * <li>{@link GeneralDerivedCRS#getBaseCRS()} is the {@linkplain #getSourceCRS() source CRS} of this operation, and</li> - * <li>{@link GeneralDerivedCRS#getConversionFromBase()} is this operation instance.</li> + * <li>{@link DerivedCRS#getBaseCRS()} is the {@linkplain #getSourceCRS() source CRS} of this operation, and</li> + * <li>{@link DerivedCRS#getConversionFromBase()} is this operation instance.</li> * </ul> * * When this method returns {@code true}, the source and target CRS are not marshalled in XML documents. * * @return {@code true} if this coordinate operation is for the definition of a derived or projected CRS. */ - @SuppressWarnings("deprecation") public boolean isDefiningConversion() { /* * Trick: we do not need to verify if (this instanceof Conversion) because: * - Only DefaultConversion constructor accepts null source and target CRS. - * - GeneralDerivedCRS.getConversionFromBase() return type is Conversion. + * - DerivedCRS.getConversionFromBase() return type is Conversion. */ return (sourceCRS == null && targetCRS == null) - || ((targetCRS instanceof GeneralDerivedCRS) - && ((GeneralDerivedCRS) targetCRS).getBaseCRS() == sourceCRS - && ((GeneralDerivedCRS) targetCRS).getConversionFromBase() == this); + || ((targetCRS instanceof DerivedCRS) + && ((DerivedCRS) targetCRS).getBaseCRS() == sourceCRS + && ((DerivedCRS) targetCRS).getConversionFromBase() == this); } /** @@ -768,8 +767,8 @@ check: for (int isTarget=0; ; isTarget++) { // 0 == source check; 1 * corresponding wraparound axis in the source CRS because the <em>easting</em> axis in projected CRS does not * have a wraparound range meaning. We could argue that * {@linkplain org.apache.sis.referencing.cs.DefaultCoordinateSystemAxis#getDirection() axis directions} match, - * but such matching is not guaranteed to exist since {@code ProjectedCRS} is a special case of - * {@code GeneralDerivedCRS} and derived CRS can have rotations. + * but such matching is not guaranteed to exist since {@code ProjectedCRS} is a special case of {@code DerivedCRS} + * and derived CRS can have rotations. * * <h4>Default implementation</h4> * The default implementation infers this set by inspecting the source and target coordinate system axes. diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationFinder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationFinder.java index 985ad9e777..4321c63a26 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationFinder.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationFinder.java @@ -276,10 +276,10 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { //// Derived → any Single CRS //// //// //// //////////////////////////////////////////////////////////////////////////////// - if (sourceCRS instanceof GeneralDerivedCRS) { - final GeneralDerivedCRS source = (GeneralDerivedCRS) sourceCRS; - if (targetCRS instanceof GeneralDerivedCRS) { - return createOperationStep(source, (GeneralDerivedCRS) targetCRS); + if (sourceCRS instanceof DerivedCRS) { + final var source = (DerivedCRS) sourceCRS; + if (targetCRS instanceof DerivedCRS) { + return createOperationStep(source, (DerivedCRS) targetCRS); } if (targetCRS instanceof SingleCRS) { return createOperationStep(source, (SingleCRS) targetCRS); @@ -290,8 +290,8 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { //// any Single CRS → Derived //// //// //// //////////////////////////////////////////////////////////////////////////////// - if (targetCRS instanceof GeneralDerivedCRS) { - final GeneralDerivedCRS target = (GeneralDerivedCRS) targetCRS; + if (targetCRS instanceof DerivedCRS) { + final var target = (DerivedCRS) targetCRS; if (sourceCRS instanceof SingleCRS) { return createOperationStep((SingleCRS) sourceCRS, target); } @@ -367,13 +367,13 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { /** * Creates operations from an arbitrary single CRS to a derived coordinate reference system. * Conversions from {@code GeographicCRS} to {@code ProjectedCRS} are also handled by this method, - * since projected CRS are a special kind of {@code GeneralDerivedCRS}. + * since projected CRS are a special kind of {@code DerivedCRS}. * * <p>The default implementation constructs the following operation chain:</p> - * <blockquote><code>sourceCRS → {@linkplain GeneralDerivedCRS#getBaseCRS() baseCRS} → targetCRS</code></blockquote> + * <blockquote><code>sourceCRS → {@linkplain DerivedCRS#getBaseCRS() baseCRS} → targetCRS</code></blockquote> * * where the conversion from {@code baseCRS} to {@code targetCRS} is obtained from - * <code>targetCRS.{@linkplain GeneralDerivedCRS#getConversionFromBase() getConversionFromBase()}</code>. + * <code>targetCRS.{@linkplain DerivedCRS#getConversionFromBase() getConversionFromBase()}</code>. * * <p>This method returns only <em>one</em> step for a chain of concatenated operations (to be built by the caller). * But a list is returned because the same step may be implemented by different operation methods. Only one element @@ -385,7 +385,7 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { * @throws FactoryException if the operation cannot be constructed. */ protected List<CoordinateOperation> createOperationStep(final SingleCRS sourceCRS, - final GeneralDerivedCRS targetCRS) + final DerivedCRS targetCRS) throws FactoryException { final List<CoordinateOperation> operations = createOperations(sourceCRS, targetCRS.getBaseCRS()); @@ -403,13 +403,13 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { /** * Creates an operation from a derived CRS to an arbitrary single coordinate reference system. * Conversions from {@code ProjectedCRS} to {@code GeographicCRS} are also handled by this method, - * since projected CRS are a special kind of {@code GeneralDerivedCRS}. + * since projected CRS are a special kind of {@code DerivedCRS}. * * <p>The default implementation constructs the following operation chain:</p> - * <blockquote><code>sourceCRS → {@linkplain GeneralDerivedCRS#getBaseCRS() baseCRS} → targetCRS</code></blockquote> + * <blockquote><code>sourceCRS → {@linkplain DerivedCRS#getBaseCRS() baseCRS} → targetCRS</code></blockquote> * * where the conversion from {@code sourceCRS} to {@code baseCRS} is obtained from the inverse of - * <code>sourceCRS.{@linkplain GeneralDerivedCRS#getConversionFromBase() getConversionFromBase()}</code>. + * <code>sourceCRS.{@linkplain DerivedCRS#getConversionFromBase() getConversionFromBase()}</code>. * * <p>This method returns only <em>one</em> step for a chain of concatenated operations (to be built by the caller). * But a list is returned because the same step may be implemented by different operation methods. Only one element @@ -420,7 +420,7 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { * @return a coordinate operation from {@code sourceCRS} to {@code targetCRS}. * @throws FactoryException if the operation cannot be constructed. */ - protected List<CoordinateOperation> createOperationStep(final GeneralDerivedCRS sourceCRS, + protected List<CoordinateOperation> createOperationStep(final DerivedCRS sourceCRS, final SingleCRS targetCRS) throws FactoryException { @@ -462,8 +462,8 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { * @return a coordinate operation from {@code sourceCRS} to {@code targetCRS}. * @throws FactoryException if the operation cannot be constructed. */ - protected List<CoordinateOperation> createOperationStep(final GeneralDerivedCRS sourceCRS, - final GeneralDerivedCRS targetCRS) + protected List<CoordinateOperation> createOperationStep(final DerivedCRS sourceCRS, + final DerivedCRS targetCRS) throws FactoryException { final List<CoordinateOperation> operations = createOperations(sourceCRS.getBaseCRS(), targetCRS.getBaseCRS()); @@ -1267,7 +1267,7 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry { * @param crs the CRS having a conversion that cannot be inverted. * @return a default error message. */ - private String canNotInvert(final GeneralDerivedCRS crs) { + private String canNotInvert(final DerivedCRS crs) { return resources().getString(Resources.Keys.NonInvertibleOperation_1, label(crs.getConversionFromBase())); } } diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java index e9f1cc3288..def3586a9b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java @@ -41,7 +41,7 @@ import org.opengis.parameter.ParameterValueGroup; import org.opengis.referencing.IdentifiedObject; import org.opengis.referencing.NoSuchAuthorityCodeException; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.GeodeticCRS; import org.opengis.referencing.crs.SingleCRS; import org.opengis.referencing.crs.CompoundCRS; @@ -424,9 +424,8 @@ class CoordinateOperationRegistry { * axis order, we want to check also the coordinate operations using (latitude, longitude) axis order * because they may be the only ones available.</p> */ - @SuppressWarnings("deprecation") private static boolean isEasySearch(final CoordinateReferenceSystem crs) { - if (crs instanceof GeneralDerivedCRS) { + if (crs instanceof DerivedCRS) { return false; } if (crs instanceof CompoundCRS) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConversion.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConversion.java index 0c5331ca99..6ec4bc2908 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConversion.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConversion.java @@ -28,7 +28,7 @@ import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.MathTransformFactory; import org.opengis.referencing.operation.Matrix; import org.opengis.referencing.crs.SingleCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.datum.Datum; import org.apache.sis.referencing.cs.CoordinateSystems; @@ -223,7 +223,6 @@ public class DefaultConversion extends AbstractSingleOperation implements Conver * @param factory the factory to use for creating a transform from the parameters or for performing axis changes. * @param actual an array of length 1 where to store the actual operation method used by the math transform factory. */ - @SuppressWarnings("deprecation") DefaultConversion(final Conversion definition, final CoordinateReferenceSystem source, final CoordinateReferenceSystem target, @@ -250,7 +249,7 @@ public class DefaultConversion extends AbstractSingleOperation implements Conver * method in invoked, and attempts to use it can cause NullPointerException. */ final DefaultMathTransformFactory.Context context; - if (target instanceof GeneralDerivedCRS) { + if (target instanceof DerivedCRS) { context = ReferencingUtilities.createTransformContext(source, null); context.setTarget(target.getCoordinateSystem()); // Using `target` would be unsafe here. } else { @@ -394,7 +393,6 @@ public class DefaultConversion extends AbstractSingleOperation implements Conver * * @see DefaultMathTransformFactory#createParameterizedTransform(ParameterValueGroup, DefaultMathTransformFactory.Context) */ - @SuppressWarnings("deprecation") public <T extends Conversion> T specialize(final Class<T> baseType, final CoordinateReferenceSystem sourceCRS, final CoordinateReferenceSystem targetCRS, MathTransformFactory factory) throws FactoryException @@ -408,7 +406,7 @@ public class DefaultConversion extends AbstractSingleOperation implements Conver * a dedicated kind of operations, namely Transformation. */ ensureCompatibleDatum("sourceCRS", super.getSourceCRS(), sourceCRS); - if (!(targetCRS instanceof GeneralDerivedCRS)) { + if (!(targetCRS instanceof DerivedCRS)) { ensureCompatibleDatum("targetCRS", super.getTargetCRS(), targetCRS); } else { /* diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java index 72722234ce..f8f1f15bf3 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultOperationMethod.java @@ -33,7 +33,7 @@ import org.opengis.referencing.operation.Projection; import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.OperationMethod; import org.opengis.referencing.operation.SingleOperation; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.parameter.GeneralParameterDescriptor; import org.opengis.parameter.ParameterDescriptorGroup; import org.opengis.parameter.ParameterDescriptor; @@ -502,8 +502,8 @@ public class DefaultOperationMethod extends AbstractIdentifiedObject implements * CRS is either the immediate parent in WKT 1, or the parent of the parent in WKT 2. */ final FormattableObject parent = formatter.getEnclosingElement(isWKT1 ? 1 : 2); - if (parent instanceof GeneralDerivedCRS) { - final Conversion conversion = ((GeneralDerivedCRS) parent).getConversionFromBase(); + if (parent instanceof DerivedCRS) { + final Conversion conversion = ((DerivedCRS) parent).getConversionFromBase(); if (conversion != null) { // Should never be null, but let be safe. final ParameterDescriptorGroup descriptor; if (conversion instanceof Parameterized) { // Usual case in SIS implementation. diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/SubOperationInfo.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/SubOperationInfo.java index 2c0e08999d..25e09effde 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/SubOperationInfo.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/SubOperationInfo.java @@ -68,8 +68,8 @@ final class SubOperationInfo { * The returned type is for use with {@link #COMPATIBLE_TYPES}. */ private static Class<?> type(SingleCRS crs) { - while (crs instanceof GeneralDerivedCRS) { - crs = ((GeneralDerivedCRS) crs).getBaseCRS(); + while (crs instanceof DerivedCRS) { + crs = ((DerivedCRS) crs).getBaseCRS(); } return crs.getClass(); } diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java index fbfe79856c..259f16a79b 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java @@ -493,7 +493,7 @@ class ConcatenatedTransform extends AbstractMathTransform implements Serializabl * (often indirectly trough WKT formatting of a {@code "ProjectedCRS"} element), then the above rule is slightly * relaxed: we ignore affine transforms in order to accept axis swapping or unit conversions. We do that in that * particular case only because the coordinate systems given with the enclosing {@code CoordinateOperation} or - * {@code GeneralDerivedCRS} specify the axis swapping and unit conversions. + * {@code DerivedCRS} specify the axis swapping and unit conversions. * This special case is internal to SIS implementation and should be unknown to users.</p> * * @return the parameterizable transform step, or {@code null} if none. diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java index 1fe647df12..54f7a3bd52 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java @@ -29,7 +29,7 @@ import org.opengis.referencing.cs.CoordinateSystem; import org.opengis.referencing.cs.CoordinateSystemAxis; import org.opengis.referencing.crs.CRSFactory; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.operation.OperationMethod; import org.opengis.referencing.operation.SingleOperation; import org.opengis.referencing.operation.CoordinateOperation; @@ -254,8 +254,8 @@ public final class CoordinateOperations extends Static { */ public static Set<Integer> wrapAroundChanges(CoordinateReferenceSystem source, final CoordinateSystem target) { long changes = changes(source.getCoordinateSystem(), target); - while (source instanceof GeneralDerivedCRS) { - source = ((GeneralDerivedCRS) source).getBaseCRS(); + while (source instanceof DerivedCRS) { + source = ((DerivedCRS) source).getBaseCRS(); changes |= changes(source.getCoordinateSystem(), target); } final boolean useCache = (changes >= 0 && changes < CACHE.length); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/DefinitionVerifier.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/DefinitionVerifier.java index 89a06ea9a7..ca7e25b306 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/DefinitionVerifier.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/DefinitionVerifier.java @@ -28,7 +28,7 @@ import org.opengis.referencing.datum.Datum; import org.opengis.referencing.datum.GeodeticDatum; import org.opengis.referencing.crs.CRSAuthorityFactory; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.SingleCRS; import org.opengis.referencing.operation.Conversion; import org.apache.sis.referencing.CRS; @@ -312,9 +312,9 @@ public final class DefinitionVerifier { final SingleCRS crsA = authoritative.next(); final SingleCRS crsG = given.next(); if (!Utilities.equalsApproximately(crsA, crsG)) { - if (crsA instanceof GeneralDerivedCRS && crsG instanceof GeneralDerivedCRS) { - final Conversion cnvA = ((GeneralDerivedCRS) crsA).getConversionFromBase(); - final Conversion cnvG = ((GeneralDerivedCRS) crsG).getConversionFromBase(); + if (crsA instanceof DerivedCRS && crsG instanceof DerivedCRS) { + final Conversion cnvA = ((DerivedCRS) crsA).getConversionFromBase(); + final Conversion cnvG = ((DerivedCRS) crsG).getConversionFromBase(); if (!Utilities.equalsApproximately(cnvA, cnvG)) { return Utilities.equalsApproximately(cnvA.getMethod(), cnvG.getMethod()) ? CONVERSION : METHOD; } diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/ReferencingUtilities.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/ReferencingUtilities.java index b8f0346daf..9f2fdeab8e 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/ReferencingUtilities.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/ReferencingUtilities.java @@ -310,15 +310,14 @@ public final class ReferencingUtilities extends Static { * @param allow3D whether this method is allowed to return three-dimensional CRS (with ellipsoidal height). * @return a two-dimensional geographic CRS with standard axes, or {@code null} if none. */ - @SuppressWarnings("deprecation") public static GeographicCRS toNormalizedGeographicCRS(CoordinateReferenceSystem crs, final boolean latlon, final boolean allow3D) { /* * ProjectedCRS instances always have a GeographicCRS as their base. * More generally, derived CRS are always derived from a base, which * is often (but not necessarily) geographic. */ - while (crs instanceof GeneralDerivedCRS) { - crs = ((GeneralDerivedCRS) crs).getBaseCRS(); + while (crs instanceof DerivedCRS) { + crs = ((DerivedCRS) crs).getBaseCRS(); } if (crs instanceof GeodeticCRS) { /* diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateOperationMethods.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateOperationMethods.java index b0bc91ba11..5bea3d2068 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateOperationMethods.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateOperationMethods.java @@ -31,7 +31,7 @@ import org.opengis.parameter.*; import org.opengis.referencing.operation.*; import org.opengis.referencing.crs.CRSAuthorityFactory; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.apache.sis.util.ArraysExt; import org.apache.sis.util.Characters; import org.apache.sis.util.Numbers; @@ -418,14 +418,14 @@ public class CoordinateOperationMethods extends HTMLGenerator { final CRSAuthorityFactory factory) throws FactoryException { final Map<String, DefaultGeographicBoundingBox> domainOfValidity = new HashMap<>(); - for (final String code : factory.getAuthorityCodes(GeneralDerivedCRS.class)) { + for (final String code : factory.getAuthorityCodes(DerivedCRS.class)) { final CoordinateReferenceSystem crs; try { crs = factory.createCoordinateReferenceSystem(code); } catch (FactoryException e) { continue; // Ignore and inspect the next element. } - if (crs instanceof GeneralDerivedCRS derived) { + if (crs instanceof DerivedCRS derived) { final GeographicBoundingBox candidate = CRS.getGeographicBoundingBox(derived); if (candidate != null) { final String name = derived.getConversionFromBase().getMethod().getName().getCode(); diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateReferenceSystems.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateReferenceSystems.java index 19f1056342..8849db42cc 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateReferenceSystems.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/CoordinateReferenceSystems.java @@ -37,7 +37,7 @@ import org.opengis.referencing.crs.VerticalCRS; import org.opengis.referencing.crs.GeodeticCRS; import org.opengis.referencing.crs.GeographicCRS; import org.opengis.referencing.crs.EngineeringCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CRSAuthorityFactory; import org.opengis.referencing.datum.Datum; @@ -408,12 +408,11 @@ public final class CoordinateReferenceSystems extends AuthorityCodesReport { /** * Creates the text to show in the "Remarks" column for the given CRS. */ - @SuppressWarnings("deprecation") private String getRemark(final CoordinateReferenceSystem crs) { if (crs instanceof GeographicCRS) { return (crs.getCoordinateSystem().getDimension() == 3) ? "Geographic 3D" : "Geographic"; } - if (crs instanceof GeneralDerivedCRS derived) { + if (crs instanceof DerivedCRS derived) { final OperationMethod method = derived.getConversionFromBase().getMethod(); final Identifier identifier = IdentifiedObjects.getIdentifier(method, Citations.EPSG); if (identifier != null) { diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/CoordinateReferenceSystemTest.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/CoordinateReferenceSystemTest.java index d74ea2bf71..8ef6919d9e 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/CoordinateReferenceSystemTest.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/CoordinateReferenceSystemTest.java @@ -21,7 +21,6 @@ import org.opengis.referencing.cs.CartesianCS; import org.opengis.referencing.cs.EllipsoidalCS; import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.GeodeticCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.apache.sis.referencing.CRS; @@ -69,7 +68,7 @@ public final class CoordinateReferenceSystemTest extends TestCase { assertInstanceOf(DerivedCRS .class, crs); assertInstanceOf(GeodeticCRS.class, crs); assertInstanceOf(CartesianCS.class, crs.getCoordinateSystem()); - assertInstanceOf(CartesianCS.class, ((GeneralDerivedCRS) crs).getBaseCRS().getCoordinateSystem()); + assertInstanceOf(CartesianCS.class, ((DerivedCRS) crs).getBaseCRS().getCoordinateSystem()); /* * Some tests are disabled because `EPSGDataAccess` confuse this derived CRS * with a projected CRS. We are waiting for upgrade to EPSG database 10+ @@ -81,6 +80,6 @@ public final class CoordinateReferenceSystemTest extends TestCase { // assertInstanceOf(DerivedCRS .class, crs); // assertInstanceOf(GeodeticCRS.class, crs); assertInstanceOf(CartesianCS.class, crs.getCoordinateSystem()); - assertInstanceOf(EllipsoidalCS.class, ((GeneralDerivedCRS) crs).getBaseCRS().getCoordinateSystem()); + assertInstanceOf(EllipsoidalCS.class, ((DerivedCRS) crs).getBaseCRS().getCoordinateSystem()); } } diff --git a/geoapi/snapshot b/geoapi/snapshot index 62db019354..ada952e12e 160000 --- a/geoapi/snapshot +++ b/geoapi/snapshot @@ -1 +1 @@ -Subproject commit 62db019354dc62d805b877c4b37227ed68ed0a7c +Subproject commit ada952e12e675417e67d13b1a404b62a49b23546 diff --git a/optional/src/org.apache.sis.gui/bundle/conf/imports.jsh b/optional/src/org.apache.sis.gui/bundle/conf/imports.jsh index c3ad133108..fd9764ff96 100644 --- a/optional/src/org.apache.sis.gui/bundle/conf/imports.jsh +++ b/optional/src/org.apache.sis.gui/bundle/conf/imports.jsh @@ -203,7 +203,6 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.GeodeticCRS; import org.opengis.referencing.crs.EngineeringCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; import org.opengis.referencing.crs.GeographicCRS; import org.opengis.referencing.crs.ProjectedCRS; import org.opengis.referencing.crs.SingleCRS; diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/CRSChooser.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/CRSChooser.java index 1630a4efd2..00886d4597 100644 --- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/CRSChooser.java +++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/CRSChooser.java @@ -52,7 +52,7 @@ import org.opengis.referencing.crs.VerticalCRS; import org.opengis.referencing.crs.TemporalCRS; import org.opengis.referencing.crs.CompoundCRS; import org.opengis.referencing.crs.EngineeringCRS; -import org.opengis.referencing.crs.GeneralDerivedCRS; +import org.opengis.referencing.crs.DerivedCRS; import org.opengis.referencing.crs.CRSAuthorityFactory; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.Conversion; @@ -368,7 +368,6 @@ public class CRSChooser extends Dialog<CoordinateReferenceSystem> { /** * Returns the text to show of right of the "type" label. */ - @SuppressWarnings("deprecation") private static String typeOf(CoordinateReferenceSystem crs, final Locale locale) { while (crs instanceof CompoundCRS) { crs = ((CompoundCRS) crs).getComponents().get(0); @@ -388,14 +387,14 @@ public class CRSChooser extends Dialog<CoordinateReferenceSystem> { String text = Vocabulary.forLocale(locale).getString(key); final int dimension = ReferencingUtilities.getDimension(crs); final boolean addDimension = (dimension != expected && expected != 0); - final boolean isProjection = (crs instanceof GeneralDerivedCRS); + final boolean isProjection = (crs instanceof DerivedCRS); if (addDimension | isProjection) { final StringBuilder buffer = new StringBuilder(text); if (addDimension) { buffer.append(" (").append(dimension).append("D)"); } if (isProjection) { - final Conversion conversion = ((GeneralDerivedCRS) crs).getConversionFromBase(); + final Conversion conversion = ((DerivedCRS) crs).getConversionFromBase(); if (conversion != null) { final OperationMethod method = conversion.getMethod(); if (method != null) {