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 a56028b94c7dadf011fad9eaa4a3ed6ccc36bfa4
Merge: 4863545 e495c9f
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Sun Sep 19 19:03:23 2021 +0200

    Merge branch 'geoapi-3.1'

 application/sis-console/pom.xml                    |   6 -
 .../apache/sis/gui/dataset/ResourceExplorer.java   |   8 +-
 .../org/apache/sis/internal/setup/FXFinder.java    |   2 +-
 application/sis-openoffice/pom.xml                 |  33 +-
 .../src/main/unopkg/build-instruction.html         |  18 +-
 .../sis-openoffice/src/main/unopkg/license.txt     |  21 +-
 .../java/org/apache/sis/image/Interpolation.java   |   8 +-
 .../org/apache/sis/image/LanczosInterpolation.java |  94 ++-
 .../internal/coverage/j2d/ColorModelFactory.java   |   7 +
 .../apache/sis/internal/feature/Geometries.java    |   4 +-
 .../apache/sis/internal/feature/GeometryType.java  |  11 +
 .../apache/sis/internal/feature/esri/Factory.java  |  97 ++-
 .../apache/sis/internal/feature/esri/Wrapper.java  |  78 +-
 .../apache/sis/internal/feature/j2d/Factory.java   |  64 ++
 .../sis/internal/feature/j2d/PointWrapper.java     | 117 ++-
 .../apache/sis/internal/feature/j2d/Wrapper.java   | 199 ++++-
 .../sis/internal/filter/GeometryConverter.java     |   2 +-
 .../org/apache/sis/feature/CustomAttribute.java    |   2 +-
 .../org/apache/sis/feature/FeatureTestCase.java    |   2 +-
 .../builder/AssociationRoleBuilderTest.java        |   2 +-
 .../BinarySpatialFilterUsingESRI_Test.java}        |  39 +-
 .../BinarySpatialFilterUsingJava2D_Test.java       | 102 +++
 .../org/apache/sis/image/InterpolationTest.java    |  22 +-
 .../internal/filter/sqlmm/RegistryTestCase.java    |  27 +-
 ...ngJTS_Test.java => RegistryUsingESRI_Test.java} |  46 +-
 .../filter/sqlmm/RegistryUsingJTS_Test.java        |   2 +-
 .../filter/sqlmm/RegistryUsingJava2D_Test.java     |  82 ++
 .../apache/sis/test/suite/FeatureTestSuite.java    |   4 +
 .../apache/sis/internal/jaxb/cat/CodeListUID.java  |   2 +-
 .../jaxb/gco/InternationalStringAdapter.java       |   2 +-
 .../jaxb/gco/InternationalStringConverter.java     |   2 +-
 .../apache/sis/internal/jaxb/gco/PropertyType.java |   5 +-
 .../sis/internal/jaxb/gts/TM_PeriodDuration.java   |   2 +-
 .../apache/sis/internal/jaxb/lan/PT_FreeText.java  |   4 +-
 .../sis/internal/jaxb/metadata/MD_Scope.java       |  16 +
 .../apache/sis/internal/simple/SimpleCitation.java |   2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |   2 +-
 .../sis/metadata/iso/quality/DefaultScope.java     |   2 +-
 .../sis/metadata/iso/quality/package-info.java     |   2 +-
 .../java/org/apache/sis/util/iso/AbstractName.java |   3 +-
 .../org/apache/sis/util/iso/DefaultLocalName.java  |   3 +-
 .../apache/sis/util/iso/DefaultNameFactory.java    |   2 +
 .../org/apache/sis/util/iso/DefaultNameSpace.java  |   1 +
 .../main/java/org/apache/sis/util/iso/Types.java   |  34 +-
 .../java/org/apache/sis/util/iso/package-info.java |   9 -
 .../java/org/apache/sis/xml/MarshalContext.java    |   2 +-
 .../java/org/apache/sis/xml/TransformVersion.java  |   2 +-
 .../java/org/apache/sis/xml/TransformedEvent.java  |   1 +
 .../main/java/org/apache/sis/xml/Transformer.java  |  92 ++-
 .../org/apache/sis/xml/TransformingNamespaces.java |   4 +-
 .../org/apache/sis/xml/TransformingReader.java     |   4 +-
 .../org/apache/sis/xml/TransformingWriter.java     |  34 +-
 .../src/main/java/org/apache/sis/xml/XML.java      |   2 +-
 .../src/main/java/org/apache/sis/xml/readme.html   |  21 +-
 .../org/apache/sis/xml/RenameOnExport.lst          |   4 +-
 .../org/apache/sis/xml/RenameOnImport.lst          |   2 +-
 .../sis/internal/jaxb/gco/PropertyTypeTest.java    |   2 +-
 .../sis/internal/jaxb/gco/StringAdapterTest.java   |   4 +-
 .../internal/jaxb/lan/FreeTextMarshallingTest.java |   2 +-
 .../java/org/apache/sis/metadata/HashCodeTest.java |   2 +-
 .../apache/sis/metadata/MetadataStandardTest.java  |   2 +-
 .../sis/metadata/ModifiableMetadataTest.java       |   2 +-
 .../apache/sis/metadata/PropertyAccessorTest.java  |   2 +-
 .../apache/sis/metadata/TreeNodeChildrenTest.java  |   2 +-
 .../apache/sis/metadata/TreeTableFormatTest.java   |   2 +-
 .../java/org/apache/sis/metadata/ValueMapTest.java |   2 +-
 .../sis/metadata/iso/CustomMetadataTest.java       |   2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java      |   2 +-
 .../metadata/iso/citation/DefaultCitationTest.java |   4 +-
 .../metadata/iso/citation/HardCodedCitations.java  |   2 +-
 .../sis/metadata/iso/extent/DefaultExtentTest.java |   2 +-
 .../iso/identification/DefaultKeywordsTest.java    |   2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |   2 +-
 .../iso/lineage/DefaultProcessStepTest.java        |   2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java    |  79 ++
 .../iso/spatial/DefaultGeorectifiedTest.java       |   2 +-
 .../sis/metadata/sql/MetadataSourceTest.java       |   2 +-
 .../apache/sis/test/suite/MetadataTestSuite.java   |   3 +-
 .../sis/util/iso/DefaultNameFactoryTest.java       |   1 +
 .../apache/sis/util/iso/DefaultScopedNameTest.java |   1 +
 .../java/org/apache/sis/util/iso/TypesTest.java    |   2 +
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |   2 +-
 .../test/java/org/apache/sis/xml/XLinkTest.java    |   2 +-
 .../internal/referencing/CoordinateOperations.java |   2 +-
 .../internal/referencing/ReferencingUtilities.java |  35 +
 .../internal/referencing/SignReversalComment.java  |   2 +-
 .../referencing/SpecializedOperationFactory.java   |  55 --
 .../referencing/provider/SatelliteTracking.java    |   2 +-
 .../java/org/apache/sis/io/wkt/WKTDictionary.java  |   2 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |   1 -
 .../factory/CommonAuthorityFactory.java            |   2 +-
 .../factory/GeodeticAuthorityFactory.java          |   2 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |  12 +-
 .../operation/AbstractSingleOperation.java         |  19 +-
 .../operation/CoordinateOperationFinder.java       |  19 -
 .../operation/CoordinateOperationRegistry.java     |   9 +-
 .../referencing/operation/DefaultConversion.java   |   8 +-
 .../DefaultCoordinateOperationFactory.java         |  43 +-
 .../operation/DefaultOperationMethod.java          |   2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |   6 +
 .../org/apache/sis/io/wkt/ComparisonWithEPSG.java  |  31 +-
 .../sis/referencing/ImmutableIdentifierTest.java   |   2 +-
 .../sis/referencing/NamedIdentifierTest.java       |   2 +-
 .../referencing/factory/AuthorityFactoryMock.java  |   2 +-
 .../apache/sis/test/integration/MetadataTest.java  |   2 +-
 .../sis/internal/converter/StringConverter.java    |   2 +-
 .../org/apache/sis/internal/system/Modules.java    |   5 -
 .../java/org/apache/sis/internal/system/OS.java    | 196 -----
 .../main/java/org/apache/sis/math/Statistics.java  |   2 +-
 .../java/org/apache/sis/measure/DerivedScalar.java |  15 +-
 .../java/org/apache/sis/measure/Quantities.java    |  25 +-
 .../main/java/org/apache/sis/measure/Scalar.java   |   9 +-
 .../org/apache/sis/measure/ScalarFallback.java     |   6 +
 .../apache/sis/measure/SexagesimalConverter.java   |   2 +-
 .../java/org/apache/sis/measure/SystemUnit.java    |  18 +-
 .../java/org/apache/sis/measure/UnitServices.java  |  39 +-
 .../main/java/org/apache/sis/setup/OptionKey.java  |   2 +-
 .../{iso => }/AbstractInternationalString.java     |  15 +-
 .../util/{iso => }/DefaultInternationalString.java |  43 +-
 .../{iso => }/ResourceInternationalString.java     |   7 +-
 .../util/{iso => }/SimpleInternationalString.java  |  13 +-
 .../apache/sis/util/collection/IntegerList.java    |   2 +-
 .../apache/sis/util/collection/TableColumn.java    |   2 +-
 .../apache/sis/util/logging/MonolineFormatter.java |   3 +-
 .../resources/ResourceInternationalString.java     |   4 +-
 .../apache/sis/util/resources/package-info.java    |   2 +-
 .../internal/converter/StringConverterTest.java    |   2 +-
 .../org/apache/sis/measure/QuantitiesTest.java     |  14 +
 .../sis/measure/SexagesimalConverterTest.java      |   2 +-
 .../org/apache/sis/measure/SystemUnitTest.java     |   2 +-
 .../org/apache/sis/measure/UnitFormatTest.java     |  20 +-
 .../java/org/apache/sis/measure/UnitsTest.java     |  36 +-
 .../apache/sis/test/suite/UtilityTestSuite.java    |   4 +-
 .../org/apache/sis/util/CharSequencesTest.java     |   1 -
 .../{iso => }/DefaultInternationalStringTest.java  |   2 +-
 .../{iso => }/SimpleInternationalStringTest.java   |   4 +-
 .../sis/util/collection/TreeTableFormatTest.java   |   2 +-
 .../apache/sis/util/collection/TreeTablesTest.java |   2 +-
 ide-project/NetBeans/build.xml                     |  11 -
 ide-project/NetBeans/nbproject/build-impl.xml      |  56 +-
 ide-project/NetBeans/nbproject/genfiles.properties |   4 +-
 ide-project/NetBeans/nbproject/project.properties  |   5 +-
 ide-project/NetBeans/nbproject/project.xml         |   3 -
 storage/pom.xml                                    |   1 -
 .../sis/storage/earthobservation/LandsatBand.java  |   2 +-
 storage/sis-gdal/pom.xml                           | 120 ---
 storage/sis-gdal/src/main/c/Makefile               |  77 --
 .../src/main/c/org_apache_sis_storage_gdal_PJ.c    | 321 --------
 .../src/main/c/org_apache_sis_storage_gdal_PJ.h    |  85 --
 .../internal/storage/gdal/OperationFactory.java    |  57 --
 .../sis/internal/storage/gdal/package-info.java    |  26 -
 .../main/java/org/apache/sis/storage/gdal/PJ.java  | 371 ---------
 .../java/org/apache/sis/storage/gdal/Proj4.java    | 401 ----------
 .../org/apache/sis/storage/gdal/Proj4Factory.java  | 886 ---------------------
 .../org/apache/sis/storage/gdal/Proj4Parser.java   | 185 -----
 .../org/apache/sis/storage/gdal/Transform.java     | 247 ------
 .../org/apache/sis/storage/gdal/package-info.java  |  90 ---
 ...nternal.referencing.SpecializedOperationFactory |   1 -
 ...org.opengis.referencing.crs.CRSAuthorityFactory |   1 -
 .../resources/native/darwin/libproj-binding.so     | Bin 14016 -> 0 bytes
 .../main/resources/native/linux/libproj-binding.so | Bin 13504 -> 0 bytes
 .../apache/sis/storage/gdal/IntegrationTest.java   |  63 --
 .../org/apache/sis/storage/gdal/MTFactory.java     | 199 -----
 .../java/org/apache/sis/storage/gdal/PJTest.java   | 181 -----
 .../apache/sis/storage/gdal/Proj4FactoryTest.java  | 148 ----
 .../apache/sis/storage/gdal/Proj4ParserTest.java   |  83 --
 .../org/apache/sis/storage/gdal/Proj4Test.java     |  46 --
 .../org/apache/sis/test/suite/GDALTestSuite.java   |  49 --
 .../sis/internal/storage/AbstractResource.java     |   2 +-
 .../apache/sis/internal/storage/gpx/Metadata.java  |   2 +-
 .../org/apache/sis/internal/storage/gpx/Store.java |   2 +-
 .../org/apache/sis/internal/storage/gpx/Types.java |   2 +-
 172 files changed, 1554 insertions(+), 4430 deletions(-)

diff --cc application/sis-openoffice/src/main/unopkg/build-instruction.html
index a26b547,0f6af24..1bfbd75
--- a/application/sis-openoffice/src/main/unopkg/build-instruction.html
+++ b/application/sis-openoffice/src/main/unopkg/build-instruction.html
@@@ -101,9 -98,22 +98,22 @@@ mvn install</pre></blockquote
  
  
  <h2>Test in Apache OpenOffice:</h2>
+ <p>Launch:</p>
  <blockquote><pre>cd target
 -unopkg add apache-sis-1.0-SNAPSHOT.oxt --log-file log.txt
 +unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt
- scalc -Xdebug -env:RTL_LOGFILE=log.txt</pre></blockquote>
+ scalc -env:RTL_LOGFILE=log.txt</pre></blockquote>
+ 
+ <p>If not already done, configure Java runtime with
+   <i>Tools</i> → <i>Options…</i> → <i>Advanced</i> → <i>Java options</i> → 
<i>Parameters</i>
+   and specify the following parameters:
+ </p>
+ 
<blockquote><pre>-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n</pre></blockquote>
+ 
+ <p>
+   It allows to attach the IDE debugger to the Java virtual machine running in 
LibreOffice.
+   For example with NetBeans, use <i>Debug</i> → <i>Attach debugger…</i>,
+   select "Socket attach" as the transport and 8000 as the port number.
+ </p>
  
    </body>
  </html>
diff --cc 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PointWrapper.java
index d8b8d1a,7c238a7..a51b96b
--- 
a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PointWrapper.java
+++ 
b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PointWrapper.java
@@@ -27,7 -31,8 +31,10 @@@ import org.apache.sis.internal.feature.
  import org.apache.sis.internal.feature.GeometryWrapper;
  import org.apache.sis.internal.filter.sqlmm.SQLMM;
  import org.apache.sis.util.Debug;
 -import org.opengis.filter.SpatialOperatorName;
 +
++// Branch-dependent imports
++import org.apache.sis.internal.geoapi.filter.SpatialOperatorName;
+ 
  
  /**
   * The wrapper of Java2D points. Has to be provided in a separated class 
because
diff --cc 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Wrapper.java
index 4178386,a37af34..99526c6
--- 
a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Wrapper.java
+++ 
b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Wrapper.java
@@@ -34,6 -38,9 +38,9 @@@ import org.apache.sis.internal.jdk9.JDK
  import org.apache.sis.util.ArraysExt;
  import org.apache.sis.util.Debug;
  
+ // Branch-dependent imports
 -import org.opengis.filter.SpatialOperatorName;
++import org.apache.sis.internal.geoapi.filter.SpatialOperatorName;
+ 
  
  /**
   * The wrapper of Java2D geometries.
diff --cc 
core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java
index 628daf8,cb7da80..9761c88
--- 
a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java
+++ 
b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/GeometryConverter.java
@@@ -137,8 -138,8 +137,8 @@@ final class GeometryConverter<R,G> exte
       *       If we can not do that, check how to propagate the wrap-around 
policy from some context.
       *
       * @param  input  the geometry to evaluate with this expression.
-      * @return the geometry boundary.
+      * @return the geometry wrapper, or {@code null} if the evaluated value 
is null.
 -     * @throws InvalidFilterValueException if the expression result is not an 
instance of a supported type.
 +     * @throws IllegalArgumentException if the expression result is not an 
instance of a supported type.
       */
      @Override
      public GeometryWrapper<G> apply(final R input) {
diff --cc 
core/sis-feature/src/test/java/org/apache/sis/internal/filter/sqlmm/RegistryTestCase.java
index 60b7987,d9c3f4f..4ac5134
--- 
a/core/sis-feature/src/test/java/org/apache/sis/internal/filter/sqlmm/RegistryTestCase.java
+++ 
b/core/sis-feature/src/test/java/org/apache/sis/internal/filter/sqlmm/RegistryTestCase.java
@@@ -337,9 -354,9 +352,9 @@@ public abstract strictfp class Registry
          assertEquals(Boolean.FALSE, evaluate("ST_Intersects", point, 
geometry));
  
          // Border should intersect. Also use Feature instead of Literal as a 
source.
 -        final Feature feature = 
createFeatureWithGeometry(library.polygonClass);
 -        final ValueReference<Feature,?> ref = factory.property(P_NAME, 
library.polygonClass);
 +        final AbstractFeature feature = 
createFeatureWithGeometry(library.polygonClass);
 +        final Expression<AbstractFeature,?> ref = factory.property(P_NAME, 
library.polygonClass);
-         point = library.createPoint(1.2, 0.2);
+         point = library.createPoint(0.2, 0.3);
          function = factory.function("ST_Intersects", ref, 
factory.literal(point));
          assertEquals(Boolean.TRUE, function.apply(feature));
  
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Scope.java
index 0500404,72aa3b6..a1cdf15
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Scope.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Scope.java
@@@ -16,8 -16,9 +16,9 @@@
   */
  package org.apache.sis.internal.jaxb.metadata;
  
+ import java.net.URISyntaxException;
  import javax.xml.bind.annotation.XmlElementRef;
 -import org.opengis.metadata.maintenance.Scope;
 +import org.opengis.metadata.quality.Scope;
  import org.apache.sis.metadata.iso.maintenance.DefaultScope;
  import org.apache.sis.internal.jaxb.gco.PropertyType;
  
@@@ -92,6 -93,21 +93,21 @@@ public class MD_Scope extends PropertyT
      }
  
      /**
+      * On unmarshalling, creates an instance of the deprecated
+      * {@link org.apache.sis.metadata.iso.quality.DefaultScope} subclass.
+      */
+     public static final class Legacy extends MD_Scope {
+         /** Empty constructor used only by JAXB. */
+         public Legacy() {
+         }
+ 
+         /** Converts an adapter read from an XML stream. */
+         @Override public Scope unmarshal(final MD_Scope value) throws 
URISyntaxException {
 -            return 
org.apache.sis.metadata.iso.quality.DefaultScope.castOrCopy( 
super.unmarshal(value));
++            return DefaultScope.castOrCopy( super.unmarshal(value));
+         }
+     }
+ 
+     /**
       * Wraps the value only if marshalling an element from the ISO 19115:2003 
metadata model.
       * Otherwise (i.e. if marshalling according legacy ISO 19115:2014 model), 
omits the element.
       */
diff --cc 
core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
index 5533ba5,76ecb6b..87f74ff
--- 
a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
+++ 
b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
@@@ -16,19 -16,11 +16,19 @@@
   */
  package org.apache.sis.internal.simple;
  
 +import java.util.Date;
  import java.util.Objects;
 +import java.util.Collection;
 +import java.util.Collections;
  import java.io.Serializable;
 +import org.opengis.metadata.Identifier;
  import org.opengis.metadata.citation.Citation;
 +import org.opengis.metadata.citation.CitationDate;
 +import org.opengis.metadata.citation.PresentationForm;
 +import org.opengis.metadata.citation.ResponsibleParty;
 +import org.opengis.metadata.citation.Series;
  import org.opengis.util.InternationalString;
- import org.apache.sis.util.iso.SimpleInternationalString;
+ import org.apache.sis.util.SimpleInternationalString;
  import org.apache.sis.internal.util.Strings;
  
  
diff --cc core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
index f697bd6,d5433d4..173b7c0
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
@@@ -28,7 -30,11 +30,10 @@@ import java.io.IOException
  import java.io.InputStream;
  import org.opengis.annotation.UML;
  import org.opengis.util.CodeList;
 -import org.opengis.util.ControlledVocabulary;
  import org.opengis.util.InternationalString;
+ import org.apache.sis.util.SimpleInternationalString;
+ import org.apache.sis.util.DefaultInternationalString;
+ import org.apache.sis.util.ResourceInternationalString;
  import org.apache.sis.util.Static;
  import org.apache.sis.util.Locales;
  import org.apache.sis.util.CharSequences;
diff --cc 
core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java
index 98d36cc,1816da1..79d37af
--- 
a/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java
+++ 
b/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java
@@@ -49,15 -50,13 +49,15 @@@ import org.opengis.referencing.datum.Ge
  import org.opengis.referencing.cs.EllipsoidalCS;
  import org.opengis.util.InternationalString;
  import org.opengis.util.GenericName;
 -import org.opengis.temporal.Duration;
  
  import org.apache.sis.util.ComparisonMode;
- import org.apache.sis.util.iso.SimpleInternationalString;
+ import org.apache.sis.util.SimpleInternationalString;
  import org.apache.sis.metadata.iso.citation.DefaultCitation;
  import org.apache.sis.metadata.iso.citation.HardCodedCitations;
 +import org.apache.sis.metadata.iso.content.DefaultAttributeGroup;
  import org.apache.sis.metadata.iso.content.DefaultCoverageDescription;
 +import org.apache.sis.metadata.iso.identification.AbstractIdentification;
 +import org.apache.sis.metadata.iso.identification.DefaultAssociatedResource;
  import org.apache.sis.metadata.iso.identification.DefaultDataIdentification;
  import org.apache.sis.test.DependsOnMethod;
  import org.apache.sis.test.DependsOn;
diff --cc 
core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/CustomMetadataTest.java
index b7fa6d5,c01907e..87186e4
--- 
a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/CustomMetadataTest.java
+++ 
b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/CustomMetadataTest.java
@@@ -27,14 -27,9 +27,14 @@@ import javax.xml.bind.JAXBException
  import org.opengis.util.NameFactory;
  import org.opengis.metadata.identification.*;
  import org.opengis.metadata.citation.Citation;
 +import org.opengis.metadata.citation.ResponsibleParty;
 +import org.opengis.metadata.constraint.Constraints;
 +import org.opengis.metadata.distribution.Format;
  import org.opengis.metadata.extent.Extent;
 +import org.opengis.metadata.maintenance.MaintenanceInformation;
 +import org.opengis.metadata.spatial.SpatialRepresentationType;
  import org.opengis.util.InternationalString;
- import org.apache.sis.util.iso.SimpleInternationalString;
+ import org.apache.sis.util.SimpleInternationalString;
  import org.apache.sis.metadata.iso.citation.DefaultCitation;
  import org.apache.sis.internal.system.DefaultFactories;
  import org.apache.sis.test.xml.TestCase;
diff --cc 
core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/ScopeCodeTest.java
index 0000000,126617c..137c841
mode 000000,100644..100644
--- 
a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/ScopeCodeTest.java
+++ 
b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/ScopeCodeTest.java
@@@ -1,0 -1,79 +1,79 @@@
+ /*
+  * 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.metadata.iso.quality;
+ 
+ import javax.xml.bind.JAXBException;
 -import org.opengis.metadata.maintenance.Scope;
++import org.opengis.metadata.quality.Scope;
+ import org.opengis.metadata.maintenance.ScopeCode;
+ import org.apache.sis.test.xml.TestCase;
+ import org.junit.Test;
+ 
+ import static org.apache.sis.test.MetadataAssert.*;
+ 
+ 
+ /**
+  * Tests the marshalling of elements containing {@link ScopeCode}.
+  * When formatting legacy XML, {@code MD_Scope} should be renamed {@code 
DQ_Scope}.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.1
+  *
+  * @see <a href="https://issues.apache.org/jira/browse/SIS-508";>SIS-508 on 
issue tracker</a>
+  *
+  * @since 1.1
+  * @module
+  */
+ public final strictfp class ScopeCodeTest extends TestCase {
+     /**
+      * The XML fragment used for testing.
+      */
+     private static final String XML =
+             "<gmd:DQ_DataQuality 
xmlns:gmd=\"http://www.isotc211.org/2005/gmd\";>\n" +
+             "  <gmd:scope>\n" +
+             "    <gmd:DQ_Scope>\n" +
+             "      <gmd:level>\n" +
+             "        <gmd:MD_ScopeCode 
codeList=\"http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode\"";
+                               + " codeListValue=\"dataset\" 
codeSpace=\"eng\">Dataset</gmd:MD_ScopeCode>\n" +
+             "      </gmd:level>\n" +
+             "    </gmd:DQ_Scope>\n" +
+             "  </gmd:scope>\n" +
+             "</gmd:DQ_DataQuality>\n";
+ 
+     /**
+      * Tests marshalling a small metadata containing a {@link ScopeCode}.
+      *
+      * @throws JAXBException if an error occurred during XML marshalling.
+      */
+     @Test
+     public void testMarshallingLegacy() throws JAXBException {
+         final String actual = marshal(new 
DefaultDataQuality(ScopeCode.DATASET), VERSION_2007);
+         assertXmlEquals(XML, actual, "xmlns:*");
+     }
+ 
+     /**
+      * Tests unmarshalling a small metadata containing a {@link ScopeCode}.
+      *
+      * @throws JAXBException if an error occurred during XML unmarshalling.
+      */
+     @Test
+     public void testUnmarshallingLegacy() throws JAXBException {
+         final DefaultDataQuality metadata = 
unmarshal(DefaultDataQuality.class, XML);
+         final Scope scope = metadata.getScope();
+         assertNotNull("scope", scope);
+         assertEquals(ScopeCode.DATASET, scope.getLevel());
+     }
+ }
diff --cc core/sis-metadata/src/test/java/org/apache/sis/util/iso/TypesTest.java
index dbbc34f,17161db..d077ca4
--- a/core/sis-metadata/src/test/java/org/apache/sis/util/iso/TypesTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/util/iso/TypesTest.java
@@@ -30,6 -30,9 +30,8 @@@ import org.opengis.metadata.content.Ima
  import org.opengis.referencing.datum.Datum;
  import org.opengis.referencing.datum.PixelInCell;
  import org.opengis.referencing.cs.AxisDirection;
 -import org.opengis.parameter.ParameterDirection;
+ import org.apache.sis.util.SimpleInternationalString;
+ import org.apache.sis.util.DefaultInternationalString;
  import org.apache.sis.test.TestCase;
  import org.junit.Test;
  
diff --cc 
core/sis-utility/src/main/java/org/apache/sis/util/AbstractInternationalString.java
index ecf4c4e,8db84a3..174015a
--- 
a/core/sis-utility/src/main/java/org/apache/sis/util/AbstractInternationalString.java
+++ 
b/core/sis-utility/src/main/java/org/apache/sis/util/AbstractInternationalString.java
@@@ -39,10 -38,10 +38,10 @@@ import org.apache.sis.internal.util.Str
   * by a {@link org.opengis.util.CodeList} value. This can be done with:
   *
   * <ul>
-  *   <li>{@link Types#getCodeTitle(CodeList)} for getting the {@link 
InternationalString}
-  *       instance to store in a metadata property.</li>
-  *   <li>{@link Types#forCodeTitle(CharSequence)} for retrieving the {@link 
org.opengis.util.CodeList}
-  *       previously stored as an {@code InternationalString}.</li>
 - *   <li>{@link 
org.apache.sis.util.iso.Types#getCodeTitle(ControlledVocabulary)} for getting
++ *   <li>{@link org.apache.sis.util.iso.Types#getCodeTitle(CodeList)} for 
getting
+  *       the {@link InternationalString} instance to store in a metadata 
property.</li>
+  *   <li>{@link org.apache.sis.util.iso.Types#forCodeTitle(CharSequence)} for 
retrieving the
+  *       {@link org.opengis.util.CodeList} previously stored as an {@code 
InternationalString}.</li>
   * </ul>
   *
   * @author  Martin Desruisseaux (IRD, Geomatys)
diff --cc ide-project/NetBeans/nbproject/build-impl.xml
index ead8b41,bcc1101..101717a
--- a/ide-project/NetBeans/nbproject/build-impl.xml
+++ b/ide-project/NetBeans/nbproject/build-impl.xml
@@@ -343,10 -341,9 +340,8 @@@ is divided into following sections
          <fail unless="src.utility.dir">Must set src.utility.dir</fail>
          <fail unless="src.fra-profile.dir">Must set src.fra-profile.dir</fail>
          <fail unless="src.jpn-profile.dir">Must set src.jpn-profile.dir</fail>
-         <fail unless="src.gdal.dir">Must set src.gdal.dir</fail>
-         <fail unless="src.c.gdal.dir">Must set src.c.gdal.dir</fail>
          <fail unless="test.javafx.dir">Must set test.javafx.dir</fail>
          <fail unless="test.console.dir">Must set test.console.dir</fail>
 -        <fail unless="test.portrayal.dir">Must set test.portrayal.dir</fail>
          <fail unless="test.earth-obs.dir">Must set test.earth-obs.dir</fail>
          <fail unless="test.geotiff.dir">Must set test.geotiff.dir</fail>
          <fail unless="test.netcdf.dir">Must set test.netcdf.dir</fail>
@@@ -782,12 -781,9 +773,9 @@@
                      <fileset dir="${test.jpn-profile.dir}" 
excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                          <filename name="@{testincludes}"/>
                      </fileset>
-                     <fileset dir="${test.gdal.dir}" 
excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                         <filename name="@{testincludes}"/>
-                     </fileset>
                  </union>
                  <taskdef classname="org.testng.TestNGAntTask" 
classpath="${run.test.classpath}" name="testng"/>
 -                <testng classfilesetref="test.set" 
failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" 
methods="${testng.methods.arg}" mode="${testng.mode}" 
outputdir="${build.test.results.dir}" suitename="Apache_SIS_on_GeoAPI_3.1" 
testname="TestNG tests" workingDir="${work.dir}">
 +                <testng classfilesetref="test.set" 
failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" 
methods="${testng.methods.arg}" mode="${testng.mode}" 
outputdir="${build.test.results.dir}" suitename="Apache_SIS_on_GeoAPI_3.0" 
testname="TestNG tests" workingDir="${work.dir}">
                      <xmlfileset dir="${build.test.classes.dir}" 
includes="@{testincludes}"/>
                      <propertyset>
                          <propertyref prefix="test-sys-prop."/>
@@@ -1852,14 -1834,14 +1826,14 @@@
          <!-- You can override this target in the ../build.xml file. -->
      </target>
      <target depends="-init-source-module-properties" 
if="named.module.internal" 
name="-init-test-javac-module-properties-with-module">
-         <j2seproject3:modulename property="test.module.name" 
sourcepath="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}:${test.gdal.dir}"/>
-         <condition else="${empty.dir}" property="javac.test.sourcepath" 
value="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}:${test.gdal.dir}">
 -        <j2seproject3:modulename property="test.module.name" 
sourcepath="${test.javafx.dir}:${test.console.dir}:${test.portrayal.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}"/>
 -        <condition else="${empty.dir}" property="javac.test.sourcepath" 
value="${test.javafx.dir}:${test.console.dir}:${test.portrayal.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}">
++        <j2seproject3:modulename property="test.module.name" 
sourcepath="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}"/>
++        <condition else="${empty.dir}" property="javac.test.sourcepath" 
value="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}">
              <and>
                  <isset property="test.module.name"/>
                  <length length="0" string="${test.module.name}" 
when="greater"/>
              </and>
          </condition>
-         <condition else="--patch-module 
${module.name}=${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}:${test.gdal.dir}
 --add-reads ${module.name}=ALL-UNNAMED" property="javac.test.compilerargs" 
value="--a [...]
 -        <condition else="--patch-module 
${module.name}=${test.javafx.dir}:${test.console.dir}:${test.portrayal.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}
 --add-reads ${module.name}=ALL-UNNAMED" property="javac.test.compilerargs" 
value [...]
++        <condition else="--patch-module 
${module.name}=${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}
 --add-reads ${module.name}=ALL-UNNAMED" property="javac.test.compilerargs" 
value="--add-reads ${test.m [...]
              <and>
                  <isset property="test.module.name"/>
                  <length length="0" string="${test.module.name}" 
when="greater"/>
@@@ -1900,10 -1882,10 +1874,10 @@@
      </target>
      <target 
depends="-init-test-javac-module-properties-with-module,-init-test-module-properties-without-module"
 name="-init-test-module-properties"/>
      <target if="do.depend.true" name="-compile-test-depend">
-         <j2seproject3:depend classpath="${javac.test.classpath}" 
destdir="${build.test.classes.dir}" 
srcdir="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}:${test.gdal.dir}"/>
 -        <j2seproject3:depend classpath="${javac.test.classpath}" 
destdir="${build.test.classes.dir}" 
srcdir="${test.javafx.dir}:${test.console.dir}:${test.portrayal.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}"/>
++        <j2seproject3:depend classpath="${javac.test.classpath}" 
destdir="${build.test.classes.dir}" 
srcdir="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.ref-by-id.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}:${test.jpn-profile.dir}"/>
      </target>
      <target 
depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend"
 if="have.tests" name="-do-compile-test">
-         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" modulepath="${javac.test.modulepath}" 
processorpath="${javac.test.processorpath}" 
sourcepath="${javac.test.sourcepath}" 
srcdir="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${tes
 [...]
 -        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" modulepath="${javac.test.modulepath}" 
processorpath="${javac.test.processorpath}" 
sourcepath="${javac.test.sourcepath}" 
srcdir="${test.javafx.dir}:${test.console.dir}:${test.portrayal.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${t
 [...]
++        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" modulepath="${javac.test.modulepath}" 
processorpath="${javac.test.processorpath}" 
sourcepath="${javac.test.sourcepath}" 
srcdir="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:${test.feature.dir}:${tes
 [...]
              <customize>
                  <compilerarg line="${javac.test.compilerargs}"/>
              </customize>
@@@ -1940,7 -1922,7 +1913,7 @@@
      <target 
depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test-single"
 if="have.tests" name="-do-compile-test-single">
          <fail unless="javac.includes">Must select some files in the IDE or 
set javac.includes</fail>
          <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}, 
module-info.java" modulepath="${javac.test.modulepath}" 
processorpath="${javac.test.processorpath}" 
sourcepath="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:
 [...]
 -        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}, 
module-info.java" modulepath="${javac.test.modulepath}" 
processorpath="${javac.test.processorpath}" 
sourcepath="${test.javafx.dir}:${test.console.dir}:${test.portrayal.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir
 [...]
++        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}, 
module-info.java" modulepath="${javac.test.modulepath}" 
processorpath="${javac.test.processorpath}" 
sourcepath="${test.javafx.dir}:${test.console.dir}:${test.earth-obs.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.sql.dir}:${test.xmlstore.dir}:${test.storage.dir}:
 [...]
              <customize>
                  <compilerarg line="${javac.test.compilerargs}"/>
              </customize>
diff --cc ide-project/NetBeans/nbproject/genfiles.properties
index c1e17d6,2900b94..8b030ff
--- a/ide-project/NetBeans/nbproject/genfiles.properties
+++ b/ide-project/NetBeans/nbproject/genfiles.properties
@@@ -3,6 -3,6 +3,6 @@@
  build.xml.data.CRC32=58e6b21c
  build.xml.script.CRC32=462eaba0
  build.xml.stylesheet.CRC32=28e38971@1.53.1.46
- nbproject/build-impl.xml.data.CRC32=30c56637
- nbproject/build-impl.xml.script.CRC32=c08b9acd
 -nbproject/build-impl.xml.data.CRC32=0142681e
 -nbproject/build-impl.xml.script.CRC32=0a9c8fc8
++nbproject/build-impl.xml.data.CRC32=bff50692
++nbproject/build-impl.xml.script.CRC32=ef3dbbf1
  nbproject/build-impl.xml.stylesheet.CRC32=d549e5cc@1.99.0.48

Reply via email to