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 7d5dfd074ed1d8aa9a5f5a90c30fbf33a4015aff
Merge: 6c713fd637 1437fa191c
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Sun Feb 26 16:35:30 2023 +0100

    Merge branch 'geoapi-3.1'

 .../org/apache/sis/console/MimeTypeCommand.java    |   4 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   2 +-
 .../java/org/apache/sis/gui/map/MapCanvas.java     |  55 +++-
 .../java/org/apache/sis/gui/map/MapCanvasAWT.java  |   9 +-
 .../map/RenderingTask.java}                        |  29 +-
 .../apache/sis/internal/gui/BackgroundThreads.java |  13 +-
 .../apache/sis/internal/gui/DataStoreOpener.java   |  62 ++--
 .../apache/sis/internal/gui/io/FileAccessItem.java | 365 +++++++++++++++++----
 .../apache/sis/internal/gui/io/FileAccessView.java |  41 ++-
 .../apache/sis/internal/gui/io/package-info.java   |   2 +-
 .../org/apache/sis/internal/setup/FXFinder.java    |   5 +-
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  20 +-
 core/sis-build-helper/pom.xml                      |   1 +
 .../apache/sis/internal/book/CodeColorizer.java    |  16 +-
 .../org/apache/sis/internal/doclet/Doclet.java     |   3 +-
 .../org/apache/sis/internal/doclet/Rewriter.java   |   4 +-
 .../org/apache/sis/internal/doclet/Taglet.java     |   3 +-
 .../org/apache/sis/internal/unopkg/JavaMaker.java  |   5 +-
 .../sis/coverage/grid/BufferedGridCoverage.java    |  17 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   2 +-
 .../java/org/apache/sis/image/MaskedImage.java     |   2 +-
 .../java/org/apache/sis/image/PlanarImage.java     |   2 +-
 .../org/apache/sis/image/PixelIteratorTest.java    |   4 +-
 .../sis/internal/metadata/sql/LocalDataSource.java |   7 +-
 .../org/apache/sis/metadata/sql/Citations.sql      |   2 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |   2 +-
 .../sis/metadata/sql/MetadataSourceTest.java       |   2 +-
 .../sis/internal/map/coverage/RenderingData.java   |  31 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |  16 +-
 .../org/apache/sis/geometry/GeneralEnvelope.java   |  10 +-
 .../referencing/PositionalAccuracyConstant.java    |   2 +-
 .../apache/sis/internal/referencing/Resources.java |   5 +
 .../sis/internal/referencing/Resources.properties  |   1 +
 .../internal/referencing/Resources_fr.properties   |   1 +
 .../apache/sis/internal/referencing/j2d/Tile.java  |   5 +-
 .../internal/referencing/j2d/TileOrganizer.java    |   5 +-
 .../referencing/provider/DatumShiftGridFile.java   |  16 +-
 .../referencing/provider/DatumShiftGridLoader.java |  26 +-
 .../provider/FranceGeocentricInterpolation.java    |  25 +-
 .../sis/internal/referencing/provider/NADCON.java  |  25 +-
 .../sis/internal/referencing/provider/NTv2.java    |  16 +-
 .../referencing/provider/PolarStereographicA.java  |  21 +-
 .../referencing/provider/PolarStereographicB.java  |  26 +-
 .../main/java/org/apache/sis/io/wkt/Colors.java    |   2 +-
 .../java/org/apache/sis/io/wkt/WKTDictionary.java  |   2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   1 +
 .../java/org/apache/sis/referencing/Builder.java   |   2 +
 .../apache/sis/referencing/GeodeticCalculator.java |   4 -
 .../operation/transform/AbstractMathTransform.java |   1 +
 .../FranceGeocentricInterpolationTest.java         |   6 +-
 .../internal/referencing/provider/NADCONTest.java  |  17 +-
 .../internal/referencing/provider/NTv2Test.java    |  27 +-
 .../factory/sql/epsg/DataScriptFormatter.java      |   3 +-
 .../sis/test/integration/DatumShiftTest.java       |  15 +-
 .../sis/internal/converter/PathConverter.java      |   5 +-
 .../sis/internal/converter/StringConverter.java    |   2 +-
 .../apache/sis/internal/system/CommonExecutor.java |   2 +-
 .../apache/sis/internal/system/DataDirectory.java  |   3 +-
 .../internal/util/ArgumentCheckByAssertion.java    |  30 +-
 .../org/apache/sis/internal/util/DoubleDouble.java |   2 +-
 .../src/main/java/org/apache/sis/io/IO.java        |   2 +-
 .../main/java/org/apache/sis/measure/Range.java    |  43 +--
 .../src/main/java/org/apache/sis/util/Static.java  | 100 +++---
 .../java/org/apache/sis/util/collection/Cache.java |   2 +-
 .../org/apache/sis/util/collection/RangeSet.java   |  45 ++-
 .../org/apache/sis/util/logging/Initializer.java   |   3 +-
 .../apache/sis/util/logging/MonolineFormatter.java |  18 +-
 .../internal/converter/StringConverterTest.java    |   3 +-
 .../org/apache/sis/test/ProjectDirectories.java    |   3 +-
 .../apache/sis/util/collection/RangeSetTest.java   |  51 ++-
 pom.xml                                            |   5 -
 .../java/org/apache/sis/storage/landsat/Band.java  |   3 +-
 .../apache/sis/storage/landsat/LandsatStore.java   |  56 ++--
 .../sis/storage/landsat/LandsatStoreProvider.java  |   3 +-
 .../apache/sis/storage/landsat/package-info.java   |   2 +-
 .../org/apache/sis/internal/geotiff/Resources.java |   6 +
 .../sis/internal/geotiff/Resources.properties      |   1 +
 .../sis/internal/geotiff/Resources_fr.properties   |   1 +
 .../storage/inflater/CompressionChannel.java       |   2 +-
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |  72 +++-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   2 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |  47 ++-
 .../org/apache/sis/storage/geotiff/GeoCodes.java   |   8 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  26 +-
 .../org/apache/sis/storage/geotiff/Reader.java     |   1 +
 .../apache/sis/storage/geotiff/GeoCodesTest.java   |  73 +++++
 .../apache/sis/test/suite/GeoTiffTestSuite.java    |   1 +
 .../org/apache/sis/internal/netcdf/Decoder.java    |  11 +-
 .../sis/internal/netcdf/impl/ChannelDecoder.java   |   7 +-
 .../sis/internal/netcdf/impl/package-info.java     |   2 +-
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |  20 +-
 .../sis/internal/netcdf/ucar/package-info.java     |   2 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |  22 +-
 .../org/apache/sis/internal/netcdf/TestCase.java   |   6 +-
 .../sis/storage/netcdf/MetadataReaderTest.java     |  17 +-
 .../storage/netcdf/NetcdfStoreProviderTest.java    |  15 +-
 .../sis/internal/sql/postgis/RasterReader.java     |  14 +-
 .../sis/internal/storage/GridResourceWrapper.java  |  26 +-
 .../apache/sis/internal/storage/URIDataStore.java  |   3 +-
 .../sis/internal/storage/csv/package-info.java     |   2 +-
 .../sis/internal/storage/esri/AsciiGridStore.java  |  29 +-
 .../sis/internal/storage/esri/RasterStore.java     |   2 +-
 .../sis/internal/storage/esri/RawRasterStore.java  |  32 +-
 .../sis/internal/storage/esri/WritableStore.java   |   3 +
 .../internal/storage/folder/ConcurrentCloser.java  | 113 +++++++
 .../apache/sis/internal/storage/folder/Store.java  |  38 +--
 .../internal/storage/image/SingleImageStore.java   |  37 +--
 .../sis/internal/storage/image/WorldFileStore.java |  51 +--
 .../storage/image/WorldFileStoreProvider.java      |   4 +-
 ...ageStore.java => WritableSingleImageStore.java} |  61 ++--
 .../sis/internal/storage/image/WritableStore.java  |   3 +
 .../sis/internal/storage/image/package-info.java   |   2 +-
 .../sis/internal/storage/io/ByteRangeChannel.java  |  46 +++
 .../sis/internal/storage/io/ChannelDataInput.java  |  45 +--
 .../sis/internal/storage/io/ChannelFactory.java    |  32 +-
 .../internal/storage/io/FileCacheByteChannel.java  | 252 ++++++++++----
 .../sis/internal/storage/io/HttpByteChannel.java   |  14 +-
 .../sis/internal/storage/io/IOUtilities.java       |  16 +-
 .../storage/io/InputStreamArrayGetter.java         | 135 ++++++++
 .../org/apache/sis/internal/storage/wkt/Store.java |  25 +-
 .../org/apache/sis/internal/storage/xml/Store.java |  24 +-
 .../java/org/apache/sis/storage/DataStore.java     |   5 +
 .../org/apache/sis/storage/StorageConnector.java   |  31 +-
 .../sis/storage/aggregate/MergeStrategy.java       |   2 +-
 .../apache/sis/storage/event/StoreListeners.java   |   9 +-
 .../apache/sis/storage/tiling/TileMatrixSet.java   |   1 +
 .../sis/internal/storage/folder/StoreTest.java     |   3 +-
 .../internal/storage/io/ComputedInputStream.java   |   4 +-
 .../storage/io/FileCacheByteChannelTest.java       |  18 +-
 .../storage/io/InputStreamArrayGetterTest.java     |  62 ++++
 .../apache/sis/test/suite/StorageTestSuite.java    |   1 +
 .../org/apache/sis/internal/storage/gpx/Store.java |   3 +
 .../internal/storage/xml/stream/StaxDataStore.java |  27 +-
 133 files changed, 2026 insertions(+), 864 deletions(-)

diff --cc 
storage/sis-geotiff/src/test/java/org/apache/sis/storage/geotiff/GeoCodesTest.java
index 0000000000,95cfdb46c5..533f06f2b4
mode 000000,100644..100644
--- 
a/storage/sis-geotiff/src/test/java/org/apache/sis/storage/geotiff/GeoCodesTest.java
+++ 
b/storage/sis-geotiff/src/test/java/org/apache/sis/storage/geotiff/GeoCodesTest.java
@@@ -1,0 -1,73 +1,73 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one or more
+  * contributor license agreements.  See the NOTICE file distributed with
+  * this work for additional information regarding copyright ownership.
+  * The ASF licenses this file to You under the Apache License, Version 2.0
+  * (the "License"); you may not use this file except in compliance with
+  * the License.  You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ package org.apache.sis.storage.geotiff;
+ 
+ import org.opengis.util.FactoryException;
+ import org.opengis.parameter.ParameterDescriptorGroup;
+ import org.opengis.referencing.IdentifiedObject;
 -import org.opengis.referencing.operation.CoordinateOperationFactory;
++import org.opengis.referencing.operation.MathTransformFactory;
+ import org.apache.sis.internal.system.DefaultFactories;
+ import org.apache.sis.metadata.iso.citation.Citations;
+ import org.apache.sis.referencing.IdentifiedObjects;
+ import org.apache.sis.test.TestCase;
+ import org.junit.Test;
+ 
+ import static org.junit.Assert.*;
+ 
+ 
+ /**
+  * Verifies some {@link GeoCodes} values.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   1.4
+  */
+ public final class GeoCodesTest extends TestCase {
+     /**
+      * Verifies the constants relative to the polar stereographic projection.
+      *
+      * @throws FactoryException if the operation method is not found.
+      */
+     @Test
+     public void verifyPolarStereographic() throws FactoryException {
+         ParameterDescriptorGroup parameters = parameters("Polar Stereographic 
(Variant B)");
+         assertEquals(GeoCodes.PolarStereographic, parseCode(parameters));
+         /*
+          * Following are testing `GeoKeys` rather than `GeoCodes`,
+          * but we do that as an additional consistency check.
+          */
+         ParameterDescriptorGroup alternative = parameters("Polar 
Stereographic (Variant A)");
+         assertEquals(GeoKeys.StdParallel1, parseCode(parameters 
.descriptor("Latitude of standard parallel")));
+         assertEquals(GeoKeys.NatOriginLat, 
parseCode(alternative.descriptor("Latitude of natural origin")));
+ 
+     }
+ 
+     /**
+      * Returns the parameters for the operation method of the given name.
+      */
+     private static ParameterDescriptorGroup parameters(final String method) 
throws FactoryException {
 -        final CoordinateOperationFactory factory = 
DefaultFactories.forBuildin(CoordinateOperationFactory.class);
 -        return factory.getOperationMethod(method).getParameters();
++        final MathTransformFactory factory = 
DefaultFactories.forBuildin(MathTransformFactory.class);
++        return factory.getDefaultParameters(method).getDescriptor();
+     }
+ 
+     /**
+      * Returns the GeoTIFF code declared in the given object.
+      */
+     private static int parseCode(final IdentifiedObject object) {
+         return Integer.parseInt(IdentifiedObjects.getIdentifier(object, 
Citations.GEOTIFF).getCode());
+     }
+ }
diff --cc 
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/TestCase.java
index 645b428a39,ebe37c7989..62a21d5c34
--- 
a/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/TestCase.java
+++ 
b/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/TestCase.java
@@@ -27,6 -27,8 +27,7 @@@ import org.apache.sis.storage.DataStore
  import org.apache.sis.internal.netcdf.ucar.DecoderWrapper;
  import org.apache.sis.setup.GeometryLibrary;
  import org.apache.sis.storage.event.StoreListeners;
+ import org.apache.sis.storage.DataStoreMock;
 -import org.opengis.test.dataset.TestData;
  import ucar.nc2.dataset.NetcdfDataset;
  import ucar.nc2.NetcdfFile;
  import org.junit.AfterClass;
diff --cc 
storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/MetadataReaderTest.java
index 4ca122a2d1,df2b33fbbb..efd18500f8
--- 
a/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/MetadataReaderTest.java
+++ 
b/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/MetadataReaderTest.java
@@@ -32,7 -33,7 +32,8 @@@ import org.apache.sis.internal.netcdf.T
  import org.apache.sis.internal.netcdf.Decoder;
  import org.apache.sis.internal.netcdf.impl.ChannelDecoderTest;
  import org.apache.sis.storage.DataStoreException;
 +import org.apache.sis.test.ContentVerifier;
+ import org.apache.sis.storage.DataStoreMock;
  import org.apache.sis.test.DependsOn;
  import org.junit.Test;
  
@@@ -71,11 -72,10 +72,10 @@@ public final class MetadataReaderTest e
       */
      @Test
      public void testEmbedded() throws IOException, DataStoreException {
-         final Metadata metadata;
-         try (Decoder input = 
ChannelDecoderTest.createChannelDecoder(TestData.NETCDF_2D_GEOGRAPHIC)) {
-             metadata = new MetadataReader(input).read();
-         }
+         final Decoder input = 
ChannelDecoderTest.createChannelDecoder(TestData.NETCDF_2D_GEOGRAPHIC);
+         final Metadata metadata = new MetadataReader(input).read();
+         input.close(new DataStoreMock("lock"));
 -        compareToExpected(metadata).assertMetadataEquals();
 +        compareToExpected(metadata);
      }
  
      /**
@@@ -87,11 -87,12 +87,10 @@@
       */
      @Test
      public void testUCAR() throws IOException, DataStoreException {
-         final Metadata metadata;
-         try (Decoder input = createDecoder(TestData.NETCDF_2D_GEOGRAPHIC)) {
-             metadata = new MetadataReader(input).read();
-         }
+         final Decoder input = createDecoder(TestData.NETCDF_2D_GEOGRAPHIC);
+         final Metadata metadata = new MetadataReader(input).read();
+         input.close(new DataStoreMock("lock"));
 -        final ContentVerifier verifier = compareToExpected(metadata);
 -        
verifier.addExpectedValue("identificationInfo[0].resourceFormat[0].formatSpecificationCitation.alternateTitle[1]",
 "NetCDF-3/CDM");
 -        verifier.assertMetadataEquals();
 +        compareToExpected(metadata);
      }
  
      /**
diff --cc 
storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/NetcdfStoreProviderTest.java
index bd1bb5664c,c31b9ae8c8..986fefab29
--- 
a/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/NetcdfStoreProviderTest.java
+++ 
b/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/NetcdfStoreProviderTest.java
@@@ -26,9 -26,10 +26,10 @@@ import org.apache.sis.internal.netcdf.i
  import org.apache.sis.storage.ProbeResult;
  import org.apache.sis.storage.StorageConnector;
  import org.apache.sis.storage.DataStoreException;
+ import org.apache.sis.storage.DataStoreMock;
  import org.apache.sis.util.Version;
  import org.apache.sis.test.DependsOn;
 -import org.opengis.test.dataset.TestData;
 +import org.apache.sis.internal.netcdf.TestData;
  import org.junit.Test;
  
  import static org.opengis.test.Assert.*;
diff --cc 
storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
index a80941387a,0e1d24c903..b9b37b2e23
--- 
a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
+++ 
b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
@@@ -271,9 -271,10 +271,10 @@@ class Store extends DataStore implement
      public synchronized Metadata getMetadata() {
          if (metadata == null) {
              final MetadataBuilder mb = new MetadataBuilder();
 -            mb.addResourceScope(ScopeCode.COLLECTION, 
Resources.formatInternational(Resources.Keys.DirectoryContent_1, 
getDisplayName()));
 +            mb.addResourceScope(ScopeCode.valueOf("COLLECTION"), 
Resources.formatInternational(Resources.Keys.DirectoryContent_1, 
getDisplayName()));
              mb.addLanguage(locale,   MetadataBuilder.Scope.RESOURCE);
              mb.addEncoding(encoding, MetadataBuilder.Scope.RESOURCE);
+             final GenericName identifier = identifier(null);
              String name = null;
              if (identifier != null) {
                  name = identifier.toString();

Reply via email to