You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2022/09/08 16:56:18 UTC
[sis] branch geoapi-4.0 updated (95ab3d9cd6 -> 7c1d9bd433)
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a change to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
from 95ab3d9cd6 Add upsample methods on GridExtent and GridGeometry
new f1c09cd373 Review the new `upsampling(int...)` methods with the following changes:
new 330ec3074e Suppress warnings about fields that are not statically typed as serializable. Applied only on metadata implementation classes for now.
new 7c1d9bd433 Fix a broken Unicode character in Javadoc.
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/sis/coverage/grid/GridDerivation.java | 2 +-
.../org/apache/sis/coverage/grid/GridExtent.java | 41 +++---
.../org/apache/sis/coverage/grid/GridGeometry.java | 160 ++++++++++++---------
.../apache/sis/coverage/grid/GridExtentTest.java | 5 +-
.../apache/sis/coverage/grid/GridGeometryTest.java | 65 ++++-----
.../org/apache/sis/metadata/MetadataStandard.java | 1 +
.../apache/sis/metadata/PropertyInformation.java | 1 +
.../iso/DefaultApplicationSchemaInformation.java | 4 +
.../iso/DefaultExtendedElementInformation.java | 7 +
.../apache/sis/metadata/iso/DefaultIdentifier.java | 2 +
.../apache/sis/metadata/iso/DefaultMetadata.java | 23 ++-
.../iso/DefaultMetadataExtensionInformation.java | 2 +
.../sis/metadata/iso/DefaultMetadataScope.java | 1 +
.../iso/DefaultPortrayalCatalogueReference.java | 1 +
.../org/apache/sis/metadata/iso/ISOMetadata.java | 1 +
.../acquisition/DefaultAcquisitionInformation.java | 7 +
.../acquisition/DefaultEnvironmentalRecord.java | 1 +
.../sis/metadata/iso/acquisition/DefaultEvent.java | 3 +
.../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/DefaultRequirement.java | 5 +
.../sis/metadata/iso/citation/AbstractParty.java | 2 +
.../sis/metadata/iso/citation/DefaultAddress.java | 5 +
.../sis/metadata/iso/citation/DefaultCitation.java | 11 ++
.../sis/metadata/iso/citation/DefaultContact.java | 6 +
.../metadata/iso/citation/DefaultIndividual.java | 1 +
.../iso/citation/DefaultOnlineResource.java | 2 +
.../metadata/iso/citation/DefaultOrganisation.java | 2 +
.../iso/citation/DefaultResponsibility.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 | 1 +
.../iso/content/DefaultCoverageDescription.java | 4 +
.../DefaultFeatureCatalogueDescription.java | 3 +
.../iso/content/DefaultFeatureTypeInfo.java | 1 +
.../iso/content/DefaultImageDescription.java | 3 +-
.../iso/content/DefaultRangeDimension.java | 3 +
.../content/DefaultRangeElementDescription.java | 3 +
.../iso/content/DefaultSampleDimension.java | 3 +
.../metadata/iso/distribution/DefaultDataFile.java | 3 +
.../DefaultDigitalTransferOptions.java | 5 +
.../iso/distribution/DefaultDistribution.java | 4 +
.../iso/distribution/DefaultDistributor.java | 4 +
.../metadata/iso/distribution/DefaultFormat.java | 5 +
.../metadata/iso/distribution/DefaultMedium.java | 4 +
.../distribution/DefaultStandardOrderProcess.java | 5 +
.../iso/extent/DefaultBoundingPolygon.java | 1 +
.../sis/metadata/iso/extent/DefaultExtent.java | 4 +
.../iso/extent/DefaultGeographicDescription.java | 1 +
.../iso/extent/DefaultSpatialTemporalExtent.java | 2 +
.../metadata/iso/extent/DefaultTemporalExtent.java | 1 +
.../metadata/iso/extent/DefaultVerticalExtent.java | 1 +
.../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 | 1 +
.../iso/identification/DefaultResolution.java | 1 +
.../DefaultServiceIdentification.java | 10 ++
.../metadata/iso/identification/DefaultUsage.java | 6 +
.../sis/metadata/iso/lineage/DefaultAlgorithm.java | 2 +
.../sis/metadata/iso/lineage/DefaultLineage.java | 7 +-
.../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 | 5 +
.../sis/metadata/iso/maintenance/DefaultScope.java | 2 +
.../iso/maintenance/DefaultScopeDescription.java | 1 +
.../sis/metadata/iso/quality/AbstractElement.java | 7 +
.../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 | 2 +
.../sis/metadata/iso/spatial/DefaultGCP.java | 2 +
.../metadata/iso/spatial/DefaultGCPCollection.java | 3 +
.../metadata/iso/spatial/DefaultGeorectified.java | 6 +
.../iso/spatial/DefaultGeoreferenceable.java | 4 +
.../spatial/DefaultGridSpatialRepresentation.java | 1 +
.../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 +
103 files changed, 506 insertions(+), 133 deletions(-)
[sis] 02/03: Suppress warnings about fields that are not statically typed as serializable. Applied only on metadata implementation classes for now.
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 330ec3074e3094f47b4d8d937fa3124b60af18e9
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Sep 8 18:34:50 2022 +0200
Suppress warnings about fields that are not statically typed as serializable.
Applied only on metadata implementation classes for now.
---
.../org/apache/sis/metadata/MetadataStandard.java | 1 +
.../apache/sis/metadata/PropertyInformation.java | 1 +
.../iso/DefaultApplicationSchemaInformation.java | 4 ++++
.../iso/DefaultExtendedElementInformation.java | 7 +++++++
.../apache/sis/metadata/iso/DefaultIdentifier.java | 2 ++
.../apache/sis/metadata/iso/DefaultMetadata.java | 23 +++++++++++++++++++++-
.../iso/DefaultMetadataExtensionInformation.java | 2 ++
.../sis/metadata/iso/DefaultMetadataScope.java | 1 +
.../iso/DefaultPortrayalCatalogueReference.java | 1 +
.../org/apache/sis/metadata/iso/ISOMetadata.java | 1 +
.../acquisition/DefaultAcquisitionInformation.java | 7 +++++++
.../acquisition/DefaultEnvironmentalRecord.java | 1 +
.../sis/metadata/iso/acquisition/DefaultEvent.java | 3 +++
.../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/DefaultRequirement.java | 5 +++++
.../sis/metadata/iso/citation/AbstractParty.java | 2 ++
.../sis/metadata/iso/citation/DefaultAddress.java | 5 +++++
.../sis/metadata/iso/citation/DefaultCitation.java | 11 +++++++++++
.../sis/metadata/iso/citation/DefaultContact.java | 6 ++++++
.../metadata/iso/citation/DefaultIndividual.java | 1 +
.../iso/citation/DefaultOnlineResource.java | 2 ++
.../metadata/iso/citation/DefaultOrganisation.java | 2 ++
.../iso/citation/DefaultResponsibility.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 | 1 +
.../iso/content/DefaultCoverageDescription.java | 4 ++++
.../DefaultFeatureCatalogueDescription.java | 3 +++
.../iso/content/DefaultFeatureTypeInfo.java | 1 +
.../iso/content/DefaultImageDescription.java | 1 +
.../iso/content/DefaultRangeDimension.java | 3 +++
.../content/DefaultRangeElementDescription.java | 3 +++
.../iso/content/DefaultSampleDimension.java | 3 +++
.../metadata/iso/distribution/DefaultDataFile.java | 3 +++
.../DefaultDigitalTransferOptions.java | 5 +++++
.../iso/distribution/DefaultDistribution.java | 4 ++++
.../iso/distribution/DefaultDistributor.java | 4 ++++
.../metadata/iso/distribution/DefaultFormat.java | 5 +++++
.../metadata/iso/distribution/DefaultMedium.java | 4 ++++
.../distribution/DefaultStandardOrderProcess.java | 5 +++++
.../iso/extent/DefaultBoundingPolygon.java | 1 +
.../sis/metadata/iso/extent/DefaultExtent.java | 4 ++++
.../iso/extent/DefaultGeographicDescription.java | 1 +
.../iso/extent/DefaultSpatialTemporalExtent.java | 2 ++
.../metadata/iso/extent/DefaultTemporalExtent.java | 1 +
.../metadata/iso/extent/DefaultVerticalExtent.java | 1 +
.../iso/identification/AbstractIdentification.java | 20 +++++++++++++++++++
.../identification/DefaultAssociatedResource.java | 2 ++
.../iso/identification/DefaultBrowseGraphic.java | 3 +++
.../iso/identification/DefaultCoupledResource.java | 4 ++++
.../identification/DefaultDataIdentification.java | 3 +++
.../iso/identification/DefaultKeywordClass.java | 3 ++-
.../iso/identification/DefaultKeywords.java | 4 +++-
.../DefaultOperationChainMetadata.java | 3 +++
.../identification/DefaultOperationMetadata.java | 6 ++++++
.../DefaultRepresentativeFraction.java | 1 +
.../iso/identification/DefaultResolution.java | 1 +
.../DefaultServiceIdentification.java | 10 ++++++++++
.../metadata/iso/identification/DefaultUsage.java | 6 ++++++
.../sis/metadata/iso/lineage/DefaultAlgorithm.java | 2 ++
.../sis/metadata/iso/lineage/DefaultLineage.java | 5 +++++
.../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 | 5 +++++
.../sis/metadata/iso/maintenance/DefaultScope.java | 2 ++
.../iso/maintenance/DefaultScopeDescription.java | 1 +
.../sis/metadata/iso/quality/AbstractElement.java | 7 +++++++
.../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 | 2 ++
.../sis/metadata/iso/spatial/DefaultGCP.java | 2 ++
.../metadata/iso/spatial/DefaultGCPCollection.java | 3 +++
.../metadata/iso/spatial/DefaultGeorectified.java | 6 ++++++
.../iso/spatial/DefaultGeoreferenceable.java | 4 ++++
.../spatial/DefaultGridSpatialRepresentation.java | 1 +
.../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 +
98 files changed, 355 insertions(+), 3 deletions(-)
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
index 3ac23f942c..986a3ba754 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
@@ -163,6 +163,7 @@ public class MetadataStandard implements Serializable {
*
* @see #getCitation()
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
final Citation citation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java
index a0ebf71833..7b0f3b900c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java
@@ -118,6 +118,7 @@ final class PropertyInformation<E> extends SimpleIdentifier // Impleme
*
* @see #getDomainValue()
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private volatile Object domainValue;
/**
diff --git 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
index 2621e3b74f..910e5ee3bb 100644
--- 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
@@ -75,6 +75,7 @@ public class DefaultApplicationSchemaInformation extends ISOMetadata implements
/**
* Name of the application schema used.
*/
+ @SuppressWarnings("serial")
private Citation name;
/**
@@ -90,16 +91,19 @@ public class DefaultApplicationSchemaInformation extends ISOMetadata implements
/**
* Full application schema given as an ASCII file.
*/
+ @SuppressWarnings("serial")
private CharSequence schemaAscii;
/**
* Full application schema given as a graphics file.
*/
+ @SuppressWarnings("serial")
private OnlineResource graphicsFile;
/**
* Full application schema given as a software development file.
*/
+ @SuppressWarnings("serial")
private OnlineResource softwareDevelopmentFile;
/**
diff --git 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
index 33417a1780..1068f8ce47 100644
--- 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
@@ -125,6 +125,7 @@ public class DefaultExtendedElementInformation extends ISOMetadata implements Ex
/**
* Definition of the extended element.
*/
+ @SuppressWarnings("serial")
private InternationalString definition;
/**
@@ -137,6 +138,7 @@ public class DefaultExtendedElementInformation extends ISOMetadata implements Ex
* Non-null value only if the {@linkplain #getObligation() obligation}
* is {@linkplain Obligation#CONDITIONAL conditional}.
*/
+ @SuppressWarnings("serial")
private InternationalString condition;
/**
@@ -160,27 +162,32 @@ public class DefaultExtendedElementInformation extends ISOMetadata implements Ex
* {@linkplain Datatype#CODE_LIST code list} or {@linkplain Datatype#CODE_LIST_ELEMENT
* code list element}.
*/
+ @SuppressWarnings("serial")
private InternationalString domainValue;
/**
* Name of the metadata entity(s) under which this extended metadata element may appear.
* The name(s) may be standard metadata element(s) or other extended metadata element(s).
*/
+ @SuppressWarnings("serial")
private Collection<String> parentEntity;
/**
* Specifies how the extended element relates to other existing elements and entities.
*/
+ @SuppressWarnings("serial")
private InternationalString rule;
/**
* Reason for creating the extended element.
*/
+ @SuppressWarnings("serial")
private InternationalString rationale;
/**
* Name of the person or organization creating the extended element.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> sources;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
index 443556d6e2..0c6f42cabe 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
@@ -114,6 +114,7 @@ public class DefaultIdentifier extends ISOMetadata implements Identifier {
*
* @see #getAuthority()
*/
+ @SuppressWarnings("serial")
private Citation authority;
/**
@@ -144,6 +145,7 @@ public class DefaultIdentifier extends ISOMetadata implements Identifier {
*
* @see #getDescription()
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
diff --git 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
index b9539f8e6b..abc7628372 100644
--- 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
@@ -144,7 +144,6 @@ import org.apache.sis.math.FunctionProperty;
* @since 0.3
* @module
*/
-@SuppressWarnings("serial") // Fields are not statically typed as Serializable.
@XmlType(name = "MD_Metadata_Type", propOrder = {
// Attributes new in ISO 19115:2014
"metadataIdentifier",
@@ -208,112 +207,134 @@ public class DefaultMetadata extends ISOMetadata implements Metadata {
/**
* Language(s) and character set(s) used within the dataset.
*/
+ @SuppressWarnings("serial")
private Map<Locale,Charset> locales;
/**
* Identification of the parent metadata record.
*/
+ @SuppressWarnings("serial")
private Citation parentMetadata;
/**
* Scope to which the metadata applies.
*/
+ @SuppressWarnings("serial")
private Collection<MetadataScope> metadataScopes;
/**
* Parties responsible for the metadata information.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> contacts;
/**
* Date(s) associated with the metadata.
*/
+ @SuppressWarnings("serial")
private Collection<CitationDate> dateInfo;
/**
* Citation(s) for the standard(s) to which the metadata conform.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> metadataStandards;
/**
* Citation(s) for the profile(s) of the metadata standard to which the metadata conform.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> metadataProfiles;
/**
* Reference(s) to alternative metadata or metadata in a non-ISO standard for the same resource.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> alternativeMetadataReferences;
/**
* Online location(s) where the metadata is available.
*/
+ @SuppressWarnings("serial")
private Collection<OnlineResource> metadataLinkages;
/**
* Digital representation of spatial information in the dataset.
*/
+ @SuppressWarnings("serial")
private Collection<SpatialRepresentation> spatialRepresentationInfo;
/**
* Description of the spatial and temporal reference systems used in the dataset.
*/
+ @SuppressWarnings("serial")
private Collection<ReferenceSystem> referenceSystemInfo;
/**
* Information describing metadata extensions.
*/
+ @SuppressWarnings("serial")
private Collection<MetadataExtensionInformation> metadataExtensionInfo;
/**
* Basic information about the resource(s) to which the metadata applies.
*/
+ @SuppressWarnings("serial")
private Collection<Identification> identificationInfo;
/**
* Provides information about the feature catalogue and describes the coverage and
* image data characteristics.
*/
+ @SuppressWarnings("serial")
private Collection<ContentInformation> contentInfo;
/**
* Provides information about the distributor of and options for obtaining the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Distribution> distributionInfo;
/**
* Provides overall assessment of quality of a resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<DataQuality> dataQualityInfo;
/**
* Provides information about the catalogue of rules defined for the portrayal of a resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<PortrayalCatalogueReference> portrayalCatalogueInfo;
/**
* Provides restrictions on the access and use of metadata.
*/
+ @SuppressWarnings("serial")
private Collection<Constraints> metadataConstraints;
/**
* Provides information about the conceptual schema of a dataset.
*/
+ @SuppressWarnings("serial")
private Collection<ApplicationSchemaInformation> applicationSchemaInfo;
/**
* Provides information about the frequency of metadata updates, and the scope of those updates.
*/
+ @SuppressWarnings("serial")
private MaintenanceInformation metadataMaintenance;
/**
* Provides information about the acquisition of the data.
*/
+ @SuppressWarnings("serial")
private Collection<AcquisitionInformation> acquisitionInformation;
/**
* Information about the provenance, sources and/or the production processes applied to the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Lineage> resourceLineages;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java
index c3dd686ede..dc5d12fc4d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataExtensionInformation.java
@@ -61,12 +61,14 @@ public class DefaultMetadataExtensionInformation extends ISOMetadata implements
* Information about on-line sources containing the community profile name and
* the extended metadata elements. Information for all new metadata elements.
*/
+ @SuppressWarnings("serial")
private OnlineResource extensionOnLineResource;
/**
* Provides information about a new metadata element, not found in ISO 19115, which is
* required to describe geographic data.
*/
+ @SuppressWarnings("serial")
private Collection<ExtendedElementInformation> extendedElementInformation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java
index 55d169e469..c208ef833e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadataScope.java
@@ -66,6 +66,7 @@ public class DefaultMetadataScope extends ISOMetadata implements MetadataScope {
/**
* Description of the scope.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java
index e9c1a644fc..c70a527ea5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultPortrayalCatalogueReference.java
@@ -61,6 +61,7 @@ public class DefaultPortrayalCatalogueReference extends ISOMetadata implements P
/**
* Bibliographic reference to the portrayal catalogue cited.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> portrayalCatalogueCitations;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
index db90ca4d28..2ce7f383a3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ISOMetadata.java
@@ -74,6 +74,7 @@ public class ISOMetadata extends ModifiableMetadata implements IdentifiedObject,
* All identifiers associated with this metadata, or {@code null} if none.
* This field is initialized to a non-null value when first needed.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
protected Collection<Identifier> identifiers;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java
index 6c99e75b82..80073578e5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultAcquisitionInformation.java
@@ -69,36 +69,43 @@ public class DefaultAcquisitionInformation extends ISOMetadata implements Acquis
/**
* Identifies the plan as implemented by the acquisition.
*/
+ @SuppressWarnings("serial")
private Collection<Plan> acquisitionPlans;
/**
* Identifies the requirement the data acquisition intends to satisfy.
*/
+ @SuppressWarnings("serial")
private Collection<Requirement> acquisitionRequirements;
/**
* A record of the environmental circumstances during the data acquisition.
*/
+ @SuppressWarnings("serial")
private EnvironmentalRecord environmentalConditions;
/**
* General information about the instrument used in data acquisition.
*/
+ @SuppressWarnings("serial")
private Collection<Instrument> instruments;
/**
* Identification of the area or object to be sensed.
*/
+ @SuppressWarnings("serial")
private Collection<Objective> objectives;
/**
* General information about an identifiable activity which provided the data.
*/
+ @SuppressWarnings("serial")
private Collection<Operation> operations;
/**
* General information about the platform from which the data were taken.
*/
+ @SuppressWarnings("serial")
private Collection<Platform> platforms;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java
index 8057770c36..b2fe2a0dac 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEnvironmentalRecord.java
@@ -83,6 +83,7 @@ public class DefaultEnvironmentalRecord extends ISOMetadata implements Environme
/**
* Meteorological conditions in the photo flight area, in particular clouds, snow and wind.
*/
+ @SuppressWarnings("serial")
private InternationalString meteorologicalConditions;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java
index 50f29675ca..a3c3324df7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultEvent.java
@@ -102,16 +102,19 @@ public class DefaultEvent extends ISOMetadata implements Event {
/**
* Objective or objectives satisfied by an event.
*/
+ @SuppressWarnings("serial")
private Collection<Objective> expectedObjectives;
/**
* Pass during which an event occurs.
*/
+ @SuppressWarnings("serial")
private PlatformPass relatedPass;
/**
* Instrument or instruments for which the event is meaningful.
*/
+ @SuppressWarnings("serial")
private Collection<Instrument> relatedSensors;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java
index 09bf122047..49d94389a9 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultInstrument.java
@@ -69,21 +69,25 @@ public class DefaultInstrument extends ISOMetadata implements Instrument {
/**
* Complete citation of the instrument.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> citations;
/**
* Name of the type of instrument. Examples: framing, line-scan, push-broom, pan-frame.
*/
+ @SuppressWarnings("serial")
private InternationalString type;
/**
* Textual description of the instrument.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Platform on which the instrument is mounted.
*/
+ @SuppressWarnings("serial")
private Platform mountedOn;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java
index c867a72c8f..17e301725b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultObjective.java
@@ -83,37 +83,44 @@ public class DefaultObjective extends ISOMetadata implements Objective {
/**
* Priority applied to the target.
*/
+ @SuppressWarnings("serial")
private InternationalString priority;
/**
* Collection technique for the objective.
*/
+ @SuppressWarnings("serial")
private Collection<ObjectiveType> types;
/**
* Role or purpose performed by or activity performed at the objective.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> functions;
/**
* Extent information including the bounding box, bounding polygon, vertical and
* temporal extent of the objective.
*/
+ @SuppressWarnings("serial")
private Collection<Extent> extents;
/**
* Event or events associated with objective completion.
*/
+ @SuppressWarnings("serial")
private Collection<Event> objectiveOccurrences;
/**
* Pass of the platform over the objective.
*/
+ @SuppressWarnings("serial")
private Collection<PlatformPass> pass;
/**
* Instrument which senses the objective data.
*/
+ @SuppressWarnings("serial")
private Collection<Instrument> sensingInstruments;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java
index 8aae2383b5..0b0da89791 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultOperation.java
@@ -81,51 +81,61 @@ public class DefaultOperation extends ISOMetadata implements Operation {
/**
* Description of the mission on which the platform observations are made and the objectives of that mission.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Identification of the mission.
*/
+ @SuppressWarnings("serial")
private Citation citation;
/**
* Status of the data acquisition.
*/
+ @SuppressWarnings("serial")
private Progress status;
/**
* Collection technique for the operation.
*/
+ @SuppressWarnings("serial")
private OperationType type;
/**
* Sub-missions that make up part of a larger mission.
*/
+ @SuppressWarnings("serial")
private Collection<Operation> childOperations;
/**
* Object(s) or area(s) of interest to be sensed.
*/
+ @SuppressWarnings("serial")
private Collection<Objective> objectives;
/**
* Heritage of the operation.
*/
+ @SuppressWarnings("serial")
private Operation parentOperation;
/**
* Plan satisfied by the operation.
*/
+ @SuppressWarnings("serial")
private Plan plan;
/**
* Platform (or platforms) used in the operation.
*/
+ @SuppressWarnings("serial")
private Collection<Platform> platforms;
/**
* Record of an event occurring during an operation.
*/
+ @SuppressWarnings("serial")
private Collection<Event> significantEvents;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java
index 545b568bdb..b6e14b6bd9 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlan.java
@@ -81,16 +81,19 @@ public class DefaultPlan extends ISOMetadata implements Plan {
/**
* Identification of authority requesting target collection.
*/
+ @SuppressWarnings("serial")
private Citation citation;
/**
* Identification of the activity or activities that satisfy a plan.
*/
+ @SuppressWarnings("serial")
private Collection<Operation> operations;
/**
* Requirement satisfied by the plan.
*/
+ @SuppressWarnings("serial")
private Collection<Requirement> satisfiedRequirements;
/**
diff --git 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
index 4d751558a8..613f2db343 100644
--- 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
@@ -73,21 +73,25 @@ public class DefaultPlatform extends ISOMetadata implements Platform {
/**
* Source where information about the platform is described.
*/
+ @SuppressWarnings("serial")
private Citation citation;
/**
* Narrative description of the platform supporting the instrument.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Organization responsible for building, launch, or operation of the platform.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> sponsors;
/**
* Instrument(s) mounted on a platform.
*/
+ @SuppressWarnings("serial")
private Collection<Instrument> instruments;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java
index 103296141a..1f11dc98ec 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/DefaultPlatformPass.java
@@ -65,11 +65,13 @@ public class DefaultPlatformPass extends ISOMetadata implements PlatformPass {
/**
* Area covered by the pass.
*/
+ @SuppressWarnings("serial")
private Geometry extent;
/**
* Occurrence of one or more events for a pass.
*/
+ @SuppressWarnings("serial")
private Collection<Event> relatedEvents;
/**
diff --git 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
index 0624a193aa..c86fab4b27 100644
--- 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
@@ -88,16 +88,19 @@ public class DefaultRequirement extends ISOMetadata implements Requirement {
/**
* Identification of reference or guidance material for the requirement.
*/
+ @SuppressWarnings("serial")
private Citation citation;
/**
* Origin of requirement.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> requestors;
/**
* Person(s), or body(ies), to receive results of requirement.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> recipients;
/**
@@ -108,6 +111,7 @@ public class DefaultRequirement extends ISOMetadata implements Requirement {
/**
* Required or preferred acquisition date and time.
*/
+ @SuppressWarnings("serial")
private RequestedDate requestedDate;
/**
@@ -119,6 +123,7 @@ public class DefaultRequirement extends ISOMetadata implements Requirement {
/**
* Plan that identifies solution to satisfy the requirement.
*/
+ @SuppressWarnings("serial")
private Collection<Plan> satisfiedPlans;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java
index f779b92724..b1fc9a8eb5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/AbstractParty.java
@@ -73,11 +73,13 @@ public class AbstractParty extends ISOMetadata implements Party {
/**
* Name of the party.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
* Contact information for the party.
*/
+ @SuppressWarnings("serial")
private Collection<Contact> contactInfo;
/**
diff --git 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
index 6310f6cd63..4a83a4d374 100644
--- 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
@@ -62,16 +62,19 @@ public class DefaultAddress extends ISOMetadata implements Address {
/**
* State, province of the location.
*/
+ @SuppressWarnings("serial")
private InternationalString administrativeArea;
/**
* The city of the location
*/
+ @SuppressWarnings("serial")
private InternationalString city;
/**
* Country of the physical address.
*/
+ @SuppressWarnings("serial")
private InternationalString country;
/**
@@ -82,11 +85,13 @@ public class DefaultAddress extends ISOMetadata implements Address {
/**
* Address line for the location (as described in ISO 11180, Annex A).
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> deliveryPoints;
/**
* Address of the electronic mailbox of the responsible organization or individual.
*/
+ @SuppressWarnings("serial")
private Collection<String> electronicMailAddresses;
/**
diff --git 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
index 6e2ff87829..3d010f5933 100644
--- 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
@@ -103,22 +103,26 @@ public class DefaultCitation extends ISOMetadata implements Citation {
/**
* Name by which the cited resource is known.
*/
+ @SuppressWarnings("serial")
private InternationalString title;
/**
* Short name or other language name by which the cited information is known.
* Example: "DCW" as an alternative title for "Digital Chart of the World.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> alternateTitles;
/**
* Reference date for the cited resource.
*/
+ @SuppressWarnings("serial")
private Collection<CitationDate> dates;
/**
* Version of the cited resource.
*/
+ @SuppressWarnings("serial")
private InternationalString edition;
/**
@@ -131,23 +135,27 @@ public class DefaultCitation extends ISOMetadata implements Citation {
* Roles, Name, contact, and position information for an individual or organization that is responsible
* for the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> citedResponsibleParties;
/**
* Mode in which the resource is represented, or an empty collection if none.
*/
+ @SuppressWarnings("serial")
private Collection<PresentationForm> presentationForms;
/**
* Information about the series, or aggregate dataset, of which the dataset is a part.
* May be {@code null} if none.
*/
+ @SuppressWarnings("serial")
private Series series;
/**
* Other information required to complete the citation that is not recorded elsewhere.
* May be {@code null} if none.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> otherCitationDetails;
/**
@@ -158,16 +166,19 @@ public class DefaultCitation extends ISOMetadata implements Citation {
* @deprecated Removed as of ISO 19115:2014.
*/
@Deprecated
+ @SuppressWarnings("serial")
private InternationalString collectiveTitle;
/**
* Online references to the cited resource.
*/
+ @SuppressWarnings("serial")
private Collection<OnlineResource> onlineResources;
/**
* Citation graphic or logo for cited party.
*/
+ @SuppressWarnings("serial")
private Collection<BrowseGraphic> graphics;
/**
diff --git 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
index ea9dd8b2d1..5e8b19e195 100644
--- 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
@@ -82,31 +82,37 @@ public class DefaultContact extends ISOMetadata implements Contact {
/**
* Telephone numbers at which the organization or individual may be contacted.
*/
+ @SuppressWarnings("serial")
private Collection<Telephone> phones;
/**
* Physical and email addresses at which the organization or individual may be contacted.
*/
+ @SuppressWarnings("serial")
private Collection<Address> addresses;
/**
* On-line information that can be used to contact the individual or organization.
*/
+ @SuppressWarnings("serial")
private Collection<OnlineResource> onlineResources;
/**
* Time period (including time zone) when individuals can contact the organization or individual.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> hoursOfService;
/**
* Supplemental instructions on how or when to contact the individual or organization.
*/
+ @SuppressWarnings("serial")
private InternationalString contactInstructions;
/**
* Type of the contact.
*/
+ @SuppressWarnings("serial")
private InternationalString contactType;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java
index a38c9c3a34..a6d88d9ed4 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultIndividual.java
@@ -56,6 +56,7 @@ public class DefaultIndividual extends AbstractParty implements Individual {
/**
* Position of the individual in an organization.
*/
+ @SuppressWarnings("serial")
private InternationalString positionName;
/**
diff --git 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
index 209038f9e4..5986f2abd4 100644
--- 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,11 +89,13 @@ public class DefaultOnlineResource extends ISOMetadata implements OnlineResource
/**
* Name of the online resources.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
* Detailed text description of what the online resource is/does.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java
index c8f6569410..293f4c9f36 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultOrganisation.java
@@ -58,11 +58,13 @@ public class DefaultOrganisation extends AbstractParty implements Organisation {
/**
* Graphic identifying organization.
*/
+ @SuppressWarnings("serial")
private Collection<BrowseGraphic> logo;
/**
* Individuals in the named organization.
*/
+ @SuppressWarnings("serial")
private Collection<Individual> individual;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java
index d680244cbf..d8a1b51ca7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibility.java
@@ -83,11 +83,13 @@ public class DefaultResponsibility extends ISOMetadata implements Responsibility
/**
* Spatial or temporal extents of the role.
*/
+ @SuppressWarnings("serial")
private Collection<Extent> extents;
/**
* Information about the parties.
*/
+ @SuppressWarnings("serial")
private Collection<Party> parties;
/**
diff --git 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
index 764d0257ee..32a5b22dab 100644
--- 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
@@ -58,16 +58,19 @@ public class DefaultSeries extends ISOMetadata implements Series {
/**
* Name of the series, or aggregate dataset, of which the dataset is a part.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
* Information identifying the issue of the series.
*/
+ @SuppressWarnings("serial")
private InternationalString issueIdentification;
/**
* Details on which pages of the publication the article was published.
*/
+ @SuppressWarnings("serial")
private InternationalString page;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultTelephone.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultTelephone.java
index c1b369d201..1eb9f686b2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultTelephone.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultTelephone.java
@@ -222,6 +222,7 @@ public class DefaultTelephone extends ISOMetadata implements Telephone {
* @deprecated This field will be removed after we removed the deprecated public methods.
*/
@Deprecated
+ @SuppressWarnings("serial")
private Collection<Telephone> owner;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
index 39b7e9c7cd..c6103f1897 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
@@ -82,31 +82,37 @@ public class DefaultConstraints extends ISOMetadata implements Constraints {
* Limitation affecting the fitness for use of the resource.
* Example: <cite>"not to be used for navigation"</cite>.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> useLimitations;
/**
* Spatial and / or temporal extent and or level of the application of the constraints restrictions.
*/
+ @SuppressWarnings("serial")
private Scope constraintApplicationScope;
/**
* Graphic / symbol indicating the constraint.
*/
+ @SuppressWarnings("serial")
private Collection<BrowseGraphic> graphics;
/**
* Citation for the limitation of constraint.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> references;
/**
* Information concerning the parties to whom the resource can or cannot be released.
*/
+ @SuppressWarnings("serial")
private Releasability releasability;
/**
* Party responsible for the resource constraints.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> responsibleParties;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.java
index 331e70c488..cc869791b2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraints.java
@@ -71,12 +71,14 @@ public class DefaultLegalConstraints extends DefaultConstraints implements Legal
* Access constraints applied to assure the protection of privacy or intellectual property,
* and any special restrictions or limitations on obtaining the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Restriction> accessConstraints;
/**
* Constraints applied to assure the protection of privacy or intellectual property,
* and any special restrictions or limitations or warnings on using the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Restriction> useConstraints;
/**
@@ -85,6 +87,7 @@ public class DefaultLegalConstraints extends DefaultConstraints implements Legal
* or {@linkplain #getUseConstraints() use constraints} declares
* {@linkplain Restriction#OTHER_RESTRICTIONS other restrictions}.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> otherConstraints;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
index e18747d1c8..a4ad2499dd 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
@@ -59,16 +59,19 @@ public class DefaultReleasability extends ISOMetadata implements Releasability {
/**
* Party to which the release statement applies.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> addressees;
/**
* Release statement.
*/
+ @SuppressWarnings("serial")
private InternationalString statement;
/**
* Component in determining releasability.
*/
+ @SuppressWarnings("serial")
private Collection<Restriction> disseminationConstraints;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java
index 2f2a3a38de..1b7221a43b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/DefaultSecurityConstraints.java
@@ -69,16 +69,19 @@ public class DefaultSecurityConstraints extends DefaultConstraints implements Se
* Explanation of the application of the legal constraints or other restrictions and legal
* prerequisites for obtaining and using the resource.
*/
+ @SuppressWarnings("serial")
private InternationalString userNote;
/**
* Name of the classification system.
*/
+ @SuppressWarnings("serial")
private InternationalString classificationSystem;
/**
* Additional information about the restrictions on handling the resource.
*/
+ @SuppressWarnings("serial")
private InternationalString handlingDescription;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java
index 8e4def7d18..b805590d16 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultAttributeGroup.java
@@ -64,11 +64,13 @@ public class DefaultAttributeGroup extends ISOMetadata implements AttributeGroup
/**
* Type of information represented by the value(s).
*/
+ @SuppressWarnings("serial")
private Collection<CoverageContentType> contentTypes;
/**
* Content type for attributes groups for a {@link RangeDimension}.
*/
+ @SuppressWarnings("serial")
private Collection<RangeDimension> attributes;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
index c18c0b2a5a..6dfc6b2e8c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
@@ -93,6 +93,7 @@ public class DefaultBand extends DefaultSampleDimension implements Band {
/**
* Units in which sensor wavelengths are expressed.
*/
+ @SuppressWarnings("serial")
private Unit<Length> boundUnits;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java
index 61abb0dcae..63c0e1c4d6 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultCoverageDescription.java
@@ -87,21 +87,25 @@ public class DefaultCoverageDescription extends AbstractContentInformation imple
/**
* Description of the attribute described by the measurement value.
*/
+ @SuppressWarnings("serial")
private RecordType attributeDescription;
/**
* Identifier for the level of processing that has been applied to the resource.
*/
+ @SuppressWarnings("serial")
private Identifier processingLevelCode;
/**
* Information on attribute groups of the resource.
*/
+ @SuppressWarnings("serial")
private Collection<AttributeGroup> attributeGroups;
/**
* Provides the description of the specific range elements of a coverage.
*/
+ @SuppressWarnings("serial")
private Collection<RangeElementDescription> rangeElementDescriptions;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java
index 8535856278..c8d5e149d9 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureCatalogueDescription.java
@@ -94,6 +94,7 @@ public class DefaultFeatureCatalogueDescription extends AbstractContentInformati
/**
* Language(s) and character set(s) used within the catalogue.
*/
+ @SuppressWarnings("serial")
private Map<Locale,Charset> locales;
/**
@@ -104,11 +105,13 @@ public class DefaultFeatureCatalogueDescription extends AbstractContentInformati
/**
* Subset of feature types from cited feature catalogue occurring in resource.
*/
+ @SuppressWarnings("serial")
private Collection<FeatureTypeInfo> featureTypes;
/**
* Complete bibliographic reference to one or more external feature catalogues.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> featureCatalogueCitations;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java
index b91babb211..847c575715 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultFeatureTypeInfo.java
@@ -65,6 +65,7 @@ public class DefaultFeatureTypeInfo extends ISOMetadata implements FeatureTypeIn
/**
* Name of the feature type.
*/
+ @SuppressWarnings("serial")
private GenericName featureTypeName;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
index 20b2d3086c..bfefa66d83 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
@@ -97,6 +97,7 @@ public class DefaultImageDescription extends DefaultCoverageDescription implemen
/**
* Specifies the image quality.
*/
+ @SuppressWarnings("serial")
private Identifier imageQualityCode;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java
index 34bbcd362d..53ea5c1b7b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeDimension.java
@@ -74,17 +74,20 @@ public class DefaultRangeDimension extends ISOMetadata implements RangeDimension
/**
* Unique name or number that identifies attributes included in the coverage.
*/
+ @SuppressWarnings("serial")
private MemberName sequenceIdentifier;
/**
* Description of the attribute.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Identifiers for each attribute included in the resource. These identifiers
* can be use to provide names for the attribute from a standard set of names.
*/
+ @SuppressWarnings("serial")
private Collection<Identifier> names;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java
index 93d832e895..924484c22a 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultRangeElementDescription.java
@@ -67,16 +67,19 @@ public class DefaultRangeElementDescription extends ISOMetadata implements Range
/**
* Designation associated with a set of range elements.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
* Description of a set of specific range elements.
*/
+ @SuppressWarnings("serial")
private InternationalString definition;
/**
* Specific range elements, i.e. range elements associated with a name and their definition.
*/
+ @SuppressWarnings("serial")
private Collection<Record> rangeElements;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultSampleDimension.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultSampleDimension.java
index e81b0de3a3..267266b56b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultSampleDimension.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultSampleDimension.java
@@ -123,6 +123,7 @@ public class DefaultSampleDimension extends DefaultRangeDimension implements Sam
/**
* Units of data in each dimension included in the resource.
*/
+ @SuppressWarnings("serial")
private Unit<?> units;
/**
@@ -155,12 +156,14 @@ public class DefaultSampleDimension extends DefaultRangeDimension implements Sam
/**
* Type of other attribute description.
*/
+ @SuppressWarnings("serial")
private RecordType otherPropertyType;
/**
* Instance of other/attributeType that defines attributes not explicitly
* included in {@link CoverageContentType}.
*/
+ @SuppressWarnings("serial")
private Record otherProperty;
/**
diff --git 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
index 76df7e24b9..bde51026e1 100644
--- 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
@@ -84,6 +84,7 @@ public class DefaultDataFile extends ISOMetadata implements DataFile {
*
* @since 1.0
*/
+ @SuppressWarnings("serial")
private InternationalString fileDescription;
/**
@@ -99,6 +100,7 @@ public class DefaultDataFile extends ISOMetadata implements DataFile {
* 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;
/**
@@ -107,6 +109,7 @@ public class DefaultDataFile extends ISOMetadata implements DataFile {
* @deprecated Removed in latest XSD schemas.
*/
@Deprecated
+ @SuppressWarnings("serial")
private Format fileFormat;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java
index 28cfcbb428..2cc79fdbe7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDigitalTransferOptions.java
@@ -76,6 +76,7 @@ public class DefaultDigitalTransferOptions extends ISOMetadata implements Digita
/**
* Tiles, layers, geographic areas, etc., in which data is available.
*/
+ @SuppressWarnings("serial")
private InternationalString unitsOfDistribution;
/**
@@ -87,21 +88,25 @@ public class DefaultDigitalTransferOptions extends ISOMetadata implements Digita
/**
* Information about online sources from which the resource can be obtained.
*/
+ @SuppressWarnings("serial")
private Collection<OnlineResource> onLines;
/**
* Information about offline media on which the resource can be obtained.
*/
+ @SuppressWarnings("serial")
private Collection<Medium> offLines;
/**
* Rate of occurrence of distribution.
*/
+ @SuppressWarnings("serial")
private PeriodDuration transferFrequency;
/**
* Formats of distribution.
*/
+ @SuppressWarnings("serial")
private Collection<Format> distributionFormats;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java
index b57f0a7a0a..ff00b92b70 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultDistribution.java
@@ -76,22 +76,26 @@ public class DefaultDistribution extends ISOMetadata implements Distribution {
/**
* Brief description of a set of distribution options.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Provides a description of the format of the data to be distributed.
*/
+ @SuppressWarnings("serial")
private Collection<Format> distributionFormats;
/**
* Provides information about the distributor.
*/
+ @SuppressWarnings("serial")
private Collection<Distributor> distributors;
/**
* Provides information about technical means and media by which a resource is obtained
* from the distributor.
*/
+ @SuppressWarnings("serial")
private Collection<DigitalTransferOptions> transferOptions;
/**
diff --git 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
index 60f1d00978..b1ca5cd13d 100644
--- 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,22 +75,26 @@ public class DefaultDistributor extends ISOMetadata implements Distributor {
/**
* Party from whom the resource may be obtained. This list need not be exhaustive.
*/
+ @SuppressWarnings("serial")
private Responsibility distributorContact;
/**
* Provides information about how the resource may be obtained, and related
* instructions and fee information.
*/
+ @SuppressWarnings("serial")
private Collection<StandardOrderProcess> distributionOrderProcesses;
/**
* Provides information about the format used by the distributor.
*/
+ @SuppressWarnings("serial")
private Collection<Format> distributorFormats;
/**
* Provides information about the technical means and media used by the distributor.
*/
+ @SuppressWarnings("serial")
private Collection<DigitalTransferOptions> distributorTransferOptions;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
index b3480fe525..5cfe20c745 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
@@ -109,27 +109,32 @@ public class DefaultFormat extends ISOMetadata implements Format {
/**
* Citation / URL of the specification format.
*/
+ @SuppressWarnings("serial")
private Citation formatSpecificationCitation;
/**
* Amendment number of the format version.
*/
+ @SuppressWarnings("serial")
private InternationalString amendmentNumber;
/**
* Recommendations of algorithms or processes that can be applied to read or
* expand resources to which compression techniques have been applied.
*/
+ @SuppressWarnings("serial")
private InternationalString fileDecompressionTechnique;
/**
* Media used by the format.
*/
+ @SuppressWarnings("serial")
private Collection<Medium> media;
/**
* Provides information about the distributor's format.
*/
+ @SuppressWarnings("serial")
private Collection<Distributor> formatDistributors;
/**
diff --git 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
index 4f10fc0d10..edcedacdc0 100644
--- 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
@@ -90,6 +90,7 @@ public class DefaultMedium extends ISOMetadata implements Medium {
/**
* Name of the medium on which the resource can be received.
*/
+ @SuppressWarnings("serial")
private Citation name;
/**
@@ -101,6 +102,7 @@ public class DefaultMedium extends ISOMetadata implements Medium {
/**
* Units of measure for the recording density.
*/
+ @SuppressWarnings("serial")
private Unit<?> densityUnits;
/**
@@ -111,11 +113,13 @@ public class DefaultMedium extends ISOMetadata implements Medium {
/**
* Methods used to write to the medium.
*/
+ @SuppressWarnings("serial")
private Collection<MediumFormat> mediumFormats;
/**
* Description of other limitations or requirements for using the medium.
*/
+ @SuppressWarnings("serial")
private InternationalString mediumNote;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java
index be37b40b6e..6464f286fc 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultStandardOrderProcess.java
@@ -74,6 +74,7 @@ public class DefaultStandardOrderProcess extends ISOMetadata implements Standard
* Fees and terms for retrieving the resource.
* Include monetary units (as specified in ISO 4217).
*/
+ @SuppressWarnings("serial")
private InternationalString fees;
/**
@@ -90,21 +91,25 @@ public class DefaultStandardOrderProcess extends ISOMetadata implements Standard
/**
* General instructions, terms and services provided by the distributor.
*/
+ @SuppressWarnings("serial")
private InternationalString orderingInstructions;
/**
* Typical turnaround time for the filling of an order.
*/
+ @SuppressWarnings("serial")
private InternationalString turnaround;
/**
* Description of the order options record.
*/
+ @SuppressWarnings("serial")
private RecordType orderOptionsType;
/**
* Request/purchase choices.
*/
+ @SuppressWarnings("serial")
private Record orderOptions;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
index c9043da366..3dc7602e1b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
@@ -62,6 +62,7 @@ public class DefaultBoundingPolygon extends AbstractGeographicExtent implements
/**
* The sets of points defining the bounding polygon.
*/
+ @SuppressWarnings("serial")
private Collection<Geometry> polygons;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultExtent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultExtent.java
index 78947a70fa..9a2f86c1e1 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultExtent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultExtent.java
@@ -108,21 +108,25 @@ public class DefaultExtent extends ISOMetadata implements Extent {
/**
* The spatial and temporal extent for the referring object.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Provides geographic component of the extent of the referring object.
*/
+ @SuppressWarnings("serial")
private Collection<GeographicExtent> geographicElements;
/**
* Provides vertical component of the extent of the referring object.
*/
+ @SuppressWarnings("serial")
private Collection<VerticalExtent> verticalElements;
/**
* Provides temporal component of the extent of the referring object.
*/
+ @SuppressWarnings("serial")
private Collection<TemporalExtent> temporalElements;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
index 69c3892687..ae3f5e988b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
@@ -73,6 +73,7 @@ public class DefaultGeographicDescription extends AbstractGeographicExtent imple
/**
* The identifier used to represent a geographic area.
*/
+ @SuppressWarnings("serial")
private Identifier geographicIdentifier;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
index e0b8410b42..747266c1c9 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
@@ -69,11 +69,13 @@ public class DefaultSpatialTemporalExtent extends DefaultTemporalExtent implemen
* The spatial extent component of composite
* spatial and temporal extent.
*/
+ @SuppressWarnings("serial")
private Collection<GeographicExtent> spatialExtent;
/**
* Vertical extent component.
*/
+ @SuppressWarnings("serial")
private VerticalExtent verticalExtent;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java
index ecec2e8ccf..3f7e0735eb 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java
@@ -78,6 +78,7 @@ public class DefaultTemporalExtent extends ISOMetadata implements TemporalExtent
/**
* The date and time for the content of the dataset.
*/
+ @SuppressWarnings("serial")
private TemporalPrimitive extent;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
index a2fe0f363c..4a91a69304 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
@@ -96,6 +96,7 @@ public class DefaultVerticalExtent extends ISOMetadata implements VerticalExtent
* which the maximum and minimum elevation values are measured. The CRS
* identification includes unit of measure.
*/
+ @SuppressWarnings("serial")
private VerticalCRS verticalCRS;
/**
diff --git 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
index 5937d16cff..f1ea99fb22 100644
--- 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
@@ -129,103 +129,123 @@ public class AbstractIdentification extends ISOMetadata implements Identificatio
/**
* Citation for the resource(s).
*/
+ @SuppressWarnings("serial")
private Citation citation;
/**
* Brief narrative summary of the resource(s).
*/
+ @SuppressWarnings("serial")
private InternationalString abstracts;
/**
* Summary of the intentions with which the resource(s) was developed.
*/
+ @SuppressWarnings("serial")
private InternationalString purpose;
/**
* Recognition of those who contributed to the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> credits;
/**
* Status of the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Progress> status;
/**
* Identification of, and means of communication with, person(s) and organizations(s)
* associated with the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> pointOfContacts;
/**
* Methods used to spatially represent geographic information.
*/
+ @SuppressWarnings("serial")
private Collection<SpatialRepresentationType> spatialRepresentationTypes;
/**
* Factor which provides a general understanding of the density of spatial data in the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Resolution> spatialResolutions;
/**
* Smallest resolvable temporal period in a resource.
*/
+ @SuppressWarnings("serial")
private Collection<Duration> temporalResolutions;
/**
* Main theme(s) of the resource.
*/
+ @SuppressWarnings("serial")
private Collection<TopicCategory> topicCategories;
/**
* Spatial and temporal extent of the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Extent> extents;
/**
* Other documentation associated with the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> additionalDocumentations;
/**
* Code that identifies the level of processing in the producers coding system of a resource.
*/
+ @SuppressWarnings("serial")
private Identifier processingLevel;
/**
* Provides information about the frequency of resource updates, and the scope of those updates.
*/
+ @SuppressWarnings("serial")
private Collection<MaintenanceInformation> resourceMaintenances;
/**
* Provides a graphic that illustrates the resource(s) (should include a legend for the graphic).
*/
+ @SuppressWarnings("serial")
private Collection<BrowseGraphic> graphicOverviews;
/**
* Provides a description of the format of the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Format> resourceFormats;
/**
* Provides category keywords, their type, and reference source.
*/
+ @SuppressWarnings("serial")
private Collection<Keywords> descriptiveKeywords;
/**
* Provides basic information about specific application(s) for which the resource(s)
* has/have been or is being used by different users.
*/
+ @SuppressWarnings("serial")
private Collection<Usage> resourceSpecificUsages;
/**
* Provides information about constraints which apply to the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Constraints> resourceConstraints;
/**
* Provides aggregate dataset information.
*/
+ @SuppressWarnings("serial")
private Collection<AssociatedResource> associatedResources;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java
index e04559503d..dd65ec4401 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java
@@ -77,6 +77,7 @@ public class DefaultAssociatedResource extends ISOMetadata implements Associated
/**
* Citation information about the associated resource.
*/
+ @SuppressWarnings("serial")
private Citation name;
/**
@@ -92,6 +93,7 @@ public class DefaultAssociatedResource extends ISOMetadata implements Associated
/**
* Reference to the metadata of the associated resource.
*/
+ @SuppressWarnings("serial")
private Citation metadataReference;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
index 55c278454f..348b9ffb9e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
@@ -79,6 +79,7 @@ public class DefaultBrowseGraphic extends ISOMetadata implements BrowseGraphic {
/**
* Text description of the illustration.
*/
+ @SuppressWarnings("serial")
private InternationalString fileDescription;
/**
@@ -90,11 +91,13 @@ public class DefaultBrowseGraphic extends ISOMetadata implements BrowseGraphic {
/**
* Restrictions on access and/or of browse graphic.
*/
+ @SuppressWarnings("serial")
private Collection<Constraints> imageConstraints;
/**
* Links to browse graphic.
*/
+ @SuppressWarnings("serial")
private Collection<OnlineResource> linkages;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java
index bda39dc3e1..309dc69d2e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java
@@ -75,21 +75,25 @@ public class DefaultCoupledResource extends ISOMetadata implements CoupledResour
/**
* Scoped identifier of the resource in the context of the given service instance.
*/
+ @SuppressWarnings("serial")
private ScopedName scopedName;
/**
* References to the resource on which the services operates.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> resourceReferences;
/**
* The tightly coupled resources.
*/
+ @SuppressWarnings("serial")
private Collection<DataIdentification> resources;
/**
* The service operation.
*/
+ @SuppressWarnings("serial")
private OperationMetadata operation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
index 118fa33a03..c21d6ffc27 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
@@ -99,17 +99,20 @@ public class DefaultDataIdentification extends AbstractIdentification implements
/**
* Language(s) and character set(s) used within the dataset.
*/
+ @SuppressWarnings("serial")
private Map<Locale,Charset> locales;
/**
* Description of the dataset in the producers processing environment, including items
* such as the software, the computer operating system, file name, and the dataset size
*/
+ @SuppressWarnings("serial")
private InternationalString environmentDescription;
/**
* Any other descriptive information about the dataset.
*/
+ @SuppressWarnings("serial")
private InternationalString supplementalInformation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
index ae8f1bc107..9a89e0682c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
@@ -69,6 +69,7 @@ public class DefaultKeywordClass extends ISOMetadata implements KeywordClass {
/**
* A character string to label the keyword category in natural language.
*/
+ @SuppressWarnings("serial")
private InternationalString className;
/**
@@ -79,13 +80,13 @@ public class DefaultKeywordClass extends ISOMetadata implements KeywordClass {
/**
* Reference that binds the keyword class to a formal conceptualization of a knowledge domain.
*/
+ @SuppressWarnings("serial")
private Citation ontology;
/**
* Constructs an initially empty keyword class.
*/
public DefaultKeywordClass() {
- super();
}
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
index 1d91bb6f96..a71c14cced 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
@@ -71,6 +71,7 @@ public class DefaultKeywords extends ISOMetadata implements Keywords {
/**
* Commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> keywords;
/**
@@ -81,19 +82,20 @@ public class DefaultKeywords extends ISOMetadata implements Keywords {
/**
* Name of the formally registered thesaurus or a similar authoritative source of keywords.
*/
+ @SuppressWarnings("serial")
private Citation thesaurusName;
/**
* User-defined categorization of groups of keywords that extend or are orthogonal
* to the standardized {@linkplain #getType() keyword type} codes.
*/
+ @SuppressWarnings("serial")
private KeywordClass keywordClass;
/**
* Constructs an initially empty keywords.
*/
public DefaultKeywords() {
- super();
}
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
index d36a6f6800..f5571256c5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
@@ -72,16 +72,19 @@ public class DefaultOperationChainMetadata extends ISOMetadata implements Operat
/**
* The name as used by the service for this chain.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
* A narrative explanation of the services in the chain and resulting output.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Information about the operations applied by the chain.
*/
+ @SuppressWarnings("serial")
private List<OperationMetadata> operations;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
index 36b7fc1778..4aebb7f7fe 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
@@ -82,31 +82,37 @@ public class DefaultOperationMetadata extends ISOMetadata implements OperationMe
/**
* Distributed computing platforms on which the operation has been implemented.
*/
+ @SuppressWarnings("serial")
private Collection<DistributedComputingPlatform> distributedComputingPlatforms;
/**
* Free text description of the intent of the operation and the results of the operation.
*/
+ @SuppressWarnings("serial")
private InternationalString operationDescription;
/**
* The name used to invoke this interface within the context of the DCP.
*/
+ @SuppressWarnings("serial")
private InternationalString invocationName;
/**
* Handle for accessing the service interface.
*/
+ @SuppressWarnings("serial")
private Collection<OnlineResource> connectPoints;
/**
* The parameters that are required for this interface.
*/
+ @SuppressWarnings("serial")
private Collection<ParameterDescriptor<?>> parameters;
/**
* List of operation that must be completed immediately.
*/
+ @SuppressWarnings("serial")
private List<OperationMetadata> dependsOn;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java
index 9e069dc56c..26a4332c3e 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java
@@ -95,6 +95,7 @@ public class DefaultRepresentativeFraction extends Number implements Representat
* All identifiers associated with this metadata, or {@code null} if none.
* This field is initialized to a non-null value when first needed.
*/
+ @SuppressWarnings("serial")
private Collection<Identifier> identifiers;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java
index 64e55b0e10..7e44563483 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java
@@ -118,6 +118,7 @@ public class DefaultResolution extends ISOMetadata implements Resolution {
* Either the scale as a {@link RepresentativeFraction} instance, the distance, the angle,
* or the level of details as an {@link InternationalString} instance.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private Object value;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
index 288cc98ff1..e3554607a0 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
@@ -96,16 +96,19 @@ public class DefaultServiceIdentification extends AbstractIdentification impleme
/**
* A service type name.
*/
+ @SuppressWarnings("serial")
private GenericName serviceType;
/**
* The version of the service, supports searching based on the version of serviceType.
*/
+ @SuppressWarnings("serial")
private Collection<String> serviceTypeVersions;
/**
* Information about the availability of the service.
*/
+ @SuppressWarnings("serial")
private StandardOrderProcess accessProperties;
/**
@@ -116,36 +119,43 @@ public class DefaultServiceIdentification extends AbstractIdentification impleme
/**
* Further description of the data coupling in the case of tightly coupled services.
*/
+ @SuppressWarnings("serial")
private Collection<CoupledResource> coupledResources;
/**
* References to the resource on which the service operates.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> operatedDatasets;
/**
* Profiles to which the service adheres.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> profiles;
/**
* Standards to which the service adheres.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> serviceStandards;
/**
* Information about the operations that comprise the service.
*/
+ @SuppressWarnings("serial")
private Collection<OperationMetadata> containsOperations;
/**
* Information on the resources that the service operates on.
*/
+ @SuppressWarnings("serial")
private Collection<DataIdentification> operatesOn;
/**
* Information about the chain applied by the service.
*/
+ @SuppressWarnings("serial")
private Collection<OperationChainMetadata> containsChain;
/**
diff --git 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
index 6a33e8fa87..3b8c1c19c0 100644
--- 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
@@ -84,6 +84,7 @@ public class DefaultUsage extends ISOMetadata implements Usage {
/**
* Brief description of the resource and/or resource series usage.
*/
+ @SuppressWarnings("serial")
private InternationalString specificUsage;
/**
@@ -97,27 +98,32 @@ public class DefaultUsage extends ISOMetadata implements Usage {
* Applications, determined by the user for which the resource and/or resource series
* is not suitable.
*/
+ @SuppressWarnings("serial")
private InternationalString userDeterminedLimitations;
/**
* Identification of and means of communicating with person(s) and organization(s) using the resource(s).
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> userContactInfo;
/**
* Responses to the user-determined limitations.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> responses;
/**
* Publication that describe usage of data.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> additionalDocumentation;
/**
* Citation of a description of known issues associated with the resource
* along with proposed solutions if available.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> identifiedIssues;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
index d281ef50f0..3b6b17050f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
@@ -65,11 +65,13 @@ public class DefaultAlgorithm extends ISOMetadata implements Algorithm {
/**
* Information identifying the algorithm and version or date.
*/
+ @SuppressWarnings("serial")
private Citation citation;
/**
* Information describing the algorithm used to generate the data.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
index 490471ef0f..28da2c1a20 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
@@ -96,27 +96,32 @@ public class DefaultLineage extends ISOMetadata implements Lineage {
* Should be provided only if {@linkplain DefaultScope#getLevel scope level} is
* {@linkplain ScopeCode#DATASET dataset} or {@linkplain ScopeCode#SERIES series}.
*/
+ @SuppressWarnings("serial")
private InternationalString statement;
/**
* Type of resource and / or extent to which the lineage information applies.
*/
+ @SuppressWarnings("serial")
private Scope scope;
/**
* A resources (for example publication) that describes the whole
* process to generate this resource (for example a dataset).
*/
+ @SuppressWarnings("serial")
private Collection<Citation> additionalDocumentation;
/**
* Information about an event in the creation process for the data specified by the scope.
*/
+ @SuppressWarnings("serial")
private Collection<ProcessStep> processSteps;
/**
* Information about the source data used in creating the data specified by the scope.
*/
+ @SuppressWarnings("serial")
private Collection<Source> sources;
/**
diff --git 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
index 22ee8f8828..1fe19632a0 100644
--- 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
@@ -93,42 +93,50 @@ public class DefaultProcessStep extends ISOMetadata implements ProcessStep {
/**
* Description of the event, including related parameters or tolerances.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Requirement or purpose for the process step.
*/
+ @SuppressWarnings("serial")
private InternationalString rationale;
/**
* Date, time or range of date and time over which the process step occurred.
*/
+ @SuppressWarnings("serial")
private TemporalPrimitive stepDateTime;
/**
* Identification of, and means of communication with, person(s) and
* organization(s) associated with the process step.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> processors;
/**
* Process step documentation.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> references;
/**
* Type of resource and / or extent to which the process step applies.
*/
+ @SuppressWarnings("serial")
private Scope scope;
/**
* Information about the source data used in creating the data specified by the scope.
*/
+ @SuppressWarnings("serial")
private Collection<Source> sources;
/**
* Description of the product generated as a result of the process step.
*/
+ @SuppressWarnings("serial")
private Collection<Source> outputs;
/**
@@ -136,11 +144,13 @@ public class DefaultProcessStep extends ISOMetadata implements ProcessStep {
* to derive geographic data from the raw instrument measurements, such as datasets,
* software used, and the processing environment.
*/
+ @SuppressWarnings("serial")
private Processing processingInformation;
/**
* Report generated by the process step.
*/
+ @SuppressWarnings("serial")
private Collection<ProcessStepReport> reports;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
index 972997cd1c..3160e0d46c 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
@@ -64,16 +64,19 @@ public class DefaultProcessStepReport extends ISOMetadata implements ProcessStep
/**
* Name of the processing report.
*/
+ @SuppressWarnings("serial")
private InternationalString name;
/**
* Textual description of what occurred during the process step.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Type of file that contains the processing report.
*/
+ @SuppressWarnings("serial")
private InternationalString fileType;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
index f036bc397b..7a8220f39f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
@@ -70,27 +70,32 @@ public class DefaultProcessing extends ISOMetadata implements Processing {
/**
* Reference to document describing processing software.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> softwareReferences;
/**
* Additional details about the processing procedures.
*/
+ @SuppressWarnings("serial")
private InternationalString procedureDescription;
/**
* Reference to documentation describing the processing.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> documentations;
/**
* Parameters to control the processing operations, entered at run time.
*/
+ @SuppressWarnings("serial")
private InternationalString runTimeParameters;
/**
* Details of the methodology by which geographic information was derived from the
* instrument readings.
*/
+ @SuppressWarnings("serial")
private Collection<Algorithm> algorithms;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java
index 092242fc3d..ccdb3ac9e2 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java
@@ -110,46 +110,55 @@ public class DefaultSource extends ISOMetadata implements Source {
/**
* Detailed description of the level of the source data.
*/
+ @SuppressWarnings("serial")
private InternationalString description;
/**
* Spatial resolution expressed as a scale factor, an angle or a level of detail.
*/
+ @SuppressWarnings("serial")
private Resolution sourceSpatialResolution;
/**
* Spatial reference system used by the source data.
*/
+ @SuppressWarnings("serial")
private ReferenceSystem sourceReferenceSystem;
/**
* Recommended reference to be used for the source data.
*/
+ @SuppressWarnings("serial")
private Citation sourceCitation;
/**
* Reference to metadata for the source.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> sourceMetadata;
/**
* Type and / or extent of the source.
*/
+ @SuppressWarnings("serial")
private Scope scope;
/**
* Information about an event in the creation process for the source data.
*/
+ @SuppressWarnings("serial")
private Collection<ProcessStep> sourceSteps;
/**
* Processing level of the source data.
*/
+ @SuppressWarnings("serial")
private Identifier processedLevel;
/**
* Distance between consistent parts (centre, left side, right side) of two adjacent pixels.
*/
+ @SuppressWarnings("serial")
private NominalResolution resolution;
/**
diff --git 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
index ddba30f825..b0d7b23246 100644
--- 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
@@ -97,27 +97,32 @@ public class DefaultMaintenanceInformation extends ISOMetadata implements Mainte
/**
* Date information associated with maintenance of resource.
*/
+ @SuppressWarnings("serial")
private Collection<CitationDate> maintenanceDates;
/**
* Maintenance period other than those defined, in milliseconds.
*/
+ @SuppressWarnings("serial")
private PeriodDuration userDefinedMaintenanceFrequency;
/**
* Type of resource and / or extent to which the maintenance information applies.
*/
+ @SuppressWarnings("serial")
private Collection<Scope> maintenanceScopes;
/**
* Information regarding specific requirements for maintaining the resource.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> maintenanceNotes;
/**
* Identification of, and means of communicating with, person(s) and organization(s)
* with responsibility for maintaining the resource.
*/
+ @SuppressWarnings("serial")
private Collection<Responsibility> contacts;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
index 753740e5f6..c8f0227324 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
@@ -79,11 +79,13 @@ public class DefaultScope extends ISOMetadata implements Scope {
/**
* Information about the spatial, vertical and temporal extent of the resource specified by the scope.
*/
+ @SuppressWarnings("serial")
private Collection<Extent> extents;
/**
* Detailed description about the level of the data specified by the scope.
*/
+ @SuppressWarnings("serial")
private Collection<ScopeDescription> levelDescription;
/**
diff --git 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
index e78783d8e9..6db85e1506 100644
--- 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
@@ -125,6 +125,7 @@ public class DefaultScopeDescription extends ISOMetadata implements ScopeDescrip
* <li>{@code InternationalString} for the {@code other} property</li>
* </ul>
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private Object value;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
index 8902b1c39a..447265b775 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
@@ -99,31 +99,37 @@ public class AbstractElement extends ISOMetadata implements Element {
/**
* Name of the test applied to the data.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> namesOfMeasure;
/**
* Code identifying a registered standard procedure, or {@code null} if none.
*/
+ @SuppressWarnings("serial")
private Identifier measureIdentification;
/**
* Description of the measure being determined.
*/
+ @SuppressWarnings("serial")
private InternationalString measureDescription;
/**
* Type of method used to evaluate quality of the dataset, or {@code null} if unspecified.
*/
+ @SuppressWarnings("serial")
private EvaluationMethodType evaluationMethodType;
/**
* Description of the evaluation method.
*/
+ @SuppressWarnings("serial")
private InternationalString evaluationMethodDescription;
/**
* Reference to the procedure information, or {@code null} if none.
*/
+ @SuppressWarnings("serial")
private Citation evaluationProcedure;
/**
@@ -299,6 +305,7 @@ public class AbstractElement extends ISOMetadata implements Element {
* come of evaluating the obtained value (or set of values) against a specified
* acceptable conformance quality level.
*/
+ @SuppressWarnings("serial")
private Collection<Result> results;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
index 0c22c9bd5b..8dce57bca1 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
@@ -68,11 +68,13 @@ public class DefaultConformanceResult extends AbstractResult implements Conforma
/**
* Citation of product specification or user requirement against which data is being evaluated.
*/
+ @SuppressWarnings("serial")
private Citation specification;
/**
* Explanation of the meaning of conformance for this result.
*/
+ @SuppressWarnings("serial")
private InternationalString explanation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
index a09901dd5b..c5ff4a8eda 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
@@ -80,22 +80,26 @@ public class DefaultCoverageResult extends AbstractResult implements CoverageRes
/**
* Provides the digital representation of data quality measures composing the coverage result.
*/
+ @SuppressWarnings("serial")
private SpatialRepresentation resultSpatialRepresentation;
/**
* Provides the description of the content of the result coverage, i.e. semantic definition
* of the data quality measures.
*/
+ @SuppressWarnings("serial")
private CoverageDescription resultContentDescription;
/**
* Provides information about the format of the result coverage data.
*/
+ @SuppressWarnings("serial")
private Format resultFormat;
/**
* Provides information about the data file containing the result coverage data.
*/
+ @SuppressWarnings("serial")
private DataFile resultFile;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
index da2e79af99..40ad04e689 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
@@ -73,6 +73,7 @@ public class DefaultDataQuality extends ISOMetadata implements DataQuality {
/**
* The specific data to which the data quality information applies.
*/
+ @SuppressWarnings("serial")
private Scope scope;
/**
@@ -80,6 +81,7 @@ public class DefaultDataQuality extends ISOMetadata implements DataQuality {
* Should be provided only if {@linkplain Scope#getLevel scope level} is
* {@linkplain org.opengis.metadata.maintenance.ScopeCode#DATASET dataset}.
*/
+ @SuppressWarnings("serial")
private Collection<Element> reports;
/**
@@ -87,6 +89,7 @@ public class DefaultDataQuality extends ISOMetadata implements DataQuality {
* Should be provided only if {@linkplain Scope#getLevel scope level} is
* {@linkplain org.opengis.metadata.maintenance.ScopeCode#DATASET dataset}.
*/
+ @SuppressWarnings("serial")
private Lineage lineage;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
index fdd0a00312..7e66020722 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
@@ -69,21 +69,25 @@ public class DefaultQuantitativeResult extends AbstractResult implements Quantit
/**
* Quantitative value or values, content determined by the evaluation procedure used.
*/
+ @SuppressWarnings("serial")
private List<Record> values;
/**
* Value type for reporting a data quality result, or {@code null} if none.
*/
+ @SuppressWarnings("serial")
private RecordType valueType;
/**
* Value unit for reporting a data quality result, or {@code null} if none.
*/
+ @SuppressWarnings("serial")
private Unit<?> valueUnit;
/**
* Statistical method used to determine the value, or {@code null} if none.
*/
+ @SuppressWarnings("serial")
private InternationalString errorStatistic;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
index 33fd37ce80..2629483944 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
@@ -58,6 +58,7 @@ public class AbstractGeolocationInformation extends ISOMetadata implements Geolo
/**
* Provides an overall assessment of quality of geolocation information.
*/
+ @SuppressWarnings("serial")
private Collection<DataQuality> qualityInfo;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
index c44b3515e4..89683a91d5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
@@ -94,11 +94,13 @@ public class DefaultDimension extends ISOMetadata implements Dimension {
* Example: dimensionName = "column",
* dimensionTitle = "longitude"
*/
+ @SuppressWarnings("serial")
private InternationalString dimensionTitle;
/**
* Description of the axis.
*/
+ @SuppressWarnings("serial")
private InternationalString dimensionDescription;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
index 79615d6ae1..5bad9f9869 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
@@ -67,11 +67,13 @@ public class DefaultGCP extends ISOMetadata implements GCP {
/**
* Geographic or map position of the control point, in either two or three dimensions.
*/
+ @SuppressWarnings("serial")
private DirectPosition geographicCoordinates;
/**
* Accuracy of a ground control point.
*/
+ @SuppressWarnings("serial")
private Collection<Element> accuracyReports;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
index f7ca4cf46b..baa80f5d3d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
@@ -78,16 +78,19 @@ public class DefaultGCPCollection extends AbstractGeolocationInformation impleme
/**
* Name of the GCP collection.
*/
+ @SuppressWarnings("serial")
private InternationalString collectionName;
/**
* Coordinate system in which the ground control points are defined.
*/
+ @SuppressWarnings("serial")
private ReferenceSystem coordinateReferenceSystem;
/**
* Ground control point(s) used in the collection.
*/
+ @SuppressWarnings("serial")
private Collection<GCP> GCPs;
/**
diff --git 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
index ff09f098c8..678e25a72c 100644
--- 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
@@ -100,6 +100,7 @@ public class DefaultGeorectified extends DefaultGridSpatialRepresentation implem
* Description of geographic position points used to test the accuracy of the
* georeferenced grid data.
*/
+ @SuppressWarnings("serial")
private InternationalString checkPointDescription;
/**
@@ -108,6 +109,7 @@ public class DefaultGeorectified extends DefaultGridSpatialRepresentation implem
* diagonals in the grid spatial dimensions. There are four corner points in a
* georectified grid; at least two corner points along one diagonal are required.
*/
+ @SuppressWarnings("serial")
private List<Point> cornerPoints;
/**
@@ -115,6 +117,7 @@ public class DefaultGeorectified extends DefaultGridSpatialRepresentation implem
* and the grid coordinate of the cell halfway between opposite ends of the grid in the
* spatial dimensions.
*/
+ @SuppressWarnings("serial")
private Point centrePoint;
/**
@@ -125,16 +128,19 @@ public class DefaultGeorectified extends DefaultGridSpatialRepresentation implem
/**
* Description of the information about which grid dimensions are the spatial dimensions.
*/
+ @SuppressWarnings("serial")
private InternationalString transformationDimensionDescription;
/**
* Information about which grid dimensions are the spatial dimensions.
*/
+ @SuppressWarnings("serial")
private Collection<InternationalString> transformationDimensionMapping;
/**
* Geographic references used to validate georectification of the data.
*/
+ @SuppressWarnings("serial")
private Collection<GCP> checkPoints;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
index f2e2f78b68..6904a4b8c7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
@@ -97,21 +97,25 @@ public class DefaultGeoreferenceable extends DefaultGridSpatialRepresentation im
/**
* Description of parameters used to describe sensor orientation.
*/
+ @SuppressWarnings("serial")
private InternationalString orientationParameterDescription;
/**
* Terms which support grid data georeferencing.
*/
+ @SuppressWarnings("serial")
private Record georeferencedParameters;
/**
* Reference providing description of the parameters.
*/
+ @SuppressWarnings("serial")
private Collection<Citation> parameterCitations;
/**
* Information that can be used to geolocate the data.
*/
+ @SuppressWarnings("serial")
private Collection<GeolocationInformation> geolocationInformation;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
index 7c5a6b1a92..818eff6437 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
@@ -96,6 +96,7 @@ public class DefaultGridSpatialRepresentation extends AbstractSpatialRepresentat
/**
* Information about spatial-temporal axis properties.
*/
+ @SuppressWarnings("serial")
private List<Dimension> axisDimensionProperties;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
index c4b4021790..290d92e89d 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
@@ -65,6 +65,7 @@ public class DefaultVectorSpatialRepresentation extends AbstractSpatialRepresent
/**
* Information about the geometric objects used in the dataset.
*/
+ @SuppressWarnings("serial")
private Collection<GeometricObjects> geometricObjects;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/AbstractName.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/AbstractName.java
index 26b31ae973..633a00f196 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/AbstractName.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/AbstractName.java
@@ -356,6 +356,7 @@ public abstract class AbstractName implements GenericName, Serializable {
* The sequence of {@linkplain DefaultLocalName local names} making this generic name.
* This is the value returned by {@link AbstractName#getParsedNames()}.
*/
+ @SuppressWarnings("serial")
private final List<? extends LocalName> parsedNames;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
index e11a7b1d08..1ed4135186 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
@@ -86,6 +86,7 @@ public class DefaultLocalName extends AbstractName implements LocalName {
* value for stopping iterative searches (using GLOBAL would have higher risk of never-ending
* loops in case of bug), and in order to reduce the stream size during serialization.
*/
+ @SuppressWarnings("serial")
final NameSpace scope;
/**
@@ -112,6 +113,7 @@ public class DefaultLocalName extends AbstractName implements LocalName {
* </gco:TypeName>
* }
*/
+ @SuppressWarnings("serial")
@XmlJavaTypeAdapter(CharSequenceAdapter.class)
@XmlElement(name = "aName", namespace = Namespaces.GCO)
final CharSequence name;
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultMemberName.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultMemberName.java
index 462b151aff..4182fe0cfc 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultMemberName.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultMemberName.java
@@ -63,6 +63,7 @@ public class DefaultMemberName extends DefaultLocalName implements MemberName {
/**
* The type of the data associated with the record member.
*/
+ @SuppressWarnings("serial")
@XmlElement(required = true)
private final TypeName attributeType;
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
index 9fbe7bdfb4..1d30650911 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
@@ -93,6 +93,7 @@ public class DefaultNameSpace implements NameSpace, Serializable {
/**
* The name of this namespace, usually as a {@link String} or an {@link InternationalString}.
*/
+ @SuppressWarnings("serial")
private final CharSequence name;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
index b473aa7762..80597500b3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
@@ -74,6 +74,7 @@ public class DefaultRecord implements Record, Serializable {
/**
* The type definition of this record. Can not be {@code null}.
*/
+ @SuppressWarnings("serial")
final RecordDefinition definition;
/**
@@ -81,6 +82,7 @@ public class DefaultRecord implements Record, Serializable {
* which is why the type is not {@code Object[]}. Should never be {@code null}, except
* temporarily during XML unmarshalling.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private Object values;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
index 60d6bfc1ee..caf55c6c1f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
@@ -110,6 +110,7 @@ public class DefaultRecordType extends RecordDefinition implements RecordType, S
*
* @see #getTypeName()
*/
+ @SuppressWarnings("serial")
private final TypeName typeName;
/**
@@ -117,6 +118,7 @@ public class DefaultRecordType extends RecordDefinition implements RecordType, S
*
* @see #getContainer()
*/
+ @SuppressWarnings("serial")
private final RecordSchema container;
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
index cb8a8d1e2e..1ff3343296 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
@@ -70,6 +70,7 @@ abstract class RecordDefinition { // Inten
/**
* The wrapped record type.
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private final RecordType recordType; // This is the only serialized field in this file.
/**
[sis] 03/03: Fix a broken Unicode character in Javadoc.
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 7c1d9bd43313afe6d56ab4c0708f376611a39a3b
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Sep 8 18:39:00 2022 +0200
Fix a broken Unicode character in Javadoc.
---
.../org/apache/sis/metadata/iso/content/DefaultImageDescription.java | 2 +-
.../sis/metadata/iso/identification/DefaultDataIdentification.java | 4 ++--
.../main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
index bfefa66d83..f4e5d39303 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultImageDescription.java
@@ -78,7 +78,7 @@ public class DefaultImageDescription extends DefaultCoverageDescription implemen
/**
* Illumination elevation measured in degrees clockwise from the target plane
- * at intersection of the optical line of sight with the Earths surface.
+ * at intersection of the optical line of sight with the Earth's surface.
* For images from a scanning device, refer to the centre pixel of the image.
*/
private Double illuminationElevationAngle;
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
index c21d6ffc27..ac0aa7d595 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
@@ -103,7 +103,7 @@ public class DefaultDataIdentification extends AbstractIdentification implements
private Map<Locale,Charset> locales;
/**
- * Description of the dataset in the producers processing environment, including items
+ * Description of the dataset in the producer's processing environment, including items
* such as the software, the computer operating system, file name, and the dataset size
*/
@SuppressWarnings("serial")
@@ -286,7 +286,7 @@ public class DefaultDataIdentification extends AbstractIdentification implements
}
/**
- * Sets the description of the resource in the producers processing environment.
+ * Sets the description of the resource in the producer's processing environment.
*
* @param newValue the new environment description.
*/
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
index 28da2c1a20..0457daee64 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
@@ -189,7 +189,7 @@ public class DefaultLineage extends ISOMetadata implements Lineage {
}
/**
- * Sets the general explanation of the data producers knowledge about the lineage of a dataset.
+ * Sets the general explanation of the data producer's knowledge about the lineage of a dataset.
*
* @param newValue the new statement.
*/
[sis] 01/03: Review the new `upsampling(int...)` methods with the following changes:
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit f1c09cd373da5f39ae22d8413b6a0181228a1e28
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Sep 8 17:37:23 2022 +0200
Review the new `upsampling(int...)` methods with the following changes:
In GridExtent:
* Operate directly on high grid coordinates instead of (low + grid size).
The operations on size in `subsample` were because of rounding problem.
There is no such rounding with `upsample`.
* Check for integer overflow in multiplications (ArithmeticException).
* Opportunistic documentation fixes in various places (not only upsample)
In particular the discussion about envelope was unclear in `subsample`.
In GridGeometry:
* Make the code safe to missing extent, gridToCRS, envelope, or CRS.
* Matrix may be non-square (source and target dimensions not equal).
* Avoid `IndexOutOfBoundsException` if `periods` array is truncated.
* Use `DoubleDouble` arithmetic for reducing rounding errors.
* Share the same `Envelope` instance.
* Moved the method closer to related methods (subgrid).
---
.../apache/sis/coverage/grid/GridDerivation.java | 2 +-
.../org/apache/sis/coverage/grid/GridExtent.java | 41 +++---
.../org/apache/sis/coverage/grid/GridGeometry.java | 160 ++++++++++++---------
.../apache/sis/coverage/grid/GridExtentTest.java | 5 +-
.../apache/sis/coverage/grid/GridGeometryTest.java | 65 ++++-----
5 files changed, 147 insertions(+), 126 deletions(-)
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java
index 6a5ef345ef..6b82fbe6e7 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java
@@ -807,7 +807,7 @@ public class GridDerivation {
* They are not in units of cells of the size that we get after subsampling.
*
* @param indices the envelopes to intersect in units of {@link #base} grid coordinates.
- * Shall contains at least one element.
+ * Shall contain at least one element.
* @throws DisjointExtentException if the given envelope does not intersect the grid extent.
*
* @see #getBaseExtentExpanded(boolean)
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
index d0488546cb..ce9832b8fa 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
@@ -91,6 +91,7 @@ import org.opengis.coverage.PointOutsideCoverageException;
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Alexis Manin (Geomatys)
+ * @author Johann Sorel (Geomatys)
* @version 1.3
* @since 1.0
* @module
@@ -1466,7 +1467,10 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* of one cell may exist).
*
* <div class="note"><b>Note:</b>
- * The envelope computed from a grid extent may become <em>larger</em> after subsampling, not smaller.
+ * If the "real world" envelope computed from grid extent needs to stay approximately the same, then the
+ * {@linkplain GridGeometry#getGridToCRS grid to CRS} transform needs to compensate the subsampling with
+ * a pre-multiplication of each grid coordinates by {@code periods}.
+ * However the envelope computed that way may become <em>larger</em> after subsampling, not smaller.
* This effect can be understood intuitively if we consider that cells become larger after subsampling,
* which implies that accurate representation of the same envelope may require fractional cells on some
* grid borders.</div>
@@ -1480,7 +1484,7 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* If the array is longer, extraneous values are ignored.
*
* @param periods the subsampling. Length shall be equal to the number of dimension and all values shall be greater than zero.
- * @return the subsampled extent, or {@code this} is subsampling results in the same extent.
+ * @return the subsampled extent, or {@code this} if subsampling results in the same extent.
* @throws IllegalArgumentException if a period is not greater than zero.
*
* @see GridDerivation#subgrid(GridExtent, int...)
@@ -1500,11 +1504,12 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
throw new ArithmeticException(Errors.format(Errors.Keys.IntegerOverflow_1, Long.SIZE));
}
long r = Long.divideUnsigned(size, s);
- if (r*s == size) r--; // Make inclusive if the division did not already rounded toward 0.
+ if (r*s == size) r--; // Make inclusive if the division did not already rounded toward 0.
sub.coordinates[i] = low /= s;
sub.coordinates[j] = low + r;
} else if (s <= 0) {
- throw new IllegalArgumentException(Errors.format(Errors.Keys.ValueNotGreaterThanZero_2, Strings.toIndexed("periods", i), s));
+ throw new IllegalArgumentException(Errors.format(
+ Errors.Keys.ValueNotGreaterThanZero_2, Strings.toIndexed("periods", i), s));
}
}
return Arrays.equals(coordinates, sub.coordinates) ? this : sub;
@@ -1512,13 +1517,9 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
/**
* Creates a new grid extent upsampled by the given amount of cells along each grid dimensions.
- * This method multiplies {@linkplain #getLow(int) low coordinates} and {@linkplain #getSize(int) grid sizes}
+ * This method multiplies {@linkplain #getLow(int) low} and {@linkplain #getHigh(int) high} coordinates
* by the given periods.
*
- * <div class="note"><b>Note:</b>
- * The envelope computed from a grid extent is preserved after upsampling.
- * </div>
- *
* This method does not change the number of dimensions of the grid extent.
*
* <h4>Number of arguments</h4>
@@ -1527,27 +1528,27 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* If the array is longer, extraneous values are ignored.
*
* @param periods the upsampling. Length shall be equal to the number of dimension and all values shall be greater than zero.
- * @return the upsampled extent, or {@code this} is upsampling results in the same extent.
+ * @return the upsampled extent, or {@code this} if upsampling results in the same extent.
* @throws IllegalArgumentException if a period is not greater than zero.
+ * @throws ArithmeticException if the upsampled extent overflows the {@code long} capacity.
+ *
+ * @see GridGeometry#upsample(int...)
+ * @since 1.3
*/
- public GridExtent upsample(int... periods) {
+ public GridExtent upsample(final int... periods) {
ArgumentChecks.ensureNonNull("periods", periods);
final int m = getDimension();
final int length = Math.min(m, periods.length);
final GridExtent sub = new GridExtent(this);
for (int i=0; i<length; i++) {
- final long s = periods[i];
+ final int s = periods[i];
if (s > 1) {
final int j = i + m;
- long low = coordinates[i];
- long size = coordinates[j] - low + 1; // Result is an unsigned number.
- if (size == 0) {
- throw new ArithmeticException(Errors.format(Errors.Keys.IntegerOverflow_1, Long.SIZE));
- }
- sub.coordinates[i] = low * s;
- sub.coordinates[j] = sub.coordinates[i] + size * s -1;
+ sub.coordinates[i] = Math.multiplyExact(coordinates[i], s);
+ sub.coordinates[j] = Math.addExact(Math.multiplyExact(coordinates[j], s), s-1);
} else if (s <= 0) {
- throw new IllegalArgumentException(Errors.format(Errors.Keys.ValueNotGreaterThanZero_2, Strings.toIndexed("periods", i), s));
+ throw new IllegalArgumentException(Errors.format(
+ Errors.Keys.ValueNotGreaterThanZero_2, Strings.toIndexed("periods", i), s));
}
}
return Arrays.equals(coordinates, sub.coordinates) ? this : sub;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
index 8ebb22fb70..1c0d5e8f5c 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
@@ -55,6 +55,7 @@ import org.apache.sis.referencing.operation.matrix.MatrixSIS;
import org.apache.sis.referencing.operation.transform.MathTransforms;
import org.apache.sis.referencing.operation.transform.LinearTransform;
import org.apache.sis.referencing.operation.transform.PassThroughTransform;
+import org.apache.sis.internal.referencing.ExtendedPrecisionMatrix;
import org.apache.sis.internal.referencing.DirectPositionView;
import org.apache.sis.internal.referencing.TemporalAccessor;
import org.apache.sis.internal.referencing.AxisDirections;
@@ -132,6 +133,7 @@ import static org.apache.sis.referencing.CRS.findOperation;
* The same instance can be shared by different {@link GridCoverage} instances.
*
* @author Martin Desruisseaux (IRD, Geomatys)
+ * @author Johann Sorel (Geomatys)
* @version 1.3
* @since 1.0
* @module
@@ -729,6 +731,18 @@ public class GridGeometry implements LenientComparable, Serializable {
}
}
+ /**
+ * Converts a "grid to CRS" transform from "cell corner" convention to "cell center" convention.
+ * This is a helper method for use of {@link #GridGeometry(GridExtent, MathTransform, MathTransform,
+ * ImmutableEnvelope, double[], long)} constructor.
+ *
+ * @param gridToCRS the transform to convert, or {@code null} if none.
+ * @return the converted transform, or {@code null} if the given transform was null.
+ */
+ private static MathTransform cornerToCenter(final MathTransform gridToCRS) {
+ return PixelTranslation.translate(gridToCRS, PixelInCell.CELL_CORNER, PixelInCell.CELL_CENTER);
+ }
+
/**
* Returns the number of dimensions of the <em>grid</em>. This is typically the same
* than the number of {@linkplain #getEnvelope() envelope} dimensions or the number of
@@ -853,7 +867,7 @@ public class GridGeometry implements LenientComparable, Serializable {
* @return linear approximation of the conversion from grid coordinates to "real world" coordinates.
* @throws IllegalArgumentException if the given {@code anchor} is not a known code list value.
* @throws IncompleteGridGeometryException if this grid geometry has no transform,
- * of if the transform is non-linear but this grid geometry has no extent.
+ * or if the transform is non-linear but this grid geometry has no extent.
* @throws TransformException if an error occurred while computing the tangent.
*
* @since 1.3
@@ -1364,6 +1378,70 @@ public class GridGeometry implements LenientComparable, Serializable {
return new GridDerivation(this);
}
+ /**
+ * Creates a new grid geometry upsampled by the given amount of cells along each grid dimensions.
+ * This method multiplies {@linkplain GridExtent#getLow(int) low} and {@linkplain GridExtent#getHigh(int) high}
+ * coordinates by the given periods, then scales the {@link #getGridToCRS(PixelInCell) grid to CRS} transform
+ * for compensating the grid change.
+ * The grid geometry {@link #getEnvelope() envelope} is preserved after upsampling.
+ *
+ * <h4>Number of arguments</h4>
+ * The {@code periods} array length should be equal to the {@linkplain #getDimension() number of grid dimensions}.
+ * If the array is shorter, missing values default to 1 (i.e. samplings in unspecified dimensions are unchanged).
+ * If the array is longer, extraneous values are ignored.
+ *
+ * @param periods the upsampling. Length shall be equal to the number of dimension and all values shall be greater than zero.
+ * @return the upsampled grid geometry, or {@code this} is upsampling results in the same extent.
+ * @throws IllegalArgumentException if a period is not greater than zero.
+ *
+ * @see GridExtent#upsample(int...)
+ * @since 1.3
+ */
+ public GridGeometry upsample(final int... periods) {
+ GridExtent newExtent = extent;
+ if (newExtent != null) {
+ newExtent = newExtent.upsample(periods);
+ if (newExtent == extent) return this; // Unchanged.
+ }
+ boolean changed = false; // Additional check in case `extent` was null.
+ MathTransform newGridToCRS = null;
+ double[] newResolution = null;
+ if (cornerToCRS != null) {
+ final int tgtDim = cornerToCRS.getTargetDimensions();
+ final int srcDim = cornerToCRS.getSourceDimensions();
+ MatrixSIS matrix = Matrices.copy(MathTransforms.getMatrix(cornerToCRS));
+ final boolean isNonLinear = (matrix == null);
+ if (isNonLinear) {
+ matrix = Matrices.create(tgtDim+1, srcDim+1, ExtendedPrecisionMatrix.IDENTITY);
+ }
+ /*
+ * By dividing the matrix elements directly, we avoid some numerical errors.
+ * This is because 100*0.1 is not exactly equal to 100/10.
+ * Each period value must be multiplied by a full column.
+ */
+ newResolution = resolution.clone();
+ final DoubleDouble div = new DoubleDouble();
+ for (int i = Math.min(srcDim, periods.length); --i >= 0;) {
+ for (int j=0; j<tgtDim; j++) {
+ div.error = 0;
+ div.value = periods[i];
+ if (div.value != 1) {
+ newResolution[i] /= div.value;
+ div.inverseDivide(DoubleDouble.castOrCopy(matrix.getNumber(j, i)));
+ matrix.setNumber(j, i, div);
+ changed = true;
+ }
+ }
+ }
+ newGridToCRS = MathTransforms.linear(matrix);
+ if (isNonLinear) {
+ newGridToCRS = MathTransforms.concatenate(newGridToCRS, cornerToCRS);
+ }
+ }
+ if (!changed) return this;
+ return new GridGeometry(newExtent, cornerToCenter(newGridToCRS), newGridToCRS, envelope, newResolution, nonLinears);
+ }
+
/**
* Returns a grid geometry translated by the given amount of cells compared to this grid.
* The returned grid has the same {@linkplain GridExtent#getSize(int) size} than this grid,
@@ -1388,10 +1466,10 @@ public class GridGeometry implements LenientComparable, Serializable {
*/
public GridGeometry translate(final long... translation) {
ArgumentChecks.ensureNonNull("translation", translation);
- GridExtent te = extent;
- if (te != null) {
- te = te.translate(translation);
- if (te == extent) return this;
+ GridExtent newExtent = extent;
+ if (newExtent != null) {
+ newExtent = newExtent.translate(translation);
+ if (newExtent == extent) return this;
}
MathTransform t1 = gridToCRS;
MathTransform t2 = cornerToCRS;
@@ -1407,7 +1485,7 @@ public class GridGeometry implements LenientComparable, Serializable {
t1 = MathTransforms.concatenate(t, t1);
t2 = MathTransforms.concatenate(t, t2);
}
- return new GridGeometry(te, t1, t2, envelope, resolution, nonLinears);
+ return new GridGeometry(newExtent, t1, t2, envelope, resolution, nonLinears);
}
/**
@@ -1418,27 +1496,27 @@ public class GridGeometry implements LenientComparable, Serializable {
* <p>The given extent is taken verbatim; this method does no clipping.
* The given extent does not need to intersect the extent of this grid geometry.</p>
*
- * @param extent extent of the grid geometry to return.
+ * @param newExtent extent of the grid geometry to return.
* @return grid geometry with the given extent. May be {@code this} if there is no change.
* @throws TransformException if the geospatial envelope can not be recomputed with the new grid extent.
*
* @since 1.3
*/
- public GridGeometry relocate(final GridExtent extent) throws TransformException {
- ArgumentChecks.ensureNonNull("size", extent);
- if (extent.equals(this.extent)) {
+ public GridGeometry relocate(final GridExtent newExtent) throws TransformException {
+ ArgumentChecks.ensureNonNull("newExtent", newExtent);
+ if (newExtent.equals(extent)) {
return this;
}
- ensureDimensionMatches(getDimension(), extent);
+ ensureDimensionMatches(getDimension(), newExtent);
final ImmutableEnvelope relocated;
if (cornerToCRS != null) {
- final GeneralEnvelope env = extent.toEnvelope(cornerToCRS, gridToCRS, null);
+ final GeneralEnvelope env = newExtent.toEnvelope(cornerToCRS, gridToCRS, null);
env.setCoordinateReferenceSystem(getCoordinateReferenceSystem(envelope));
relocated = new ImmutableEnvelope(env);
} else {
relocated = envelope; // Either null or contains only the CRS.
}
- return new GridGeometry(extent, gridToCRS, cornerToCRS, relocated, resolution, nonLinears);
+ return new GridGeometry(newExtent, gridToCRS, cornerToCRS, relocated, resolution, nonLinears);
}
/**
@@ -1470,62 +1548,6 @@ public class GridGeometry implements LenientComparable, Serializable {
return this;
}
- /**
- * Creates a new grid geometry upsampling the GridExtent by the given amount of cells along each grid dimensions.
- * This method multiplies {@linkplain GridExtent#getLow(int) low coordinates} and {@linkplain GridExtent#getSize(int) grid sizes}
- * by the given periods.
- *
- * <div class="note"><b>Note:</b>
- * The envelope of the new grid geometry is preserved after upsampling.
- * </div>
- *
- * This method does not change the number of dimensions of the grid geometry.
- *
- * <h4>Number of arguments</h4>
- * The {@code periods} array length should be equal to the {@linkplain #getDimension() number of dimensions}.
- * If the array is shorter, missing values default to 1 (i.e. samplings in unspecified dimensions are unchanged).
- * If the array is longer, extraneous values are ignored.
- *
- * @param periods the upsampling. Length shall be equal to the number of dimension and all values shall be greater than zero.
- * @return the upsampled grid geometry, or {@code this} is upsampling results in the same extent.
- * @throws IllegalArgumentException if a period is not greater than zero.
- *
- * @see GridExtent#upsample(int...)
- */
- public GridGeometry upsample(int... periods) {
-
- final GridExtent extent = getExtent();
- final GridExtent upExtent = extent.upsample(periods);
- if (upExtent == extent) {
- //unchanged
- return this;
- }
- final int dimension = upExtent.getDimension();
-
- final MathTransform gridToCrs = getGridToCRS(PixelInCell.CELL_CORNER);
- final MathTransform upGridToCrs;
- if (gridToCrs instanceof LinearTransform) {
- /*
- By dividing the matrix elements directly we avoid some numeric errors.
- */
- final LinearTransform lnt = (LinearTransform) gridToCrs;
- final MatrixSIS matrix = Matrices.copy(lnt.getMatrix());
- for (int i = 0; i < dimension; i++) {
- for (int k = 0; k < dimension; k++) {
- matrix.setElement(k, i, matrix.getElement(k, i) / periods[i]);
- }
- }
- upGridToCrs = MathTransforms.linear(matrix);
- } else {
- final double[] scaling = new double[dimension];
- for (int i = 0; i < dimension; i++) {
- scaling[i] = 1.0 / periods[i];
- }
- upGridToCrs = MathTransforms.concatenate(MathTransforms.scale(scaling), gridToCrs);
- }
- return new GridGeometry(upExtent, PixelInCell.CELL_CORNER, upGridToCrs, getCoordinateReferenceSystem());
- }
-
/**
* Creates a one-, two- or three-dimensional coordinate reference system for cell indices in the grid.
* This method returns a CRS which is derived from the "real world" CRS or a subset of it.
diff --git a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridExtentTest.java b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridExtentTest.java
index 430d76647d..4a7b022bd5 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridExtentTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridExtentTest.java
@@ -47,6 +47,7 @@ import static org.apache.sis.test.ReferencingAssert.*;
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Alexis Manin (Geomatys)
+ * @author Johann Sorel (Geomatys)
* @version 1.3
* @since 1.0
* @module
@@ -72,7 +73,7 @@ public final strictfp class GridExtentTest extends TestCase {
}
/**
- * Tests the {@link GridExtent#subsample(int...)}.
+ * Tests {@link GridExtent#subsample(int...)}.
*/
@Test
public void testSubsample() {
@@ -84,7 +85,7 @@ public final strictfp class GridExtentTest extends TestCase {
}
/**
- * Tests the {@link GridExtent#upsample(int...)}.
+ * Tests {@link GridExtent#upsample(int...)}.
*/
@Test
public void testUpsample() {
diff --git a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridGeometryTest.java b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridGeometryTest.java
index 02e8b6a86b..4654589a6b 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridGeometryTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridGeometryTest.java
@@ -44,6 +44,7 @@ import static org.apache.sis.test.ReferencingAssert.*;
* Tests the {@link GridGeometry} implementation.
*
* @author Martin Desruisseaux (IRD, Geomatys)
+ * @author Johann Sorel (Geomatys)
* @version 1.3
* @since 1.0
* @module
@@ -467,6 +468,36 @@ public final strictfp class GridGeometryTest extends TestCase {
new double[] { 111319.49, -331876.53}), envelope, 0.01);
}
+ /**
+ * Tests {@link GridGeometry#upsample(int...)}.
+ */
+ @Test
+ public void testUpsample() {
+ final GridGeometry grid;
+ { // Source grid
+ final GridExtent extent = new GridExtent(null, new long[] {10,-8}, new long[] {100, 50}, false);
+ final Matrix3 mat = new Matrix3(
+ 1, 0, 10,
+ 0, -2, 50,
+ 0, 0, 1);
+ final MathTransform gridToCRS = MathTransforms.linear(mat);
+ grid = new GridGeometry(extent, PixelInCell.CELL_CENTER, gridToCRS, HardCodedCRS.CARTESIAN_2D);
+ }
+ final GridGeometry upsampled = grid.upsample(4, 4);
+ final GridGeometry expected;
+ { // Expected grid
+ GridExtent extent = new GridExtent(null, new long[] {40,-32}, new long[] {400, 200}, false);
+ final Matrix3 mat = new Matrix3(
+ 0.25, 0, 9.625,
+ 0, -0.5, 50.750,
+ 0, 0, 1);
+ final MathTransform gridToCRS = MathTransforms.linear(mat);
+ expected = new GridGeometry(extent, PixelInCell.CELL_CENTER, gridToCRS, HardCodedCRS.CARTESIAN_2D);
+ }
+ assertSame(grid.getEnvelope(), upsampled.getEnvelope());
+ assertEquals(expected, upsampled);
+ }
+
/**
* Tests {@link GridGeometry#translate(long...)}.
*/
@@ -561,40 +592,6 @@ public final strictfp class GridGeometryTest extends TestCase {
verifyGridToCRS(grid);
}
- /**
- * Tests {@link GridGeometry#upsample(int...)}.
- */
- @Test
- public void testUpsample() {
-
- final GridGeometry grid;
- { //grid
- final GridExtent extent = new GridExtent(null, new long[]{10,-8}, new long[]{100, 50}, false);
- final Matrix3 mat = new Matrix3(
- 1, 0, 10,
- 0, -2, 50,
- 0, 0, 1);
- final MathTransform gridToCRS = MathTransforms.linear(mat);
- grid = new GridGeometry(extent, PixelInCell.CELL_CENTER, gridToCRS, HardCodedCRS.CARTESIAN_2D);
- }
-
- final GridGeometry surSampling = grid.upsample(4, 4);
-
- final GridGeometry expected;
- { //expected grid
- GridExtent extent = new GridExtent(null, new long[]{40,-32}, new long[]{400, 200}, false);
- final Matrix3 mat = new Matrix3(
- 0.25, 0, 9.625,
- 0, -0.5, 50.750,
- 0, 0, 1);
- final MathTransform gridToCRS = MathTransforms.linear(mat);
- expected = new GridGeometry(extent, PixelInCell.CELL_CENTER, gridToCRS, HardCodedCRS.CARTESIAN_2D);
- }
-
- assertEquals(grid.getEnvelope(), surSampling.getEnvelope());
- assertEquals(expected, surSampling);
- }
-
/**
* Tests {@link GridGeometry#reduce(int...)} with a {@code gridToCRS} transform having a constant value
* in one dimension. This method tests indirectly {@link SliceGeometry#findTargetDimensions(MathTransform,