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 a721c85238a2be59cc542251ea2c9477ed363210
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Thu Feb 8 17:08:14 2024 +0100

    Deprecate a method which is provided in the standard JDK since Java 21.
---
 .../sis/referencing/operation/matrix/Matrices.java |  8 +++----
 .../apache/sis/referencing/ClenshawSummation.java  |  6 ++---
 .../main/org/apache/sis/io/TableAppender.java      |  4 ++--
 .../main/org/apache/sis/pending/jdk/JDK21.java     | 27 +++++++++++++++-------
 .../main/org/apache/sis/util/StringBuilders.java   |  3 +++
 5 files changed, 31 insertions(+), 17 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
index a1d61b56f5..0dea2cb77d 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
@@ -29,12 +29,12 @@ import org.apache.sis.util.Static;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.ComparisonMode;
 import org.apache.sis.util.ArgumentChecks;
-import org.apache.sis.util.StringBuilders;
 import org.apache.sis.util.resources.Errors;
-import org.apache.sis.math.DecimalFunctions;
-import org.apache.sis.math.MathFunctions;
 import org.apache.sis.util.internal.Numerics;
 import org.apache.sis.util.internal.DoubleDouble;
+import org.apache.sis.math.DecimalFunctions;
+import org.apache.sis.math.MathFunctions;
+import org.apache.sis.pending.jdk.JDK21;
 import org.apache.sis.referencing.util.AxisDirections;
 import org.apache.sis.referencing.util.ExtendedPrecisionMatrix;
 import org.apache.sis.referencing.internal.Resources;
@@ -1317,7 +1317,7 @@ public final class Matrices extends Static {
                         s += 2;
                     } else {
                         int n = Math.min(s, maximumPaddingZeros[flatIndex]);
-                        StringBuilders.repeat(buffer, '0', n);
+                        JDK21.repeat(buffer, '0', n);
                         s -= n;
                     }
                     buffer.append(CharSequences.spaces(s));
diff --git 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
index d99addb214..6a40477726 100644
--- 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
+++ 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
@@ -17,7 +17,7 @@
 package org.apache.sis.referencing;
 
 import org.apache.sis.math.Fraction;
-import org.apache.sis.util.StringBuilders;
+import org.apache.sis.pending.jdk.JDK21;
 
 
 /**
@@ -268,7 +268,7 @@ public final class ClenshawSummation {
                 }
             }
             if (term.length != 1) {
-                StringBuilders.repeat(b, ')', term.length);
+                JDK21.repeat(b, ')', term.length);
             }
         }
 
@@ -318,7 +318,7 @@ public final class ClenshawSummation {
                     b.append('0');
                 }
             }
-            StringBuilders.repeat(b, ')', cosineCoefficients.length);
+            JDK21.repeat(b, ')', cosineCoefficients.length);
         }
         return b.toString();
     }
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
index 4db41fc7e1..5adf4e1643 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
@@ -23,9 +23,9 @@ import java.util.Objects;
 import java.io.Flushable;
 import java.io.IOException;
 import java.io.UncheckedIOException;
+import org.apache.sis.pending.jdk.JDK21;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.util.CharSequences;
-import org.apache.sis.util.StringBuilders;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.internal.X364;
 import static org.apache.sis.util.Characters.isLineOrParagraphSeparator;
@@ -865,7 +865,7 @@ public class TableAppender extends Appender implements 
Flushable {
     private static void repeat(final Appendable out, final char car, int 
count) throws IOException {
         if (out instanceof StringBuilder) {
             if (count > 0) {
-                StringBuilders.repeat((StringBuilder) out, car, count);
+                JDK21.repeat((StringBuilder) out, car, count);
             }
         } else while (--count >= 0) {
             out.append(car);
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java
index d1853ad2a5..d77a06786f 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java
@@ -80,14 +80,25 @@ public final class JDK21 {
         } else {
             list = new ArrayList<>(sequenced);
         }
-        return new Iterable<>() {
-            @Override public Iterator<E> iterator() {
-                final ListIterator<E> it = list.listIterator(list.size());
-                return new Iterator<E>() {
-                    @Override public boolean hasNext() {return 
it.hasPrevious();}
-                    @Override public E       next()    {return it.previous();}
-                };
-            }
+        return () -> {
+            final ListIterator<E> it = list.listIterator(list.size());
+            return new Iterator<E>() {
+                @Override public boolean hasNext() {return it.hasPrevious();}
+                @Override public E       next()    {return it.previous();}
+            };
         };
     }
+
+    /**
+     * Appends the given character <var>n</var> times.
+     *
+     * @param  buffer  the buffer where to append the character.
+     * @param  c       the character to repeat.
+     * @param  count   number of times to repeat the given character.
+     */
+    public static void repeat(final StringBuilder buffer, final char c, int 
count) {
+        while (--count >= 0) {
+            buffer.append(c);
+        }
+    }
 }
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
index 5ed92d4f64..df23d9e4ff 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
@@ -171,7 +171,10 @@ public final class StringBuilders extends Static {
      * @throws IllegalArgumentException if the given count is negative.
      *
      * @since 1.0
+     *
+     * @deprecated Replaced by {@link StringBuilder#repeat(int, int)} since 
Java 21.
      */
+    @Deprecated(since="1.5", forRemoval=true)
     public static void repeat(final StringBuilder buffer, final char c, final 
int count) {
         switch (count) {
             case 0:  break;

Reply via email to