This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sis.git
commit c63c2ab4e46d3be9523593108d73149094f942a0 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Sat Nov 19 12:16:08 2022 +0100 Add @UML annotations on new implementations of ISO 19157 constructs that are not present in GeoAPI 3.0.1. Part of https://issues.apache.org/jira/browse/SIS-394 --- .../metadata/iso/quality/AbstractDataEvaluation.java | 6 ++++++ .../sis/metadata/iso/quality/AbstractElement.java | 10 ++++++++++ .../metadata/iso/quality/AbstractMetaquality.java | 6 ++++++ .../sis/metadata/iso/quality/AbstractResult.java | 6 ++++++ .../iso/quality/AbstractTemporalQuality.java | 6 ++++++ .../iso/quality/DefaultAggregationDerivation.java | 6 ++++++ .../metadata/iso/quality/DefaultBasicMeasure.java | 12 ++++++++++++ .../sis/metadata/iso/quality/DefaultConfidence.java | 6 ++++++ .../metadata/iso/quality/DefaultCoverageResult.java | 7 +++++++ .../sis/metadata/iso/quality/DefaultDataQuality.java | 5 +++++ .../sis/metadata/iso/quality/DefaultDescription.java | 10 ++++++++++ .../iso/quality/DefaultDescriptiveResult.java | 8 ++++++++ .../iso/quality/DefaultEvaluationMethod.java | 12 ++++++++++++ .../metadata/iso/quality/DefaultFullInspection.java | 6 ++++++ .../sis/metadata/iso/quality/DefaultHomogeneity.java | 6 ++++++ .../iso/quality/DefaultIndirectEvaluation.java | 8 ++++++++ .../sis/metadata/iso/quality/DefaultMeasure.java | 20 ++++++++++++++++++++ .../iso/quality/DefaultMeasureReference.java | 11 +++++++++++ .../DefaultNonQuantitativeAttributeCorrectness.java | 6 ++++++ .../iso/quality/DefaultRepresentativity.java | 6 ++++++ .../iso/quality/DefaultSampleBasedInspection.java | 10 ++++++++++ .../metadata/iso/quality/DefaultSourceReference.java | 8 ++++++++ .../DefaultStandaloneQualityReportInformation.java | 9 +++++++++ .../iso/quality/DefaultUsabilityElement.java | 6 ++++++ .../sis/metadata/PropertyConsistencyCheck.java | 2 -- 25 files changed, 196 insertions(+), 2 deletions(-) diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractDataEvaluation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractDataEvaluation.java index 2ea38764d2..eac8e4b485 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractDataEvaluation.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractDataEvaluation.java @@ -20,6 +20,11 @@ import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSeeAlso; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Data evaluation method. @@ -46,6 +51,7 @@ import javax.xml.bind.annotation.XmlSeeAlso; DefaultIndirectEvaluation .class, DefaultSampleBasedInspection.class }) +@UML(identifier="DQ_DataEvaluation", specification=UNSPECIFIED) public class AbstractDataEvaluation extends DefaultEvaluationMethod { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java index c4edef7186..a3cc791f75 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java @@ -44,6 +44,12 @@ import org.apache.sis.internal.xml.LegacyNamespaces; import static org.apache.sis.util.collection.Containers.isNullOrEmpty; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Aspect of quantitative quality information. @@ -230,6 +236,7 @@ public class AbstractElement extends ISOMetadata implements Element { */ @XmlElement(name = "standaloneQualityReportDetails") @XmlJavaTypeAdapter(InternationalStringAdapter.Since2014.class) + @UML(identifier="standaloneQualityReportDetails", obligation=OPTIONAL, specification=UNSPECIFIED) public InternationalString getStandaloneQualityReportDetails() { return standaloneQualityReportDetails; } @@ -254,6 +261,7 @@ public class AbstractElement extends ISOMetadata implements Element { * @since 1.3 */ @XmlElement(name = "measure", required = false) + @UML(identifier="measure", obligation=OPTIONAL, specification=UNSPECIFIED) public DefaultMeasureReference getMeasureReference() { return measureReference; } @@ -390,6 +398,7 @@ public class AbstractElement extends ISOMetadata implements Element { * @since 1.3 */ @XmlElement(name = "evaluationMethod", required = false) + @UML(identifier="evaluationMethod", obligation=OPTIONAL, specification=UNSPECIFIED) public DefaultEvaluationMethod getEvaluationMethod() { return evaluationMethod; } @@ -578,6 +587,7 @@ public class AbstractElement extends ISOMetadata implements Element { * @since 1.3 */ // @XmlElement at the end of this class. + @UML(identifier="derivedElement", obligation=OPTIONAL, specification=UNSPECIFIED) public Collection<Element> getDerivedElements() { return derivedElements = nonNullCollection(derivedElements, Element.class); } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractMetaquality.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractMetaquality.java index 5f773f575d..1af35c089d 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractMetaquality.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractMetaquality.java @@ -20,6 +20,11 @@ import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSeeAlso; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Information about the reliability of data quality results. @@ -51,6 +56,7 @@ import javax.xml.bind.annotation.XmlSeeAlso; DefaultRepresentativity.class, DefaultHomogeneity.class }) +@UML(identifier="DQ_Metaquality", specification=UNSPECIFIED) public class AbstractMetaquality extends AbstractElement { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java index 9c7253670c..16ebf5d48d 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java @@ -32,6 +32,10 @@ import org.apache.sis.internal.metadata.ImplementationHelper; // Branch-dependent imports import org.opengis.metadata.quality.Scope; +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; /** @@ -157,6 +161,7 @@ public class AbstractResult extends ISOMetadata implements Result { */ @XmlElement(name = "resultScope") @XmlJavaTypeAdapter(MD_Scope.Since2014.class) + @UML(identifier="resultScope", obligation=OPTIONAL, specification=UNSPECIFIED) public Scope getResultScope() { return resultScope; } @@ -181,6 +186,7 @@ public class AbstractResult extends ISOMetadata implements Result { */ @XmlElement(name = "dateTime") @XmlJavaTypeAdapter(GO_DateTime.Since2014.class) + @UML(identifier="dateTime", obligation=OPTIONAL, specification=UNSPECIFIED) public Date getDateTime() { return ImplementationHelper.toDate(dateTime); } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalQuality.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalQuality.java index 6bf966de6d..d7df70d3ee 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalQuality.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalQuality.java @@ -24,6 +24,11 @@ import org.opengis.metadata.quality.TemporalConsistency; import org.opengis.metadata.quality.AccuracyOfATimeMeasurement; import org.opengis.metadata.quality.TemporalAccuracy; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Accuracy of the temporal attributes and temporal relationships of features. @@ -55,6 +60,7 @@ import org.opengis.metadata.quality.TemporalAccuracy; DefaultTemporalConsistency.class, DefaultTemporalValidity.class }) +@UML(identifier="DQ_TemporalQuality", specification=UNSPECIFIED) public class AbstractTemporalQuality extends AbstractElement implements TemporalAccuracy { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAggregationDerivation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAggregationDerivation.java index e1a9a8b96b..26e2c30a4c 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAggregationDerivation.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAggregationDerivation.java @@ -19,6 +19,11 @@ package org.apache.sis.metadata.iso.quality; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Aggregation or derivation method. @@ -40,6 +45,7 @@ import javax.xml.bind.annotation.XmlRootElement; */ @XmlType(name = "DQ_AggregationDerivation_Type") @XmlRootElement(name = "DQ_AggregationDerivation") +@UML(identifier="DQ_AggregationDerivation", specification=UNSPECIFIED) public class DefaultAggregationDerivation extends DefaultEvaluationMethod { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultBasicMeasure.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultBasicMeasure.java index 42767b6bbf..5530b87a1e 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultBasicMeasure.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultBasicMeasure.java @@ -23,6 +23,13 @@ import org.opengis.util.TypeName; import org.opengis.util.InternationalString; import org.apache.sis.xml.Namespaces; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Data quality basic measure. @@ -56,6 +63,7 @@ import org.apache.sis.xml.Namespaces; "valueType" }) @XmlRootElement(name = "DQM_BasicMeasure", namespace = Namespaces.DQM) +@UML(identifier="DQM_BasicMeasure", specification=UNSPECIFIED) public class DefaultBasicMeasure extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -115,6 +123,7 @@ public class DefaultBasicMeasure extends ISOMetadata { * @return name of the data quality basic measure. */ @XmlElement(name = "name", required = true) + @UML(identifier="name", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getName() { return name; } @@ -135,6 +144,7 @@ public class DefaultBasicMeasure extends ISOMetadata { * @return definition of the data quality basic measure. */ @XmlElement(name = "definition", required = true) + @UML(identifier="definition", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getDefinition() { return definition; } @@ -155,6 +165,7 @@ public class DefaultBasicMeasure extends ISOMetadata { * @return usage example, or {@code null} if none. */ @XmlElement(name = "example") + @UML(identifier="example", obligation=OPTIONAL, specification=UNSPECIFIED) public DefaultDescription getExample() { return example; } @@ -175,6 +186,7 @@ public class DefaultBasicMeasure extends ISOMetadata { * @return value type of the result for the basic measure. */ @XmlElement(name = "valueType", required = true) + @UML(identifier="valueType", obligation=MANDATORY, specification=UNSPECIFIED) public TypeName getValueType() { return valueType; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConfidence.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConfidence.java index b8c4de7a46..3f867d7191 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConfidence.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConfidence.java @@ -19,6 +19,11 @@ package org.apache.sis.metadata.iso.quality; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Trustworthiness of a data quality result. @@ -45,6 +50,7 @@ import javax.xml.bind.annotation.XmlRootElement; */ @XmlType(name = "DQ_Confidence_Type") @XmlRootElement(name = "DQ_Confidence") +@UML(identifier="DQ_Confidence", specification=UNSPECIFIED) public class DefaultConfidence extends AbstractMetaquality { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java index b5e87d7e58..c9f5b61e09 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java @@ -29,6 +29,12 @@ import org.opengis.metadata.spatial.SpatialRepresentation; import org.opengis.metadata.spatial.SpatialRepresentationType; import org.apache.sis.internal.xml.LegacyNamespaces; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.CONDITIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Result of a data quality measure organising the measured values as a coverage. @@ -218,6 +224,7 @@ public class DefaultCoverageResult extends AbstractResult implements CoverageRes * @since 1.3 */ // @XmlElement(name = "resultContent") // Pending new ISO 19157 version. + @UML(identifier="resultContent", obligation=CONDITIONAL, specification=UNSPECIFIED) public Collection<RangeDimension> getResultContent() { return resultContent = nonNullCollection(resultContent, RangeDimension.class); } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java index a1bcd1e90a..5a69310474 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java @@ -30,6 +30,10 @@ import org.apache.sis.internal.xml.LegacyNamespaces; // Branch-dependent imports import org.opengis.metadata.quality.Scope; +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; /** @@ -223,6 +227,7 @@ public class DefaultDataQuality extends ISOMetadata implements DataQuality { * @since 1.3 */ @XmlElement(name = "standaloneQualityReport") + @UML(identifier="standaloneQualityReport", obligation=OPTIONAL, specification=UNSPECIFIED) public DefaultStandaloneQualityReportInformation getStandaloneQualityReport() { return standaloneQualityReport; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescription.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescription.java index bf3450ec8f..c50fa47a51 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescription.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescription.java @@ -24,6 +24,13 @@ import org.opengis.metadata.identification.BrowseGraphic; import org.apache.sis.util.iso.Types; import org.apache.sis.xml.Namespaces; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Data quality measure description. @@ -52,6 +59,7 @@ import org.apache.sis.xml.Namespaces; "extendedDescription" }) @XmlRootElement(name = "DQM_Description", namespace = Namespaces.DQM) +@UML(identifier="DQM_Description", specification=UNSPECIFIED) public class DefaultDescription extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -106,6 +114,7 @@ public class DefaultDescription extends ISOMetadata { * @return text description. */ @XmlElement(name = "textDescription", required = true) + @UML(identifier="textDescription", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getTextDescription() { return textDescription; } @@ -126,6 +135,7 @@ public class DefaultDescription extends ISOMetadata { * @return description illustration, or {@code null} if none. */ @XmlElement(name = "extendedDescription") + @UML(identifier="extendedDescription", obligation=OPTIONAL, specification=UNSPECIFIED) public BrowseGraphic getExtendedDescription() { return extendedDescription; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescriptiveResult.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescriptiveResult.java index 92d1c7d47f..f03ebae9bd 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescriptiveResult.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDescriptiveResult.java @@ -22,6 +22,12 @@ import javax.xml.bind.annotation.XmlRootElement; import org.opengis.util.InternationalString; import org.apache.sis.util.iso.Types; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Data quality descriptive result. @@ -49,6 +55,7 @@ import org.apache.sis.util.iso.Types; "statement" }) @XmlRootElement(name = "DQ_DescriptiveResult") +@UML(identifier="DQ_DescriptiveResult", specification=UNSPECIFIED) public class DefaultDescriptiveResult extends AbstractResult { /** * Serial number for inter-operability with different versions. @@ -96,6 +103,7 @@ public class DefaultDescriptiveResult extends AbstractResult { * @return textual expression of the result. */ @XmlElement(name = "statement", required = true) + @UML(identifier="statement", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getStatement() { return statement; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java index d541d32db1..0f8ec53d11 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java @@ -35,6 +35,12 @@ import org.apache.sis.util.resources.Errors; import static org.apache.sis.util.collection.Containers.isNullOrEmpty; import static org.apache.sis.internal.metadata.ImplementationHelper.valueIfDefined; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Description of the evaluation method and procedure applied. @@ -66,6 +72,7 @@ import static org.apache.sis.internal.metadata.ImplementationHelper.valueIfDefin AbstractDataEvaluation.class, DefaultAggregationDerivation.class }) +@UML(identifier="DQ_EvaluationMethod", specification=UNSPECIFIED) public class DefaultEvaluationMethod extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -289,6 +296,7 @@ public class DefaultEvaluationMethod extends ISOMetadata { * @return type of method used to evaluate quality, or {@code null} if none. */ @XmlElement(name = "evaluationMethodType") + @UML(identifier="evaluationMethodType", obligation=OPTIONAL, specification=UNSPECIFIED) public EvaluationMethodType getEvaluationMethodType() { return evaluationMethodType; } @@ -309,6 +317,7 @@ public class DefaultEvaluationMethod extends ISOMetadata { * @return description of the evaluation method, or {@code null} if none. */ @XmlElement(name = "evaluationMethodDescription") + @UML(identifier="evaluationMethodDescription", obligation=OPTIONAL, specification=UNSPECIFIED) public InternationalString getEvaluationMethodDescription() { return evaluationMethodDescription; } @@ -329,6 +338,7 @@ public class DefaultEvaluationMethod extends ISOMetadata { * @return reference to the procedure information, or {@code null} if none. */ @XmlElement(name = "evaluationProcedure") + @UML(identifier="evaluationProcedure", obligation=OPTIONAL, specification=UNSPECIFIED) public Citation getEvaluationProcedure() { return evaluationProcedure; } @@ -349,6 +359,7 @@ public class DefaultEvaluationMethod extends ISOMetadata { * @return documents referenced in data quality evaluation method. */ @XmlElement(name = "referenceDoc") + @UML(identifier="referenceDoc", obligation=OPTIONAL, specification=UNSPECIFIED) public Collection<Citation> getReferenceDocuments() { return referenceDocuments = nonNullCollection(referenceDocuments, Citation.class); } @@ -370,6 +381,7 @@ public class DefaultEvaluationMethod extends ISOMetadata { * @return date or range of dates on which a data quality measure was applied. */ @XmlElement(name = "dateTime") + @UML(identifier="dateTime", obligation=OPTIONAL, specification=UNSPECIFIED) @SuppressWarnings("ReturnOfCollectionOrArrayField") public Collection<Date> getDates() { if (Semaphores.query(Semaphores.NULL_COLLECTION)) { diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFullInspection.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFullInspection.java index 98e3e45c98..850489db34 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFullInspection.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFullInspection.java @@ -19,6 +19,11 @@ package org.apache.sis.metadata.iso.quality; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Full inspection. @@ -40,6 +45,7 @@ import javax.xml.bind.annotation.XmlRootElement; */ @XmlType(name = "DQ_FullInspection_Type") @XmlRootElement(name = "DQ_FullInspection") +@UML(identifier="DQ_FullInspection", specification=UNSPECIFIED) public class DefaultFullInspection extends AbstractDataEvaluation { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultHomogeneity.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultHomogeneity.java index 97c9012b9d..7733dc664e 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultHomogeneity.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultHomogeneity.java @@ -19,6 +19,11 @@ package org.apache.sis.metadata.iso.quality; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Expected or tested uniformity of the results obtained for a data quality evaluation. @@ -45,6 +50,7 @@ import javax.xml.bind.annotation.XmlRootElement; */ @XmlType(name = "DQ_Homogeneity_Type") @XmlRootElement(name = "DQ_Homogeneity") +@UML(identifier="DQ_Homogeneity", specification=UNSPECIFIED) public class DefaultHomogeneity extends AbstractMetaquality { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultIndirectEvaluation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultIndirectEvaluation.java index 17c138a4e7..1d214e025f 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultIndirectEvaluation.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultIndirectEvaluation.java @@ -22,6 +22,12 @@ import javax.xml.bind.annotation.XmlRootElement; import org.opengis.util.InternationalString; import org.apache.sis.util.iso.Types; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Indirect evaluation. @@ -49,6 +55,7 @@ import org.apache.sis.util.iso.Types; "deductiveSource" }) @XmlRootElement(name = "DQ_IndirectEvaluation") +@UML(identifier="DQ_IndirectEvaluation", specification=UNSPECIFIED) public class DefaultIndirectEvaluation extends AbstractDataEvaluation { /** * Serial number for inter-operability with different versions. @@ -96,6 +103,7 @@ public class DefaultIndirectEvaluation extends AbstractDataEvaluation { * @return information on which data are used. */ @XmlElement(name = "deductiveSource", required = true) + @UML(identifier="deductiveSource", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getDeductiveSource() { return deductiveSource; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasure.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasure.java index 8bba7fa959..9c31f20c21 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasure.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasure.java @@ -26,6 +26,14 @@ import org.opengis.parameter.ParameterDescriptor; import org.opengis.metadata.Identifier; import org.apache.sis.xml.Namespaces; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Obligation.CONDITIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Data quality measure. @@ -67,6 +75,7 @@ import org.apache.sis.xml.Namespaces; "parameters" }) @XmlRootElement(name = "DQM_Measure", namespace = Namespaces.DQM) +@UML(identifier="DQM_Measure", specification=UNSPECIFIED) public class DefaultMeasure extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -178,6 +187,7 @@ public class DefaultMeasure extends ISOMetadata { * @return value uniquely identifying the measure within a namespace. */ @XmlElement(name = "measureIdentifier", required = true) + @UML(identifier="measureIdentifier", obligation=MANDATORY, specification=UNSPECIFIED) public Identifier getMeasureIdentifier() { return measureIdentifier; } @@ -198,6 +208,7 @@ public class DefaultMeasure extends ISOMetadata { * @return name of the data quality measure applied to the data. */ @XmlElement(name = "name", required = true) + @UML(identifier="name", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getName() { return name; } @@ -219,6 +230,7 @@ public class DefaultMeasure extends ISOMetadata { * @return others recognized names, abbreviations or short names. */ @XmlElement(name = "alias") + @UML(identifier="alias", obligation=OPTIONAL, specification=UNSPECIFIED) public Collection<InternationalString> getAliases() { return aliases = nonNullCollection(aliases, InternationalString.class); } @@ -238,6 +250,7 @@ public class DefaultMeasure extends ISOMetadata { * @return names of the data quality element for which quality is reported. */ @XmlElement(name = "elementName", required = true) + @UML(identifier="elementName", obligation=MANDATORY, specification=UNSPECIFIED) public Collection<TypeName> getElementNames() { return elementNames = nonNullCollection(elementNames, TypeName.class); } @@ -257,6 +270,7 @@ public class DefaultMeasure extends ISOMetadata { * @return predefined basic measure on which this measure is based, or {@code null} if none. */ @XmlElement(name = "basicMeasure") + @UML(identifier="basicMeasure", obligation=CONDITIONAL, specification=UNSPECIFIED) public DefaultBasicMeasure getBasicMeasure() { return basicMeasure; } @@ -279,6 +293,7 @@ public class DefaultMeasure extends ISOMetadata { * @return definition of the fundamental concept for the data quality measure. */ @XmlElement(name = "definition", required = true) + @UML(identifier="definition", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getDefinition() { return definition; } @@ -301,6 +316,7 @@ public class DefaultMeasure extends ISOMetadata { * @return description of data quality measure, or {@code null} if none. */ @XmlElement(name = "description") + @UML(identifier="description", obligation=CONDITIONAL, specification=UNSPECIFIED) public DefaultDescription getDescription() { return description; } @@ -321,6 +337,7 @@ public class DefaultMeasure extends ISOMetadata { * @return references to the source. */ @XmlElement(name = "sourceReference") + @UML(identifier="sourceReference", obligation=CONDITIONAL, specification=UNSPECIFIED) public Collection<DefaultSourceReference> getSourceReferences() { return sourceReferences = nonNullCollection(sourceReferences, DefaultSourceReference.class); } @@ -340,6 +357,7 @@ public class DefaultMeasure extends ISOMetadata { * @return value type for reporting a data quality result. */ @XmlElement(name = "valueType", required = true) + @UML(identifier="valueType", obligation=MANDATORY, specification=UNSPECIFIED) public TypeName getValueType() { return valueType; } @@ -362,6 +380,7 @@ public class DefaultMeasure extends ISOMetadata { */ @XmlElement(name = "parameter") @SuppressWarnings({"unchecked", "rawtypes"}) + @UML(identifier="parameter", obligation=CONDITIONAL, specification=UNSPECIFIED) public Collection<ParameterDescriptor<?>> getParameters() { return parameters = nonNullCollection(parameters, (Class) ParameterDescriptor.class); } @@ -382,6 +401,7 @@ public class DefaultMeasure extends ISOMetadata { * @return examples of applying the measure or the result obtained for the measure. */ @XmlElement(name = "example") + @UML(identifier="example", obligation=OPTIONAL, specification=UNSPECIFIED) public Collection<DefaultDescription> getExamples() { return examples = nonNullCollection(examples, DefaultDescription.class); } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasureReference.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasureReference.java index 13df93f65f..3f927c2429 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasureReference.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultMeasureReference.java @@ -26,6 +26,13 @@ import org.opengis.metadata.Identifier; import org.opengis.metadata.quality.Element; import org.apache.sis.internal.util.CollectionsExt; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.OPTIONAL; +import static org.opengis.annotation.Obligation.CONDITIONAL; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Reference to the measure used. @@ -51,6 +58,7 @@ import org.apache.sis.internal.util.CollectionsExt; "measureDescription" }) @XmlRootElement(name = "DQ_MeasureReference") +@UML(identifier="DQ_MeasureReference", specification=UNSPECIFIED) public class DefaultMeasureReference extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -114,6 +122,7 @@ public class DefaultMeasureReference extends ISOMetadata { * @return code identifying a registered measure, or {@code null} if none. */ @XmlElement(name = "measureIdentification") + @UML(identifier="measureIdentification", obligation=OPTIONAL, specification=UNSPECIFIED) public Identifier getMeasureIdentification() { return measureIdentification; } @@ -134,6 +143,7 @@ public class DefaultMeasureReference extends ISOMetadata { * @return names of the test applied to the data. */ @XmlElement(name = "nameOfMeasure") + @UML(identifier="nameOfMeasure", obligation=CONDITIONAL, specification=UNSPECIFIED) public Collection<InternationalString> getNamesOfMeasure() { return namesOfMeasure = nonNullCollection(namesOfMeasure, InternationalString.class); } @@ -153,6 +163,7 @@ public class DefaultMeasureReference extends ISOMetadata { * @return description of the measure, or {@code null}. */ @XmlElement(name = "measureDescription") + @UML(identifier="measureDescription", obligation=OPTIONAL, specification=UNSPECIFIED) public InternationalString getMeasureDescription() { return measureDescription; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeCorrectness.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeCorrectness.java index 70e6ed7393..02d68ee068 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeCorrectness.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeCorrectness.java @@ -21,6 +21,11 @@ import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlRootElement; import org.opengis.metadata.quality.NonQuantitativeAttributeAccuracy; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Correctness of non-quantitative attributes. @@ -49,6 +54,7 @@ import org.opengis.metadata.quality.NonQuantitativeAttributeAccuracy; @XmlSeeAlso({ DefaultNonQuantitativeAttributeAccuracy.class }) +@UML(identifier="DQ_NonQuantitativeAttributeCorrectness", specification=UNSPECIFIED) public class DefaultNonQuantitativeAttributeCorrectness extends AbstractThematicAccuracy implements NonQuantitativeAttributeAccuracy { diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRepresentativity.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRepresentativity.java index b83a76f5fa..91e66d3ea0 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRepresentativity.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRepresentativity.java @@ -19,6 +19,11 @@ package org.apache.sis.metadata.iso.quality; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Degree to which the sample used has produced a result which is representation of the data. @@ -45,6 +50,7 @@ import javax.xml.bind.annotation.XmlRootElement; */ @XmlType(name = "DQ_Representativity_Type") @XmlRootElement(name = "DQ_Representativity") +@UML(identifier="DQ_Representativity", specification=UNSPECIFIED) public class DefaultRepresentativity extends AbstractMetaquality { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSampleBasedInspection.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSampleBasedInspection.java index 7069686c25..d4e6d7bb6e 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSampleBasedInspection.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSampleBasedInspection.java @@ -21,6 +21,12 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import org.opengis.util.InternationalString; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Sample based inspection. @@ -52,6 +58,7 @@ import org.opengis.util.InternationalString; "samplingRatio" }) @XmlRootElement(name = "DQ_SampleBasedInspection") +@UML(identifier="DQ_SampleBasedInspection", specification=UNSPECIFIED) public class DefaultSampleBasedInspection extends AbstractDataEvaluation { /** * Serial number for inter-operability with different versions. @@ -104,6 +111,7 @@ public class DefaultSampleBasedInspection extends AbstractDataEvaluation { * @return sampling scheme and sampling procedure. */ @XmlElement(name = "samplingScheme", required = true) + @UML(identifier="samplingScheme", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getSamplingScheme() { return samplingScheme; } @@ -124,6 +132,7 @@ public class DefaultSampleBasedInspection extends AbstractDataEvaluation { * @return information on lots. */ @XmlElement(name = "lotDescription", required = true) + @UML(identifier="lotDescription", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getLotDescription() { return lotDescription; } @@ -144,6 +153,7 @@ public class DefaultSampleBasedInspection extends AbstractDataEvaluation { * @return average number of samples extracted for inspection. */ @XmlElement(name = "samplingRatio", required = true) + @UML(identifier="samplingRatio", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getSamplingRatio() { return samplingRatio; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSourceReference.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSourceReference.java index 18e0f16e8b..b3ebd15bc6 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSourceReference.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultSourceReference.java @@ -22,6 +22,12 @@ import javax.xml.bind.annotation.XmlRootElement; import org.opengis.metadata.citation.Citation; import org.apache.sis.xml.Namespaces; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Reference to the source of the data quality measure. @@ -47,6 +53,7 @@ import org.apache.sis.xml.Namespaces; */ @XmlType(name = "DQM_SourceReference_Type", namespace = Namespaces.DQM) @XmlRootElement(name = "DQM_SourceReference", namespace = Namespaces.DQM) +@UML(identifier="DQM_SourceReference", specification=UNSPECIFIED) public class DefaultSourceReference extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -85,6 +92,7 @@ public class DefaultSourceReference extends ISOMetadata { * @return reference to the source. */ @XmlElement(name = "citation", required = true) + @UML(identifier="citation", obligation=MANDATORY, specification=UNSPECIFIED) public Citation getCitation() { return citation; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultStandaloneQualityReportInformation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultStandaloneQualityReportInformation.java index 975704ca33..823642494d 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultStandaloneQualityReportInformation.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultStandaloneQualityReportInformation.java @@ -22,6 +22,12 @@ import javax.xml.bind.annotation.XmlRootElement; import org.opengis.util.InternationalString; import org.opengis.metadata.citation.Citation; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Obligation.MANDATORY; +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Reference to an external standalone quality report. @@ -51,6 +57,7 @@ import org.opengis.metadata.citation.Citation; "abstract" }) @XmlRootElement(name = "DQ_StandaloneQualityReportInformation") +@UML(identifier="DQ_StandaloneQualityReportInformation", specification=UNSPECIFIED) public class DefaultStandaloneQualityReportInformation extends ISOMetadata { /** * Serial number for inter-operability with different versions. @@ -96,6 +103,7 @@ public class DefaultStandaloneQualityReportInformation extends ISOMetadata { * @return reference of the standalone quality report. */ @XmlElement(name = "reportReference", required = true) + @UML(identifier="reportReference", obligation=MANDATORY, specification=UNSPECIFIED) public Citation getReportReference() { return reportReference; } @@ -116,6 +124,7 @@ public class DefaultStandaloneQualityReportInformation extends ISOMetadata { * @return abstract of the standalone quality report. */ @XmlElement(name = "abstract", required = true) + @UML(identifier="abstract", obligation=MANDATORY, specification=UNSPECIFIED) public InternationalString getAbstract() { return summary; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsabilityElement.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsabilityElement.java index f2afaf101f..c2ac2a8366 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsabilityElement.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsabilityElement.java @@ -21,6 +21,11 @@ import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlRootElement; import org.opengis.metadata.quality.Usability; +// Branch-dependent imports +import org.opengis.annotation.UML; + +import static org.opengis.annotation.Specification.UNSPECIFIED; + /** * Degree of adherence of a dataset to a specific set of requirements. @@ -49,6 +54,7 @@ import org.opengis.metadata.quality.Usability; @XmlSeeAlso({ DefaultUsability.class }) +@UML(identifier="DQ_UsabilityElement", specification=UNSPECIFIED) public class DefaultUsabilityElement extends AbstractElement implements Usability { /** * Serial number for inter-operability with different versions. diff --git a/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java b/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java index 566131986f..7a248c1378 100644 --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java @@ -381,8 +381,6 @@ public abstract strictfp class PropertyConsistencyCheck extends AnnotationConsis * ensure that there is no cycle. */ for (final String ref : dep.value()) { - if ("getEvaluationMethod".equals(ref)) continue; // Because missing UML annotation. - // Verify that the dependency is a property name. assertEquals(name, names.get(ref), ref);