You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2022/11/17 11:01:27 UTC
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. This is the upgrade of metadata quality package from ISO 19115 to ISO 19157.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-3.1
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 86bb5bbf6b5b3c94e23e76b0c712818533d85fdd
Merge: a143312778 0d58e3a7b4
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Nov 17 12:00:37 2022 +0100
Merge branch 'geoapi-4.0' into geoapi-3.1.
This is the upgrade of metadata quality package from ISO 19115 to ISO 19157.
https://issues.apache.org/jira/browse/SIS-394
.../org/apache/sis/feature/AbstractAttribute.java | 3 +-
.../apache/sis/feature/DefaultAttributeType.java | 3 +-
.../main/java/org/apache/sis/feature/Features.java | 6 +-
.../apache/sis/internal/jaxb/FilterByVersion.java | 4 +-
.../apache/sis/internal/jaxb/cat/CodeListUID.java | 10 +-
.../sis/internal/jaxb/code/DQM_ValueStructure.java | 89 ++++
.../sis/internal/jaxb/code/package-info.java | 3 +-
.../apache/sis/internal/jaxb/gco/GO_DateTime.java | 26 +-
.../apache/sis/internal/jaxb/gco/package-info.java | 2 +-
.../internal/jaxb/metadata/DQM_BasicMeasure.java | 92 ++++
.../internal/jaxb/metadata/DQM_Description.java | 92 ++++
.../sis/internal/jaxb/metadata/DQM_Measure.java | 92 ++++
.../sis/internal/jaxb/metadata/DQM_Parameter.java | 93 ++++
.../jaxb/metadata/DQM_SourceReference.java | 92 ++++
.../jaxb/metadata/DQ_EvaluationMethod.java | 97 ++++
.../jaxb/metadata/DQ_MeasureReference.java | 97 ++++
.../DQ_StandaloneQualityReportInformation.java | 99 ++++
.../sis/internal/jaxb/metadata/package-info.java | 3 +-
.../internal/jaxb/metadata/replace/Parameter.java | 173 ++++++
.../jaxb/metadata/replace/QualityParameter.java | 246 +++++++++
.../jaxb/metadata/replace/ServiceParameter.java | 234 ++++----
.../jaxb/metadata/replace/package-info.java | 21 +-
.../sis/internal/metadata/ReferencingServices.java | 5 +-
.../org/apache/sis/metadata/MetadataStandard.java | 63 ++-
.../org/apache/sis/metadata/PropertyAccessor.java | 4 +-
.../java/org/apache/sis/metadata/SpecialCases.java | 19 +-
.../sis/metadata/StandardImplementation.java | 6 +-
.../sis/metadata/iso/acquisition/package-info.java | 2 +-
.../sis/metadata/iso/citation/package-info.java | 2 +-
.../sis/metadata/iso/constraint/package-info.java | 2 +-
.../sis/metadata/iso/content/package-info.java | 2 +-
.../metadata/iso/distribution/package-info.java | 2 +-
.../sis/metadata/iso/extent/package-info.java | 2 +-
.../metadata/iso/identification/package-info.java | 2 +-
.../sis/metadata/iso/lineage/package-info.java | 2 +-
.../sis/metadata/iso/maintenance/package-info.java | 2 +-
.../org/apache/sis/metadata/iso/package-info.java | 2 +-
.../metadata/iso/quality/AbstractCompleteness.java | 2 +-
...ractResult.java => AbstractDataEvaluation.java} | 77 ++-
.../sis/metadata/iso/quality/AbstractElement.java | 589 +++++++++++----------
.../iso/quality/AbstractLogicalConsistency.java | 2 +-
...bstractResult.java => AbstractMetaquality.java} | 82 +--
.../iso/quality/AbstractPositionalAccuracy.java | 12 +-
.../sis/metadata/iso/quality/AbstractResult.java | 105 +++-
.../iso/quality/AbstractTemporalAccuracy.java | 42 +-
...lAccuracy.java => AbstractTemporalQuality.java} | 52 +-
.../iso/quality/AbstractThematicAccuracy.java | 17 +-
.../DefaultAbsoluteExternalPositionalAccuracy.java | 5 +-
.../quality/DefaultAccuracyOfATimeMeasurement.java | 10 +-
...lity.java => DefaultAggregationDerivation.java} | 49 +-
.../metadata/iso/quality/DefaultBasicMeasure.java | 225 ++++++++
.../iso/quality/DefaultCompletenessCommission.java | 3 +-
.../iso/quality/DefaultCompletenessOmission.java | 3 +-
.../iso/quality/DefaultConceptualConsistency.java | 7 +-
...efaultUsability.java => DefaultConfidence.java} | 53 +-
.../iso/quality/DefaultConformanceResult.java | 7 +-
.../iso/quality/DefaultCoverageResult.java | 67 ++-
.../metadata/iso/quality/DefaultDataQuality.java | 84 ++-
.../metadata/iso/quality/DefaultDescription.java | 172 ++++++
.../iso/quality/DefaultDescriptiveResult.java | 142 +++++
.../iso/quality/DefaultDomainConsistency.java | 3 +-
...ctElement.java => DefaultEvaluationMethod.java} | 311 +++--------
.../iso/quality/DefaultFormatConsistency.java | 5 +-
...ltUsability.java => DefaultFullInspection.java} | 51 +-
.../DefaultGriddedDataPositionalAccuracy.java | 3 +-
...faultUsability.java => DefaultHomogeneity.java} | 53 +-
.../iso/quality/DefaultIndirectEvaluation.java | 142 +++++
.../sis/metadata/iso/quality/DefaultMeasure.java | 469 ++++++++++++++++
.../iso/quality/DefaultMeasureReference.java | 201 +++++++
.../DefaultNonQuantitativeAttributeAccuracy.java | 22 +-
...efaultNonQuantitativeAttributeCorrectness.java} | 56 +-
.../DefaultQuantitativeAttributeAccuracy.java | 3 +-
.../iso/quality/DefaultQuantitativeResult.java | 31 +-
.../DefaultRelativeInternalPositionalAccuracy.java | 3 +-
...lValidity.java => DefaultRepresentativity.java} | 51 +-
.../iso/quality/DefaultSampleBasedInspection.java | 191 +++++++
...alAccuracy.java => DefaultSourceReference.java} | 86 ++-
.../DefaultStandaloneQualityReportInformation.java | 163 ++++++
.../iso/quality/DefaultTemporalConsistency.java | 8 +-
.../iso/quality/DefaultTemporalValidity.java | 8 +-
.../DefaultThematicClassificationCorrectness.java | 3 +-
.../iso/quality/DefaultTopologicalConsistency.java | 9 +-
.../sis/metadata/iso/quality/DefaultUsability.java | 19 +-
...lAccuracy.java => DefaultUsabilityElement.java} | 54 +-
.../sis/metadata/iso/quality/ISOMetadata.java | 60 +++
.../sis/metadata/iso/quality/package-info.java | 95 +---
.../sis/metadata/iso/spatial/package-info.java | 2 +-
.../java/org/apache/sis/metadata/package-info.java | 2 +-
.../apache/sis/util/iso/DefaultNameFactory.java | 80 ++-
.../org/apache/sis/util/iso/DefaultTypeName.java | 232 ++++----
.../main/java/org/apache/sis/util/iso/Names.java | 97 ++--
.../java/org/apache/sis/util/iso/TypeNames.java | 41 +-
.../main/java/org/apache/sis/xml/Namespaces.java | 80 +--
.../src/main/java/org/apache/sis/xml/readme.html | 16 +-
.../org/apache/sis/xml/RenameOnImport.lst | 14 +-
.../internal/jaxb/cat/CodeListMarshallingTest.java | 2 +-
.../metadata/replace/QualityParameterTest.java | 117 ++++
.../metadata/replace/ServiceParameterTest.java | 14 +-
.../sis/metadata/PropertyConsistencyCheck.java | 3 +-
.../apache/sis/metadata/iso/AllMetadataTest.java | 51 +-
.../DefaultServiceIdentificationTest.java | 8 +-
.../quality/AbstractPositionalAccuracyTest.java | 13 +-
.../iso/quality/DefaultDomainConsistencyTest.java | 47 ++
.../iso/quality/DefaultQuantitativeResultTest.java | 50 ++
.../sis/metadata/xml/SchemaComplianceTest.java | 4 +-
.../apache/sis/test/suite/MetadataTestSuite.java | 3 +
.../sis/test/xml/AnnotationConsistencyCheck.java | 62 ++-
.../org/apache/sis/test/xml/PackageVerifier.java | 10 +-
.../org/apache/sis/test/xml/SchemaCompliance.java | 7 +-
.../java/org/apache/sis/util/iso/NamesTest.java | 35 +-
.../org/apache/sis/util/iso/TypeNamesTest.java | 10 +-
.../java/org/apache/sis/util/iso/TypesTest.java | 2 +-
.../org/apache/sis/xml/RenameListGenerator.java | 24 +-
.../sis/metadata/xml/2007/PositionalAccuracy.xml | 11 +-
.../apache/sis/metadata/xml/2007/ProcessStep.xml | 2 +-
.../metadata/xml/2007/ServiceIdentification.xml | 2 +-
.../org/apache/sis/metadata/xml/2016/Citation.xml | 4 +-
.../org/apache/sis/metadata/xml/2016/Extent.xml | 2 +-
.../org/apache/sis/metadata/xml/2016/Locales.xml | 2 +-
.../org/apache/sis/metadata/xml/2016/Metadata.xml | 20 +-
.../apache/sis/metadata/xml/2016/Multiplicity.xml | 2 +-
.../sis/metadata/xml/2016/PositionalAccuracy.xml | 33 +-
.../apache/sis/metadata/xml/2016/ProcessStep.xml | 2 +-
.../metadata/xml/2016/ServiceIdentification.xml | 6 +-
.../internal/referencing/ServicesForMetadata.java | 5 +-
.../sis/parameter/DefaultParameterDescriptor.java | 40 +-
.../parameter/DefaultParameterDescriptorTest.java | 50 +-
.../org/apache/sis/parameter/ParametersTest.java | 8 +-
.../apache/sis/internal/system/DataDirectory.java | 2 +-
.../org/apache/sis/internal/util/Constants.java | 7 +-
.../src/main/java/org/apache/sis/util/Classes.java | 190 +++++--
.../src/main/java/org/apache/sis/util/Numbers.java | 9 +-
.../org/apache/sis/util/UnknownNameException.java | 7 +-
.../test/java/org/apache/sis/util/ClassesTest.java | 86 ++-
pom.xml | 2 +-
135 files changed, 5369 insertions(+), 1750 deletions(-)
diff --cc core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/QualityParameter.java
index 0000000000,fc7dcb875b..b902327e87
mode 000000,100644..100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/QualityParameter.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/QualityParameter.java
@@@ -1,0 -1,245 +1,246 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ package org.apache.sis.internal.jaxb.metadata.replace;
+
+ import java.util.Map;
+ import javax.xml.bind.annotation.XmlType;
+ import javax.xml.bind.annotation.XmlElement;
+ import javax.xml.bind.annotation.XmlRootElement;
+ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+ import org.opengis.util.TypeName;
+ import org.opengis.util.InternationalString;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.metadata.quality.Description;
+ import org.opengis.metadata.quality.ValueStructure;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.opengis.referencing.operation.Matrix;
+ import org.apache.sis.metadata.iso.DefaultIdentifier;
+ import org.apache.sis.metadata.iso.quality.DefaultDescription;
+ import org.apache.sis.internal.jaxb.gco.GO_GenericName;
+ import org.apache.sis.util.Classes;
+ import org.apache.sis.util.iso.Names;
+ import org.apache.sis.xml.Namespaces;
+
+ // Branch-dependent imports
+ import org.opengis.coverage.Coverage;
++import org.opengis.referencing.ReferenceIdentifier;
+
+
+ /**
+ * Parameter information conform to the ISO 19157:2013 specification.
+ * GeoAPI tries to provides a single API for the parameter classes defined in various specifications
+ * (ISO 19111, ISO 19115, ISO 19157, Web Processing Service).
+ * But we still need separated representations at XML (un)marshalling time.
+ * This class is for the ISO 19157:2013 case.
+ *
+ * <p>Note that this implementation is simple and serves no other purpose than being a container for XML
+ * parsing and formatting. For real parameter framework, consider using {@link org.apache.sis.parameter}
+ * package instead.</p>
+ *
+ * <h2>Note about raw-type usage</h2>
+ * We use raw type (i.e. we implement {@code ParameterDescriptor} instead of {@code ParameterDescriptor<T>})
+ * because there is no way we can know {@code <T>} for sure at unmarshalling time. This is not a recommended
+ * practice, so <strong>this class shall not be in public API</strong>. However it should be okay to create
+ * {@code QualityParameter} instances in Apache SIS internal code if all methods creating such instances
+ * declare {@code ParameterDescriptor<?>} as their return type.
+ *
+ * @author Martin Desruisseaux (Geomatys)
+ * @version 1.3
+ * @since 1.3
+ * @module
+ */
+ @SuppressWarnings("rawtypes") // For the omission of <T> in Parameter<T> - see javadoc.
+ @XmlType(name = "DQM_Parameter_Type", namespace = Namespaces.DQM, propOrder = {
+ "code",
+ "definition",
+ "description",
+ "valueType",
+ "valueStructure"
+ })
+ @XmlRootElement(name = "DQM_Parameter", namespace = Namespaces.DQM)
+ public final class QualityParameter extends Parameter {
+ /**
+ * Name of the data quality parameter, to be represented as identifier code.
+ *
+ * @see #getName()
+ */
+ @XmlElement(name="name", required=true)
+ String code;
+
+ /**
+ * Definition of the data quality parameter.
+ * Stored in {@link Identifier#getDescription()}.
+ *
+ * @see #getName()
+ */
+ @XmlElement(required = true)
+ InternationalString definition;
+
+ /**
+ * Description of the data quality parameter.
+ *
+ * @see #getDescription()
+ */
+ @XmlElement
+ Description description;
+
+ /**
+ * Value type of the data quality parameter (shall be one of the data types defined in ISO/TS 19103:2005).
+ *
+ * @see #getValueType()
+ * @see #getValueClass()
+ */
+ @XmlElement(required = true)
+ @XmlJavaTypeAdapter(GO_GenericName.class) // Not in package-info because shall not be applied to getLegacyName().
+ TypeName valueType;
+
+ /**
+ * Structure of the data quality parameter.
+ *
+ * @see #getValueClass()
+ */
+ @XmlElement
+ ValueStructure valueStructure;
+
+ /**
+ * Creates an initially empty parameter.
+ * This constructor is needed by JAXB at unmarshalling time.
+ *
+ * <p><strong>Consider this constructor as private</strong> except for testing purpose.
+ * See <cite>Note about raw-type usage</cite> in class javadoc.</p>
+ */
+ QualityParameter() {
+ }
+
+ /**
+ * Creates a parameter initialized to the values of the given one.
+ * This is used for marshalling an arbitrary parameter as an ISO 19157 parameter.
+ */
+ @SuppressWarnings("unchecked")
+ private QualityParameter(final ParameterDescriptor<?> parameter) {
+ super(parameter);
+ final Identifier id = parameter.getName();
+ if (id != null) {
+ code = id.getCode();
+ definition = id.getDescription();
+ }
+ InternationalString text = parameter.getDescription();
+ if (text != null) {
+ description = new DefaultDescription(text);
+ }
+ valueType = parameter.getValueType();
+ valueStructure = ValueStructure.valueOf(parameter.getValueClass()).orElse(null);
+ }
+
+ /**
+ * Returns the given parameter as an instance of {@code QualityParameter}.
+ *
+ * @param parameter the parameter (may be {@code null}).
+ * @return the service parameter, or {@code null} if the given argument was null.
+ */
+ public static QualityParameter castOrCopy(final ParameterDescriptor<?> parameter) {
+ if (parameter == null || parameter instanceof QualityParameter) {
+ return (QualityParameter) parameter;
+ }
+ return new QualityParameter(parameter);
+ }
+
+ /**
+ * Returns the name as an {@code Identifier}, which is the type requested by ISO 19111.
+ * Note that this is different than the type requested by ISO 19157, which is {@link String}.
+ *
+ * @return the parameter name as an identifier (the type specified by ISO 19111).
+ */
+ @Override
- public synchronized Identifier getName() {
++ public synchronized ReferenceIdentifier getName() {
+ if (name == null && code != null) {
- final DefaultIdentifier id = new DefaultIdentifier(code);
++ final RS_Identifier id = new RS_Identifier(null, code, null);
+ id.setDescription(definition);
+ id.transitionTo(DefaultIdentifier.State.FINAL);
+ name = id;
+ }
+ return name;
+ }
+
+ /**
+ * Returns a narrative explanation of the role of the parameter.
+ *
+ * @return a narrative explanation of the role of the parameter, or {@code null} if none.
+ */
+ @Override
+ public InternationalString getDescription() {
+ final Description description = this.description;
+ return (description != null) ? description.getTextDescription() : null;
+ }
+
+ /**
+ * Infers the value class from the type name.
+ * This method is the reason why we can not parameterize this {@code QualityParameter} class
+ * (see <cite>Note about raw-type usage</cite> in class javadoc), because there is no way we
+ * can ensure that the class inferred from {@link #valueType} is really for type {@code <T>}.
+ *
+ * @return the value class inferred from the attribute type, or {@code null} if unknown.
+ */
+ @Override
+ public Class<?> getValueClass() {
+ Class<?> type = super.getValueClass();
+ if (type == null) {
+ final ValueStructure s = valueStructure;
+ type = (s != null) ? s.toJavaType().orElse(null) : Names.toClass(valueType);
+ }
+ return type;
+ }
+
+ /**
+ * Returns the name that describes the type of parameter values.
+ *
+ * @return the type name of value component(s) in this parameter.
+ */
+ @Override
+ public TypeName getValueType() {
+ return valueType;
+ }
+
+ /**
+ * Suggests a type name for the components of given collection or array class.
+ * The component type is fetched on a <cite>best effort</cite> basis only.
+ * This method does the following checks:
+ * <ul>
+ * <li>If the given class is a class, then its {@linkplain Class#getComponentType() component type} is used.</li>
+ * <li>Otherwise if the class is an {@link Iterable}, then the upper bound of elements is fetched.</li>
+ * <li>Otherwise if the class is a {@link Map}, then the upper bound of keys is fetched.</li>
+ * <li>Otherwise if the class is a {@link Matrix} or {@link Coverage}, then {@link Double} components is assumed.</li>
+ * <li>Otherwise the given class is used as if it was already a component type (i.e. a singleton item).</li>
+ * </ul>
+ *
+ * This method is used for mapping {@link Class} to ({@link ValueStructure}, {@link TypeName}) pair.
+ * The other member of the pair is given by {@link ValueStructure#valueOf(Class)}.
+ *
+ * @param valueClass the type of values for which to infer a {@link TypeName} instance.
+ * @return a type name for components of the given type.
+ */
+ public static TypeName getValueType(Class<?> valueClass) {
+ if (valueClass.isArray()) {
+ valueClass = valueClass.getComponentType();
+ } else if (Iterable.class.isAssignableFrom(valueClass) || Map.class.isAssignableFrom(valueClass)) {
+ valueClass = Classes.boundOfParameterizedDeclaration(valueClass);
+ } else if (Matrix.class.isAssignableFrom(valueClass) || Coverage.class.isAssignableFrom(valueClass)) {
+ valueClass = Double.class;
+ }
+ return Names.createTypeName(valueClass);
+ }
+ }
diff --cc core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java
index 8b190ed7f7,350daf8bb5..c0a46ff19a
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java
@@@ -39,12 -34,9 +34,12 @@@ import org.apache.sis.internal.metadata
import org.apache.sis.util.iso.DefaultMemberName;
import org.apache.sis.util.iso.Names;
import org.apache.sis.xml.Namespaces;
- import org.apache.sis.util.ComparisonMode;
- import org.apache.sis.util.resources.Errors;
- import static org.apache.sis.util.Utilities.deepEquals;
import static org.apache.sis.internal.util.CollectionsExt.nonNull;
++// Branch-dependent imports
++import org.opengis.referencing.ReferenceIdentifier;
++
/**
* Parameter information conform to the ISO 19115:2014 specification.
@@@ -214,6 -227,26 +230,26 @@@ public final class ServiceParameter ext
return null;
}
+ /**
+ * Returns the name as an {@code Identifier}, which is the type requested by ISO 19111.
+ * Note that this is different than the type requested by ISO 19115, which is {@link MemberName}.
+ *
+ * This method is the converse of {@link #getMemberName(ParameterDescriptor)}.
+ *
+ * @return the parameter name as an identifier (the type specified by ISO 19111).
+ */
+ @Override
- public synchronized Identifier getName() {
++ public synchronized ReferenceIdentifier getName() {
+ if (name == null && memberName != null) {
- if (memberName instanceof Identifier) {
- name = (Identifier) memberName;
++ if (memberName instanceof ReferenceIdentifier) {
++ name = (ReferenceIdentifier) memberName;
+ } else {
+ name = new NameToIdentifier(memberName);
+ }
+ }
+ return name;
+ }
+
/**
* Returns the name to be marshalled in the ISO 19139:2007 way. Example:
*
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
index f4b1a92af8,b60c360ec5..10be7cc10e
--- 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
@@@ -23,12 -23,13 +23,14 @@@ import javax.xml.bind.annotation.XmlRoo
import org.opengis.metadata.lineage.Lineage;
import org.opengis.metadata.quality.DataQuality;
import org.opengis.metadata.quality.Element;
- import org.opengis.metadata.quality.Scope;
+ import org.opengis.metadata.quality.StandaloneQualityReportInformation;
-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;
import org.apache.sis.internal.jaxb.FilterByVersion;
import org.apache.sis.internal.xml.LegacyNamespaces;
++// Branch-dependent imports
++import org.opengis.metadata.quality.Scope;
++
/**
* Quality information for the data specified by a data quality scope.
diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
index f68c3e3d20,0650db257b..e0a8813103
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
@@@ -141,7 -79,8 +79,8 @@@
@XmlJavaTypeAdapter(MD_ContentInformation.class),
@XmlJavaTypeAdapter(MD_Format.class),
@XmlJavaTypeAdapter(MD_Identifier.class),
+ // @XmlJavaTypeAdapter(MD_RangeDimension.class), // Pending new ISO 19157 revision.
- @XmlJavaTypeAdapter(MD_Scope.class),
+ @XmlJavaTypeAdapter(MD_Scope.Legacy.class),
@XmlJavaTypeAdapter(MD_SpatialRepresentation.class),
@XmlJavaTypeAdapter(MD_SpatialRepresentationTypeCode.class),
@XmlJavaTypeAdapter(MX_DataFile.class),
diff --cc core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
index 31aacc3d3e,fdb16740a8..908b73d1e2
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
@@@ -23,8 -23,9 +23,8 @@@ import javax.measure.Unit
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterDirection;
import org.opengis.parameter.ParameterValue;
- import org.opengis.referencing.ReferenceIdentifier;
import org.opengis.parameter.ParameterValueGroup;
-import org.opengis.metadata.Identifier;
+ import org.opengis.util.TypeName;
import org.opengis.util.GenericName;
import org.opengis.util.InternationalString;
import org.apache.sis.measure.Range;
@@@ -38,6 -39,6 +38,9 @@@ import org.junit.Test
import static org.junit.Assert.*;
++// Branch-dependent imports
++import org.opengis.referencing.ReferenceIdentifier;
++
/**
* Tests the static methods in the {@link Parameters} class.