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 15:18:36 UTC

[sis] branch geoapi-4.0 updated: Post-merge cleaning.

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git


The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
     new 6dc1c33f57 Post-merge cleaning.
6dc1c33f57 is described below

commit 6dc1c33f57d89c7249e2b783b49de464e777c699
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Nov 17 16:18:15 2022 +0100

    Post-merge cleaning.
---
 .../sis/internal/jaxb/metadata/replace/QualityParameter.java  |  4 ++--
 .../main/java/org/apache/sis/metadata/MetadataStandard.java   |  3 +--
 .../java/org/apache/sis/metadata/StandardImplementation.java  | 11 ++++++-----
 .../metadata/iso/identification/DefaultOperationMetadata.java |  4 ++++
 .../org/apache/sis/metadata/iso/quality/AbstractElement.java  |  2 +-
 .../org/apache/sis/metadata/iso/quality/AbstractResult.java   |  4 +++-
 .../metadata/iso/quality/DefaultAggregationDerivation.java    |  2 +-
 .../apache/sis/metadata/iso/quality/DefaultDataQuality.java   |  6 ++++--
 .../org/apache/sis/metadata/iso/quality/DefaultMeasure.java   |  4 ++++
 .../src/main/java/org/apache/sis/parameter/Parameters.java    |  9 +++++----
 .../test/java/org/apache/sis/parameter/ParametersTest.java    |  4 +++-
 11 files changed, 34 insertions(+), 19 deletions(-)

diff --git 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
index fc7dcb875b..039f48574e 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
@@ -24,8 +24,6 @@ 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;
@@ -37,6 +35,8 @@ import org.apache.sis.xml.Namespaces;
 
 // Branch-dependent imports
 import org.opengis.coverage.Coverage;
+import org.opengis.metadata.quality.Description;
+import org.opengis.metadata.quality.ValueStructure;
 
 
 /**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
index 447f79c90f..4593ae5380 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
@@ -123,7 +123,7 @@ public class MetadataStandard implements Serializable {
      * <p>The current implementation does not yet contains the user-defined instances.
      * However it may be something that we will need to do in the future.</p>
      */
-    private static final MetadataStandard[] INSTANCES;
+    static final MetadataStandard[] INSTANCES;
 
     /**
      * An instance working on ISO 19115 standard as defined by GeoAPI interfaces
@@ -153,7 +153,6 @@ public class MetadataStandard implements Serializable {
     static {
         final String[] acronyms = {"CoordinateSystem", "CS", "CoordinateReferenceSystem", "CRS"};
 
-        // If new StandardImplementation instances are added below, please update StandardImplementation.readResolve().
         ISO_19115 = new StandardImplementation("ISO 19115", "org.opengis.metadata.", "org.apache.sis.metadata.iso.", null, (MetadataStandard[]) null);
         ISO_19157 = new StandardImplementation("ISO 19157", "org.opengis.metadata.quality.", "org.apache.sis.metadata.iso.quality.", null, ISO_19115);
         ISO_19111 = new StandardImplementation("ISO 19111", "org.opengis.referencing.", "org.apache.sis.referencing.", acronyms, ISO_19157, ISO_19115);
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java
index c254319109..fe747929b7 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/StandardImplementation.java
@@ -170,14 +170,15 @@ final class StandardImplementation extends MetadataStandard {
     }
 
     /**
-     * Invoked on deserialization. Returns one of the pre-existing constants if possible.
+     * Invoked on deserialization. Returns one of the preexisting constants if possible.
      */
     Object readResolve() throws ObjectStreamException {
-        if (ISO_19111.citation.equals(citation)) return ISO_19111;
-        if (ISO_19115.citation.equals(citation)) return ISO_19115;
+        for (final MetadataStandard standard : MetadataStandard.INSTANCES) {
+            if (standard.citation.equals(citation)) return standard;
+        }
         /*
-         * Following should not occurs, unless we are deserializing an instance created by a
-         * newer version of the Apache SIS library. The newer version could contains constants
+         * Following should not occur, unless we are deserializing an instance created by a
+         * newer version of the Apache SIS library. The newer version could contain constants
          * not yet declared in this older SIS version, so we have to use this instance.
          */
         setMapForField(StandardImplementation.class, this, "implementations");
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
index 4aebb7f7fe..67bb7c7d63 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
@@ -292,6 +292,10 @@ public class DefaultOperationMetadata extends ISOMetadata implements OperationMe
     /**
      * Returns the parameters that are required for this interface.
      *
+     * <h4>Unified parameter API</h4>
+     * In GeoAPI, the {@code SV_Parameter} type defined by ISO 19115 is replaced by {@code ParameterDescriptor}
+     * in order to provide a single parameter API. See {@link org.opengis.parameter} for more information.
+     *
      * @return the parameters that are required for this interface, or an empty collection if none.
      */
     @Override
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 b4b639256b..b6828abf88 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
@@ -298,7 +298,7 @@ public class AbstractElement extends ISOMetadata implements Element {
      */
     private <V> void setMeasureReferenceProperty(final BiConsumer<DefaultMeasureReference,V> setter, final V newValue) {
         if (newValue != null) {
-            if (!(measureReference instanceof DefaultEvaluationMethod)) {
+            if (!(measureReference instanceof DefaultMeasureReference)) {
                 measureReference = new DefaultMeasureReference(measureReference);
             }
             setter.accept((DefaultMeasureReference) measureReference, newValue);
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 2813fc5e2b..317bd9b4d3 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
@@ -27,11 +27,13 @@ import org.opengis.metadata.quality.CoverageResult;
 import org.opengis.metadata.quality.ConformanceResult;
 import org.opengis.metadata.quality.QuantitativeResult;
 import org.opengis.metadata.quality.DescriptiveResult;
-import org.opengis.metadata.maintenance.Scope;
 import org.apache.sis.internal.jaxb.metadata.MD_Scope;
 import org.apache.sis.internal.jaxb.gco.GO_DateTime;
 import org.apache.sis.internal.metadata.ImplementationHelper;
 
+// Branch-dependent imports
+import org.opengis.metadata.maintenance.Scope;
+
 
 /**
  * Base class of more specific result classes.
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 cc1290f709..ad41b94b7a 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
@@ -61,7 +61,7 @@ public class DefaultAggregationDerivation extends DefaultEvaluationMethod implem
      *
      * @param  object  the metadata to copy values from, or {@code null} if none.
      *
-     * @see #castOrCopy(DefaultAggregationDerivation)
+     * @see #castOrCopy(AggregationDerivation)
      */
     public DefaultAggregationDerivation(final AggregationDerivation object) {
         super(object);
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 b60c360ec5..032b0822d5 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
@@ -24,12 +24,14 @@ import org.opengis.metadata.lineage.Lineage;
 import org.opengis.metadata.quality.DataQuality;
 import org.opengis.metadata.quality.Element;
 import org.opengis.metadata.quality.StandaloneQualityReportInformation;
-import org.opengis.metadata.maintenance.Scope;
 import org.opengis.metadata.maintenance.ScopeCode;
-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.maintenance.Scope;
+import org.apache.sis.metadata.iso.maintenance.DefaultScope;
+
 
 /**
  * Quality information for the data specified by a data quality scope.
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 6ab9a82c89..dc39fc82f1 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
@@ -428,6 +428,10 @@ public class DefaultMeasure extends ISOMetadata implements Measure {
      * Returns auxiliary variable(s) used by the data quality measure.
      * It shall include its name, definition and value type.
      *
+     * <h4>Unified parameter API</h4>
+     * In GeoAPI, the {@code DQM_Parameter} type defined by ISO 19157 is replaced by {@link ParameterDescriptor}
+     * in order to provide a single parameter API. See {@link org.opengis.parameter} for more information.
+     *
      * @return auxiliary variable(s) used by data quality measure.
      */
     @Override
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
index 791b8ac013..da11b94aec 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
@@ -308,11 +308,12 @@ public abstract class Parameters implements ParameterValueGroup, Cloneable {
      * This method performs the following checks:
      *
      * <ul>
-     *   <li>If the {@linkplain DefaultParameterDescriptor#getName() primary name} is an instance of {@code MemberName},
-     *       returns that primary name.</li>
+     *   <li>If the {@linkplain DefaultParameterDescriptor#getName() primary name} is an instance of {@code MemberName}
+     *       (for example a {@link org.apache.sis.referencing.NamedIdentifier} subclass), returns that primary name.</li>
      *   <li>Otherwise this method searches for the first {@linkplain DefaultParameterDescriptor#getAlias() alias}
-     *       which is an instance of {@code MemberName}. If found, that alias is returned.</li>
-     *   <li>If no alias is found, then this method tries to build a member name from the primary name and the
+     *       which is an instance of {@code MemberName} (a subtype of aliases type).
+     *       If found, that alias is returned.</li>
+     *   <li>If no alias is found, then this method tries to build a {@code MemberName} from the primary name and the
      *       {@linkplain DefaultParameterDescriptor#getValueClass() value class}, using the mapping defined in
      *       {@link org.apache.sis.util.iso.DefaultTypeName} javadoc.</li>
      * </ul>
diff --git 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
index fdb16740a8..56a1a7dae0 100644
--- 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
@@ -24,7 +24,6 @@ import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDirection;
 import org.opengis.parameter.ParameterValue;
 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;
@@ -39,6 +38,9 @@ import org.junit.Test;
 
 import static org.junit.Assert.*;
 
+// Branch-dependent imports
+import org.opengis.metadata.Identifier;
+
 
 /**
  * Tests the static methods in the {@link Parameters} class.