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));
      }
  
      /**

Reply via email to