sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1803070 [6/20] - in /sis/branches/JDK9: ./ application/sis-console/src/main/java/org/apache/sis/console/ core/sis-build-helper/ core/sis-build-helper/src/main/java/org/apache/sis/internal/book/ core/sis-build-helper/src/main/java/org/apach...
Date Wed, 26 Jul 2017 16:14:14 GMT
Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -44,7 +44,15 @@ import static java.lang.Double.doubleToL
  * reference system is unnecessary. The CRS shall be geographic with Greenwich prime meridian,
  * but the datum doesn't need to be WGS84.
  *
- * <p>In addition to the standard properties, SIS provides the following methods:</p>
+ * <p>The following properties are mandatory in a well-formed metadata according ISO 19115:</p>
+ *
+ * <div class="preformat">{@code EX_GeographicBoundingBox}
+ * {@code   ├─westBoundLongitude……} The western-most coordinate of the limit of the dataset extent.
+ * {@code   ├─eastBoundLongitude……} The eastern-most coordinate of the limit of the dataset extent.
+ * {@code   ├─southBoundLatitude……} The southern-most coordinate of the limit of the dataset extent.
+ * {@code   └─northBoundLatitude……} The northern-most, coordinate of the limit of the dataset extent.</div>
+ *
+ * In addition to the standard properties, SIS provides the following methods:
  * <ul>
  *   <li>{@link #setBounds(double, double, double, double)} for setting the extent from (λ,φ) values.</li>
  *   <li>{@link #setBounds(Envelope)} for setting the extent from the given envelope.</li>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicDescription.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -30,6 +30,12 @@ import org.apache.sis.util.iso.Types;
 
 /**
  * Description of the geographic area using identifiers.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code EX_GeographicDescription}
+ * {@code   └─geographicIdentifier……} The identifier used to represent a geographic area.
+ * {@code       └─code……………………………………} Alphanumeric value identifying an instance in the namespace.</div>
+ *
  * The area is given by a {@linkplain #getGeographicIdentifier() geographic identifier},
  * which may be a code in the codespace of some authority (for example an EPSG code).
  * In addition, the geographic identifier can optionally have a

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultSpatialTemporalExtent.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -32,6 +32,11 @@ import org.apache.sis.internal.metadata.
 
 /**
  * Extent with respect to date/time and spatial boundaries.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code EX_SpatialTemporalExtent}
+ * {@code   ├─extent……………………………………} The date and time for the content of the dataset.
+ * {@code   └─spatialExtent…………………} The spatial extent component of composite spatial and temporal extent.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -35,8 +35,12 @@ import org.apache.sis.internal.metadata.
 
 /**
  * Time period covered by the content of the dataset.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
  *
- * <p>In addition to the standard properties, SIS provides the following methods:</p>
+ * <div class="preformat">{@code EX_TemporalExtent}
+ * {@code   └─extent…………………} The date and time for the content of the dataset.</div>
+ *
+ * In addition to the standard properties, SIS provides the following methods:
  * <ul>
  *   <li>{@link #getStartTime()} for fetching the start time from the temporal primitive.</li>
  *   <li>{@link #getEndTime()} for fetching the end time from the temporal primitive.</li>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -31,8 +31,14 @@ import org.apache.sis.internal.metadata.
 
 /**
  * Vertical domain of dataset.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
  *
- * <p>In addition to the standard properties, SIS provides the following methods:</p>
+ * <div class="preformat">{@code EX_VerticalExtent}
+ * {@code   ├─minimumValue……} The lowest vertical extent contained in the dataset.
+ * {@code   ├─maximumValue……} The highest vertical extent contained in the dataset.
+ * {@code   └─verticalCRS………} Information about the vertical coordinate reference system to which the maximum and minimum elevation values are measured. The CRS identification includes unit of measure.</div>
+ *
+ * In addition to the standard properties, SIS provides the following methods:
  * <ul>
  *   <li>{@link #setBounds(Envelope)} for setting the extent from the given envelope.</li>
  * </ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/AbstractIdentification.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -42,6 +42,7 @@ import org.opengis.metadata.maintenance.
 import org.opengis.metadata.spatial.SpatialRepresentationType;
 import org.opengis.temporal.Duration;
 import org.opengis.util.InternationalString;
+import org.apache.sis.internal.metadata.Dependencies;
 import org.apache.sis.internal.metadata.LegacyPropertyAdapter;
 import org.apache.sis.metadata.iso.ISOMetadata;
 import org.apache.sis.util.iso.Types;
@@ -49,6 +50,20 @@ import org.apache.sis.util.iso.Types;
 
 /**
  * Basic information required to uniquely identify a resource or resources.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_Identification}
+ * {@code   ├─citation………………………………………} Citation data for the resource(s).
+ * {@code   │   ├─title……………………………………} Name by which the cited resource is known.
+ * {@code   │   └─date………………………………………} Reference date for the cited resource.
+ * {@code   ├─abstract………………………………………} Brief narrative summary of the content of the resource(s).
+ * {@code   ├─extent……………………………………………} Bounding polygon, vertical, and temporal extent of the dataset.
+ * {@code   │   ├─description……………………} The spatial and temporal extent for the referring object.
+ * {@code   │   ├─geographicElement……} Geographic component of the extent of the referring object.
+ * {@code   │   ├─temporalElement…………} Temporal component of the extent of the referring object.
+ * {@code   │   └─verticalElement…………} Vertical component of the extent of the referring object.
+ * {@code   └─topicCategory…………………………} Main theme(s) of the dataset.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -626,6 +641,8 @@ public class AbstractIdentification exte
      * Provides a description of the format of the resource(s).
      *
      * @return description of the format.
+     *
+     * @see org.apache.sis.metadata.iso.distribution.DefaultDistribution#getDistributionFormats()
      */
     @Override
     @XmlElement(name = "resourceFormat")
@@ -637,6 +654,8 @@ public class AbstractIdentification exte
      * Sets a description of the format of the resource(s).
      *
      * @param  newValues  the new resource format.
+     *
+     * @see org.apache.sis.metadata.iso.distribution.DefaultDistribution#setDistributionFormats(Collection)
      */
     public void setResourceFormats(final Collection<? extends Format> newValues) {
         resourceFormats = writeCollection(newValues, resourceFormats, Format.class);
@@ -738,6 +757,7 @@ public class AbstractIdentification exte
     @Override
     @Deprecated
     @XmlElement(name = "aggregationInfo")
+    @Dependencies("getAssociatedResources")
     public Collection<AggregateInformation> getAggregationInfo() {
         return new LegacyPropertyAdapter<AggregateInformation,AssociatedResource>(getAssociatedResources()) {
             @Override protected AssociatedResource wrap(final AggregateInformation value) {

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -29,12 +29,21 @@ import org.opengis.metadata.identificati
 import org.opengis.metadata.identification.AssociationType;
 import org.opengis.metadata.identification.InitiativeType;
 import org.apache.sis.metadata.iso.citation.DefaultCitation;
+import org.apache.sis.internal.metadata.Dependencies;
 
 
 /**
  * Aggregate dataset information.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_AggregateInformation}
+ * {@code   ├─associationType…………} Type of relation between the resources.
+ * {@code   ├─metadataReference……} Reference to the metadata of the associated resource.
+ * {@code   │   ├─title…………………………} Name by which the cited resource is known.
+ * {@code   │   └─date……………………………} Reference date for the cited resource.
+ * {@code   └─name………………………………………} Citation information about the associated resource.</div>
  *
- * <div class="section">Relationship between properties</div>
  * According ISO 19115, at least one of {@linkplain #getAggregateDataSetName() aggregate dataset name}
  * and {@linkplain #getAggregateDataSetIdentifier() aggregate dataset identifier} shall be provided.
  *
@@ -124,6 +133,7 @@ public class DefaultAggregateInformation
     @Override
     @Deprecated
     @XmlElement(name = "aggregateDataSetName")
+    @Dependencies("getName")
     public Citation getAggregateDataSetName() {
         return getName();
     }
@@ -150,6 +160,7 @@ public class DefaultAggregateInformation
     @Override
     @Deprecated
     @XmlElement(name = "aggregateDataSetIdentifier")
+    @Dependencies("getName")
     public Identifier getAggregateDataSetIdentifier() {
         return getAggregateDataSetIdentifier(getAggregateDataSetName());
     }

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAssociatedResource.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -28,8 +28,16 @@ import org.apache.sis.metadata.iso.ISOMe
 
 /**
  * Associated resource information.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_AssociatedResource}
+ * {@code   ├─associationType…………} Type of relation between the resources.
+ * {@code   ├─metadataReference……} Reference to the metadata of the associated resource.
+ * {@code   │   ├─title…………………………} Name by which the cited resource is known.
+ * {@code   │   └─date……………………………} Reference date for the cited resource.
+ * {@code   └─name………………………………………} Citation information about the associated resource.</div>
  *
- * <div class="section">Relationship between properties</div>
  * According ISO 19115, at least one of {@linkplain #getName() name} and
  * {@linkplain #getMetadataReference() metadata reference} shall be provided.
  *

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphic.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -32,6 +32,10 @@ import org.apache.sis.internal.jaxb.gmx.
 
 /**
  * Graphic that provides an illustration of the dataset (should include a legend for the graphic).
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_BrowseGraphic}
+ * {@code   └─fileName…………} Name of the file that contains a graphic that provides an illustration of the dataset.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -33,6 +33,22 @@ import static org.apache.sis.internal.ja
 
 /**
  * Information required to identify a dataset.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_DataIdentification}
+ * {@code   ├─citation………………………………………} Citation data for the resource(s).
+ * {@code   │   ├─title……………………………………} Name by which the cited resource is known.
+ * {@code   │   └─date………………………………………} Reference date for the cited resource.
+ * {@code   ├─abstract………………………………………} Brief narrative summary of the content of the resource(s).
+ * {@code   ├─language………………………………………} Language(s) used within the dataset.
+ * {@code   ├─characterSet……………………………} Full name of the character coding standard(s) used for the dataset.
+ * {@code   ├─topicCategory…………………………} Main theme(s) of the dataset.
+ * {@code   └─extent……………………………………………} Bounding polygon, vertical, and temporal extent of the dataset.
+ * {@code       ├─description……………………} The spatial and temporal extent for the referring object.
+ * {@code       ├─geographicElement……} Geographic component of the extent of the referring object.
+ * {@code       ├─temporalElement…………} Temporal component of the extent of the referring object.
+ * {@code       └─verticalElement…………} Vertical component of the extent of the referring object.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywordClass.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -24,12 +24,20 @@ import org.opengis.util.InternationalStr
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.identification.KeywordClass;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.util.iso.Types;
 
 
 /**
  * Specification of a class to categorize keywords in a domain-specific vocabulary
  * that has a binding to a formal ontology.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_KeywordClass}
+ * {@code   ├─className………………………} Character string to label the keyword category in natural language.
+ * {@code   └─ontology…………………………} Reference that binds the keyword class to a formal conceptualization of a knowledge domain.
+ * {@code       ├─title………………………} Name by which the cited resource is known.
+ * {@code       └─date…………………………} Reference date for the cited resource.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -46,6 +54,7 @@ import org.apache.sis.util.iso.Types;
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "className")
 @XmlType(name = "MD_KeywordClass_Type", propOrder = {
     "className",
     "conceptIdentifier",

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -31,6 +31,10 @@ import org.apache.sis.util.iso.Types;
 
 /**
  * Keywords, their type and reference source.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_Keywords}
+ * {@code   └─keyword……} Commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationChainMetadata.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -24,12 +24,22 @@ import org.opengis.metadata.identificati
 import org.opengis.metadata.identification.OperationMetadata;
 import org.opengis.util.InternationalString;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.util.iso.Types;
 import org.apache.sis.xml.Namespaces;
 
 
 /**
  * Operation chain information.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code SV_OperationChainMetadata}
+ * {@code   ├─name………………………………………………………………………………} The name as used by the service for this chain.
+ * {@code   └─operation…………………………………………………………………} Information about the operations applied by the chain.
+ * {@code       ├─operationName……………………………………………} A unique identifier for this interface.
+ * {@code       ├─distributedComputingPlatform……} Distributed computing platforms on which the operation has been implemented.
+ * {@code       └─connectPoint………………………………………………} Handle for accessing the service interface.
+ * {@code           └─linkage…………………………………………………} Location for on-line access using a URL address or similar addressing scheme.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -47,6 +57,7 @@ import org.apache.sis.xml.Namespaces;
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "name")
 @XmlType(name = "SV_OperationChainMetadata_Type", namespace = Namespaces.SRV, propOrder = {
     "name",
     "description",

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlElem
 import javax.xml.bind.annotation.XmlRootElement;
 import org.opengis.util.InternationalString;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.opengis.metadata.citation.OnlineResource;
 import org.opengis.metadata.identification.DistributedComputingPlatform;
 import org.opengis.metadata.identification.OperationMetadata;
@@ -32,6 +33,13 @@ import org.apache.sis.xml.Namespaces;
 
 /**
  * Parameter information.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code SV_OperationMetadata}
+ * {@code   ├─operationName……………………………………………} A unique identifier for this interface.
+ * {@code   ├─distributedComputingPlatform……} Distributed computing platforms on which the operation has been implemented.
+ * {@code   └─connectPoint………………………………………………} Handle for accessing the service interface.
+ * {@code       └─linkage…………………………………………………} Location for on-line access using a URL address or similar addressing scheme.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -49,6 +57,7 @@ import org.apache.sis.xml.Namespaces;
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "operationName")
 @XmlType(name = "SV_OperationMetadata_Type", namespace = Namespaces.SRV, propOrder = {
     "operationName",
     "distributedComputingPlatforms",

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -48,8 +48,12 @@ import static org.apache.sis.internal.me
 /**
  * A scale defined as the inverse of a denominator.
  * Scale is defined as a kind of {@link Number}.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
  *
- * <p>In addition to the standard properties, SIS provides the following methods:</p>
+ * <div class="preformat">{@code MD_RepresentativeFraction}
+ * {@code   └─denominator…………………………} The number below the line in a vulgar fraction.</div>
+ *
+ * In addition to the standard properties, SIS provides the following methods:
  * <ul>
  *   <li>{@link #setScale(double)} for computing the denominator from a scale value.</li>
  * </ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -34,8 +34,17 @@ import static org.apache.sis.internal.me
 
 /**
  * Level of detail expressed as a scale factor or a ground distance.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_Resolution}
+ * {@code   ├─angularDistance……} Angular sampling measure.
+ * {@code   ├─distance………………………} Ground sample distance.
+ * {@code   ├─equivalentScale……} Level of detail expressed as the scale of a comparable hardcopy map or chart.
+ * {@code   │   └─denominator……} The number below the line in a vulgar fraction.
+ * {@code   ├─levelOfDetail…………} Brief textual description of the spatial resolution of the resource.
+ * {@code   └─vertical………………………} Vertical sampling distance.</div>
  *
- * <div class="section">Relationship between properties</div>
  * ISO 19115 defines {@code Resolution} as an <cite>union</cite> (in the C/C++ sense):
  * only one of the properties in this class can be set to a non-empty value.
  * Setting any property to a non-empty value discard all the other ones.

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -36,6 +36,23 @@ import org.apache.sis.xml.Namespaces;
 /**
  * Identification of capabilities which a service provider makes available to a service user
  * through a set of interfaces that define a behaviour.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code SV_ServiceIdentification}
+ * {@code   ├─citation………………………………………} Citation data for the resource(s).
+ * {@code   │   ├─title……………………………………} Name by which the cited resource is known.
+ * {@code   │   └─date………………………………………} Reference date for the cited resource.
+ * {@code   ├─abstract………………………………………} Brief narrative summary of the content of the resource(s).
+ * {@code   ├─serviceType………………………………} A service type name. For example: "view", "download", or "invoke".
+ * {@code   ├─coupledResource……………………} Further description of the data coupling in the case of tightly coupled services.
+ * {@code   ├─couplingType……………………………} Type of coupling between service and associated data (if exist).
+ * {@code   ├─extent……………………………………………} Bounding polygon, vertical, and temporal extent of the dataset.
+ * {@code   │   ├─description……………………} The spatial and temporal extent for the referring object.
+ * {@code   │   ├─geographicElement……} Geographic component of the extent of the referring object.
+ * {@code   │   ├─temporalElement…………} Temporal component of the extent of the referring object.
+ * {@code   │   └─verticalElement…………} Vertical component of the extent of the referring object.
+ * {@code   └─topicCategory…………………………} Main theme(s) of the dataset.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -26,6 +26,7 @@ import org.opengis.metadata.citation.Cit
 import org.opengis.metadata.citation.Responsibility;
 import org.opengis.metadata.identification.Usage;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.util.iso.Types;
 
 import static org.apache.sis.internal.metadata.MetadataUtilities.toDate;
@@ -34,6 +35,15 @@ import static org.apache.sis.internal.me
 
 /**
  * Brief description of ways in which the resource(s) is/are currently or has been used.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_Usage}
+ * {@code   ├─specificUsage…………} Brief description of the resource and/or resource series usage.
+ * {@code   └─userContactInfo……} Identification of and means of communicating with person(s) and organisation(s).
+ * {@code       ├─party……………………} Information about the parties.
+ * {@code       │   └─name……………} Name of the party.
+ * {@code       └─role………………………} Function performed by the responsible party.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -53,6 +63,7 @@ import static org.apache.sis.internal.me
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "specificUsage")
 @XmlType(name = "MD_Usage_Type", propOrder = {
     "specificUsage",
     "usageDate",

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -28,6 +28,13 @@ import org.apache.sis.xml.Namespaces;
 
 /**
  * Details of the methodology by which geographic information was derived from the instrument readings.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LE_Algorithm}
+ * {@code   ├─citation…………………………} Information identifying the algorithm and version or date.
+ * {@code   │   ├─title………………………} Name by which the cited resource is known.
+ * {@code   │   └─date…………………………} Reference date for the cited resource.
+ * {@code   └─description…………………} Information describing the algorithm used to generate the data.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -34,8 +34,25 @@ import org.apache.sis.metadata.iso.maint
 /**
  * Information about the events or source data used in constructing the data specified by
  * the scope or lack of knowledge about lineage.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LI_Lineage}
+ * {@code   ├─statement……………………………………………………………} General explanation of the data producer's knowledge about the lineage of a dataset.
+ * {@code   ├─processStep………………………………………………………} Information about an event in the creation process for the data specified by the scope.
+ * {@code   │   └─description……………………………………………} Description of the event, including related parameters or tolerances.
+ * {@code   └─source……………………………………………………………………} Information about the source data used in creating the data specified by the scope.
+ * {@code       ├─description……………………………………………} Detailed description of the level of the source data.
+ * {@code       └─scope……………………………………………………………} Type and / or extent of the source.
+ * {@code           ├─level…………………………………………………} Hierarchical level of the data specified by the scope.
+ * {@code           └─levelDescription……………………} Detailed description about the level of the data specified by the scope.
+ * {@code               ├─attributeInstances……} Attribute instances to which the information applies.
+ * {@code               ├─attributes…………………………} Attributes to which the information applies.
+ * {@code               ├─dataset…………………………………} Dataset to which the information applies.
+ * {@code               ├─featureInstances…………} Feature instances to which the information applies.
+ * {@code               ├─features………………………………} Features to which the information applies.
+ * {@code               └─other………………………………………} Class of information that does not fall into the other categories.</div>
  *
- * <div class="section">Relationship between properties</div>
  * At least one of {@linkplain #getStatement statement}, {@linkplain #getProcessSteps() process steps}
  * and {@link #getSources() sources} shall be provided.
  *

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -29,6 +29,11 @@ import static org.apache.sis.internal.me
 
 /**
  * Distance between consistent parts of (centre, left side, right side) adjacent pixels.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LE_NominalResolution}
+ * {@code   ├─scanningResolution……} Distance between consistent parts of (centre, left side, right side) adjacent pixels in the scan plane.
+ * {@code   └─groundResolution…………} Distance between consistent parts of (centre, left side, right side) adjacent pixels in the object space.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -31,6 +31,7 @@ import org.opengis.metadata.lineage.Proc
 import org.opengis.metadata.lineage.ProcessStep;
 import org.opengis.metadata.lineage.ProcessStepReport;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.util.iso.Types;
 import org.apache.sis.xml.Namespaces;
 
@@ -41,6 +42,10 @@ import static org.apache.sis.internal.me
 /**
  * Information about an event or transformation in the life of a resource.
  * Includes the process used to maintain the resource.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LI_ProcessStep}
+ * {@code   └─description……} Description of the event, including related parameters or tolerances.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -60,6 +65,7 @@ import static org.apache.sis.internal.me
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "description")
 @XmlType(name = "LI_ProcessStep_Type", propOrder = {
     "description",
     "rationale",

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -22,11 +22,16 @@ import javax.xml.bind.annotation.XmlType
 import org.opengis.metadata.lineage.ProcessStepReport;
 import org.opengis.util.InternationalString;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.xml.Namespaces;
 
 
 /**
  * Report of what occurred during the process step.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LE_ProcessStepReport}
+ * {@code   └─name………………………………} Name of the processing report.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -45,6 +50,7 @@ import org.apache.sis.xml.Namespaces;
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "name")
 @XmlType(name = "LE_ProcessStepReport_Type", propOrder = {
     "name",
     "description",

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -32,6 +32,11 @@ import org.apache.sis.internal.jaxb.NonM
 
 /**
  * Comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LE_Processing}
+ * {@code   └─identifier……} Information to identify the processing package that produced the data.
+ * {@code       └─code…………} Alphanumeric value identifying an instance in the namespace.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -33,17 +33,32 @@ import org.opengis.metadata.identificati
 import org.opengis.metadata.identification.RepresentativeFraction;
 import org.opengis.metadata.maintenance.Scope;
 import org.opengis.referencing.ReferenceSystem;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.metadata.iso.ISOMetadata;
 import org.apache.sis.metadata.iso.maintenance.DefaultScope;
 import org.apache.sis.metadata.iso.identification.DefaultResolution;
+import org.apache.sis.internal.metadata.Dependencies;
 import org.apache.sis.util.iso.Types;
 import org.apache.sis.xml.Namespaces;
 
 
 /**
  * Information about the source data used in creating the data specified by the scope.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code LI_Source}
+ * {@code   ├─description……………………………………………} Detailed description of the level of the source data.
+ * {@code   └─scope……………………………………………………………} Type and / or extent of the source.
+ * {@code       ├─level…………………………………………………} Hierarchical level of the data specified by the scope.
+ * {@code       └─levelDescription……………………} Detailed description about the level of the data specified by the scope.
+ * {@code           ├─attributeInstances……} Attribute instances to which the information applies.
+ * {@code           ├─attributes…………………………} Attributes to which the information applies.
+ * {@code           ├─dataset…………………………………} Dataset to which the information applies.
+ * {@code           ├─featureInstances…………} Feature instances to which the information applies.
+ * {@code           ├─features………………………………} Features to which the information applies.
+ * {@code           └─other………………………………………} Class of information that does not fall into the other categories to which the information applies.</div>
  *
- * <div class="section">Relationship between properties</div>
  * According ISO 19115, at least one of {@linkplain #getDescription() description} and
  * {@linkplain #getSourceExtents() source extents} shall be provided.
  *
@@ -65,6 +80,7 @@ import org.apache.sis.xml.Namespaces;
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs shallow clones.
+@TitleProperty(name = "description")
 @XmlType(name = "LI_Source_Type", propOrder = {
     "description",
     "scaleDenominator",
@@ -249,6 +265,7 @@ public class DefaultSource extends ISOMe
     @Override
     @Deprecated
     @XmlElement(name = "scaleDenominator")
+    @Dependencies("getSourceSpatialResolution")
     public RepresentativeFraction getScaleDenominator() {
         final Resolution resolution = getSourceSpatialResolution();
         return (resolution != null) ? resolution.getEquivalentScale() : null;
@@ -389,6 +406,7 @@ public class DefaultSource extends ISOMe
     @Override
     @Deprecated
     @XmlElement(name = "sourceExtent")
+    @Dependencies("getScope")
     public Collection<Extent> getSourceExtents() {
         Scope scope = getScope();
         if (!(scope instanceof DefaultScope)) {

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -36,10 +36,15 @@ import org.opengis.util.InternationalStr
 import org.apache.sis.metadata.iso.ISOMetadata;
 import org.apache.sis.metadata.iso.citation.DefaultCitationDate;
 import org.apache.sis.internal.metadata.LegacyPropertyAdapter;
+import org.apache.sis.internal.metadata.Dependencies;
 
 
 /**
  * Information about the scope and frequency of updating.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_MaintenanceInformation}
+ * {@code   └─maintenanceAndUpdateFrequency……} Frequency with which changes and additions are made to the resource.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>
@@ -230,6 +235,7 @@ public class DefaultMaintenanceInformati
     @Override
     @Deprecated
     @XmlElement(name = "dateOfNextUpdate")
+    @Dependencies("getMaintenanceDates")
     public Date getDateOfNextUpdate() {
         final Collection<CitationDate> dates = getMaintenanceDates();
         if (dates != null) { // May be null on XML marshalling.
@@ -336,6 +342,7 @@ public class DefaultMaintenanceInformati
     @Override
     @Deprecated
     @XmlElement(name = "updateScope")
+    @Dependencies("getMaintenanceScopes")
     public final Collection<ScopeCode> getUpdateScopes() {
         return new LegacyPropertyAdapter<ScopeCode,Scope>(getMaintenanceScopes()) {
             /** Stores a legacy value into the new kind of value. */
@@ -386,6 +393,7 @@ public class DefaultMaintenanceInformati
     @Override
     @Deprecated
     @XmlElement(name = "updateScopeDescription")
+    @Dependencies("getMaintenanceScopes")
     public final Collection<ScopeDescription> getUpdateScopeDescriptions() {
         return new LegacyPropertyAdapter<ScopeDescription,Scope>(getMaintenanceScopes()) {
             /** Stores a legacy value into the new kind of value. */

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -29,6 +29,18 @@ import org.apache.sis.metadata.iso.ISOMe
 
 /**
  * The target resource and physical extent for which information is reported.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_Scope}
+ * {@code   ├─level…………………………………………………} Hierarchical level of the data specified by the scope.
+ * {@code   └─levelDescription……………………} Detailed description about the level of the data specified by the scope.
+ * {@code       ├─attributeInstances……} Attribute instances to which the information applies.
+ * {@code       ├─attributes…………………………} Attributes to which the information applies.
+ * {@code       ├─dataset…………………………………} Dataset to which the information applies.
+ * {@code       ├─featureInstances…………} Feature instances to which the information applies.
+ * {@code       ├─features………………………………} Features to which the information applies.
+ * {@code       └─other………………………………………} Class of information that does not fall into the other categories.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -36,8 +36,17 @@ import static org.apache.sis.util.collec
 
 /**
  * Description of the class of information covered by the information.
+ * The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
+ * in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code MD_ScopeDescription}
+ * {@code   ├─attributeInstances……} Attribute instances to which the information applies.
+ * {@code   ├─attributes…………………………} Attributes to which the information applies.
+ * {@code   ├─dataset…………………………………} Dataset to which the information applies.
+ * {@code   ├─featureInstances…………} Feature instances to which the information applies.
+ * {@code   ├─features………………………………} Features to which the information applies.
+ * {@code   └─other………………………………………} Class of information that does not fall into the other categories to which the information applies.</div>
  *
- * <div class="section">Relationship between properties</div>
  * ISO 19115 defines {@code ScopeDescription} as an <cite>union</cite> (in the C/C++ sense):
  * only one of the properties in this class can be set to a non-empty value.
  * Setting any property to a non-empty value discard all the other ones.

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -26,6 +26,10 @@ import org.opengis.metadata.quality.Comp
 
 /**
  * Presence and absence of features, their attributes and their relationships.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_Completeness}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -47,6 +47,10 @@ import static org.apache.sis.util.collec
 
 /**
  * Type of test applied to the data specified by a data quality scope.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_Element}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -29,6 +29,10 @@ import org.opengis.metadata.quality.Conc
 /**
  * Degree of adherence to logical rules of data structure, attribution and relationships.
  * Data structure can be conceptual, logical or physical.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_LogicalConsistency}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -28,6 +28,10 @@ import org.opengis.metadata.quality.Rela
 
 /**
  * Accuracy of the position of features.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_PositionalAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -27,6 +27,10 @@ import org.opengis.metadata.quality.Accu
 
 /**
  * Accuracy of the temporal attributes and temporal relationships of features.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_TemporalAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -28,6 +28,10 @@ import org.opengis.metadata.quality.Quan
 /**
  * Accuracy of quantitative attributes and the correctness of non-quantitative attributes
  * and of the classifications of features and their relationships.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_ThematicAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -24,6 +24,10 @@ import org.opengis.metadata.quality.Abso
 
 /**
  * Closeness of reported coordinate values to values accepted as or being true.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_AbsoluteExternalPositionalAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Accu
 
 /**
  * Correctness of the temporal references of an item (reporting of error in time measurement).
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_AccuracyOfATimeMeasurement}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Comp
 
 /**
  * Excess data present in the dataset, as described by the scope.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_CompletenessCommission}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessOmission.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Comp
 
 /**
  * Data absent from the dataset, as described by the scope.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_CompletenessOmission}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConceptualConsistency.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Conc
 
 /**
  * Adherence to rules of the conceptual schema.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_ConceptualConsistency}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -28,6 +28,14 @@ import org.apache.sis.util.iso.Types;
 /**
  * Information about the outcome of evaluating the obtained value (or set of values) against
  * a specified acceptable conformance quality level.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_ConformanceResult}
+ * {@code   ├─specification……………} Citation of product specification or user requirement against which data is being evaluated.
+ * {@code   │   ├─title………………………} Name by which the cited resource is known.
+ * {@code   │   └─date…………………………} Reference date for the cited resource.
+ * {@code   ├─explanation…………………} Explanation of the meaning of conformance for this result.
+ * {@code   └─pass……………………………………} Indication of the conformance result.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -30,6 +30,19 @@ import org.apache.sis.xml.Namespaces;
 
 /**
  * Result of a data quality measure organising the measured values as a coverage.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code QE_CoverageResult}
+ * {@code   ├─spatialRepresentationType……………………} Method used to spatially represent the coverage result.
+ * {@code   ├─resultSpatialRepresentation………………} Digital representation of data quality measures composing the coverage result.
+ * {@code   ├─resultContentDescription………………………} Description of the content of the result coverage, i.e. semantic definition of the data quality measures.
+ * {@code   │   └─attributeDescription………………………} Description of the attribute described by the measurement value.
+ * {@code   ├─resultFormat………………………………………………………} Information about the format of the result coverage data.
+ * {@code   │   └─formatSpecificationCitation……} Citation/URL of the specification format.
+ * {@code   │       ├─title……………………………………………………} Name by which the cited resource is known.
+ * {@code   │       └─date………………………………………………………} Reference date for the cited resource.
+ * {@code   └─resultFile……………………………………………………………} Information about the data file containing the result coverage data.
+ * {@code       └─fileFormat…………………………………………………} Defines the format of the transfer data file.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -24,15 +24,22 @@ import org.opengis.metadata.lineage.Line
 import org.opengis.metadata.quality.DataQuality;
 import org.opengis.metadata.quality.Element;
 import org.opengis.metadata.maintenance.Scope;
+import org.opengis.metadata.maintenance.ScopeCode;
 import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.iso.maintenance.DefaultScope;
 
 
 /**
  * Quality information for the data specified by a data quality scope.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
  *
- * <div class="section">Relationship between properties</div>
- * According ISO 19115, at least one of {@linkplain #getLineage() lineage} and
- * {@linkplain #getReports() reports} shall be provided.
+ * <div class="preformat">{@code DQ_DataQuality}
+ * {@code   └─scope………………} The specific data to which the data quality information applies.
+ * {@code       └─level……} Hierarchical level of the data specified by the scope.</div>
+ *
+ * In addition, ISO requires that at least one of {@linkplain #getLineage() lineage}
+ * and {@linkplain #getReports() reports} is provided. Those properties are declared
+ * {@linkplain org.opengis.annotation.Obligation#CONDITIONAL conditional}.
  *
  * <div class="section">Limitations</div>
  * <ul>
@@ -88,6 +95,20 @@ public class DefaultDataQuality extends
     }
 
     /**
+     * Creates a data quality initialized to the given scope level.
+     * The scope level is, indirectly, a mandatory property in well-formed metadata.
+     *
+     * @param level  the hierarchical level of the data to which the quality information applies, or {@code null}.
+     *
+     * @since 0.5
+     */
+    public DefaultDataQuality(final ScopeCode level) {
+        if (level != null) {
+            scope = new DefaultScope(level);
+        }
+    }
+
+    /**
      * Creates a data quality initialized to the given scope.
      *
      * @param scope  the specific data to which the data quality information applies, or {@code null}.

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Doma
 
 /**
  * Adherence of values to the value domains.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_DomainConsistency}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Form
 
 /**
  * Degree to which data is stored in accordance with the physical structure of the dataset, as described by the scope.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_FormatConsistency}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Grid
 
 /**
  * Closeness of gridded data position values to values accepted as or being true.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_GriddedDataPositionalAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.NonQ
 
 /**
  * Accuracy of non-quantitative attributes.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_NonQuantitativeAttributeAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Quan
 
 /**
  * Accuracy of quantitative attributes.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_QuantitativeAttributeAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -29,6 +29,11 @@ import org.opengis.util.RecordType;
 
 /**
  * Information about the value (or set of values) obtained from applying a data quality measure.
+ * The following properties are mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_QuantitativeResult}
+ * {@code   ├─valueUnit……………………} Value unit for reporting a data quality result.
+ * {@code   └─value………………………………} Quantitative value or values, content determined by the evaluation procedure used.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -24,6 +24,10 @@ import org.opengis.metadata.quality.Rela
 /**
  * Closeness of the relative positions of features in the scope to their respective
  * relative positions accepted as or being true.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_RelativeInternalPositionalAccuracy}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -21,6 +21,7 @@ import javax.xml.bind.annotation.XmlTran
 import org.opengis.metadata.extent.Extent;
 import org.opengis.metadata.quality.Scope;
 import org.opengis.metadata.maintenance.ScopeCode;
+import org.apache.sis.internal.metadata.Dependencies;
 import org.apache.sis.internal.metadata.LegacyPropertyAdapter;
 
 
@@ -117,6 +118,7 @@ public class DefaultScope extends org.ap
      */
     @Override
     @Deprecated
+    @Dependencies("getExtents")
     public Extent getExtent() {
         return LegacyPropertyAdapter.getSingleton(getExtents(), Extent.class, null, DefaultScope.class, "getExtent");
     }

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Temp
 
 /**
  * Correctness of ordered events or sequences, if reported.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_TemporalConsistency}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>

Modified: sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java?rev=1803070&r1=1803069&r2=1803070&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java [UTF-8] Wed Jul 26 16:14:09 2017
@@ -23,6 +23,10 @@ import org.opengis.metadata.quality.Temp
 
 /**
  * Validity of data specified by the scope with respect to time.
+ * The following property is mandatory in a well-formed metadata according ISO 19115:
+ *
+ * <div class="preformat">{@code DQ_TemporalValidity}
+ * {@code   └─result……………} Value obtained from applying a data quality measure.</div>
  *
  * <p><b>Limitations:</b></p>
  * <ul>



Mime
View raw message