Skip to content

Commit

Permalink
Fix the link to ISO standards and some @uml information (e.g. wrong i…
Browse files Browse the repository at this point in the history
…dentifier or wrong cardinality for some properties).

This commit does not include changes in API. For such changes, issues #14, #15, #16, #21 and #22 have been created.
  • Loading branch information
desruisseaux committed Feb 9, 2018
1 parent 9069ef6 commit af650d3
Show file tree
Hide file tree
Showing 18 changed files with 121 additions and 60 deletions.
101 changes: 71 additions & 30 deletions geoapi/src/main/java/org/opengis/annotation/Specification.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
* <li>For OGC specifications, the version number is the OGC revision number.</li>
* <li>For ISO specifications, the version number is the publication year (ignoring corrigendum,
* which are implicit). For example if the specification is {@link #ISO_19115}, then version
* 2003 stands for <cite>ISO 19115:2003/Cor.1:2006(E)</cite>.</li>
* 2003 stands for <cite>ISO 19115:2003/Cor.1:2006</cite>.</li>
* </ul>
* The version numbers are documented in {@code Specification} enumeration constants.
* Versions other than the {@linkplain #defaultVersion() default version} may be declared
Expand Down Expand Up @@ -76,10 +76,10 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2005:</b> ISO/TS 19103:2005(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2005:</b> ISO/TS 19103:2005   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=37800">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/37800.html">ISO/TS 19103:2005 on standards catalogue</a>
*/
ISO_19103((short) 2005),

Expand All @@ -100,10 +100,10 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2003:</b> ISO 19107:2003(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2003:</b> ISO 19107:2003   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26012">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/26012.html">ISO 19107:2003 on standards catalogue</a>
*/
ISO_19107((short) 2003),

Expand All @@ -124,11 +124,11 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2002:</b> ISO 19108:2002/Cor.1:2006(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2002:</b> ISO 19108:2002/Cor.1:2006   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26013">Buy from ISO</a>
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44883">Corrigendum</a>
* @see <a href="https://www.iso.org/standard/26013.html">ISO 19108:2002 on standards catalogue</a>
* @see <a href="https://www.iso.org/standard/44883.html">Corrigendum</a>
*/
ISO_19108((short) 2002),

Expand All @@ -155,7 +155,7 @@ public enum Specification {
* <li><b>2013:</b> ISO 19109:2013 draft   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=39891">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/59193.html">ISO 19109:2015 on standards catalogue</a>
*
* @since 3.1
*/
Expand Down Expand Up @@ -193,12 +193,12 @@ public enum Specification {
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2003:</b> OGC 03-073r1</li>
* <li><b>2007:</b> ISO 19111:2007(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2007:</b> ISO 19111:2007   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see #OGC_01009
* @see <a href="https://www.iso.org/standard/41126.html">ISO 19111:2007 on standards catalogue</a>
* @see <a href="http://portal.opengeospatial.org/files/?artifact_id=39049">Download from OGC</a>
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=41126">Buy from ISO</a>
*/
ISO_19111((short) 2007),

Expand All @@ -214,12 +214,12 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2009:</b> ISO 19111-2:2009(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2009:</b> ISO 19111-2:2009   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/fr/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44075">Buy from ISO</a>
* @see <a href="https://www.iso.org/fr/standard/44075.html">ISO 19111-2:2009 on standards catalogue</a>
*
* @since 3.2
* @since 3.1
*/
ISO_19111_2((short) 2009),

Expand All @@ -246,7 +246,7 @@ public enum Specification {
* <li><b>2003:</b> ISO 19112:2003   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=26017">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/26017.html">ISO 19112:2003 on standards catalogue</a>
* @see <a href="https://portal.opengeospatial.org/files/?artifact_id=46964">OGC 11-122r1 Gazetteer Service — Profile of the Web Feature Service</a>
*/
ISO_19112((short) 2003),
Expand Down Expand Up @@ -285,11 +285,11 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2003:</b> ISO 19115:2003/Cor.1:2006(E)</li>
* <li><b>2014:</b> ISO 19115-1:2014(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2003:</b> ISO 19115:2003/Cor.1:2006</li>
* <li><b>2014:</b> ISO 19115-1:2014   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=53798">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/53798.html">ISO 19115-1:2014 on standards catalogue</a>
*/
ISO_19115((short) 2014),

Expand All @@ -311,15 +311,56 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2009:</b> ISO 19115-2:2009(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2009:</b> ISO 19115-2:2009   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=39229">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/39229.html">ISO 19115-2:2009 on standards catalogue</a>
*
* @since 2.3
*/
ISO_19115_2((short) 2009),

/**
* ISO 19115-3, Metadata part 3: XML schema implementation for fundamental concepts.
* This is the specification for package {@link org.opengis.metadata} and sub-packages.
*
* <p><b>ISO abstract:</b></p>
* <blockquote style="font-size:small">
* <p>defines an integrated XML implementation of ISO 19115‑1, ISO 19115‑2, and concepts from ISO/TS 19139
* by defining the following artefacts:</p>
*
* <ul>
* <li>a set of XML schema required to validate metadata instance documents conforming to
* conceptual model elements defined in ISO 19115‑1, ISO 19115‑2, and ISO/TS 19139;</li>
* <li>a set of ISO/IEC 19757‑3 (Schematron) rules that implement validation constraints
* in the ISO 19115‑1 and ISO 19115‑2 UML models that are not validated by the XML schema;</li>
* <li>an Extensible Stylesheet Language Transformation (XSLT) for transforming ISO 19115-1 metadata
* encoded using the ISO/TS 19139 XML schema and ISO 19115‑2 metadata encoded using the ISO/TS 19139‑2
* XML schema into an equivalent document that is valid against the XML schema defined in this document.</li>
* </ul>
*
* <p>ISO/TS 19115-3:2016 describes the procedure used to generate XML schema from ISO geographic information
* conceptual models related to metadata. The procedure includes creation of an UML model for XML implementation
* derived from the conceptual UML model.</p>
*
* <p>This implementation model does not alter the semantics of the target conceptual model, but adds abstract
* classes that remove dependencies between model packages, tagged values and stereotypes required by the UML
* to XML transformation software, and refactors the packaging of a few elements into XML namespaces.
* The XML schema has been generated systematically from the UML model for XML implementation according
* to the rules defined in ISO/TS 19139 or ISO 19118.</p>
* </blockquote>
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2016:</b> ISO 19115-3:2016   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="https://www.iso.org/standard/32579.html">ISO/TS 19115-3:2016 on standards catalogue</a>
*
* @since 3.1
*/
ISO_19115_3((short) 2016),

/**
* ISO 19117, Portrayal.
* This is an abstract specification for portraying features.
Expand All @@ -334,10 +375,10 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2005:</b> ISO 19117:2005(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2005:</b> ISO 19117:2005   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=40395">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/40395.html">ISO 19117:2005 on standards catalogue</a>
*/
ISO_19117((short) 2005),

Expand Down Expand Up @@ -365,12 +406,12 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2005:</b> ISO 19123:2005(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2005:</b> ISO 19123:2005   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see #OGC_01004
* @see <a href="https://www.iso.org/standard/40121.html">ISO 19123:2005 on standards catalogue</a>
* @see <a href="http://portal.opengeospatial.org/files/?artifact_id=19820">Download from OGC</a>
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=40121">Buy from ISO</a>
*/
ISO_19123((short) 2005),

Expand All @@ -389,11 +430,11 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2005:</b> ISO 19128:2005(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2005:</b> ISO 19128:2005   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="https://www.iso.org/standard/32546.html">ISO 19128:2005 on standards catalogue</a>
* @see <a href="http://portal.opengeospatial.org/files/?artifact_id=5316">Download from OGC</a>
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=32546">Buy from ISO</a>
*/
ISO_19128((short) 2005),

Expand All @@ -409,10 +450,10 @@ public enum Specification {
*
* <p><b>Version numbers used in GeoAPI:</b></p>
* <ul>
* <li><b>2007:</b> ISO 19139:2007(E)   ({@linkplain #defaultVersion() default version})</li>
* <li><b>2007:</b> ISO 19139:2007   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=32557">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/32557.html">ISO/TS 19139:2007 on standards catalogue</a>
*
* @since 2.3
*/
Expand Down Expand Up @@ -443,7 +484,7 @@ public enum Specification {
* <li><b>2015:</b> ISO 19162:2015   ({@linkplain #defaultVersion() default version})</li>
* </ul>
*
* @see <a href="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=63094">Buy from ISO</a>
* @see <a href="https://www.iso.org/standard/63094.html">ISO 19162:2015 on standards catalogue</a>
*
* @since 3.1
*/
Expand Down Expand Up @@ -569,7 +610,7 @@ private Specification(final short defaultVersion) {
* <div class="note"><b>Examples:</b>
* <ul>
* <li>For {@link #OGC_03064}, version 10 stands for <cite>OGC 03-064r10</cite>.</li>
* <li>For {@link #ISO_19115}, version 2003 stands for <cite>ISO 19115:2003/Cor.1:2006(E)</cite>
* <li>For {@link #ISO_19115}, version 2003 stands for <cite>ISO 19115:2003/Cor.1:2006</cite>
* and version 2014 stands for <cite>ISO 19115:2014</cite>.</li>
* </ul></div>
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
* Designations for the operation used to acquire the dataset.
*
* @author Cédric Briançon (Geomatys)
* @version 3.0
* @version 3.1
* @since 2.3
*/
@UML(identifier="MI_Operation", specification=ISO_19115_2)
Expand All @@ -74,7 +74,7 @@ public interface Operation {
*
* @return unique identification of the operation.
*/
@UML(identifier="identifier", obligation=MANDATORY, specification=ISO_19115_2)
@UML(identifier="identifier", obligation=OPTIONAL, specification=ISO_19115_2)
Identifier getIdentifier();

/**
Expand Down Expand Up @@ -112,9 +112,9 @@ public interface Operation {
/**
* Heritage of the operation.
*
* @return heritage of the operation.
* @return heritage of the operation, or {@code null}.
*/
@UML(identifier="parentOperation", obligation=MANDATORY, specification=ISO_19115_2)
@UML(identifier="parentOperation", obligation=OPTIONAL, specification=ISO_19115_2)
Operation getParentOperation();

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public interface Citation {
* @return reference dates for the cited resource.
*/
@Profile(level=CORE)
@UML(identifier="date", obligation=MANDATORY, specification=ISO_19115)
@UML(identifier="date", obligation=OPTIONAL, specification=ISO_19115)
Collection<? extends CitationDate> getDates();

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public interface FeatureCatalogueDescription extends ContentInformation {
*
* @return whether or not the feature catalogue is included with the resource.
*/
@UML(identifier="includedWithDataset", obligation=MANDATORY, specification=ISO_19115)
@UML(identifier="includedWithDataset", obligation=OPTIONAL, specification=ISO_19115)
boolean isIncludedWithDataset();

/**
Expand Down Expand Up @@ -122,9 +122,11 @@ public interface FeatureCatalogueDescription extends ContentInformation {

/**
* Complete bibliographic reference to one or more external feature catalogues.
* This citation is mandatory if the feature catalogue is not included with resource
* and {@code FeatureCatalogue} is not provided.
*
* @return bibliographic reference to one or more external feature catalogues.
*/
@UML(identifier="featureCatalogueCitation", obligation=MANDATORY, specification=ISO_19115)
@UML(identifier="featureCatalogueCitation", obligation=CONDITIONAL, specification=ISO_19115)
Collection<? extends Citation> getFeatureCatalogueCitations();
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@
* Description of a transfer data file.
*
* @author Cédric Briançon (Geomatys)
* @version 3.0
* @version 3.1
* @since 2.3
*/
@UML(identifier="MX_DataFile", specification=ISO_19139)
@UML(identifier="MX_DataFile", specification=ISO_19115_3)
public interface DataFile {
/**
* Provides the list of feature types concerned by the transfer data file. Depending on
Expand All @@ -57,14 +57,17 @@ public interface DataFile {
*
* @return list of features types concerned by the transfer data file.
*/
@UML(identifier="featureType", obligation=OPTIONAL, specification=ISO_19139)
@UML(identifier="featureType", obligation=OPTIONAL, specification=ISO_19115_3)
Collection<? extends LocalName> getFeatureTypes();

/**
* Defines the format of the transfer data file.
*
* @return format of the transfer data file.
*
* @deprecated Removed in latest XSD schemas.
*/
@UML(identifier="fileFormat", obligation=MANDATORY, specification=ISO_19139)
@Deprecated
@UML(identifier="fileFormat", obligation=MANDATORY, specification=ISO_19139, version=2007)
Format getFileFormat();
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
* @version 3.0
* @since 2.0
*/
@UML(identifier="MD_MediumNameCode", specification=ISO_19115)
@UML(identifier="MD_MediumNameCode", specification=ISO_19115, version=2003)
public final class MediumName extends CodeList<MediumName> {
/**
* Serial number for compatibility with different versions.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public interface StandardOrderProcess {
*
* @see Record#getRecordType()
*/
@UML(identifier="orderOptionType", obligation=OPTIONAL, specification=ISO_19115)
@UML(identifier="orderOptionsType", obligation=OPTIONAL, specification=ISO_19115)
RecordType getOrderOptionType();

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
* Time period covered by the content of the resource.
*
* @author Martin Desruisseaux (IRD)
* @version 3.0
* @version 3.1
* @since 1.0
*/
@UML(identifier="EX_TemporalExtent", specification=ISO_19115)
Expand All @@ -52,6 +52,6 @@ public interface TemporalExtent {
*
* @return the period for the content.
*/
@UML(identifier="extent", obligation=MANDATORY, specification=ISO_19108)
@UML(identifier="extent", obligation=MANDATORY, specification=ISO_19115)
TemporalPrimitive getExtent();
}
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,14 @@ public interface VerticalExtent {
* to which the maximum and minimum elevation values are measured.
* The CRS identification includes unit of measure.
*
* <p>This property is conditional in ISO 19115-1:2016 but mandatory in GeoAPI
* because the alternative ({@code verticalCRSId}) is intentionally omitted in
* order to have a single CRS framework: the ISO 19111 one.</p>
*
* @return the vertical CRS.
*
* @since 2.1
*/
@UML(identifier="verticalCRS", obligation=MANDATORY, specification=ISO_19115)
@UML(identifier="verticalCRS", obligation=CONDITIONAL, specification=ISO_19115)
VerticalCRS getVerticalCRS();
}
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public interface OperationMetadata {
*
* @see org.opengis.parameter.GeneralParameterDescriptor
*/
@UML(identifier="parameters", obligation=OPTIONAL, specification=ISO_19115)
@UML(identifier="parameter", obligation=OPTIONAL, specification=ISO_19115) // Was "parameters" in ISO 19115:2003
Collection<? extends ParameterDescriptor<?>> getParameters();

/**
Expand Down
Loading

0 comments on commit af650d3

Please sign in to comment.