This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sis.git
commit b9602ed1a7e039e4eb950fafa7c63cc7a6b467ce Merge: e7c5ccf5a9 c89fcb2b94 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Mon Dec 26 14:19:56 2022 +0100 Merge branch 'geoapi-3.1' .../apache/sis/internal/gui/DataStoreOpener.java | 7 +- .../apache/sis/internal/gui/ExceptionReporter.java | 6 +- cloud/pom.xml | 4 +- cloud/sis-cloud-aws/pom.xml | 2 +- .../apache/sis/cloud/aws/internal/Resources.java | 5 + .../sis/cloud/aws/internal/Resources.properties | 1 + .../sis/cloud/aws/internal/Resources_fr.properties | 1 + .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 288 ++------ .../org/apache/sis/cloud/aws/s3/FileService.java | 50 +- .../java/org/apache/sis/cloud/aws/s3/KeyPath.java | 6 +- .../org/apache/sis/cloud/aws/s3/package-info.java | 2 +- .../sis/internal/jaxb/gco/CharSequenceAdapter.java | 24 +- .../org/apache/sis/internal/jaxb/lan/Country.java | 6 +- .../apache/sis/internal/metadata/Identifiers.java | 30 +- .../internal/metadata/ImplementationHelper.java | 5 +- .../org/apache/sis/metadata/PropertyAccessor.java | 3 +- .../apache/sis/metadata/PropertyInformation.java | 3 +- .../sis/metadata/iso/citation/Citations.java | 2 +- .../main/java/org/apache/sis/xml/NilReason.java | 2 +- .../java/org/apache/sis/xml/ValueConverter.java | 27 +- .../apache/sis/test/xml/DocumentComparator.java | 8 +- .../gazetteer/MilitaryGridReferenceSystem.java | 5 +- .../org/apache/sis/geometry/CoordinateFormat.java | 4 +- .../apache/sis/internal/jaxb/referencing/Code.java | 2 +- .../sis/internal/referencing/AxisDirections.java | 2 +- .../main/java/org/apache/sis/io/wkt/Formatter.java | 4 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 5 +- .../main/java/org/apache/sis/io/wkt/Symbols.java | 6 +- .../org/apache/sis/parameter/TensorValues.java | 7 +- .../sis/referencing/ImmutableIdentifier.java | 15 +- .../sis/referencing/cs/CoordinateSystems.java | 5 +- .../cs/DefaultCoordinateSystemAxis.java | 28 +- .../factory/GeodeticAuthorityFactory.java | 2 +- .../DefaultCoordinateOperationFactory.java | 4 +- .../transform/DefaultMathTransformFactory.java | 4 +- .../java/org/apache/sis/referencing/CRSTest.java | 21 +- .../referencing/factory/sql/EPSGFactoryTest.java | 2 - .../DefaultCoordinateOperationFactoryTest.java | 19 +- .../apache/sis/test/integration/MetadataTest.java | 5 +- .../sis/test/suite/ReferencingTestSuite.java | 2 +- .../sis/internal/converter/StringConverter.java | 6 +- .../java/org/apache/sis/internal/jdk17/JDK17.java | 19 + .../java/org/apache/sis/internal/jdk17/Record.java | 22 +- .../sis/internal/system/DelayedExecutor.java | 2 +- .../org/apache/sis/internal/util/CodeLists.java | 8 +- .../org/apache/sis/internal/util/Constants.java | 6 +- .../apache/sis/internal/util/DefinitionURI.java | 6 +- .../org/apache/sis/internal/util/Numerics.java | 20 + .../java/org/apache/sis/internal/util/Strings.java | 8 +- .../java/org/apache/sis/internal/util/X364.java | 3 +- .../main/java/org/apache/sis/io/DefaultFormat.java | 2 +- .../java/org/apache/sis/measure/UnitFormat.java | 5 +- .../java/org/apache/sis/util/CharSequences.java | 3 +- .../main/java/org/apache/sis/util/Exceptions.java | 4 +- .../src/main/java/org/apache/sis/util/Numbers.java | 4 +- .../src/main/java/org/apache/sis/util/Version.java | 2 +- .../sis/util/collection/DefaultTreeTable.java | 5 +- .../org/apache/sis/util/collection/RangeSet.java | 61 +- .../apache/sis/util/collection/package-info.java | 2 +- .../apache/sis/util/logging/MonolineFormatter.java | 2 +- .../sis/util/resources/IndexedResourceBundle.java | 3 +- .../org/apache/sis/util/CharSequencesTest.java | 3 - pom.xml | 2 +- .../apache/sis/internal/geotiff/Compression.java | 46 +- .../org/apache/sis/internal/geotiff/Predictor.java | 8 +- .../apache/sis/internal/geotiff/package-info.java | 2 +- .../storage/inflater/CompressionChannel.java | 11 +- .../sis/internal/storage/inflater/Inflater.java | 2 +- .../org/apache/sis/storage/geotiff/DataCube.java | 6 +- .../apache/sis/storage/geotiff/GeoKeysLoader.java | 23 +- .../sis/storage/geotiff/ImageFileDirectory.java | 222 +++--- .../sis/storage/geotiff/ImageMetadataBuilder.java | 18 +- .../apache/sis/storage/geotiff/NativeMetadata.java | 26 +- .../java/org/apache/sis/storage/geotiff/Tags.java | 192 ++--- .../java/org/apache/sis/storage/geotiff/Type.java | 76 +- .../apache/sis/storage/geotiff/package-info.java | 2 +- .../org/apache/sis/storage/geotiff/TagsTest.java} | 33 +- .../apache/sis/test/suite/GeoTiffTestSuite.java | 3 +- .../apache/sis/storage/netcdf/MetadataReader.java | 2 +- .../org/apache/sis/internal/storage/CodeType.java | 9 +- .../sis/internal/storage/io/ChannelData.java | 3 +- .../sis/internal/storage/io/ChannelDataInput.java | 25 +- .../sis/internal/storage/io/ChannelFactory.java | 16 +- .../internal/storage/io/FileCacheByteChannel.java | 769 +++++++++++++++++++++ .../sis/internal/storage/io/HttpByteChannel.java | 147 ++++ .../sis/internal/storage/io/IOUtilities.java | 32 +- .../sis/internal/storage/io/package-info.java | 2 +- .../org/apache/sis/storage/StorageConnector.java | 11 +- .../sis/storage/aggregate/GridSliceLocator.java | 4 +- .../sis/storage/aggregate/GroupAggregate.java | 20 + .../sis/storage/aggregate/GroupByTransform.java | 17 +- .../java/org/apache/sis/storage/package-info.java | 2 +- .../internal/storage/io/ComputedInputStream.java | 149 ++++ .../storage/io/FileCacheByteChannelTest.java | 236 +++++++ .../sis/internal/storage/io/IOUtilitiesTest.java | 4 +- .../storage/aggregate/CoverageAggregatorTest.java} | 33 +- .../apache/sis/test/suite/StorageTestSuite.java | 4 +- 97 files changed, 2134 insertions(+), 843 deletions(-) diff --cc core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java index 83be664222,c44e16b01e..6da1f0af22 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java @@@ -19,8 -19,8 +19,9 @@@ package org.apache.sis.internal.metadat import java.util.Locale; import org.opengis.metadata.Identifier; import org.opengis.metadata.citation.Citation; +import org.opengis.referencing.ReferenceIdentifier; import org.opengis.util.InternationalString; + import org.apache.sis.internal.util.Strings; import org.apache.sis.internal.util.Constants; import org.apache.sis.internal.util.CollectionsExt; import org.apache.sis.metadata.iso.citation.Citations; @@@ -124,12 -123,8 +124,12 @@@ public final class Identifiers extends * Unicode identifiers. If a codespace exists, then the code does not need to begin * with a "Unicode identifier start" (it may be a "Unicode identifier part"). */ - final String cs = Strings.trimOrNull(id.getCodeSpace()); - if (cs == null) { + String cs = null; + if (id instanceof ReferenceIdentifier) { - cs = CharSequences.trimWhitespaces(((ReferenceIdentifier) id).getCodeSpace()); ++ cs = Strings.trimOrNull(((ReferenceIdentifier) id).getCodeSpace()); + } + if (cs == null || cs.isEmpty()) { + cs = null; isUnicode = CharSequences.isUnicodeIdentifier(candidate); } else { isUnicode = CharSequences.isUnicodeIdentifier(cs); diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java index d76551cc56,5aa369fa38..6208ab1a40 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java @@@ -276,9 -275,9 +275,8 @@@ public class DefaultCoordinateOperation * * @see DefaultMathTransformFactory#getOperationMethod(String) */ - @Override public OperationMethod getOperationMethod(String name) throws FactoryException { - name = CharSequences.trimWhitespaces(name); - ArgumentChecks.ensureNonEmpty("name", name); + ArgumentChecks.ensureNonEmpty("name", name = name.strip()); final MathTransformFactory mtFactory = getMathTransformFactory(); if (mtFactory instanceof DefaultMathTransformFactory) { return ((DefaultMathTransformFactory) mtFactory).getOperationMethod(name); diff --cc core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java index 10d438272f,ecee2b2ec5..16b652dd04 --- a/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java @@@ -180,11 -167,11 +181,11 @@@ public final strictfp class MetadataTes @SuppressWarnings("deprecation") final DefaultResponsibleParty originator = new DefaultResponsibleParty(Role.ORIGINATOR); final DefaultOnlineResource online = new DefaultOnlineResource(URI.create("http://www.com.univ-mrs.fr/LOB/")); - online.setProtocol("http"); + online.setProtocol(Constants.HTTP); final DefaultContact contact = new DefaultContact(online); contact.setPhones(List.of( - new DefaultTelephone("+33 (0)4 xx.xx.xx.x5", TelephoneType.VOICE), - new DefaultTelephone("+33 (0)4 xx.xx.xx.x8", TelephoneType.FACSIMILE) + telephone("+33 (0)4 xx.xx.xx.x5", "VOICE"), + telephone("+33 (0)4 xx.xx.xx.x8", "FACSIMILE") )); final DefaultAddress address = new DefaultAddress(); address.setDeliveryPoints(Set.of("Oceanology institute")); diff --cc core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java index 02d119a934,9d6fc01db7..0dfd45ba85 --- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java +++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java @@@ -107,11 -94,11 +107,11 @@@ public final class CodeLists implement * @see org.apache.sis.util.iso.Types#forCodeName(Class, String, boolean) */ public static <T extends CodeList<T>> T forName(final Class<T> codeType, String name, final boolean canCreate) { - name = CharSequences.trimWhitespaces(name); - if (name == null || name.isEmpty()) { + name = Strings.trimOrNull(name); + if (name == null) { return null; } - return CodeList.valueOf(codeType, new CodeLists(name), canCreate ? name : null); + return CodeList.valueOf(codeType, new CodeLists(name, canCreate)); } /**