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

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

commit e8bfb5ea7b9fa64d52e99ad26447dce21520d607
Merge: 371e65c59f 7e3132901f
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Wed Sep 21 11:23:58 2022 +0200

    Merge branch 'geoapi-4.0' into geoapi-3.1.

 .../apache/sis/gui/coverage/CoverageExplorer.java  |   4 +-
 .../apache/sis/gui/coverage/GridSliceSelector.java |   1 +
 .../org/apache/sis/gui/coverage/ImageRequest.java  |   4 +-
 .../apache/sis/gui/coverage/ViewAndControls.java   |   2 +-
 .../org/apache/sis/gui/dataset/ResourceCell.java   | 208 ++++++
 .../org/apache/sis/gui/dataset/ResourceItem.java   | 418 ++++++++++++
 .../org/apache/sis/gui/dataset/ResourceTree.java   | 528 ++--------------
 .../org/apache/sis/gui/dataset/RootResource.java   | 135 ++++
 .../org/apache/sis/gui/dataset/TreeViewType.java   |  24 +-
 .../java/org/apache/sis/gui/map/MapCanvas.java     |  18 +-
 .../java/org/apache/sis/gui/map/StatusBar.java     |  68 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    | 522 +++++++++++++++
 .../org/apache/sis/gui/map/ValuesFromCoverage.java | 264 ++++++++
 .../org/apache/sis/gui/map/ValuesUnderCursor.java  | 699 +++++++--------------
 .../apache/sis/internal/gui/DataStoreOpener.java   |   1 +
 .../org/apache/sis/internal/gui/LogHandler.java    |  51 +-
 .../org/apache/sis/internal/gui/Resources.java     |  29 +-
 .../apache/sis/internal/gui/Resources.properties   |   2 +
 .../sis/internal/gui/Resources_fr.properties       |   2 +
 .../sis/coverage/grid/ConvertedGridCoverage.java   |   8 +
 .../sis/coverage/grid/DisjointExtentException.java |   6 +-
 .../org/apache/sis/coverage/grid/GridCoverage.java |  67 +-
 .../apache/sis/coverage/grid/GridCoverage2D.java   |  16 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |   3 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   | 130 +++-
 .../org/apache/sis/coverage/grid/GridGeometry.java | 105 +++-
 .../sis/coverage/grid/TranslatedGridCoverage.java  |  15 +-
 .../org/apache/sis/feature/AbstractAttribute.java  |   3 +-
 .../main/java/org/apache/sis/image/TileCache.java  |  31 +-
 .../apache/sis/coverage/grid/GridExtentTest.java   |  40 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  32 +
 ...ataUtilities.java => ImplementationHelper.java} |  13 +-
 .../apache/sis/internal/metadata/package-info.java |   2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   1 +
 .../apache/sis/metadata/ModifiableMetadata.java    |   2 +-
 .../apache/sis/metadata/PropertyInformation.java   |   1 +
 .../iso/DefaultApplicationSchemaInformation.java   |   4 +
 .../iso/DefaultExtendedElementInformation.java     |   9 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |   2 +
 .../apache/sis/metadata/iso/DefaultMetadata.java   |  39 +-
 .../iso/DefaultMetadataExtensionInformation.java   |   2 +
 .../sis/metadata/iso/DefaultMetadataScope.java     |   1 +
 .../iso/DefaultPortrayalCatalogueReference.java    |   1 +
 .../org/apache/sis/metadata/iso/ISOMetadata.java   |   9 +-
 .../sis/metadata/iso/MetadataScopeAdapter.java     |   6 +-
 .../acquisition/DefaultAcquisitionInformation.java |   7 +
 .../acquisition/DefaultEnvironmentalRecord.java    |   3 +-
 .../sis/metadata/iso/acquisition/DefaultEvent.java |   7 +-
 .../iso/acquisition/DefaultInstrument.java         |   4 +
 .../metadata/iso/acquisition/DefaultObjective.java |   7 +
 .../metadata/iso/acquisition/DefaultOperation.java |  10 +
 .../sis/metadata/iso/acquisition/DefaultPlan.java  |   3 +
 .../metadata/iso/acquisition/DefaultPlatform.java  |   4 +
 .../iso/acquisition/DefaultPlatformPass.java       |   2 +
 .../iso/acquisition/DefaultRequestedDate.java      |   4 +-
 .../iso/acquisition/DefaultRequirement.java        |   9 +-
 .../sis/metadata/iso/citation/AbstractParty.java   |   2 +
 .../sis/metadata/iso/citation/DefaultAddress.java  |   5 +
 .../sis/metadata/iso/citation/DefaultCitation.java |  15 +-
 .../metadata/iso/citation/DefaultCitationDate.java |   4 +-
 .../sis/metadata/iso/citation/DefaultContact.java  |  10 +-
 .../metadata/iso/citation/DefaultIndividual.java   |   1 +
 .../iso/citation/DefaultOnlineResource.java        |   2 +
 .../metadata/iso/citation/DefaultOrganisation.java |   2 +
 .../iso/citation/DefaultResponsibility.java        |   2 +
 .../iso/citation/DefaultResponsibleParty.java      |   2 +-
 .../sis/metadata/iso/citation/DefaultSeries.java   |   3 +
 .../metadata/iso/citation/DefaultTelephone.java    |   1 +
 .../iso/constraint/DefaultConstraints.java         |   6 +
 .../iso/constraint/DefaultLegalConstraints.java    |   3 +
 .../iso/constraint/DefaultReleasability.java       |   3 +
 .../iso/constraint/DefaultSecurityConstraints.java |   3 +
 .../iso/content/DefaultAttributeGroup.java         |   2 +
 .../sis/metadata/iso/content/DefaultBand.java      |   3 +-
 .../iso/content/DefaultCoverageDescription.java    |   6 +-
 .../DefaultFeatureCatalogueDescription.java        |   5 +-
 .../iso/content/DefaultFeatureTypeInfo.java        |   3 +-
 .../iso/content/DefaultImageDescription.java       |   7 +-
 .../iso/content/DefaultRangeDimension.java         |   3 +
 .../content/DefaultRangeElementDescription.java    |   3 +
 .../iso/content/DefaultSampleDimension.java        |   5 +-
 .../metadata/iso/distribution/DefaultDataFile.java |   3 +
 .../DefaultDigitalTransferOptions.java             |   7 +-
 .../iso/distribution/DefaultDistribution.java      |   4 +
 .../iso/distribution/DefaultDistributor.java       |   4 +
 .../metadata/iso/distribution/DefaultFormat.java   |   5 +
 .../metadata/iso/distribution/DefaultMedium.java   |   6 +-
 .../distribution/DefaultStandardOrderProcess.java  |   9 +-
 .../iso/extent/DefaultBoundingPolygon.java         |   1 +
 .../sis/metadata/iso/extent/DefaultExtent.java     |   4 +
 .../iso/extent/DefaultGeographicDescription.java   |   1 +
 .../iso/extent/DefaultSpatialTemporalExtent.java   |   4 +-
 .../metadata/iso/extent/DefaultTemporalExtent.java |   1 +
 .../metadata/iso/extent/DefaultVerticalExtent.java |   1 +
 .../apache/sis/metadata/iso/extent/Extents.java    |  55 +-
 .../sis/metadata/iso/extent/package-info.java      |   2 +-
 .../iso/identification/AbstractIdentification.java |  20 +
 .../identification/DefaultAssociatedResource.java  |   2 +
 .../iso/identification/DefaultBrowseGraphic.java   |   3 +
 .../iso/identification/DefaultCoupledResource.java |   4 +
 .../identification/DefaultDataIdentification.java  |   7 +-
 .../iso/identification/DefaultKeywordClass.java    |   3 +-
 .../iso/identification/DefaultKeywords.java        |   4 +-
 .../DefaultOperationChainMetadata.java             |   3 +
 .../identification/DefaultOperationMetadata.java   |   6 +
 .../DefaultRepresentativeFraction.java             |   9 +-
 .../iso/identification/DefaultResolution.java      |   3 +-
 .../DefaultServiceIdentification.java              |  10 +
 .../metadata/iso/identification/DefaultUsage.java  |  10 +-
 .../sis/metadata/iso/lineage/DefaultAlgorithm.java |   2 +
 .../sis/metadata/iso/lineage/DefaultLineage.java   |   7 +-
 .../iso/lineage/DefaultNominalResolution.java      |   2 +-
 .../metadata/iso/lineage/DefaultProcessStep.java   |  10 +
 .../iso/lineage/DefaultProcessStepReport.java      |   3 +
 .../metadata/iso/lineage/DefaultProcessing.java    |   5 +
 .../sis/metadata/iso/lineage/DefaultSource.java    |   9 +
 .../maintenance/DefaultMaintenanceInformation.java |   7 +-
 .../sis/metadata/iso/maintenance/DefaultScope.java |   2 +
 .../iso/maintenance/DefaultScopeDescription.java   |   1 +
 .../sis/metadata/iso/quality/AbstractElement.java  |   9 +-
 .../iso/quality/DefaultConformanceResult.java      |   2 +
 .../iso/quality/DefaultCoverageResult.java         |   4 +
 .../metadata/iso/quality/DefaultDataQuality.java   |   3 +
 .../iso/quality/DefaultQuantitativeResult.java     |   4 +
 .../spatial/AbstractGeolocationInformation.java    |   1 +
 .../sis/metadata/iso/spatial/DefaultDimension.java |   4 +-
 .../sis/metadata/iso/spatial/DefaultGCP.java       |   2 +
 .../metadata/iso/spatial/DefaultGCPCollection.java |   3 +
 .../iso/spatial/DefaultGeometricObjects.java       |   2 +-
 .../metadata/iso/spatial/DefaultGeorectified.java  |   6 +
 .../iso/spatial/DefaultGeoreferenceable.java       |   4 +
 .../spatial/DefaultGridSpatialRepresentation.java  |   3 +-
 .../DefaultVectorSpatialRepresentation.java        |   1 +
 .../java/org/apache/sis/util/iso/AbstractName.java |   1 +
 .../org/apache/sis/util/iso/DefaultLocalName.java  |   2 +
 .../org/apache/sis/util/iso/DefaultMemberName.java |   1 +
 .../org/apache/sis/util/iso/DefaultNameSpace.java  |   1 +
 .../org/apache/sis/util/iso/DefaultRecord.java     |   2 +
 .../org/apache/sis/util/iso/DefaultRecordType.java |   2 +
 .../org/apache/sis/util/iso/RecordDefinition.java  |   1 +
 ...tiesTest.java => ImplementationHelperTest.java} |  30 +-
 .../sis/metadata/iso/DefaultMetadataTest.java      |   3 +-
 .../apache/sis/test/suite/MetadataTestSuite.java   |   2 +-
 .../MultiResolutionCoverageLoaderTest.java         |   2 +-
 .../java/org/apache/sis/geometry/Envelope2D.java   |   2 +-
 .../jaxb/referencing/CC_OperationMethod.java       |   2 +-
 .../sis/internal/referencing/ExtentSelector.java   |  18 +-
 .../apache/sis/internal/referencing/Resources.java |   5 +-
 .../sis/internal/referencing/Resources.properties  |   2 +-
 .../internal/referencing/Resources_fr.properties   |   2 +-
 .../provider/CoordinateFrameRotation.java          |   8 +-
 .../provider/CoordinateFrameRotation2D.java        |   8 +-
 .../provider/CoordinateFrameRotation3D.java        |   8 +-
 .../provider/FranceGeocentricInterpolation.java    |   3 +-
 .../GeocentricAffineBetweenGeographic.java         |   2 +-
 .../provider/GeographicToGeocentric.java           |   2 +-
 .../internal/referencing/provider/Molodensky.java  |   2 +-
 .../referencing/provider/PositionVector7Param.java |   2 +-
 .../provider/PositionVector7Param2D.java           |   2 +-
 .../provider/PositionVector7Param3D.java           |   2 +-
 .../sis/parameter/AbstractParameterDescriptor.java |   2 +-
 .../sis/parameter/DefaultParameterDescriptor.java  |   6 +-
 .../parameter/DefaultParameterDescriptorGroup.java |   5 +-
 .../sis/parameter/DefaultParameterValue.java       |   7 +-
 .../sis/parameter/DefaultParameterValueGroup.java  |   8 +-
 .../apache/sis/parameter/FilteredParameters.java   | 114 ++++
 .../org/apache/sis/parameter/ParameterFormat.java  |   1 +
 .../apache/sis/parameter/ParameterValueList.java   |   2 +
 .../java/org/apache/sis/parameter/Parameters.java  |  43 ++
 .../org/apache/sis/parameter/TensorParameters.java |   1 +
 .../org/apache/sis/parameter/TensorValues.java     |   2 +
 .../sis/parameter/UninitializedParameter.java      |   1 +
 .../parameter/UnmodifiableParameterValueGroup.java |  23 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   6 +-
 .../sis/referencing/AbstractReferenceSystem.java   |   6 +-
 .../java/org/apache/sis/referencing/Builder.java   |   6 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |  52 +-
 .../java/org/apache/sis/referencing/CommonCRS.java | 109 +++-
 .../apache/sis/referencing/crs/AbstractCRS.java    |   4 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   6 +-
 .../sis/referencing/crs/DefaultEngineeringCRS.java |   4 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |   4 +-
 .../sis/referencing/crs/DefaultImageCRS.java       |   4 +-
 .../sis/referencing/crs/DefaultParametricCRS.java  |   4 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   4 +-
 .../sis/referencing/crs/DefaultVerticalCRS.java    |   4 +-
 .../cs/DefaultCoordinateSystemAxis.java            |  14 +-
 .../sis/referencing/datum/AbstractDatum.java       |  20 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |   6 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |   6 +-
 .../sis/referencing/datum/DefaultImageDatum.java   |   4 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |   4 +-
 .../referencing/datum/DefaultTemporalDatum.java    |   8 +-
 .../referencing/datum/DefaultVerticalDatum.java    |   4 +-
 .../referencing/factory/CommonAuthorityCode.java   | 159 +++++
 .../factory/CommonAuthorityFactory.java            | 220 +++----
 .../factory/GeodeticAuthorityFactory.java          |   9 +-
 .../factory/MultiAuthoritiesFactory.java           |   4 +-
 .../sis/referencing/factory/package-info.java      |   2 +-
 .../operation/AbstractCoordinateOperation.java     |  21 +-
 .../operation/AbstractSingleOperation.java         |  72 ++-
 .../operation/CoordinateOperationContext.java      |   1 +
 .../operation/CoordinateOperationFinder.java       |   7 +-
 .../operation/CoordinateOperationRegistry.java     |   7 +-
 .../operation/DefaultConcatenatedOperation.java    |   1 +
 .../referencing/operation/DefaultConversion.java   |  12 +-
 .../DefaultCoordinateOperationFactory.java         |   5 +-
 .../sis/referencing/operation/DefaultFormula.java  |   2 +
 .../operation/DefaultOperationMethod.java          |  14 +-
 .../operation/DefaultPassThroughOperation.java     |   5 +-
 .../operation/InverseOperationMethod.java          |   3 +-
 .../operation/builder/ProjectedTransformTry.java   |   4 +-
 .../sis/referencing/operation/package-info.java    |   2 +-
 .../transform/DefaultMathTransformFactory.java     | 214 +++++--
 .../org/apache/sis/geometry/TransformTestCase.java |   7 +-
 .../org/apache/sis/io/wkt/WKTDictionaryTest.java   |   2 +-
 .../parameter/DefaultParameterValueGroupTest.java  |   5 +-
 .../java/org/apache/sis/referencing/CRSTest.java   |  46 +-
 .../org/apache/sis/referencing/CommonCRSTest.java  |  37 +-
 .../factory/CommonAuthorityFactoryTest.java        |  32 +-
 .../operation/CoordinateOperationFinderTest.java   |   2 +-
 .../test/integration/CoordinateOperationTest.java  |  32 +-
 .../org/apache/sis/internal/util/Constants.java    |   9 +-
 .../apache/sis/internal/util/DefinitionURI.java    |  14 +-
 .../org/apache/sis/internal/util/Numerics.java     |  12 +-
 .../java/org/apache/sis/internal/util/URLs.java    |   7 +-
 .../java/org/apache/sis/math/MathFunctions.java    |   2 +-
 .../main/java/org/apache/sis/math/Statistics.java  |  17 +-
 .../java/org/apache/sis/util/CharSequences.java    |   2 +-
 .../java/org/apache/sis/util/collection/Cache.java | 163 +++--
 .../sis/util/collection/TreeTableFormat.java       |   2 +-
 .../apache/sis/util/collection/package-info.java   |   2 +-
 .../java/org/apache/sis/util/resources/Errors.java |  10 +
 .../apache/sis/util/resources/Errors.properties    |   2 +
 .../apache/sis/util/resources/Errors_fr.properties |   2 +
 .../sis/internal/util/CheckedArrayListTest.java    |   3 +-
 .../org/apache/sis/internal/util/NumericsTest.java |   5 +-
 .../test/java/org/apache/sis/test/TestRunner.java  |   3 +-
 .../util/collection/FrequencySortedSetTest.java    |   3 +-
 .../apache/sis/internal/earth/netcdf/GCOM_C.java   |  18 +-
 .../apache/sis/internal/earth/netcdf/GCOM_W.java   |  15 +-
 .../org/apache/sis/storage/landsat/BandGroup.java  |   4 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   8 +-
 .../sis/storage/geotiff/MultiResolutionImage.java  |   8 +-
 .../org/apache/sis/internal/netcdf/Convention.java |  19 +-
 .../apache/sis/internal/netcdf/RasterResource.java |  56 +-
 .../sis/internal/netcdf/impl/ChannelDecoder.java   |  37 +-
 .../sis/internal/netcdf/impl/VariableInfo.java     |   2 +-
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |  22 +-
 .../internal/storage/DocumentedStoreProvider.java  |   2 +-
 .../sis/internal/storage/GridResourceWrapper.java  |   8 +-
 .../sis/internal/storage/MemoryGridResource.java   |  18 +-
 .../sis/internal/storage/MetadataBuilder.java      |  61 +-
 .../apache/sis/internal/storage/RangeArgument.java |  42 +-
 .../sis/internal/storage/ResourceLineage.java      | 152 +++++
 .../org/apache/sis/internal/storage/Resources.java |  36 ++
 .../sis/internal/storage/Resources.properties      |   9 +-
 .../sis/internal/storage/Resources_fr.properties   |  11 +-
 .../org/apache/sis/internal/storage/csv/Store.java |   2 +-
 .../sis/internal/storage/esri/AsciiGridStore.java  |  13 +-
 .../sis/internal/storage/esri/RawRasterStore.java  |   6 +-
 .../apache/sis/internal/storage/folder/Store.java  |  46 +-
 .../UnstructuredAggregate.java}                    |  27 +-
 .../sis/internal/storage/image/FormatFinder.java   |  34 +-
 .../internal/storage/image/SingleImageStore.java   |   8 +-
 .../internal/storage/image/WorldFileResource.java  |  26 +-
 .../sis/internal/storage/io/InternalOptionKey.java |   3 +
 .../org/apache/sis/storage/CoverageSubset.java     |  37 +-
 .../java/org/apache/sis/storage/DataOptionKey.java |  13 +-
 .../java/org/apache/sis/storage/DataStore.java     |   4 +-
 .../java/org/apache/sis/storage/FeatureSubset.java |  17 +
 .../apache/sis/storage/GridCoverageResource.java   |  13 +-
 .../org/apache/sis/storage/StorageConnector.java   |  36 +-
 .../storage/aggregate/AggregatedFeatureSet.java    |   2 +-
 .../sis/storage/aggregate/AggregatedResource.java  |  57 ++
 .../storage/aggregate/ConcatenatedFeatureSet.java  |  36 +-
 .../aggregate/ConcatenatedGridCoverage.java        | 352 +++++++++++
 .../aggregate/ConcatenatedGridResource.java        | 437 +++++++++++++
 .../sis/storage/aggregate/CoverageAggregator.java  | 290 +++++++++
 .../sis/storage/aggregate/DimensionSelector.java   | 150 +++++
 .../apache/sis/storage/aggregate/GridSlice.java    | 233 +++++++
 .../sis/storage/aggregate/GridSliceLocator.java    | 217 +++++++
 .../org/apache/sis/storage/aggregate/Group.java    | 105 ++++
 .../sis/storage/aggregate/GroupAggregate.java      | 296 +++++++++
 .../apache/sis/storage/aggregate/GroupByCRS.java   | 103 +++
 .../sis/storage/aggregate/GroupBySample.java       |  99 +++
 .../sis/storage/aggregate/GroupByTransform.java    | 163 +++++
 .../storage/aggregate/JoinFeatureSet.java          |   2 +-
 .../sis/storage/aggregate/MergeStrategy.java       | 184 ++++++
 .../storage/aggregate/package-info.java            |  11 +-
 .../apache/sis/storage/event/StoreListeners.java   |  27 +-
 .../org/apache/sis/storage/FeatureQueryTest.java   |   2 +-
 .../org/apache/sis/storage/GridResourceMock.java   |   6 +-
 .../aggregate/ConcatenatedFeatureSetTest.java      |   2 +-
 .../storage/aggregate/JoinFeatureSetTest.java      |   2 +-
 .../apache/sis/test/suite/StorageTestSuite.java    |   4 +-
 296 files changed, 7459 insertions(+), 1906 deletions(-)

diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
index c7c7c64aa3,910e5ee3bb..be4e3c1af5
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
@@@ -89,17 -91,20 +90,20 @@@ public class DefaultApplicationSchemaIn
      /**
       * Full application schema given as an ASCII file.
       */
+     @SuppressWarnings("serial")
 -    private CharSequence schemaAscii;
 +    private URI schemaAscii;
  
      /**
       * Full application schema given as a graphics file.
       */
+     @SuppressWarnings("serial")
 -    private OnlineResource graphicsFile;
 +    private URI graphicsFile;
  
      /**
       * Full application schema given as a software development file.
       */
+     @SuppressWarnings("serial")
 -    private OnlineResource softwareDevelopmentFile;
 +    private URI softwareDevelopmentFile;
  
      /**
       * Software dependent format used for the application schema software 
dependent file.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
index 2177eef28b,3861f4405e..398d9281c4
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
@@@ -176,12 -181,14 +181,14 @@@ public class DefaultExtendedElementInfo
      /**
       * Reason for creating the extended element.
       */
+     @SuppressWarnings("serial")
 -    private InternationalString rationale;
 +    private Collection<InternationalString> rationales;
  
      /**
       * Name of the person or organization creating the extended element.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> sources;
 +    private Collection<ResponsibleParty> sources;
  
      /**
       * Construct an initially empty extended element information.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
index ed127c704b,b7708d64f6..7304d37232
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
@@@ -223,7 -225,8 +225,8 @@@ public class DefaultMetadata extends IS
      /**
       * Parties responsible for the metadata information.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> contacts;
 +    private Collection<ResponsibleParty> contacts;
  
      /**
       * Date(s) associated with the metadata.
@@@ -279,7 -292,8 +292,8 @@@
      /**
       * Provides information about the distributor of and options for 
obtaining the resource(s).
       */
+     @SuppressWarnings("serial")
 -    private Collection<Distribution> distributionInfo;
 +    private Distribution distributionInfo;
  
      /**
       * Provides overall assessment of quality of a resource(s).
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
index 1871a67792,613f2db343..582c9e10e0
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
@@@ -83,7 -85,8 +85,8 @@@ public class DefaultPlatform extends IS
      /**
       * Organization responsible for building, launch, or operation of the 
platform.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> sponsors;
 +    private Collection<ResponsibleParty> sponsors;
  
      /**
       * Instrument(s) mounted on a platform.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
index 32d4addc73,e70e1a93c3..95267abf9c
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
@@@ -27,11 -27,11 +27,11 @@@ import org.opengis.metadata.acquisition
  import org.opengis.metadata.acquisition.RequestedDate;
  import org.opengis.metadata.acquisition.Requirement;
  import org.opengis.metadata.citation.Citation;
 -import org.opengis.metadata.citation.Responsibility;
 +import org.opengis.metadata.citation.ResponsibleParty;
  import org.apache.sis.metadata.iso.ISOMetadata;
  
- import static org.apache.sis.internal.metadata.MetadataUtilities.toDate;
- import static 
org.apache.sis.internal.metadata.MetadataUtilities.toMilliseconds;
+ import static org.apache.sis.internal.metadata.ImplementationHelper.toDate;
+ import static 
org.apache.sis.internal.metadata.ImplementationHelper.toMilliseconds;
  
  
  /**
@@@ -93,12 -94,14 +94,14 @@@ public class DefaultRequirement extend
      /**
       * Origin of requirement.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> requestors;
 +    private Collection<ResponsibleParty> requestors;
  
      /**
       * Person(s), or body(ies), to receive results of requirement.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> recipients;
 +    private Collection<ResponsibleParty> recipients;
  
      /**
       * Relative ordered importance, or urgency, of the requirement.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java
index bc2211bfbe,4a83a4d374..78c5beb231
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultAddress.java
@@@ -82,7 -85,8 +85,8 @@@ public class DefaultAddress extends ISO
      /**
       * Address line for the location (as described in ISO 11180, Annex A).
       */
+     @SuppressWarnings("serial")
 -    private Collection<InternationalString> deliveryPoints;
 +    private Collection<String> deliveryPoints;
  
      /**
       * Address of the electronic mailbox of the responsible organization or 
individual.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitation.java
index f0795dfb7c,301e0df5c0..3568dcb4b5
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitation.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitation.java
@@@ -131,7 -135,8 +135,8 @@@ public class DefaultCitation extends IS
       * Roles, Name, contact, and position information for an individual or 
organization that is responsible
       * for the resource.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> citedResponsibleParties;
 +    private Collection<ResponsibleParty> citedResponsibleParties;
  
      /**
       * Mode in which the resource is represented, or an empty collection if 
none.
@@@ -148,7 -155,8 +155,8 @@@
       * Other information required to complete the citation that is not 
recorded elsewhere.
       * May be {@code null} if none.
       */
+     @SuppressWarnings("serial")
 -    private Collection<InternationalString> otherCitationDetails;
 +    private InternationalString otherCitationDetails;
  
      /**
       * Common title with holdings note. Note: title identifies elements of a 
series
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java
index eafc326697,491b983296..04d1dff112
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultContact.java
@@@ -97,7 -100,8 +100,8 @@@ public class DefaultContact extends ISO
      /**
       * Time period (including time zone) when individuals can contact the 
organization or individual.
       */
+     @SuppressWarnings("serial")
 -    private Collection<InternationalString> hoursOfService;
 +    private InternationalString hoursOfService;
  
      /**
       * Supplemental instructions on how or when to contact the individual or 
organization.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java
index 1a01631099,5986f2abd4..72851f5355
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOnlineResource.java
@@@ -89,7 -89,8 +89,8 @@@ public class DefaultOnlineResource exte
      /**
       * Name of the online resources.
       */
+     @SuppressWarnings("serial")
 -    private InternationalString name;
 +    private String name;
  
      /**
       * Detailed text description of what the online resource is/does.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java
index e17ed930cc,32a5b22dab..84d6695e2f
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultSeries.java
@@@ -63,12 -64,14 +64,14 @@@ public class DefaultSeries extends ISOM
      /**
       * Information identifying the issue of the series.
       */
+     @SuppressWarnings("serial")
 -    private InternationalString issueIdentification;
 +    private String issueIdentification;
  
      /**
       * Details on which pages of the publication the article was published.
       */
+     @SuppressWarnings("serial")
 -    private InternationalString page;
 +    private String page;
  
      /**
       * Constructs a default series.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
index 793654869d,bde51026e1..4095ea609c
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
@@@ -99,7 -100,8 +100,8 @@@ public class DefaultDataFile extends IS
       * This attribute may be omitted when the dataset is composed of a single 
file and/or the
       * data does not relate to a feature catalogue.
       */
+     @SuppressWarnings("serial")
 -    private Collection<GenericName> featureTypes;
 +    private Collection<LocalName> featureTypes;
  
      /**
       * Defines the format of the transfer data file.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
index 1857bb169c,b1ca5cd13d..6d91cae6eb
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
@@@ -75,7 -75,8 +75,8 @@@ public class DefaultDistributor extend
      /**
       * Party from whom the resource may be obtained. This list need not be 
exhaustive.
       */
+     @SuppressWarnings("serial")
 -    private Responsibility distributorContact;
 +    private ResponsibleParty distributorContact;
  
      /**
       * Provides information about how the resource may be obtained, and 
related
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
index 685400cc01,238b5cb793..12a0bd6b4a
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
@@@ -41,9 -40,8 +41,9 @@@ import org.apache.sis.internal.metadata
  import org.apache.sis.internal.metadata.legacy.LegacyPropertyAdapter;
  import org.apache.sis.internal.xml.LegacyNamespaces;
  import org.apache.sis.internal.util.CollectionsExt;
 +import org.apache.sis.internal.util.CodeLists;
  
- import static 
org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
+ import static 
org.apache.sis.internal.metadata.ImplementationHelper.ensurePositive;
  
  
  /**
@@@ -92,7 -90,8 +92,8 @@@ public class DefaultMedium extends ISOM
      /**
       * Name of the medium on which the resource can be received.
       */
+     @SuppressWarnings("serial")
 -    private Citation name;
 +    private MediumName name;
  
      /**
       * Density at which the data is recorded.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
index 9faa069fdc,f1ea99fb22..14d6af33e6
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
@@@ -144,7 -147,8 +147,8 @@@ public class AbstractIdentification ext
      /**
       * Recognition of those who contributed to the resource(s).
       */
+     @SuppressWarnings("serial")
 -    private Collection<InternationalString> credits;
 +    private Collection<String> credits;
  
      /**
       * Status of the resource(s).
@@@ -155,7 -160,8 +160,8 @@@
       * Identification of, and means of communication with, person(s) and 
organizations(s)
       * associated with the resource(s).
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> pointOfContacts;
 +    private Collection<ResponsibleParty> pointOfContacts;
  
      /**
       * Methods used to spatially represent geographic information.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
index eadaf03fff,35fbb3fd8a..b1a92cfc3b
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
@@@ -102,7 -104,8 +104,8 @@@ public class DefaultUsage extends ISOMe
      /**
       * Identification of and means of communicating with person(s) and 
organization(s) using the resource(s).
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> userContactInfo;
 +    private Collection<ResponsibleParty> userContactInfo;
  
      /**
       * Responses to the user-determined limitations.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
index 87bfc9a798,1fe19632a0..57f423aa27
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
@@@ -109,7 -112,8 +112,8 @@@ public class DefaultProcessStep extend
       * Identification of, and means of communication with, person(s) and
       * organization(s) associated with the process step.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> processors;
 +    private Collection<ResponsibleParty> processors;
  
      /**
       * Process step documentation.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
index 6d33e52bfa,e8593c4818..cc62bd9b5c
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
@@@ -118,7 -122,8 +122,8 @@@ public class DefaultMaintenanceInformat
       * Identification of, and means of communicating with, person(s) and 
organization(s)
       * with responsibility for maintaining the resource.
       */
+     @SuppressWarnings("serial")
 -    private Collection<Responsibility> contacts;
 +    private Collection<ResponsibleParty> contacts;
  
      /**
       * Creates a an initially empty maintenance information.
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
index 3e979149d7,6db85e1506..89af4085f0
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
@@@ -120,14 -117,15 +120,15 @@@ public class DefaultScopeDescription ex
       * The value, as one of the following types:
       *
       * <ul>
 -     *   <li>{@code Set<CharSequence>}   for the {@code features} 
property</li>
 -     *   <li>{@code Set<CharSequence>}   for the {@code attributes} 
property</li>
 -     *   <li>{@code Set<CharSequence>}   for the {@code featureInstances} 
property</li>
 -     *   <li>{@code Set<CharSequence>}   for the {@code attributeInstances} 
property</li>
 -     *   <li>{@code String}              for the {@code dataset} property</li>
 -     *   <li>{@code InternationalString} for the {@code other} property</li>
 +     *   <li>{@code Set<FeatureType>}   for the {@code features} property</li>
 +     *   <li>{@code Set<AttributeType>} for the {@code attributes} 
property</li>
 +     *   <li>{@code Set<FeatureType>}   for the {@code featureInstances} 
property</li>
 +     *   <li>{@code Set<AttributeType>} for the {@code attributeInstances} 
property</li>
 +     *   <li>{@code String} for the {@code dataset} property</li>
 +     *   <li>{@code String} for the {@code other} property</li>
       * </ul>
       */
+     @SuppressWarnings("serial")         // Not statically typed as 
Serializable.
      private Object value;
  
      /**
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java
index 583e43b360,678e25a72c..efc900f69a
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java
@@@ -115,7 -117,8 +117,8 @@@ public class DefaultGeorectified extend
       * and the grid coordinate of the cell halfway between opposite ends of 
the grid in the
       * spatial dimensions.
       */
+     @SuppressWarnings("serial")
 -    private Point centrePoint;
 +    private Point centerPoint;
  
      /**
       * Point in a pixel corresponding to the Earth location of the pixel.
diff --cc 
core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
index 5f4fba9a90,b64626ca33..c7fe36ceff
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
@@@ -275,9 -272,9 +275,9 @@@ public abstract class Builder<B extend
          if (object != null) {
              properties.putAll(IdentifiedObjects.getProperties(object));
              final GenericName[] valueAlias = (GenericName[]) 
properties.remove(IdentifiedObject.ALIAS_KEY);
 -            final Identifier[]  valueIds   = (Identifier[])  
properties.remove(IdentifiedObject.IDENTIFIERS_KEY);
 +            final ReferenceIdentifier[] valueIds = (ReferenceIdentifier[]) 
properties.remove(IdentifiedObject.IDENTIFIERS_KEY);
-             if (valueAlias != null) aliases.addAll(Arrays.asList(valueAlias));
-             if (valueIds != null) identifiers.addAll(Arrays.asList(valueIds));
+             if (valueAlias != null) Collections.addAll(aliases, valueAlias);
+             if (valueIds   != null) Collections.addAll(identifiers, valueIds);
          }
      }
  
diff --cc 
core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
index e5366a45d8,ea8e168769..afa8ae1da8
--- 
a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
+++ 
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
@@@ -73,7 -72,8 +73,8 @@@ final class DefaultConcatenatedOperatio
       * <p><b>Consider this field as final!</b>
       * This field is modified only at unmarshalling time by {@link 
#setSteps(CoordinateOperation[])}</p>
       */
+     @SuppressWarnings("serial")         // Not statically typed as 
Serializable.
 -    private List<? extends CoordinateOperation> operations;
 +    private List<SingleOperation> operations;
  
      /**
       * Constructs a concatenated operation from a set of properties and a
diff --cc 
core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
index 38e0cfb922,58d86fbb6b..411ea47aab
--- 
a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
+++ 
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
@@@ -71,7 -68,8 +71,8 @@@ public class DefaultPassThroughOperatio
       *
       * @see #getOperation()
       */
+     @SuppressWarnings("serial")         // Not statically typed as 
Serializable.
 -    private CoordinateOperation operation;
 +    private SingleOperation operation;
  
      /**
       * Constructs a pass-through operation from a set of properties.
diff --cc 
storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
index bee5a4d038,7b2e0d2c55..36261cec8a
--- 
a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
+++ 
b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
@@@ -1073,10 -1073,9 +1073,10 @@@ public class MetadataBuilder 
      public final void addEncoding(final Charset encoding, final Scope scope) {
          ArgumentChecks.ensureNonNull("scope", scope);
          if (encoding != null) {
-             // No need to use 'addIfNotPresent(…)' because Charset collection 
is a Set by default.
+             // No need to use `addIfNotPresent(…)` because Charset collection 
is a Set by default.
              if (scope != Scope.RESOURCE) 
metadata().getCharacterSets().add(encoding);
 -            if (scope != Scope.METADATA) 
identification().getCharacterSets().add(encoding);
 +            if (scope != Scope.METADATA) 
identification().getCharacterSets().add(
 +                    Types.forCodeName(CharacterSet.class, 
encoding.toString(), true));
          }
      }
  


Reply via email to