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