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

commit c4a3614aa02b18cbc54b63624605ef8850a77d3a
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Sun Oct 29 00:12:05 2023 +0200

    Remove deprecated methods.
---
 .../org.apache.sis.feature/main/module-info.java   |   2 +-
 .../main/org/apache/sis/image/ImageProcessor.java  | 151 +--------------------
 .../main/org/apache/sis/image/Visualization.java   |  12 --
 .../main/org/apache/sis/image/package-info.java    |   2 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |  88 +++---------
 .../org/apache/sis/metadata/iso/package-info.java  |   2 +-
 .../DefaultCoordinateOperationFactory.java         |   2 +-
 .../referencing/operation/matrix/MatrixSIS.java    |  23 +---
 .../referencing/operation/matrix/package-info.java |   2 +-
 .../provider/FranceGeocentricInterpolation.java    |   9 +-
 .../operation/transform/MathTransforms.java        |  18 ---
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   |  66 ---------
 .../main/org/apache/sis/util/CharSequences.java    |  36 +----
 .../main/org/apache/sis/util/logging/Logging.java  |  18 +--
 .../org/apache/sis/util/logging/package-info.java  |   2 +-
 .../apache/sis/gui/internal/ImageConverter.java    |   2 +-
 18 files changed, 32 insertions(+), 407 deletions(-)

diff --git a/endorsed/src/org.apache.sis.feature/main/module-info.java 
b/endorsed/src/org.apache.sis.feature/main/module-info.java
index 09a24df5b4..33a7fd41d2 100644
--- a/endorsed/src/org.apache.sis.feature/main/module-info.java
+++ b/endorsed/src/org.apache.sis.feature/main/module-info.java
@@ -20,7 +20,7 @@
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.5
  */
 module org.apache.sis.feature {
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
index f0b11ebc5d..2b81da640a 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
@@ -137,7 +137,7 @@ import org.apache.sis.measure.Units;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Alexis Manin (Geomatys)
- * @version 1.4
+ * @version 1.5
  *
  * @see org.apache.sis.coverage.grid.GridCoverageProcessor
  *
@@ -223,18 +223,6 @@ public class ImageProcessor implements Cloneable {
      */
     private Colorizer colorizer;
 
-    /**
-     * Colors to use for arbitrary categories of sample values. This function 
can return {@code null}
-     * or empty arrays for some categories, which are interpreted as fully 
transparent pixels.
-     *
-     * @see #getCategoryColors()
-     * @see #setCategoryColors(Function)
-     *
-     * @deprecated Replaced by {@link #colorizer}.
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    private Function<Category,Color[]> colors;
-
     /**
      * Hints about the desired positional accuracy (in "real world" units or 
in pixel units),
      * or {@code null} if unspecified. In order to avoid the need to clone 
this array in the
@@ -403,44 +391,6 @@ public class ImageProcessor implements Cloneable {
      */
     public synchronized void setColorizer(final Colorizer colorizer) {
         this.colorizer = colorizer;
-        colors = null;
-    }
-
-    /**
-     * Returns the colors to use for given categories of sample values, or 
{@code null} if unspecified.
-     * This method returns the function set by the last call to {@link 
#setCategoryColors(Function)}.
-     *
-     * @return colors to use for arbitrary categories of sample values, or 
{@code null} for default.
-     *
-     * @deprecated Replaced by {@link #getColorizer()}.
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    public synchronized Function<Category,Color[]> getCategoryColors() {
-        return colors;
-    }
-
-    /**
-     * Sets the colors to use for given categories in image, or {@code null} 
if unspecified.
-     * This function provides a way to colorize images without knowing in 
advance the numerical values of pixels.
-     * For example, instead of specifying <cite>"pixel value 0 is blue, 1 is 
green, 2 is yellow"</cite>,
-     * this function allows to specify <cite>"Lakes are blue, Forests are 
green, Sand is yellow"</cite>.
-     * It is still possible however to use numerical values if the function 
desires to do so,
-     * since this information is available with {@link 
Category#getSampleRange()}.
-     *
-     * <p>This function is used by methods expecting {@link SampleDimension} 
arguments such as
-     * {@link #visualize(RenderedImage, List)}. The given function can return 
{@code null} or
-     * empty arrays for some categories, which are interpreted as fully 
transparent pixels.</p>
-     *
-     * @param  colors  colors to use for arbitrary categories of sample 
values, or {@code null} for default.
-     *
-     * @deprecated Replaced by {@link #setColorizer(Colorizer)}.
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    public synchronized void setCategoryColors(final 
Function<Category,Color[]> colors) {
-        if (colors != this.colors) {
-            setColorizer(colors != null ? Colorizer.forCategories(colors) : 
null);
-            this.colors = colors;
-        }
     }
 
     /**
@@ -1092,26 +1042,6 @@ public class ImageProcessor implements Cloneable {
                                                    
targetType.toDataBufferType(), colorizer));
     }
 
-    /**
-     * @deprecated Replaced by {@link #convert(RenderedImage, 
NumberRange<?>[], MathTransform1D[], DataType)}
-     *             with a color model inferred from the {@link Colorizer}.
-     *
-     * @param  colorModel  color model of resulting image, or {@code null}.
-     */
-    @SuppressWarnings("doclint:missing")
-    @Deprecated(since="1.4", forRemoval=true)
-    public synchronized RenderedImage convert(final RenderedImage source, 
final NumberRange<?>[] sourceRanges,
-                MathTransform1D[] converters, final DataType targetType, final 
ColorModel colorModel)
-    {
-        final Colorizer old = colorizer;
-        try {
-            colorizer = Colorizer.forInstance(colorModel);
-            return convert(source, sourceRanges, converters, targetType);
-        } finally {
-            colorizer = old;
-        }
-    }
-
     /**
      * Verifies that the given rectangle, if non-null, is non-empty.
      * This method assumes that the argument name is "bounds".
@@ -1255,63 +1185,6 @@ public class ImageProcessor implements Cloneable {
         return image.isEmpty() ? source : image;
     }
 
-    /**
-     * Returns an image where all sample values are indices of colors in an 
{@link IndexColorModel}.
-     * If the given image stores sample values as unsigned bytes or short 
integers, then those values
-     * are used as-is (they are not copied or converted). Otherwise this 
operation will convert sample
-     * values to unsigned bytes in order to enable the use of {@link 
IndexColorModel}.
-     *
-     * <p>The given map specifies the color to use for different ranges of 
values in the source image.
-     * The ranges of values in the returned image may not be the same; this 
method is free to rescale them.
-     * The {@link Color} arrays may have any length; colors will be 
interpolated as needed for fitting
-     * the ranges of values in the destination image.</p>
-     *
-     * <p>The resulting image is suitable for visualization purposes, but 
should not be used for computation purposes.
-     * There is no guarantee about the number of bands in returned image or 
about which formula is used for converting
-     * floating point values to integer values.</p>
-     *
-     * <h4>Properties used</h4>
-     * This operation uses the following properties in addition to method 
parameters:
-     * <ul>
-     *   <li>(none)</li>
-     * </ul>
-     *
-     * @param  source  the image to recolor for visualization purposes.
-     * @param  colors  colors to use for each range of values in the source 
image.
-     * @deprecated Replaced by {@link #visualize(RenderedImage)} with colors 
map inferred from the {@link Colorizer}.
-     */
-    @SuppressWarnings({"removal", "doclint:missing"})
-    @Deprecated(since="1.4", forRemoval=true)
-    public synchronized RenderedImage visualize(final RenderedImage source, 
final Map<NumberRange<?>,Color[]> colors) {
-        /*
-         * TODO: after removal of this method, search for usages of
-         * `visualize(RenderedImage, List)` and remove unecessary `(List) 
null` cast.
-         */
-        ArgumentChecks.ensureNonNull("source", source);
-        ArgumentChecks.ensureNonNull("colors", colors);
-        final Colorizer old = colorizer;
-        try {
-            colorizer = Colorizer.forRanges(colors);
-            return visualize(new Visualization.Builder(null, source, null, 
null));
-        } finally {
-            colorizer = old;
-        }
-    }
-
-    /**
-     * @deprecated Replaced by {@link #visualize(RenderedImage)} with sample 
dimensions
-     *             read from the {@value PlanarImage#SAMPLE_DIMENSIONS_KEY} 
property.
-     *
-     * @param  ranges  description of {@code source} bands, or {@code null} if 
none. This is typically
-     *                 obtained by {@link 
org.apache.sis.coverage.grid.GridCoverage#getSampleDimensions()}.
-     */
-    @SuppressWarnings({"removal", "doclint:missing"})
-    @Deprecated(since="1.4", forRemoval=true)
-    public RenderedImage visualize(final RenderedImage source, final 
List<SampleDimension> ranges) {
-        ArgumentChecks.ensureNonNull("source", source);
-        return visualize(new Visualization.Builder(null, source, null, 
ranges));
-    }
-
     /**
      * Returns an image where all sample values are indices of colors in an 
{@link IndexColorModel}.
      * If the given image stores sample values as unsigned bytes or short 
integers, then those values
@@ -1452,25 +1325,6 @@ public class ImageProcessor implements Cloneable {
         return visualize(new Visualization.Builder(bounds, source, toSource));
     }
 
-    /**
-     * @deprecated Replaced by {@link #visualize(RenderedImage, Rectangle, 
MathTransform)} with
-     *             sample dimensions read from the {@value 
PlanarImage#SAMPLE_DIMENSIONS_KEY} property.
-     *
-     * @param  ranges  description of {@code source} bands, or {@code null} if 
none. This is typically
-     *                 obtained by {@link 
org.apache.sis.coverage.grid.GridCoverage#getSampleDimensions()}.
-     */
-    @SuppressWarnings({"removal", "doclint:missing"})
-    @Deprecated(since="1.4", forRemoval=true)
-    public RenderedImage visualize(final RenderedImage source, final Rectangle 
bounds, final MathTransform toSource,
-                                   final List<SampleDimension> ranges)
-    {
-        ArgumentChecks.ensureNonNull("source",   source);
-        ArgumentChecks.ensureNonNull("bounds",   bounds);
-        ArgumentChecks.ensureNonNull("toSource", toSource);
-        ensureNonEmpty(bounds);
-        return visualize(new Visualization.Builder(bounds, source, toSource, 
ranges));
-    }
-
     /**
      * Finishes builder configuration and creates the {@link Visualization} 
image.
      */
@@ -1546,7 +1400,6 @@ public class ImageProcessor implements Cloneable {
             final Number[]      fillValues;
             final ImageLayout   layout;
             final Colorizer     colorizer;
-            final Function<Category,Color[]> colors;
             final Quantity<?>[] positionalAccuracyHints;
             synchronized (this) {
                 executionMode           = this.executionMode;
@@ -1555,7 +1408,6 @@ public class ImageProcessor implements Cloneable {
                 fillValues              = this.fillValues;
                 layout                  = this.layout;
                 colorizer               = this.colorizer;
-                colors                  = this.colors;
                 positionalAccuracyHints = this.positionalAccuracyHints;
             }
             synchronized (other) {
@@ -1564,7 +1416,6 @@ public class ImageProcessor implements Cloneable {
                       executionMode.equals(other.executionMode)   &&
                       interpolation.equals(other.interpolation)   &&
                       Objects.equals(colorizer, other.colorizer)  &&
-                      Objects.equals(colors, other.colors)        &&
                       Arrays.equals(fillValues, other.fillValues) &&
                       Arrays.equals(positionalAccuracyHints, 
other.positionalAccuracyHints);
             }
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/Visualization.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/Visualization.java
index c86f81909e..401f1a0c3d 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/Visualization.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/Visualization.java
@@ -204,18 +204,6 @@ final class Visualization extends ResampledImage {
             }
         }
 
-        @Deprecated(since="1.4", forRemoval=true)
-        Builder(final Rectangle bounds, final RenderedImage source, final 
MathTransform toSource,
-                final List<SampleDimension> sampleDimensions)
-        {
-            this.bounds   = bounds;
-            this.source   = source;
-            this.toSource = toSource;
-            if (sampleDimensions != null) {
-                this.sampleDimensions = 
sampleDimensions.toArray(SampleDimension[]::new);
-            }
-        }
-
         /**
          * Returns an image where all sample values are indices of colors in 
an {@link IndexColorModel}.
          * If the source image stores sample values as unsigned bytes or short 
integers, then those values
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/package-info.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/package-info.java
index aa3380872f..01632fd807 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/package-info.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/package-info.java
@@ -42,7 +42,7 @@
  * @author  Rémi Maréchal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Johann Sorel (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   1.0
  */
 package org.apache.sis.image;
diff --git a/endorsed/src/org.apache.sis.metadata/main/module-info.java 
b/endorsed/src/org.apache.sis.metadata/main/module-info.java
index 6975678255..8c23031110 100644
--- a/endorsed/src/org.apache.sis.metadata/main/module-info.java
+++ b/endorsed/src/org.apache.sis.metadata/main/module-info.java
@@ -23,7 +23,7 @@
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Cédric Briançon (Geomatys)
  * @author  Cullen Rombach (Image Matters)
- * @version 1.4
+ * @version 1.5
  * @since   0.3
  */
 module org.apache.sis.metadata {
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
index f8284f41ba..c6d539ae06 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
@@ -141,7 +141,7 @@ import org.opengis.metadata.citation.Responsibility;
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
  * @author  Cullen Rombach (Image Matters)
- * @version 1.4
+ * @version 1.5
  *
  * @see org.apache.sis.storage.Resource#getMetadata()
  *
@@ -583,41 +583,6 @@ public class DefaultMetadata extends ISOMetadata 
implements Metadata {
          */
     }
 
-    /**
-     * Returns the language(s) used for documenting metadata.
-     * The first element in iteration order is the default language.
-     * All other elements, if any, are alternate language(s) used within the 
resource.
-     *
-     * @return language(s) used for documenting metadata.
-     *
-     * @since 0.5
-     *
-     * @deprecated Replaced by <code>{@linkplain 
#getLocalesAndCharsets()}.keySet()</code>.
-     */
-    @Deprecated(since="1.0", forRemoval=true)
-    @Dependencies("getLocalesAndCharsets")
-    public Collection<Locale> getLanguages() {
-        // TODO: delete after SIS 1.0 release (method not needed by JAXB).
-        return FilterByVersion.LEGACY_METADATA.accept() ? 
LocaleAndCharset.getLanguages(getLocalesAndCharsets()) : null;
-    }
-
-    /**
-     * Sets the language(s) used for documenting metadata.
-     * The first element in iteration order shall be the default language.
-     * All other elements, if any, are alternate language(s) used within the 
resource.
-     *
-     * @param  newValues  the new languages.
-     *
-     * @since 0.5
-     *
-     * @deprecated Replaced by putting keys in {@link 
#getLocalesAndCharsets()} map.
-     */
-    @Deprecated(since="1.0", forRemoval=true)
-    public void setLanguages(final Collection<Locale> newValues) {
-        // TODO: delete after SIS 1.0 release (method not needed by JAXB).
-        
setLocalesAndCharsets(LocaleAndCharset.setLanguages(getLocalesAndCharsets(), 
newValues));
-    }
-
     /**
      * Returns the default language used for documenting metadata.
      *
@@ -630,11 +595,14 @@ public class DefaultMetadata extends ISOMetadata 
implements Metadata {
     @Dependencies("getLocalesAndCharsets")
     @XmlElement(name = "language", namespace = LegacyNamespaces.GMD)
     public Locale getLanguage() {
-        return FilterByVersion.LEGACY_METADATA.accept() ? 
CollectionsExt.first(getLanguages()) : null;
-        /*
-         * No warning if the collection contains more than one locale, because
-         * this is allowed by the "getLanguage() + getLocales()" contract.
-         */
+        if (FilterByVersion.LEGACY_METADATA.accept()) {
+            return 
CollectionsExt.first(LocaleAndCharset.getLanguages(getLocalesAndCharsets()));
+            /*
+             * No warning if the collection contains more than one locale, 
because
+             * this is allowed by the "getLanguage() + getLocales()" contract.
+             */
+        }
+        return null;
     }
 
     /**
@@ -704,31 +672,11 @@ public class DefaultMetadata extends ISOMetadata 
implements Metadata {
      * Returns the character coding standard used for the metadata set.
      *
      * @return character coding standards used for the metadata.
-     *
-     * @since 0.5
-     *
-     * @deprecated Replaced by <code>{@linkplain 
#getLocalesAndCharsets()}.values()</code>.
-     */
-    @Deprecated(since="1.0", forRemoval=true)
-    @Dependencies("getLocalesAndCharsets")
-    public Collection<Charset> getCharacterSets() {
-        // TODO: delete after SIS 1.0 release (method not needed by JAXB).
-        return LocaleAndCharset.getCharacterSets(getLocalesAndCharsets());
-    }
-
-    /**
-     * Sets the character coding standard used for the metadata set.
-     *
-     * @param  newValues  the new character coding standards.
-     *
-     * @since 0.5
-     *
-     * @deprecated Replaced by putting values in {@link 
#getLocalesAndCharsets()} map.
      */
-    @Deprecated(since="1.0", forRemoval=true)
-    public void setCharacterSets(final Collection<? extends Charset> 
newValues) {
-        // TODO: delete after SIS 1.0 release (method not needed by JAXB).
-        
setLocalesAndCharsets(LocaleAndCharset.setCharacterSets(getLocalesAndCharsets(),
 newValues));
+    private Charset getCharacterSets() {
+        return LegacyPropertyAdapter.getSingleton(
+                (LocaleAndCharset.getCharacterSets(getLocalesAndCharsets())),
+                Charset.class, null, DefaultMetadata.class, "getCharacterSet");
     }
 
     /**
@@ -743,8 +691,7 @@ public class DefaultMetadata extends ISOMetadata implements 
Metadata {
     @Dependencies("getLocalesAndCharsets")
     // @XmlElement at the end of this class.
     public CharacterSet getCharacterSet() {
-        return 
CharacterSet.fromCharset(LegacyPropertyAdapter.getSingleton(getCharacterSets(),
-                Charset.class, null, DefaultMetadata.class, 
"getCharacterSet"));
+        return CharacterSet.fromCharset(getCharacterSets());
     }
 
     /**
@@ -756,7 +703,7 @@ public class DefaultMetadata extends ISOMetadata implements 
Metadata {
      */
     @Deprecated(since="1.0")
     public void setCharacterSet(final CharacterSet newValue) {
-        setCharacterSets(CollectionsExt.singletonOrEmpty((newValue != null) ? 
newValue.toCharset() : null));
+        setCharset((newValue != null) ? newValue.toCharset() : null);
     }
 
     /**
@@ -1692,8 +1639,7 @@ public class DefaultMetadata extends ISOMetadata 
implements Metadata {
     @XmlElement(name = "characterSet", namespace = LegacyNamespaces.GMD)
     private Charset getCharset() {
         if (FilterByVersion.LEGACY_METADATA.accept()) {
-            return LegacyPropertyAdapter.getSingleton(getCharacterSets(),
-                    Charset.class, null, DefaultMetadata.class, 
"getCharacterSet");
+            return getCharacterSets();
         }
         return null;
     }
@@ -1702,7 +1648,7 @@ public class DefaultMetadata extends ISOMetadata 
implements Metadata {
      * Sets the character coding standard for the metadata set (used in legacy 
ISO 19157 format).
      */
     private void setCharset(final Charset newValue) {
-        setCharacterSets(CollectionsExt.singletonOrEmpty(newValue));
+        
setLocalesAndCharsets(LocaleAndCharset.setCharacterSets(getLocalesAndCharsets(),
 CollectionsExt.singletonOrEmpty(newValue)));
     }
 
     /**
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/package-info.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/package-info.java
index 1595a8a237..3c0222547a 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/package-info.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/package-info.java
@@ -82,7 +82,7 @@
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
  * @author  Cullen Rombach (Image Matters)
- * @version 1.4
+ * @version 1.5
  * @since   0.3
  */
 @XmlSchema(location="https://schemas.isotc211.org/19115/-3/mdb/1.0/mdb.xsd";,
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
index c31ec1a1ef..673b0efef9 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
@@ -353,7 +353,7 @@ public class DefaultCoordinateOperationFactory extends 
AbstractFactory implement
      * @deprecated The dimensions attributes have been removed in ISO 
19111:2019 revision.
      */
     @Override
-    @Deprecated(since = "1.4", forRemoval = true)
+    @Deprecated(since = "1.4")
     public OperationMethod createOperationMethod(final Map<String,?> 
properties,
             final Integer sourceDimensions, final Integer targetDimensions,
             ParameterDescriptorGroup parameters) throws FactoryException
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
index 777601507b..400da6c2c2 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
@@ -56,7 +56,7 @@ import org.apache.sis.util.resources.Errors;
  * </ul>
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 1.4
+ * @version 1.5
  *
  * @see Matrices
  *
@@ -172,27 +172,6 @@ public abstract class MatrixSIS implements Matrix, 
LenientComparable, Cloneable,
         return (value == 0) ? null : value;
     }
 
-    /**
-     * Retrieves the value at the specified row and column of this matrix, 
rounded to nearest integer.
-     * This method may be more accurate than {@link #getElement(int, int)} in 
some implementations
-     * when the value is expected to be an integer (for example in conversions 
of pixel coordinates).
-     *
-     * @param  row     the row index, from 0 inclusive to {@link #getNumRow()} 
exclusive.
-     * @param  column  the column index, from 0 inclusive to {@link 
#getNumCol()} exclusive.
-     * @return the current value at the given row and column, rounded to 
nearest integer.
-     * @throws IndexOutOfBoundsException if the specified row or column is out 
of bounds.
-     * @throws ArithmeticException if the value is NaN or overflows integer 
capacity.
-     *
-     * @since 1.3
-     *
-     * @deprecated Replaced by {@code Numbers.round(getNumber(row, column))}.
-     * @see Numbers#round(Number)
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    public long getInteger(int row, int column) {
-        return Numbers.round(getNumber(row, column));
-    }
-
     /**
      * Retrieves the value at the specified row and column of this matrix, 
wrapped in a {@code Number}.
      * The {@code Number} type depends on the matrix accuracy.
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/package-info.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/package-info.java
index 6ac88bb395..3fb3fd16ab 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/package-info.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/package-info.java
@@ -71,7 +71,7 @@
  * Like SIS, Vecmath is optimized for small matrices of interest for 2D and 3D 
graphics.</p>
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.4
  */
 package org.apache.sis.referencing.operation.matrix;
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
index 8ecac1c44e..d30f4e86f9 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
@@ -86,7 +86,7 @@ import static org.apache.sis.util.internal.Constants.DIM;
  * @author  Martin Desruisseaux (Geomatys)
  */
 @XmlTransient
-public class FranceGeocentricInterpolation extends GeodeticOperation {
+public final class FranceGeocentricInterpolation extends GeodeticOperation {
     /**
      * Serial number for inter-operability with different versions.
      */
@@ -262,13 +262,6 @@ public class FranceGeocentricInterpolation extends 
GeodeticOperation {
               EllipsoidalCS.class, true);
     }
 
-    @Deprecated(forRemoval = true)
-    FranceGeocentricInterpolation(ParameterDescriptorGroup parameters, int 
indexOfDim) {
-        super(Transformation.class, parameters, indexOfDim,
-              EllipsoidalCS.class, true,
-              EllipsoidalCS.class, true);
-    }
-
     /**
      * Returns {@code true} if the given path seems to be a grid published by 
the French mapping agency for France.
      * In principle this <cite>"France geocentric interpolation"</cite> is 
designed specifically for use with the
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
index a57c8ccd58..faf302edcb 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
@@ -220,24 +220,6 @@ public final class MathTransforms extends Static {
         return new ProjectiveTransform(matrix).optimize();
     }
 
-    /**
-     * Returns a linear (usually affine) transform which approximates the 
given transform in the vicinity of the given position.
-     *
-     * @param  transform  the transform to approximate by an affine transform.
-     * @param  position   position in source CRS around which to get the an 
affine transform approximation.
-     * @return a transform approximating the given transform around the given 
position.
-     * @throws TransformException if an error occurred while transforming the 
given position
-     *         or computing the derivative at that position.
-     *
-     * @since 1.0
-     *
-     * @deprecated This method duplicates {@link #tangent(MathTransform, 
DirectPosition)}.
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    public static LinearTransform linear(MathTransform transform, 
DirectPosition position) throws TransformException {
-        return tangent(transform, position);
-    }
-
     /**
      * Returns a linear (usually affine) transform which approximates the 
given transform in the vicinity of the given position.
      * If the given transform is already an instance of {@link 
LinearTransform}, then it is returned as-is.
diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java 
b/endorsed/src/org.apache.sis.util/main/module-info.java
index 60dfbff8cd..4f83c5a36f 100644
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@ -30,7 +30,7 @@
  *
  * @author  Martin Desruisseaux (MPO, IRD, Geomatys)
  * @author  Alexis Manin (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.3
  */
 module org.apache.sis.util {
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java
index ed6eaadb12..7fde483705 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java
@@ -236,34 +236,6 @@ public final class ArgumentChecks extends Static {
         }
     }
 
-    /**
-     * Ensures that the given {@code values} array is non-null and non-empty. 
This method can also ensures that all values
-     * are between the given bounds (inclusive) and are distinct. The distinct 
values requirement is useful for validating
-     * arrays of spatiotemporal dimension indices, where dimensions cannot be 
repeated.
-     *
-     * <p>Note that a successful call to {@code ensureNonEmpty(name, values, 
0, max, true)} implies
-     * 1 ≤ {@code values.length} ≤ {@code max}.</p>
-     *
-     * @param  name      the name of the argument to be checked. Used only if 
an exception is thrown.
-     * @param  values    integer values to validate.
-     * @param  min       the minimal allowed value (inclusive), or {@link 
Integer#MIN_VALUE} if none.
-     * @param  max       the maximal allowed value (inclusive), or {@link 
Integer#MAX_VALUE} if none.
-     * @param  distinct  {@code true} if each value must be unique.
-     * @throws NullPointerException if {@code values} is null.
-     * @throws IllegalArgumentException if {@code values} is empty, contains a 
value lower than {@code min},
-     *         contains a value greater than {@code max}, or contains 
duplicated values while {@code distinct} is {@code true}.
-     *
-     * @since 1.0
-     *
-     * @deprecated Replaced by {@link #ensureNonEmptyBounded(String, boolean, 
int, int, int[])}.
-     */
-    @Deprecated(since = "1.3", forRemoval = true)
-    public static void ensureNonEmpty(final String name, final int[] values, 
final int min, final int max, final boolean distinct)
-            throws IllegalArgumentException
-    {
-        ensureNonEmptyBounded(name, distinct, min, max, values);
-    }
-
     /**
      * Ensures that the given {@code values} array contains at least one 
element and that all elements are within bounds.
      * The minimum and maximum values are inclusive. Optionaly, this method 
can also ensure that all values are distinct.
@@ -320,24 +292,6 @@ public final class ArgumentChecks extends Static {
         }
     }
 
-    /**
-     * Ensures that a method receiving a variable number of arguments got the 
expected count.
-     * If {@code actual} = {@code expected}, then this method does nothing.
-     * Otherwise an exception saying "Too few" or "Too many arguments" is 
thrown.
-     *
-     * @param  name      the name of the argument to be checked. Used only if 
an exception is thrown.
-     * @param  expected  expected number of arguments.
-     * @param  actual    actual number of arguments.
-     *
-     * @since 1.0
-     *
-     * @deprecated Renamed {@link #ensureCountBetween(String, boolean, int, 
int, int)}.
-     */
-    @Deprecated(since = "1.3", forRemoval = true)
-    public static void ensureExpectedCount(final String name, final int 
expected, final int actual) {
-        ensureCountBetween(name, false, expected, expected, actual);
-    }
-
     /**
      * Ensures that the specified value is null or an instance assignable to 
the given type.
      * If this method does not thrown an exception, then the value can be 
casted to the class
@@ -693,26 +647,6 @@ public final class ArgumentChecks extends Static {
         }
     }
 
-    /**
-     * Ensures that the given collection size or array length is between the 
given bounds, inclusive.
-     * This method performs the same check than {@link #ensureBetween(String, 
int, int, int)
-     * ensureBetween(…)}, but the error message is different in case of 
failure.
-     *
-     * @param  name  the name of the argument to be checked. Used only if an 
exception is thrown.
-     * @param  min   the minimal size (inclusive), or 0 if none.
-     * @param  max   the maximal size (inclusive), or {@link 
Integer#MAX_VALUE} if none.
-     * @param  size  the user collection size or array length to be checked.
-     * @throws IllegalArgumentException if the given value is not in the given 
range.
-     *
-     * @deprecated Renamed {@link #ensureCountBetween(String, boolean, int, 
int, int)}.
-     */
-    @Deprecated(since = "1.3", forRemoval = true)
-    public static void ensureSizeBetween(final String name, final int min, 
final int max, final int size)
-            throws IllegalArgumentException
-    {
-        ensureCountBetween(name, true, min, max, size);
-    }
-
     /**
      * Ensures that the given number of elements is between the given bounds, 
inclusive.
      * This method performs the same check than {@link #ensureBetween(String, 
int, int, int)
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/CharSequences.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/CharSequences.java
index aa2baf7227..235c8e3898 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/CharSequences.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/CharSequences.java
@@ -61,18 +61,13 @@ import static java.lang.Character.*;
  * {@code isSpaceChar(…)} while most of the rest of the SIS library, including 
this
  * {@code CharSequences} class, consistently uses {@code isWhitespace(…)}.
  *
- * <p>Note that the {@link String#trim()} method doesn't follow any of those 
policies and should
- * generally be avoided. That {@code trim()} method removes every ISO control 
characters without
- * distinction about whether the characters are space or not, and ignore all 
Unicode spaces.
- * The {@link #trimWhitespaces(String)} method defined in this class can be 
used as an alternative.</p>
- *
  * <h2>Handling of null values</h2>
  * Most methods in this class accept a {@code null} {@code CharSequence} 
argument. In such cases
  * the method return value is either a {@code null} {@code CharSequence}, an 
empty array, or a
  * {@code 0} or {@code false} primitive type calculated as if the input was an 
empty string.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.5
  *
  * @see StringBuilders
  *
@@ -945,38 +940,11 @@ search:     for (; fromIndex <= toIndex; fromIndex++) {
         return StringBuilders.toASCII(text, null);
     }
 
-    /**
-     * Returns a string with leading and trailing whitespace characters 
omitted.
-     * This method is similar in purpose to {@link String#trim()}, except that 
the latter considers
-     * every {@linkplain Character#isISOControl(int) ISO control codes} below 
32 to be a whitespace.
-     * That {@code String.trim()} behavior has the side effect of removing the 
heading of ANSI escape
-     * sequences (a.k.a. X3.64), and to ignore Unicode spaces. This {@code 
trimWhitespaces(…)} method
-     * is built on the more accurate {@link Character#isWhitespace(int)} 
method instead.
-     *
-     * <p>This method performs the same work than {@link 
#trimWhitespaces(CharSequence)},
-     * but is overloaded for the {@code String} type because of its frequent 
use.</p>
-     *
-     * @param  text  the text from which to remove leading and trailing 
whitespaces, or {@code null}.
-     * @return a string with leading and trailing whitespaces removed, or 
{@code null} is the given
-     *         text was null.
-     *
-     * @deprecated Replaced by {@link String#strip()} in JDK 11.
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    public static String trimWhitespaces(String text) {
-        if (text != null) {
-            final int length = text.length();
-            final int lower = skipLeadingWhitespaces(text, 0, length);
-            text = text.substring(lower, skipTrailingWhitespaces(text, lower, 
length));
-        }
-        return text;
-    }
-
     /**
      * Returns a text with leading and trailing whitespace characters omitted.
      * Space characters are identified by the {@link 
Character#isWhitespace(int)} method.
      *
-     * <p>This method is the generic version of {@link 
#trimWhitespaces(String)}.</p>
+     * <p>This method is the generalized version of {@link String#strip()}.</p>
      *
      * @param  text  the text from which to remove leading and trailing 
whitespaces, or {@code null}.
      * @return a characters sequence with leading and trailing whitespaces 
removed,
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
index a2adbe5139..016778e170 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
@@ -43,7 +43,7 @@ import org.apache.sis.system.Configuration;
  * </ul>
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.3
  */
 public final class Logging extends Static {
@@ -85,22 +85,6 @@ public final class Logging extends Static {
         return Logger.getLogger(name);
     }
 
-    /**
-     * Logs the given record to the logger associated to the given class.
-     *
-     * @deprecated Replaced by {@code completeAndLog(null, record, classe, 
method)} for encouraging
-     * the use of static {@link Logger} constants. Also the new name makes 
clear that the record is
-     * modified.
-     *
-     * @param  classe  the class to report as the source of the logging 
message.
-     * @param  method  the method to report as the source of the logging 
message.
-     * @param  record  the record to log.
-     */
-    @Deprecated(since="1.4", forRemoval=true)
-    public static void log(final Class<?> classe, final String method, final 
LogRecord record) {
-        completeAndLog(null, classe, method, record);
-    }
-
     /**
      * Completes the properties of the given record, then logs to the 
specified or inferred logger.
      * If the {@code logger} argument is {@code null}, the logger is inferred 
from the other arguments.
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/package-info.java
 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/package-info.java
index dd768f70ec..3ec72dd984 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/package-info.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/package-info.java
@@ -35,7 +35,7 @@
  * {@code jul-to-slf4j.jar} dependency to a project is sufficient for 
redirecting Java logging to SLF4J.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.4
+ * @version 1.5
  *
  * @see <a 
href="https://docs.oracle.com/en/java/javase/18/core/java-logging-overview.html";>Java
 Logging Overview</a>
  *
diff --git 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ImageConverter.java
 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ImageConverter.java
index 676ed76de2..dee3937bce 100644
--- 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ImageConverter.java
+++ 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ImageConverter.java
@@ -207,7 +207,7 @@ final class ImageConverter extends Task<Statistics[]> {
         final Object mask = source.getProperty(PlanarImage.MASK_KEY);
         if (mask instanceof RenderedImage) try {
             processor.setColorizer(MASK_TRANSPARENCY);
-            return processor.visualize((RenderedImage) mask, (java.util.List) 
null);
+            return processor.visualize((RenderedImage) mask);
         } catch (IllegalArgumentException e) {
             /*
              * Ignore, we will not apply any mask over the thumbnail image.


Reply via email to