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;
