This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 8a62a3c524a232f0a7f986b15ad59a829f282f27
Merge: 73383b6907 a8a2df6ef0
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Mon Apr 13 23:02:06 2026 +0200

    Merge branch 'geoapi-3.1'

 .../main/org/apache/sis/console/CommandRunner.java |   2 +-
 .../sis/coverage/grid/ClippedGridCoverage.java     |   2 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |   2 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |   4 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   2 +-
 .../sis/coverage/grid/ValuesAtPointIterator.java   |   4 +-
 .../org/apache/sis/feature/AbstractFeature.java    |   2 +-
 .../main/org/apache/sis/feature/FeatureFormat.java |   2 +-
 .../org/apache/sis/feature/PropertySingleton.java  |   2 +-
 .../feature/internal/shared/FeatureProjection.java |   2 +-
 .../org/apache/sis/filter/IdentifierFilter.java    |   2 +-
 .../main/org/apache/sis/image/ComputedTiles.java   |   2 +-
 .../main/org/apache/sis/image/ImageLayout.java     |   8 +-
 .../sis/image/internal/shared/ObservableImage.java |   2 +-
 .../main/org/apache/sis/index/tree/PointTree.java  |   2 +-
 .../main/org/apache/sis/metadata/TreeNode.java     |   2 +-
 .../sis/metadata/iso/citation/Citations.java       |   2 +-
 .../metadata/iso/spatial/DefaultGeorectified.java  |   2 +-
 .../org/apache/sis/temporal/DefaultInstant.java    |   2 +-
 .../main/org/apache/sis/util/iso/Types.java        |   2 +-
 .../apache/sis/xml/bind/IdentifierMapAdapter.java  |   2 +-
 .../org/apache/sis/xml/bind/lan/PT_FreeText.java   |   2 +-
 .../sis/xml/internal/shared/InputFactory.java      |   6 +-
 .../sis/metadata/PropertyConsistencyCheck.java     |   2 +-
 .../sis/xml/internal/shared/InputFactoryTest.java  |   4 +-
 .../main/org/apache/sis/portrayal/Canvas.java      |  32 +-
 .../org/apache/sis/portrayal/CanvasFollower.java   | 186 +++--
 .../org/apache/sis/portrayal/FollowContext.java    | 135 ++++
 .../main/org/apache/sis/portrayal/Observable.java  |  19 +-
 .../org/apache/sis/portrayal/PlanarCanvas.java     |  30 +-
 .../apache/sis/portrayal/TransformChangeEvent.java |  21 +-
 .../org/apache/sis/portrayal/package-info.java     |  10 +-
 .../org/apache/sis/geometry/CurveExtremum.java     |   2 +-
 .../main/org/apache/sis/io/wkt/Element.java        |   2 +-
 .../sis/parameter/DefaultParameterDescriptor.java  |   2 +-
 .../sis/referencing/MultiRegisterOperations.java   |   2 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |   2 +-
 .../apache/sis/referencing/cs/AxesConvention.java  |   2 +-
 .../sis/referencing/datum/AbstractDatum.java       |   2 +-
 .../sis/referencing/datum/DatumOrEnsemble.java     |   2 +-
 .../factory/ConcurrentAuthorityFactory.java        |   2 +-
 .../sis/referencing/factory/ReferenceKeeper.java   |   2 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |   6 +-
 .../internal/ParameterizedTransformBuilder.java    |   2 +-
 .../internal/shared/ReferencingUtilities.java      |   2 +-
 .../operation/CoordinateOperationRegistry.java     |   2 +-
 .../referencing/operation/SubOperationInfo.java    |   2 +-
 .../operation/transform/ConcatenatedTransform.java |   2 +-
 .../transform/EllipsoidToCentricTransform.java     |   2 +-
 .../operation/transform/MathTransformProvider.java |   2 +-
 .../operation/transform/TransformJoiner.java       |   2 +-
 .../org/apache/sis/xml/bind/referencing/Code.java  |   2 +-
 .../sis/storage/geotiff/writer/GeoEncoder.java     |   2 +-
 .../storage/geotiff/writer/ReformattedImage.java   |   2 +-
 .../apache/sis/storage/netcdf/base/Decoder.java    |   4 +-
 .../sis/storage/netcdf/ucar/DecoderWrapper.java    |   4 +-
 .../sis/storage/xml/stream/StaxStreamReader.java   |   2 +-
 .../sis/storage/AbstractGridCoverageResource.java  |   4 +-
 .../main/org/apache/sis/storage/FeatureQuery.java  |   2 +-
 .../apache/sis/storage/GridCoverageResource.java   |   2 +-
 .../sis/storage/MemoryGridCoverageResource.java    |  20 +-
 .../main/org/apache/sis/storage/URLDataSource.java |   6 +-
 .../sis/storage/base/URIDataStoreProvider.java     |   3 +
 .../apache/sis/storage/tiling/ImagePyramid.java    |   2 +-
 .../apache/sis/storage/tiling/ImageTileMatrix.java |   4 +-
 .../org/apache/sis/storage/tiling/TileMatrix.java  |   2 +-
 .../apache/sis/storage/tiling/TileMatrixSet.java   |   2 +-
 .../org/apache/sis/storage/CoverageSubsetTest.java |   2 +-
 .../storage/MemoryGridCoverageResourceTest.java    |   2 +-
 .../aggregate/BandAggregateGridResourceTest.java   |   2 +-
 .../sis/storage/aggregate/OpaqueGridResource.java  |   2 +-
 .../org/apache/sis/measure/AbstractConverter.java  |   2 +-
 .../apache/sis/measure/ConcatenatedConverter.java  |   2 +-
 .../org/apache/sis/measure/LinearConverter.java    |   2 +-
 .../main/org/apache/sis/measure/UnitFormat.java    |   2 +-
 .../main/org/apache/sis/util/ArraysExt.java        |   4 +-
 .../sis/util/DefaultInternationalString.java       |   4 +-
 .../apache/sis/util/collection/TreeNodeList.java   |   2 +-
 .../apache/sis/util/internal/shared/Numerics.java  |   2 +-
 .../org/apache/sis/util/internal/shared/X364.java  |   4 +-
 .../coveragejson/CoverageJsonStoreTest.java        |   2 +-
 .../sis/storage/geoheif/ResourceBuilder.java       |   2 +-
 .../apache/sis/storage/geopackage/Initializer.java |   4 +-
 .../main/org/apache/sis/gui/DataViewer.java        |  23 +-
 .../org/apache/sis/gui/controls/ColorRamp.java     |   3 +-
 .../apache/sis/gui/controls/FormatApplicator.java  |   4 +-
 .../apache/sis/gui/controls/SyncWindowList.java    |   1 +
 .../apache/sis/gui/controls/ValueColorMapper.java  |   3 +-
 .../org/apache/sis/gui/coverage/CellFormat.java    |  15 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |  67 +-
 .../apache/sis/gui/coverage/CoverageControls.java  |  23 +-
 .../apache/sis/gui/coverage/CoverageExplorer.java  |   6 +-
 .../main/org/apache/sis/gui/coverage/GridTile.java |   3 +-
 .../main/org/apache/sis/gui/coverage/GridView.java |  10 +-
 .../org/apache/sis/gui/dataset/ExpandableList.java |   5 +-
 .../apache/sis/gui/dataset/ExpandedFeature.java    |   3 +-
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   3 +-
 .../main/org/apache/sis/gui/dataset/LogViewer.java |   5 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |  47 +-
 .../org/apache/sis/gui/dataset/ResourceCell.java   | 122 ++--
 .../apache/sis/gui/dataset/ResourceExplorer.java   |  28 +-
 .../org/apache/sis/gui/dataset/ResourceItem.java   |   5 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |  23 +-
 .../org/apache/sis/gui/dataset/WindowHandler.java  |  24 +-
 .../org/apache/sis/gui/dataset/WindowManager.java  |   6 +-
 .../apache/sis/gui/internal/BackgroundThreads.java |   2 +
 .../apache/sis/gui/internal/DataStoreOpener.java   |   4 +-
 .../apache/sis/gui/internal/ExceptionReporter.java |   4 +-
 .../main/org/apache/sis/gui/internal/FontGIS.java  |   2 +-
 .../org/apache/sis/gui/internal/GUIUtilities.java  |  17 +-
 .../apache/sis/gui/internal/ImageConverter.java    |   5 +-
 .../sis/gui/internal/ImmutableObjectProperty.java  |   2 +
 .../org/apache/sis/gui/internal/PrivateAccess.java |   1 +
 .../org/apache/sis/gui/internal/PropertyView.java  |  21 +-
 .../org/apache/sis/gui/internal/Resources.java     |  32 +-
 .../apache/sis/gui/internal/Resources.properties   |   2 +
 .../sis/gui/internal/Resources_fr.properties       |   2 +
 .../org/apache/sis/gui/internal/ToolbarButton.java |   3 +
 .../apache/sis/gui/internal/io/FileAccessItem.java |   4 +-
 .../org/apache/sis/gui/map/EvanescentPane.java     |  91 +++
 .../org/apache/sis/gui/map/GestureFollower.java    |  47 +-
 .../main/org/apache/sis/gui/map/MapCanvas.java     | 178 +++--
 .../main/org/apache/sis/gui/map/MapCanvasAWT.java  |  27 +-
 .../main/org/apache/sis/gui/map/MapMenu.java       |   5 +-
 .../main/org/apache/sis/gui/map/MapWindows.java    | 185 +++++
 .../main/org/apache/sis/gui/map/MultiCanvas.java   | 811 +++++++++++++++++++++
 .../main/org/apache/sis/gui/map/RenderingTask.java |  27 +-
 .../main/org/apache/sis/gui/map/StatusBar.java     |  32 +-
 .../org/apache/sis/gui/map/ValuesFromCoverage.java |   7 +-
 .../org/apache/sis/gui/map/ValuesUnderCursor.java  |  12 +-
 .../apache/sis/gui/map/style/MapContextView.java   |   6 +-
 .../apache/sis/gui/metadata/MetadataSummary.java   |   4 +-
 .../main/org/apache/sis/gui/package-info.java      |   2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |   2 +-
 .../org/apache/sis/gui/referencing/CRSChooser.java |  17 +-
 .../main/org/apache/sis/gui/referencing/Utils.java |   3 +-
 .../main/org/apache/sis/gui/setup/Wizard.java      |   7 +-
 .../apache/sis/gui/coverage/CoverageCanvasApp.java |  27 +-
 .../test/org/apache/sis/gui/map/MapWindowsApp.java | 111 +++
 .../apache/sis/storage/gdal/FeatureIterator.java   |   2 +-
 141 files changed, 2221 insertions(+), 558 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/IdentifierFilter.java
index a3fd58122e,61af4ee1f5..eb8c23652c
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/IdentifierFilter.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/IdentifierFilter.java
@@@ -63,13 -67,8 +63,13 @@@ final class IdentifierFilter extends No
          this.identifier = Objects.requireNonNull(identifier);
      }
  
 +    @Override
 +    public Enum<?> getOperatorType() {
 +        return FilterName.RESOURCE_ID;
 +    }
 +
      /**
-      * Creates a new filter searching for the same identifier than the 
original filter,
+      * Creates a new filter searching for the same identifier as the original 
filter,
       * but looking in a different property.
       */
      private IdentifierFilter(final IdentifierFilter original, final String 
property) {
diff --cc 
optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/ExpandableList.java
index 43f5c9cdcf,2266287f3a..5e7f210633
--- 
a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/ExpandableList.java
+++ 
b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/ExpandableList.java
@@@ -212,12 -213,11 +212,11 @@@ final class ExpandableList extends Tran
      /**
       * Returns {@code true} if the given feature contains more than one row.
       */
 -    private boolean isExpandable(final Feature feature) {
 +    private boolean isExpandable(final AbstractFeature feature) {
          if (feature != null) {
              for (final String name : nameToIndex.keySet()) {
-                 final Object value = feature.getPropertyValue(name);
-                 if (value instanceof Collection<?>) {
-                     final int size = ((Collection<?>) value).size();
+                 if (feature.getPropertyValue(name) instanceof Collection<?> 
value) {
+                     final int size = value.size();
                      if (size >= 2) {
                          return true;
                      }

Reply via email to