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 c277c9c0114f1f0df329f8a1d07876e0e3c2b978 Author: Martin Desruisseaux <[email protected]> AuthorDate: Tue Apr 21 18:47:41 2020 +0200 Deprecate a method which is not used in practice and cause compatibility problem with JDK 14. --- .../main/java/org/apache/sis/util/Characters.java | 12 +++++++--- .../java/org/apache/sis/util/CharactersTest.java | 27 +--------------------- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java b/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java index b515a06..ab72105 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java @@ -17,6 +17,7 @@ package org.apache.sis.util; import org.opengis.metadata.citation.Citation; // For javadoc. +import org.apache.sis.internal.util.Numerics; import org.apache.sis.internal.util.Strings; import org.apache.sis.util.resources.Errors; @@ -28,7 +29,7 @@ import org.apache.sis.util.resources.Errors; * symbols. For those symbols, constants are declared in this class. * * @author Martin Desruisseaux (Geomatys) - * @version 1.0 + * @version 1.1 * @since 0.3 * @module */ @@ -321,7 +322,7 @@ public final class Characters extends Static { * left are {@linkplain #LETTERS_AND_DIGITS letters and digits}. * * @author Martin Desruisseaux (Geomatys) - * @version 0.3 + * @version 1.1 * * @see java.lang.Character.Subset * @see Character#getType(int) @@ -413,9 +414,14 @@ public final class Characters extends Static { * @return {@code true} if this subset contains the characters of the given type. * * @see Character#getType(int) + * + * @deprecated to be removed because not used (only {@link #contains(int)} is used in practice) + * and consistency with {@link #contains(int)} is not guaranteed between different + * Java versions. */ + @Deprecated public final boolean containsType(final int type) { - return (type >= 0) && (type < Long.SIZE) && (types & (1L << type)) != 0; + return (types & Numerics.bitmask(type)) != 0; } /** diff --git a/core/sis-utility/src/test/java/org/apache/sis/util/CharactersTest.java b/core/sis-utility/src/test/java/org/apache/sis/util/CharactersTest.java index 1fd93fe..0ceb510 100644 --- a/core/sis-utility/src/test/java/org/apache/sis/util/CharactersTest.java +++ b/core/sis-utility/src/test/java/org/apache/sis/util/CharactersTest.java @@ -28,7 +28,7 @@ import static org.apache.sis.util.Characters.*; * Tests the {@link Characters} utility methods. * * @author Martin Desruisseaux (Geomatys) - * @version 0.6 + * @version 1.1 * @since 0.3 * @module */ @@ -161,29 +161,4 @@ public final strictfp class CharactersTest extends TestCase { assertTrue (filter.contains(' ')); assertFalse(filter.contains('A')); } - - /** - * Scans the full {@code char} range in order to check for - * {@link org.apache.sis.util.Characters.Filter} consistency. - */ - @Test - public void scanCharacterRange() { - for (int c=Character.MIN_VALUE; c<=Character.MAX_VALUE; c++) { - final int type = Character.getType(c); -predefined: for (int i=0; ; i++) { - final Characters.Filter filter; - switch (i) { - case 0: filter = Filter.UNICODE_IDENTIFIER; break; - case 1: filter = Filter.LETTERS_AND_DIGITS; break; - default: break predefined; - } - final boolean cc = filter.contains(c); - final boolean ct = filter.containsType(type); - if (cc != ct) { - fail(filter + ".contains('" + (char) c + "') == " + cc + " but " - + filter + ".containsType(" + type + ") == " + ct); - } - } - } - } }
