[sis] branch geoapi-4.0 updated (24b12731b9 -> 0c022f2f1f)

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 24b12731b9 Add GPG signing for endorsed and optional modules. 
Incubator modules are not signed because not intended to be released.
 new 7e10eef9d5 Fixes to the build plugin based on release experience.
 new 0c022f2f1f Define Maven repositories for snapshots and release 
deployments.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/buildtools/gradle/BuildHelper.java   |  1 +
 .../org/apache/sis/buildtools/gradle/Conventions.java   |  5 +
 .../apache/sis/buildtools/gradle/ModularJavadoc.java|  1 +
 .../apache/sis/buildtools/gradle/ModularSources.java|  7 +--
 endorsed/build.gradle.kts   | 17 +
 incubator/build.gradle.kts  | 17 +
 optional/build.gradle.kts   | 17 +
 settings.gradle.kts |  1 +
 8 files changed, 60 insertions(+), 6 deletions(-)



[sis] 02/02: Define Maven repositories for snapshots and release deployments.

2023-10-05 Thread desruisseaux
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

commit 0c022f2f1f71fc4fdac2d0e1a63d57cc9490a157
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 15:25:06 2023 +0200

Define Maven repositories for snapshots and release deployments.
---
 endorsed/build.gradle.kts  | 17 +
 incubator/build.gradle.kts | 17 +
 optional/build.gradle.kts  | 17 +
 settings.gradle.kts|  1 +
 4 files changed, 52 insertions(+)

diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index c4806ce7ed..abf77b66cc 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -444,6 +444,23 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = 
providers.gradleProperty("asfNexusUsername")
+val asfNexusPassword = 
providers.gradleProperty("asfNexusPassword")
+if (asfNexusUsername.isPresent() && 
asfNexusPassword.isPresent()) {
+username = asfNexusUsername.get()
+password = asfNexusPassword.get()
+}
+}
+}
+}
 }
 
 signing {
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index e2e76b96bd..b2a0c48eb0 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -151,4 +151,21 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = 
providers.gradleProperty("asfNexusUsername")
+val asfNexusPassword = 
providers.gradleProperty("asfNexusPassword")
+if (asfNexusUsername.isPresent() && 
asfNexusPassword.isPresent()) {
+username = asfNexusUsername.get()
+password = asfNexusPassword.get()
+}
+}
+}
+}
 }
diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts
index a96990dfa5..a819cfed16 100644
--- a/optional/build.gradle.kts
+++ b/optional/build.gradle.kts
@@ -175,6 +175,23 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = 
providers.gradleProperty("asfNexusUsername")
+val asfNexusPassword = 
providers.gradleProperty("asfNexusPassword")
+if (asfNexusUsername.isPresent() && 
asfNexusPassword.isPresent()) {
+username = asfNexusUsername.get()
+password = asfNexusPassword.get()
+}
+}
+}
+}
 }
 
 signing {
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 6f5cf90996..c938ca4576 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -41,6 +41,7 @@ dependencyResolutionManagement {
 mavenCentral()
 mavenLocal()// For GeoAPI SNAPSHOT only, which are built 
locally.
 maven {
+name = "UCAR"
 url = 
uri("https://artifacts.unidata.ucar.edu/repository/unidata-releases;)
 content {
 includeGroup("edu.ucar")// Restrict usage to those 
dependencies.



[sis] 01/02: Fixes to the build plugin based on release experience.

2023-10-05 Thread desruisseaux
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

commit 7e10eef9d532c0ea8b9b08858ea6aff30acca36a
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 5 21:17:07 2023 +0200

Fixes to the build plugin based on release experience.
---
 .../main/org/apache/sis/buildtools/gradle/BuildHelper.java | 1 +
 .../main/org/apache/sis/buildtools/gradle/Conventions.java | 5 +
 .../main/org/apache/sis/buildtools/gradle/ModularJavadoc.java  | 1 +
 .../main/org/apache/sis/buildtools/gradle/ModularSources.java  | 7 +--
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
index 0408b27a8f..7dd86924e3 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
@@ -162,6 +162,7 @@ public final class BuildHelper implements Plugin {
 tasks.withType(Jar.class).forEach((task) -> {
 task.getInputs().dir(Conventions.SOURCE_DIRECTORY);
 task.getOutputs().dir(Conventions.fileRelativeToBuild(project, 
Conventions.LIBS_DIRECTORY));
+task.getOutputs().dir(Conventions.fileRelativeToBuild(project, 
Conventions.DOCS_DIRECTORY));
 task.setActions(List.of((t) -> {// Replace the default 
action by our own.
 ModularJAR.execute(BuildHelper.this, (Jar) t);
 }));
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
index c50dbefa95..471f16d67c 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
@@ -80,6 +80,11 @@ abstract class Conventions {
  */
 static final String LIBS_DIRECTORY = "libs";
 
+/**
+ * The sub-directory inside "{@value #BUILD_DIRECTORY}" for the Javadoc 
and sources ZIP files.
+ */
+static final String DOCS_DIRECTORY = "docs";
+
 /**
  * The sub-directory inside "{@value #BUILD_DIRECTORY}" for the ZIP or OXT 
files (assemblies).
  * Also the sibling directory of "{@value #MAIN_DIRECTORY}" and "{@value 
#TEST_DIRECTORY}"
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
index 63e917813a..1e89ccf257 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
@@ -70,6 +70,7 @@ final class ModularJavadoc extends Conventions {
 options.links(
 "https://docs.oracle.com/en/java/javase/11/docs/api;,
 "http://www.geoapi.org/snapshot/javadoc;,
+"https://openjfx.io/javadoc/21/;,
 "http://unitsofmeasurement.github.io/unit-api/site/apidocs;);
 /*
  * Taglet defined in this `buildSrc` sub-project.
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
index 9525b4f796..d330d6a9e5 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
@@ -31,11 +31,6 @@ import org.gradle.api.Task;
  * @author  Martin Desruisseaux (Geomatys)
  */
 final class ModularSources extends ZipWriter.JDK {
-/**
- * The directory where the ZIP files will be written.
- */
-private static final String OUTPUT_DIRECTORY = "docs";
-
 /**
  * The Java system property to set to {@code true} for enabling Javadoc 
generation.
  */
@@ -136,7 +131,7 @@ final class ModularSources extends ZipWriter.JDK {
 } else {
 sources = sourcesDir(project, module);
 }
-final var target = Conventions.fileRelativeToBuild(project, 
OUTPUT_DIRECTORY);
+final var target = Conventions.fileRelativeToBuild(project, 
Conventions.DOCS_DIRECTORY);
 target.mkdir();
 final File file = new File(target, module + '-' + (javadoc ? "javadoc" 
: "sources") + ".jar");
 try (ZipOutputStream out = new ZipOutputStream(new 
FileOutputStream(file))) {



svn commit: r1912760 - in /sis/data/non-free: ./ sis-embedded-data/ sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/ sis-embedded-data/src/test/java/org/apache/sis/resources/embedded

2023-10-05 Thread desruisseaux
Author: desruisseaux
Date: Thu Oct  5 23:21:19 2023
New Revision: 1912760

URL: http://svn.apache.org/viewvc?rev=1912760=rev
Log:
Upgrade to Apache SIS 1.4.

Removed:

sis/data/non-free/sis-embedded-data/src/test/java/org/apache/sis/resources/embedded/EmbeddedDataTestSuite.java

sis/data/non-free/sis-epsg/src/test/java/org/apache/sis/referencing/factory/sql/epsg/EpsgTestSuite.java
Modified:
sis/data/non-free/pom.xml
sis/data/non-free/sis-embedded-data/pom.xml

sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java

sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java

sis/data/non-free/sis-embedded-data/src/test/java/org/apache/sis/resources/embedded/EmbeddedResourcesTest.java
sis/data/non-free/sis-epsg/pom.xml

sis/data/non-free/sis-epsg/src/main/java/org/apache/sis/referencing/factory/sql/epsg/ScriptProvider.java

sis/data/non-free/sis-epsg/src/test/java/org/apache/sis/referencing/factory/sql/epsg/ScriptProviderTest.java

Modified: sis/data/non-free/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/data/non-free/pom.xml?rev=1912760=1912759=1912760=diff
==
--- sis/data/non-free/pom.xml (original)
+++ sis/data/non-free/pom.xml Thu Oct  5 23:21:19 2023
@@ -27,7 +27,7 @@
   
 org.apache.sis
 parent
-1.3
+1.4
   
 
 
@@ -95,12 +95,7 @@ The "non-free" modules contain data that
 
   org.opengis
   geoapi-conformance
-
-
-  org.apache.sis.core
-  sis-utility
-  ${project.version}
-  test-jar
+  3.0.2
   test
 
   

Modified: sis/data/non-free/sis-embedded-data/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/pom.xml?rev=1912760=1912759=1912760=diff
==
--- sis/data/non-free/sis-embedded-data/pom.xml (original)
+++ sis/data/non-free/sis-embedded-data/pom.xml Thu Oct  5 23:21:19 2023
@@ -27,7 +27,7 @@
   
 org.apache.sis
 non-free
-1.3
+1.4
   
 
 
@@ -84,6 +84,13 @@ Provides non-free data, including the EP
 
   org.apache.derby
   derby
+  10.15.2.0
+  compile
+
+
+  org.apache.derby
+  derbytools
+  10.15.2.0
   compile
 
   

Modified: 
sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java
URL: 
http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java?rev=1912760=1912759=1912760=diff
==
--- 
sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java
 [UTF-8] (original)
+++ 
sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java
 [UTF-8] Thu Oct  5 23:21:19 2023
@@ -24,8 +24,8 @@ import java.io.InputStreamReader;
 import java.io.IOException;
 import javax.sql.DataSource;
 import org.apache.derby.jdbc.EmbeddedDataSource;
-import org.apache.sis.internal.util.MetadataServices;
-import org.apache.sis.internal.metadata.sql.Initializer;
+import org.apache.sis.util.internal.MetadataServices;
+import org.apache.sis.metadata.sql.util.Initializer;
 import org.apache.sis.setup.InstallationResources;
 import org.apache.sis.util.resources.Errors;
 

Modified: 
sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java
URL: 
http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java?rev=1912760=1912759=1912760=diff
==
--- 
sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java
 [UTF-8] (original)
+++ 
sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java
 [UTF-8] Thu Oct  5 23:21:19 2023
@@ -37,10 +37,10 @@ import java.sql.SQLException;
 import org.opengis.util.FactoryException;
 import org.opengis.referencing.crs.GeographicCRS;
 import org.apache.derby.jdbc.EmbeddedDataSource;
-import org.apache.sis.internal.metadata.sql.Initializer;
-import org.apache.sis.internal.metadata.sql.LocalDataSource;
-import org.apache.sis.internal.system.Shutdown;
-import org.apache.sis.internal.util.Constants;
+import org.apache.sis.metadata.sql.util.Initializer;
+import org.apache.sis.metadata.sql.util.LocalDataSource;
+import org.apache.sis.system.Shutdown;
+import org.apache.sis.util.internal.Constants;
 import org.apache.sis.metadata.MetadataStandard;
 import org.apache.sis.metadata.sql.MetadataSource;
 import org.apache.sis.metadata.sql.MetadataStoreException;

Modified: 
sis/data/non-free/sis-embedded-data/src/test/java/

[sis-site] branch main updated: Partial update of release management notes, with more instruction about publishing.

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new e173b3eb Partial update of release management notes, with more 
instruction about publishing.
e173b3eb is described below

commit e173b3ebe551eb99faeae83fce8232546226ce03
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 5 21:56:17 2023 +0200

Partial update of release management notes, with more instruction about 
publishing.
---
 content/release-management.md | 173 --
 1 file changed, 117 insertions(+), 56 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index fefc147a..0e261a64 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -161,6 +161,18 @@ Then, the signed public key shall be appended to the 
`KEYS` file on the [SIS sou
 then copied to the [SIS distribution directory][dist].
 
 
+## Gradle configuration
+
+Edit the `~/.gradle/gradle.properties` file, making sure that the following 
properties are present:
+
+{{< highlight text >}}
+org.gradle.java.home=
+signing.gnupg.keyName=
+asfNexusUsername=
+asfNexusPassword=
+{{< / highlight >}}
+
+
 # Configure{#configure}
 
 For all instructions in this page, `$OLD_VERSION` and `$NEW_VERSION` stand for 
the version
@@ -292,7 +304,7 @@ git commit --message "Release notes for Apache SIS 
$NEW_VERSION."
 {{< / highlight >}}
 
 
-# Create release branch{#branch}
+# Create release artifacts{#create-artifacts}
 
 Execute the following commands.
 It is okay to checkout the branch in a separated directory if desired.
@@ -340,48 +352,123 @@ gradle test
 git commit --message="Set version number to $NEW_VERSION."
 {{< / highlight >}}
 
+
+## Initialize the distribution directory{#dist}
+
+Create the directory for the new version and release candidate within the 
distribution directory.
+The `$RELEASE_CANDIDATE` variable shall be the number of current release 
attempt.
+
+{{< highlight bash >}}
+cd ../release/distribution
+svn update
+mkdir -p $NEW_VERSION/RC$RELEASE_CANDIDATE
+svn add $NEW_VERSION
+cd $NEW_VERSION/RC$RELEASE_CANDIDATE
+export DIST_DIR=`pwd`
+{{< / highlight >}}
+
+Copy the `HEADER.html` file from the previous release.
+Update the file content if necessary.
+
+{{< highlight bash >}}
+svn copy 
https://dist.apache.org/repos/dist/release/sis/$OLD_VERSION/HEADER.html .
+{{< / highlight >}}
+
+
 ## Generate Javadoc{#javadoc}
 
-Execute the following commands. The first one (`gradle javadoc`) will fail.
-This is a known problem with the current build.
-Open `javadoc.options` file as below (`gedit` can be replaced by another 
editor),
-and move all `-classpath` content to `--module-path`.
-Then launch Javadoc from the command-line:
+Execute `gradle javadoc`. That command will fail. This is a known problem with 
the current Gradle build configuration.
+But it should have created a `javadoc.options` file that we will patch as 
below (`gedit` can be replaced by another editor):
 
 {{< highlight bash >}}
-gradle javadoc
+cd $SIS_RC_DIR
+gradle javadoc  # Fail. See workaround below.
 gedit endorsed/build/tmp/javadoc/javadoc.options
+{{< / highlight >}}
+
+Apply the following changes:
+
+* Move all `-classpath` content to `--module-path`.
+* Add the value of `$PATH_TO_FX` environment variable to the module-path.
+* Delete all Java source files listed after the options, everything until the 
end of file.
+* Add the following line in-place of deleted lines (omit the 
`org.opengis.geoapi` module if not desired):
+
+{{< highlight text >}}
+--module 
org.opengis.geoapi,org.apache.sis.util,org.apache.sis.metadata,org.apache.sis.referencing,org.apache.sis.referencing.gazetteer,org.apache.sis.feature,org.apache.sis.storage,org.apache.sis.storage.sql,org.apache.sis.storage.xml,org.apache.sis.storage.netcdf,org.apache.sis.storage.geotiff,org.apache.sis.storage.earthobservation,org.apache.sis.cloud.aws,org.apache.sis.portrayal,org.apache.sis.profile.france,org.apache.sis.profile.japan,org.apache.sis.openoffice,org.apache.sis.conso
 [...]
+{{< / highlight >}}
+
+The following commands temporarily create links to optional modules for 
inclusion in the Javadoc.
+The GeoAPI interfaces may also be copied if they should be bundled with the 
Javadoc.
+Then the Javadoc command is launched manually.
+
+{{< highlight bash >}}
+cd endorsed/src
+ln -s ../../optional/src/org.apache.sis.gui
+cd -
+
+# Replace "../../GeoAPI/3.0.2" by the path to a GeoAPI 3.0.2 checkout, or omit 
those lines.
+mkdir endorsed/src/org.opengis.geoapi
+cp -r ../../GeoAPI/3.0.2/geoapi/src/main/java
endorsed/src/org.opengis.geoapi/main
+cp -r ../../GeoAPI/3.0.2/geoapi/src/pending/java/org

[sis] 03/03: Fix more Javadoc errors.

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 2ce512f85a6e66adb8645e1641e15e5c15191863
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 5 15:43:08 2023 +0200

Fix more Javadoc errors.
---
 .../main/org/apache/sis/feature/AbstractFeature.java | 2 +-
 .../apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java   | 2 +-
 .../main/org/apache/sis/referencing/IdentifiedObjects.java   | 2 +-
 .../apache/sis/referencing/factory/GeodeticObjectFactory.java| 2 +-
 .../main/org/apache/sis/storage/FeatureQuery.java| 9 +
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
index 033cc8d924..fc502bf8ec 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
@@ -437,7 +437,7 @@ public abstract class AbstractFeature implements 
Serializable {
  * but the {@linkplain FeatureOperations#link link} and
  * {@linkplain FeatureOperations#compound compound} operations (for 
instances) do.
  * Whether an operation is writable or not depends on whether the computed 
{@link Property}
- * supports {@link Attribute#setValue(Object)} or {@link 
FeatureAssociation#setValue(Feature)}.
+ * supports {@link AbstractAttribute#setValue(Object)} or {@link 
AbstractAssociation#setValue(Feature)}.
  *
  * @param  name   the name of the operation to execute. The caller is 
responsible to ensure that the
  *property type for that name is an instance of {@link 
AbstractOperation}.
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java
index ff2fbfbfc0..9a7f67e7e3 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java
@@ -109,7 +109,7 @@ public final class MD_CharacterSetCode extends 
XmlAdapter{@link AbstractIdentifiedObject#getDomains()}
  *   {@value 
org.opengis.referencing.IdentifiedObject#REMARKS_KEY}
  *   {@link IdentifiedObject#getRemarks()}
- *   {@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY
+ *   {@value 
org.opengis.referencing.ReferenceSystem#SCOPE_KEY}
  *   {@link DefaultObjectDomain#getScope()}
  *   {@value 
org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}
  *   {@link DefaultObjectDomain#getDomainOfValidity()}
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
index d979184f3f..30b647a50c 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
@@ -139,7 +139,7 @@ import org.apache.sis.xml.XML;
  *   
  * {@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}
  * {@link String} or {@link InternationalString}
- * {@link DefaultObjectDomain#getScope()}
+ * {@link 
org.apache.sis.referencing.DefaultObjectDomain#getScope()}
  *   
  * {@value org.opengis.referencing.datum.Datum#ANCHOR_POINT_KEY}
  * {@link InternationalString} or {@link String}
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
index 9a5b59763b..1353ab3c74 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
@@ -52,6 +52,7 @@ import org.apache.sis.util.resources.Vocabulary;
 import org.apache.sis.feature.AbstractFeature;
 import org.apache.sis.feature.DefaultFeatureType;
 import org.apache.sis.feature.DefaultAttributeType;
+import org.apache.sis.feature.AbstractAttribute;
 import org.apache.sis.filter.Filter;
 import org.apache.sis.filter.Expression;
 import org.apache.sis.pending.geoapi.filter.Literal;
@@ -434,7 +435,7 @@ public class FeatureQuery extends Query implements 
Cloneable, Serializable {
 /**
  * Whether a property evaluated by a query is computed on the fly or 
stored.
  * By default, an expression is evaluated only once for each feature 
instance

[sis] branch main updated (00e6806277 -> 2ce512f85a)

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 00e6806277 Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0.
 new d214faa29b Fix some Javadoc warnings specific to the main branch.
 add c847947bde Fix some Javadoc warnings.
 add 17c3f73eca Generate sources JAR and Javadoc JAR together with the 
Maven artifacts.
 add 24b12731b9 Add GPG signing for endorsed and optional modules. 
Incubator modules are not signed because not intended to be released.
 add 2730c89d63 Merge branch 'geoapi-4.0' into geoapi-3.1
 new 161c52e539 Merge branch 'geoapi-3.1'
 new 2ce512f85a Fix more Javadoc errors.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/Dependency.java   |   2 +-
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   9 +-
 .../sis/buildtools/gradle/ModularSources.java  | 147 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   2 +-
 endorsed/build.gradle.kts  | 109 ---
 .../org/apache/sis/feature/AbstractFeature.java|   6 +-
 .../sis/feature/internal/FeatureExpression.java|   6 +-
 .../main/org/apache/sis/filter/Filter.java |   2 +
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |   2 +
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |   2 +
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |   2 +
 .../main/org/apache/sis/util/iso/Types.java|   5 +-
 .../main/org/apache/sis/xml/TransformedEvent.java  |   2 +-
 .../bind/metadata/code/MD_CharacterSetCode.java|   2 +-
 .../bind/metadata/replace/QualityParameter.java|   8 +-
 .../bind/metadata/replace/ServiceParameter.java|   2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   4 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |   2 +-
 .../referencing/factory/GeodeticObjectFactory.java |   6 +-
 .../org/apache/sis/storage/sql/feature/Table.java  |   2 +-
 .../org/apache/sis/storage/gpx/WritableStore.java  |   1 -
 .../main/org/apache/sis/storage/FeatureQuery.java  |  15 ++-
 .../org/apache/sis/storage/StorageConnector.java   |   2 +
 .../org/apache/sis/storage/WritableFeatureSet.java |   1 -
 .../apache/sis/storage/base/MetadataBuilder.java   |   2 +-
 .../org/apache/sis/converter/NumberConverter.java  |   2 +
 .../org/apache/sis/converter/ObjectToString.java   |   4 +
 .../org/apache/sis/converter/StringConverter.java  |   4 +
 .../sis/util/collection/WeakValueHashMap.java  |   2 +-
 .../apache/sis/util/internal/MetadataServices.java |   2 -
 .../apache/sis/util/internal/PropertyFormat.java   |   2 +-
 incubator/build.gradle.kts |  10 +-
 optional/build.gradle.kts  |  13 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java|   2 +-
 35 files changed, 323 insertions(+), 62 deletions(-)
 create mode 100644 
buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java



[sis] 02/03: Merge branch 'geoapi-3.1'

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 161c52e539145524ccc81992879d9241e0438dd8
Merge: d214faa29b 2730c89d63
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 5 15:41:28 2023 +0200

Merge branch 'geoapi-3.1'

 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/Dependency.java   |   2 +-
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   9 +-
 .../sis/buildtools/gradle/ModularSources.java  | 147 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   2 +-
 endorsed/build.gradle.kts  | 109 ---
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |   2 +
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |   2 +
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |   2 +
 .../main/org/apache/sis/util/iso/Types.java|   5 +-
 .../bind/metadata/replace/QualityParameter.java|   6 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   4 +-
 .../referencing/factory/GeodeticObjectFactory.java |   4 +-
 .../org/apache/sis/storage/gpx/WritableStore.java  |   1 -
 .../org/apache/sis/storage/StorageConnector.java   |   2 +
 .../org/apache/sis/storage/WritableFeatureSet.java |   1 -
 .../org/apache/sis/converter/NumberConverter.java  |   2 +
 .../org/apache/sis/converter/ObjectToString.java   |   4 +
 .../org/apache/sis/converter/StringConverter.java  |   4 +
 .../sis/util/collection/WeakValueHashMap.java  |   2 +-
 .../apache/sis/util/internal/MetadataServices.java |   2 -
 incubator/build.gradle.kts |  10 +-
 optional/build.gradle.kts  |  13 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java|   2 +-
 24 files changed, 298 insertions(+), 40 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
index c74f3dfd1d,def4612fa5..336458e1ba
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
@@@ -94,11 -97,10 +94,9 @@@ public final class QualityParameter ext
  
  /**
   * Description of the data quality parameter.
-  *
-  * @see #getDescription()
   */
  @XmlElement
 -@SuppressWarnings("serial") // Most Apache SIS 
implementations are serializable.
 -public Description description;
 +public DefaultMeasureDescription description;
  
  /**
   * Value type of the data quality parameter (shall be one of the data 
types defined in ISO/TS 19103:2005).
@@@ -204,6 -229,11 +202,8 @@@
   *   Otherwise the given class is used as if it was already a 
component type (i.e. a singleton item).
   * 
   *
 - * 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)}.
 - *
+  * @todo {@code Coverage} case needs to be added. It would be handle like 
{@link Matrix}.
+  *
   * @param  valueClass  the type of values for which to infer a {@link 
TypeName} instance.
   * @return a type name for components of the given type.
   */
diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
index ad235c995f,95c4401371..d979184f3f
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
@@@ -129,9 -129,9 +129,9 @@@ import org.apache.sis.xml.XML
   * {@link Identifier} (optionally as array)
   * {@link AbstractIdentifiedObject#getIdentifiers()}
   *   
 - * {@value org.opengis.referencing.IdentifiedObject#DOMAINS_KEY}
 - * {@link org.opengis.referencing.ObjectDomain} (optionally as 
array)
 + * "domains"
 + * {@link org.apache.sis.referencing.DefaultObjectDomain} (optionally 
as array)
-  * {@link #getDomains()}
+  * {@link AbstractIdentifiedObject#getDomains()}
   *   
   * {@value 
org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}
   * {@link Extent}
diff --cc 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/WritableFeatureSet.java
index 247a31c171,06ce25d8d4..ee46e96473
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/WritableFeatureSet.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/WritableFeatureSet.java
@@@ -81,10 -81,9 +81,9 @@@ public interface WritableFeatureSet ext
   * Removes all feature instances from this {@code FeatureSet} which 
matches the given predicate.
   *
   * @param 

[sis] 01/03: Fix some Javadoc warnings specific to the main branch.

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit d214faa29b785586ab2835cefc4f693c19b99cd9
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 23:46:44 2023 +0200

Fix some Javadoc warnings specific to the main branch.
---
 .../main/org/apache/sis/feature/AbstractFeature.java   |  4 ++--
 .../org/apache/sis/feature/internal/FeatureExpression.java |  6 +++---
 .../main/org/apache/sis/filter/Filter.java |  2 ++
 .../main/org/apache/sis/xml/TransformedEvent.java  |  2 +-
 .../sis/xml/bind/metadata/replace/QualityParameter.java|  2 +-
 .../sis/xml/bind/metadata/replace/ServiceParameter.java|  2 +-
 .../main/org/apache/sis/storage/sql/feature/Table.java |  2 +-
 .../main/org/apache/sis/storage/FeatureQuery.java  | 14 +++---
 .../main/org/apache/sis/storage/base/MetadataBuilder.java  |  2 +-
 .../main/org/apache/sis/util/internal/PropertyFormat.java  |  2 +-
 10 files changed, 20 insertions(+), 18 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
index 6def733227..033cc8d924 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
@@ -54,8 +54,8 @@ import org.apache.sis.feature.internal.Resources;
  * 
  *
  * Operations
- * Properties that are instances of {@link Operation} are usually not stored 
in {@code Feature} instances.
- * Instead, the {@link Operation#apply Operation.apply(…)} method is invoked 
every times that the property
+ * Properties that are instances of {@code Operation} are usually not stored 
in {@code Feature} instances.
+ * Instead, the {@link AbstractOperation#apply Operation.apply(…)} method is 
invoked every times that the property
  * value is requested. {@code AbstractFeature} does not cache operation 
results.
  * Those results are usually read-only, but may be writable under the 
conditions documented in
  * {@link #setOperationValue(String, Object)}.
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java
index cc2b87f3f6..05bd7e153e 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java
@@ -73,9 +73,9 @@ public interface FeatureExpression extends 
Expression {
 
 /**
  * Provides the expected type of values produced by this expression when a 
feature of the given
- * type is evaluated. The resulting type shall describe a "static" 
property, i.e. it can be an
- * {@link AttributeType} or a {@link 
org.opengis.feature.FeatureAssociationRole}
- * but not an {@link org.opengis.feature.Operation}.
+ * type is evaluated. The resulting type shall describe a "static" 
property, i.e. it can be a
+ * {@link org.apache.sis.feature.DefaultAttributeType} or a {@link 
org.apache.sis.feature.DefaultAssociationRole}
+ * but not an {@link org.apache.sis.feature.AbstractOperation}.
  *
  * If this method returns an instance of {@link AttributeTypeBuilder}, 
then its parameterized
  * type should be the same {@code } than this {@code 
FeatureExpression}.
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java
index 8676107bf7..0e11130b4f 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java
@@ -32,6 +32,8 @@ import java.util.function.Predicate;
  * instead of {@code org.apache.sis.filter}.
  * 
  *
+ * @paramthe type of resources (e.g. {@link 
org.apache.sis.feature.AbstractFeature}) to filter.
+ *
  * @since 1.1
  */
 public interface Filter extends Predicate {
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java
index f906873041..e86698e2c0 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java
@@ -126,7 +126,7 @@ abstract class TransformedEvent 
implements XMLEvent {
 /**
  * Wrapper over a namespace emitted during the reading or writing of an 
XML document.
  * This wrapper is used for changing the namespace URI. The wrapped {@link 
#event}
- * should b

[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1

2023-10-05 Thread desruisseaux
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 2730c89d637c575eb52f75fa51b067a47fa40355
Merge: fba1ecf3f7 24b12731b9
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 5 15:33:25 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1

 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/Dependency.java   |   2 +-
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   9 +-
 .../sis/buildtools/gradle/ModularSources.java  | 147 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   2 +-
 endorsed/build.gradle.kts  | 109 ---
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |   2 +
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |   2 +
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |   2 +
 .../main/org/apache/sis/util/iso/Types.java|   5 +-
 .../bind/metadata/replace/QualityParameter.java|   6 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   4 +-
 .../referencing/factory/GeodeticObjectFactory.java |   4 +-
 .../org/apache/sis/storage/gpx/WritableStore.java  |   1 -
 .../org/apache/sis/storage/StorageConnector.java   |   2 +
 .../org/apache/sis/storage/WritableFeatureSet.java |   1 -
 .../org/apache/sis/converter/NumberConverter.java  |   2 +
 .../org/apache/sis/converter/ObjectToString.java   |   4 +
 .../org/apache/sis/converter/StringConverter.java  |   4 +
 .../sis/util/collection/WeakValueHashMap.java  |   2 +-
 .../apache/sis/util/internal/MetadataServices.java |   2 -
 incubator/build.gradle.kts |  15 ++-
 optional/build.gradle.kts  |  13 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java|   2 +-
 24 files changed, 302 insertions(+), 41 deletions(-)




[sis] branch geoapi-3.1 updated (fba1ecf3f7 -> 2730c89d63)

2023-10-05 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from fba1ecf3f7 Merge branch 'geoapi-4.0' into geoapi-3.1
 add c847947bde Fix some Javadoc warnings.
 add 17c3f73eca Generate sources JAR and Javadoc JAR together with the 
Maven artifacts.
 add 24b12731b9 Add GPG signing for endorsed and optional modules. 
Incubator modules are not signed because not intended to be released.
 new 2730c89d63 Merge branch 'geoapi-4.0' into geoapi-3.1

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/Dependency.java   |   2 +-
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   9 +-
 .../sis/buildtools/gradle/ModularSources.java  | 147 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   2 +-
 endorsed/build.gradle.kts  | 109 ---
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |   2 +
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |   2 +
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |   2 +
 .../main/org/apache/sis/util/iso/Types.java|   5 +-
 .../bind/metadata/replace/QualityParameter.java|   6 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   4 +-
 .../referencing/factory/GeodeticObjectFactory.java |   4 +-
 .../org/apache/sis/storage/gpx/WritableStore.java  |   1 -
 .../org/apache/sis/storage/StorageConnector.java   |   2 +
 .../org/apache/sis/storage/WritableFeatureSet.java |   1 -
 .../org/apache/sis/converter/NumberConverter.java  |   2 +
 .../org/apache/sis/converter/ObjectToString.java   |   4 +
 .../org/apache/sis/converter/StringConverter.java  |   4 +
 .../sis/util/collection/WeakValueHashMap.java  |   2 +-
 .../apache/sis/util/internal/MetadataServices.java |   2 -
 incubator/build.gradle.kts |  15 ++-
 optional/build.gradle.kts  |  13 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java|   2 +-
 24 files changed, 302 insertions(+), 41 deletions(-)
 create mode 100644 
buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java



[sis] branch geoapi-4.0 updated: Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released.

2023-10-05 Thread desruisseaux
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 24b12731b9 Add GPG signing for endorsed and optional modules. 
Incubator modules are not signed because not intended to be released.
24b12731b9 is described below

commit 24b12731b9b7b84d0dd5ee78931049b2ae33c9f5
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 5 15:32:24 2023 +0200

Add GPG signing for endorsed and optional modules.
Incubator modules are not signed because not intended to be released.
---
 .../sis/buildtools/gradle/ModularSources.java  | 11 +-
 endorsed/build.gradle.kts  | 24 ++
 optional/build.gradle.kts  |  8 
 3 files changed, 38 insertions(+), 5 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
index b07e0cc9ca..9525b4f796 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
@@ -39,7 +39,7 @@ final class ModularSources extends ZipWriter.JDK {
 /**
  * The Java system property to set to {@code true} for enabling Javadoc 
generation.
  */
-private static final String CREATE_JAVADOC_PROPERTY = 
"org.apache.sis.create-javadoc";
+private static final String RELEASE_VERSION_PROPERTY = 
"org.apache.sis.releaseVersion";
 
 /**
  * Creates a helper instance.
@@ -101,13 +101,14 @@ final class ModularSources extends ZipWriter.JDK {
 }
 /*
  * For performance reason, we actually generate the Javadoc only 
of the
- * "org.apache.sis.create-javadoc" system property is set to 
`true`.
+ * "org.apache.sis.releaseVersion" system property is set to a 
non-null value.
  * Otherwise the Javadoc files will be empty.
  */
-if (Boolean.getBoolean(CREATE_JAVADOC_PROPERTY)) {
+final String version = 
System.getProperty(RELEASE_VERSION_PROPERTY);
+if (version != null) {
 final var pb = new ProcessBuilder("javadoc",
 "-locale",  "en",
-"-doctitle","Apache SIS API",
+"-doctitle","Apache SIS " + version + " 
API",
 "-tag", "category:X:Category:",
 "-tag", "todo:a:TODO:",
 "-nonavbar", "-noindex", "-nodeprecatedlist", 
"-notree", "-nohelp",
@@ -129,7 +130,7 @@ final class ModularSources extends ZipWriter.JDK {
 "For performance reason, Javadoc generation is 
disabled by default.\n" +
 "For generating Javadoc, set the following system 
property:\n" +
 "\n" +
-"" + CREATE_JAVADOC_PROPERTY + "=true\n" +
+"" + RELEASE_VERSION_PROPERTY + "=\n" +
 "\n");
 }
 } else {
diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index b8671e60c3..c4806ce7ed 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -42,6 +42,7 @@ version = "2.0-SNAPSHOT"
 plugins {
 `java-library`
 `maven-publish`
+signing
 id("org.apache.sis.buildtools")
 }
 
@@ -444,3 +445,26 @@ publishing {
 }
 }
 }
+
+signing {
+useGpgCmd()
+if (System.getProperty("org.apache.sis.releaseVersion") != null) {
+sign(publishing.publications["util"])
+sign(publishing.publications["metadata"])
+sign(publishing.publications["referencing"])
+sign(publishing.publications["referencing.gazetteer"])
+sign(publishing.publications["feature"])
+sign(publishing.publications["portrayal"])
+sign(publishing.publications["storage"])
+sign(publishing.publications["storage.sql"])
+sign(publishing.publications["storage.xml"])
+sign(publishing.publications["storage.netcdf"])
+sign(publishing.publications["storage.geotiff"])
+sign(publishing.publications["storage.earthobserva

[sis] branch geoapi-4.0 updated: Generate sources JAR and Javadoc JAR together with the Maven artifacts.

2023-10-04 Thread desruisseaux
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 17c3f73eca Generate sources JAR and Javadoc JAR together with the 
Maven artifacts.
17c3f73eca is described below

commit 17c3f73eca02c394d0897b18176d82ee0d5487cc
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 4 18:10:23 2023 +0200

Generate sources JAR and Javadoc JAR together with the Maven artifacts.
---
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/Dependency.java   |   2 +-
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   9 +-
 .../sis/buildtools/gradle/ModularSources.java  | 146 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   2 +-
 endorsed/build.gradle.kts  |  85 +---
 incubator/build.gradle.kts |  15 ++-
 optional/build.gradle.kts  |   5 +-
 8 files changed, 240 insertions(+), 25 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
index 729fa33f0e..0408b27a8f 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
@@ -160,6 +160,7 @@ public final class BuildHelper implements Plugin {
 });
 });
 tasks.withType(Jar.class).forEach((task) -> {
+task.getInputs().dir(Conventions.SOURCE_DIRECTORY);
 task.getOutputs().dir(Conventions.fileRelativeToBuild(project, 
Conventions.LIBS_DIRECTORY));
 task.setActions(List.of((t) -> {// Replace the default 
action by our own.
 ModularJAR.execute(BuildHelper.this, (Jar) t);
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java
index f05b607943..c4b4ef9f4a 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java
@@ -151,7 +151,7 @@ public final class Dependency {
 }
 }
 }
-return null;
+return name.replace('-', '.');
 }
 
 /**
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
index 72f4be0535..ba1e3b96b3 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
@@ -81,7 +81,7 @@ final class ModularJAR extends ZipWriter.JDK {
  * Invoked when the {@code jar} task is executed.
  *
  * @param  context  the extension which is invoking this task.
- * @param  task the {@link Javadoc} task to configure.
+ * @param  task the {@link Jar} task to configure.
  */
 static void execute(final BuildHelper context, final Jar task) {
 final Project   project= task.getProject();
@@ -106,9 +106,14 @@ final class ModularJAR extends ZipWriter.JDK {
 }
 }
 try {
-write(project, module, new File(target, module.getName() + 
".jar"), filteredAttributes);
+final String name = module.getName();
+write(project, module, new File(target, name + ".jar"), 
filteredAttributes);
+ModularSources.write(task, name, false);
+ModularSources.write(task, name, true);
 } catch (IOException e) {
 throw new UncheckedIOException(e);
+} catch (InterruptedException e) {
+throw new RuntimeException(e);
 }
 filteredAttributes.clear();
 }
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
new file mode 100644
index 00..b07e0cc9ca
--- /dev/null
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ * 

[sis] branch geoapi-4.0 updated: Fix some Javadoc warnings.

2023-10-03 Thread desruisseaux
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 c847947bde Fix some Javadoc warnings.
c847947bde is described below

commit c847947bde095bc7b55544bb6d5d611b7cba4890
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 23:45:15 2023 +0200

Fix some Javadoc warnings.
---
 .../main/org/apache/sis/filter/sqlmm/OneGeometry.java   | 2 ++
 .../main/org/apache/sis/filter/sqlmm/ST_Transform.java  | 2 ++
 .../main/org/apache/sis/filter/sqlmm/TwoGeometries.java | 2 ++
 .../org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java | 5 ++---
 .../org/apache/sis/xml/bind/metadata/replace/QualityParameter.java  | 6 +++---
 .../main/org/apache/sis/referencing/AbstractIdentifiedObject.java   | 4 ++--
 .../org/apache/sis/referencing/factory/GeodeticObjectFactory.java   | 4 ++--
 .../main/org/apache/sis/storage/gpx/WritableStore.java  | 1 -
 .../main/org/apache/sis/storage/StorageConnector.java   | 2 ++
 .../main/org/apache/sis/storage/WritableFeatureSet.java | 1 -
 .../main/org/apache/sis/converter/NumberConverter.java  | 2 ++
 .../main/org/apache/sis/converter/ObjectToString.java   | 4 
 .../main/org/apache/sis/converter/StringConverter.java  | 4 
 .../main/org/apache/sis/util/collection/WeakValueHashMap.java   | 2 +-
 .../main/org/apache/sis/util/internal/MetadataServices.java | 2 --
 .../main/org/apache/sis/gui/map/ValuesFormatter.java| 2 +-
 16 files changed, 29 insertions(+), 16 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java
index a64c216bd0..5d26727042 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java
@@ -103,6 +103,8 @@ class OneGeometry extends SpatialFunction {
 
 /**
  * SQLMM spatial functions taking a single geometry operand with one 
argument.
+ *
+ * @paramthe type of resources (e.g. {@code Feature}) used as 
inputs.
  */
 static final class WithArgument extends OneGeometry {
 /** For cross-version compatibility. */
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java
index b53f00f620..15ea2201be 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java
@@ -58,6 +58,8 @@ import org.opengis.filter.InvalidFilterValueException;
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
+ *
+ * @paramthe type of resources (e.g. {@code Feature}) used as inputs.
  */
 final class ST_Transform extends FunctionWithSRID {
 /**
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java
index e205ee0e52..1d856296b5 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java
@@ -148,6 +148,8 @@ class TwoGeometries extends SpatialFunction {
 
 /**
  * SQLMM spatial functions taking a single geometry operand with one 
argument.
+ *
+ * @paramthe type of resources (e.g. {@code Feature}) used as 
inputs.
  */
 static final class WithArgument extends TwoGeometries {
 /** For cross-version compatibility. */
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java
index 236c62eed4..0d19f3ef5d 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java
@@ -403,9 +403,8 @@ public final class Types extends Static {
 
 /**
  * The {@link InternationalString} returned by the {@code 
Types.getCodeTitle(…)} method.
- * The code below is a duplicated - in a different way - of {@code 
CodeListUID(CodeList)}
- * constructor ({@link org.apache.sis.xml.bind.metadata.code package}). 
This duplication exists
- * because {@code CodeListUID} constructor stores more information in an 
opportunist way.
+ * The code below is a duplicated - in a different way - of {@code 
CodeListUID(CodeList

[sis] 02/02: Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0.

2023-10-03 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 00e6806277c6a20a43e3d319f91b678d8f88d5dc
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 16:12:57 2023 +0200

Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0.
---
 .../main/org/apache/sis/buildtools/gradle/ModularJavadoc.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
index 63e917813a..6d2f01949d 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
@@ -69,7 +69,7 @@ final class ModularJavadoc extends Conventions {
  "todo:a:\"TODO:\"");
 options.links(
 "https://docs.oracle.com/en/java/javase/11/docs/api;,
-"http://www.geoapi.org/snapshot/javadoc;,
+"http://www.geoapi.org/3.0/javadoc;,
 "http://unitsofmeasurement.github.io/unit-api/site/apidocs;);
 /*
  * Taglet defined in this `buildSrc` sub-project.



[sis] 01/02: Merge branch 'geoapi-3.1'

2023-10-03 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 3c3d94aa98c6e15bb65c448c03f506e0a5c375ca
Merge: 0c2f9effc0 fba1ecf3f7
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 17:52:18 2023 +0200

Merge branch 'geoapi-3.1'

 NOTICE |  10 +-
 README.md  |   9 +
 .../buildtools/coding/VerifyVersionInJavadoc.java  | 293 +
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   7 +-
 endorsed/README.md |  15 ++
 endorsed/build.gradle.kts  |   2 +
 .../org.apache.sis.console/main/module-info.java   |  18 +-
 .../apache/sis/metadata/sql/MetadataSource.java|   2 +-
 .../apache/sis/metadata/sql/util/Initializer.java  |   6 +-
 .../sis/metadata/sql/util/LocalDataSource.java |   2 +-
 .../src/org.apache.sis.openoffice/bundle/README.md |   2 +-
 .../referencing/factory/FactoryDataException.java  |   5 +-
 .../factory/MissingFactoryResourceException.java   |   1 +
 .../sis/referencing/factory/sql/EPSGFactory.java   |   4 +-
 .../sis/referencing/factory/sql/EPSG_README.md |   2 +-
 .../sis/referencing/factory/sql/package-info.java  |   2 +-
 .../operation/provider/DatumShiftGridLoader.java   |   3 +-
 .../sis/referencing/factory/sql/epsg/README.md |   4 +-
 .../sis/referencing/report/HTMLGenerator.java  |   2 +-
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/setup/Configuration.java   |   2 +-
 .../apache/sis/setup/InstallationResources.java|   4 +-
 .../apache/sis/setup/OptionalInstallations.java|   4 +-
 incubator/README.md|  10 +
 optional/README.md |  29 ++
 optional/build.gradle.kts  |   5 +
 optional/src/org.apache.sis.gui/bundle/README  |   7 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  |   1 +
 .../src/org.apache.sis.gui/main/module-info.java   |  26 +-
 30 files changed, 433 insertions(+), 47 deletions(-)

diff --cc NOTICE
index e8e93764f9,ff3ba0a520..da26da730b
--- a/NOTICE
+++ b/NOTICE
@@@ -5,9 -5,9 +5,9 @@@ This product includes software develope
  The Apache Software Foundation (https://www.apache.org/).
  
  The Javadoc contains documentation from the Open Geospatial Consortium (OGC®)
- specifications (https://www.ogc.org/standards/), also known as OpenGIS.
+ specifications (https://www.ogc.org/standards/), also known as OpenGIS®.
  
 -Apache SIS depends on GeoAPI published by OGC under Apache 2.0 license.
 +Apache SIS depends on GeoAPI published by OGC under BSD-style license.
  https://www.ogc.org/about-ogc/policies/software-licenses/
  
  Apache SIS depends on JSR-385 (API only) published under BSD license.
diff --cc endorsed/src/org.apache.sis.openoffice/bundle/README.md
index 39993eeb62,e21a6980b6..ebdcfa6a12
--- a/endorsed/src/org.apache.sis.openoffice/bundle/README.md
+++ b/endorsed/src/org.apache.sis.openoffice/bundle/README.md
@@@ -83,7 -83,7 +83,7 @@@ Launch
  
  ```
  cd target
- unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt
 -unopkg add apache-sis-1.x-SNAPSHOT.oxt --log-file log.txt
++unopkg add apache-sis-1.4-SNAPSHOT.oxt --log-file log.txt
  scalc -env:RTL_LOGFILE=log.txt
  ```
  
diff --cc 
endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md
index 73d583a49e,6a90fc4e0b..f7945afcd7
--- 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md
+++ 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md
@@@ -98,7 -98,7 +98,7 @@@ cd _
  mvn clean install
  export 
CLASSPATH=~/.m2/repository/org/apache/derby/derby/10.14.2.0/derby-10.14.2.0.jar
  export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH
- export 
CLASSPATH=$PWD/target/binaries/sis-referencing-2.0-SNAPSHOT.jar:$CLASSPATH
 -export 
CLASSPATH=$PWD/target/binaries/sis-referencing-1.x-SNAPSHOT.jar:$CLASSPATH
++export 
CLASSPATH=$PWD/target/binaries/sis-referencing-1.4-SNAPSHOT.jar:$CLASSPATH
  export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH
  export CLASSPATH=$PWD/core/sis-referencing/target/test-classes:$CLASSPATH
  cd http://svn.apache.org/repos/asf/sis/data/non-free/>
diff --cc endorsed/src/org.apache.sis.util/main/module-info.java
index 227645d78a,34ebd8ec24..982cf73679
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@@ -34,11 -34,11 +34,11 @@@
   * @since   0.3
   */
  module org.apache.sis.util {
- requires java.sql;
  requires java.management;
+ requires transitive java.sql;
  requires transitive java.logging;
  requires transitive java.meas

[sis] branch main updated (0c2f9effc0 -> 00e6806277)

2023-10-03 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 0c2f9effc0 Merge branch 'geoapi-3.1'
 add 41a79147f4 Add the tools used in previous commit for cleaning `@since` 
and `@version` javadoc tags.
 add 32d7c5d57a When the "gr3df97a.txt" datum shift grid file is not found, 
the exception should be `MissingFactoryResourceException` instead of 
`FactoryDataException`.
 add f81541ca43 Replace some Maven artifact names by JPMS names in 
documentation.
 add a95aaf3c96 Update the NOTICE file.
 add f75f7ee3a5 Add or edit `README.md` files.
 add 0a1d7bd6c3 Replace a NullPointerException by a more explicit message 
about the failure cause.
 add b91d66b6e9 Adjust dependency declarations.
 add 0a25115dc9 Set version number and the EPSG geodetic dataset URL to 
expected values after release. Fix erroneous SIS version number.
 add fba1ecf3f7 Merge branch 'geoapi-4.0' into geoapi-3.1
 new 3c3d94aa98 Merge branch 'geoapi-3.1'
 new 00e6806277 Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE |  10 +-
 README.md  |   9 +
 .../buildtools/coding/VerifyVersionInJavadoc.java  | 293 +
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../sis/buildtools/gradle/ModularJavadoc.java  |   2 +-
 .../apache/sis/buildtools/gradle/ZipWriter.java|   7 +-
 endorsed/README.md |  15 ++
 endorsed/build.gradle.kts  |   2 +
 .../org.apache.sis.console/main/module-info.java   |  18 +-
 .../apache/sis/metadata/sql/MetadataSource.java|   2 +-
 .../apache/sis/metadata/sql/util/Initializer.java  |   6 +-
 .../sis/metadata/sql/util/LocalDataSource.java |   2 +-
 .../src/org.apache.sis.openoffice/bundle/README.md |   2 +-
 .../referencing/factory/FactoryDataException.java  |   5 +-
 .../factory/MissingFactoryResourceException.java   |   1 +
 .../sis/referencing/factory/sql/EPSGFactory.java   |   4 +-
 .../sis/referencing/factory/sql/EPSG_README.md |   2 +-
 .../sis/referencing/factory/sql/package-info.java  |   2 +-
 .../operation/provider/DatumShiftGridLoader.java   |   3 +-
 .../sis/referencing/factory/sql/epsg/README.md |   4 +-
 .../sis/referencing/report/HTMLGenerator.java  |   2 +-
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/setup/Configuration.java   |   2 +-
 .../apache/sis/setup/InstallationResources.java|   4 +-
 .../apache/sis/setup/OptionalInstallations.java|   4 +-
 incubator/README.md|  10 +
 optional/README.md |  29 ++
 optional/build.gradle.kts  |   5 +
 optional/src/org.apache.sis.gui/bundle/README  |   7 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  |   1 +
 .../src/org.apache.sis.gui/main/module-info.java   |  26 +-
 31 files changed, 434 insertions(+), 48 deletions(-)
 create mode 100644 
buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java
 create mode 100644 endorsed/README.md
 create mode 100644 incubator/README.md
 create mode 100644 optional/README.md



[sis] branch geoapi-3.1 updated (18a06d459c -> fba1ecf3f7)

2023-10-03 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 18a06d459c Merge branch 'geoapi-4.0' into geoapi-3.1
 add 41a79147f4 Add the tools used in previous commit for cleaning `@since` 
and `@version` javadoc tags.
 add 32d7c5d57a When the "gr3df97a.txt" datum shift grid file is not found, 
the exception should be `MissingFactoryResourceException` instead of 
`FactoryDataException`.
 add f81541ca43 Replace some Maven artifact names by JPMS names in 
documentation.
 add a95aaf3c96 Update the NOTICE file.
 add f75f7ee3a5 Add or edit `README.md` files.
 add 0a1d7bd6c3 Replace a NullPointerException by a more explicit message 
about the failure cause.
 add b91d66b6e9 Adjust dependency declarations.
 add 0a25115dc9 Set version number and the EPSG geodetic dataset URL to 
expected values after release. Fix erroneous SIS version number.
 new fba1ecf3f7 Merge branch 'geoapi-4.0' into geoapi-3.1

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE |  10 +-
 README.md  |   9 +
 .../buildtools/coding/VerifyVersionInJavadoc.java  | 293 +
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   7 +-
 endorsed/README.md |  15 ++
 endorsed/build.gradle.kts  |   2 +
 .../org.apache.sis.console/main/module-info.java   |  18 +-
 .../apache/sis/metadata/sql/MetadataSource.java|   2 +-
 .../apache/sis/metadata/sql/util/Initializer.java  |   6 +-
 .../sis/metadata/sql/util/LocalDataSource.java |   2 +-
 .../src/org.apache.sis.openoffice/bundle/README.md |   2 +-
 .../referencing/factory/FactoryDataException.java  |   5 +-
 .../factory/MissingFactoryResourceException.java   |   1 +
 .../sis/referencing/factory/sql/EPSGFactory.java   |   4 +-
 .../sis/referencing/factory/sql/EPSG_README.md |   2 +-
 .../sis/referencing/factory/sql/package-info.java  |   2 +-
 .../operation/provider/DatumShiftGridLoader.java   |   3 +-
 .../sis/referencing/factory/sql/epsg/README.md |   4 +-
 .../sis/referencing/report/HTMLGenerator.java  |   2 +-
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/setup/Configuration.java   |   2 +-
 .../apache/sis/setup/InstallationResources.java|   4 +-
 .../apache/sis/setup/OptionalInstallations.java|   4 +-
 incubator/README.md|  10 +
 optional/README.md |  29 ++
 optional/build.gradle.kts  |   5 +
 optional/src/org.apache.sis.gui/bundle/README  |   7 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  |   1 +
 .../src/org.apache.sis.gui/main/module-info.java   |  26 +-
 30 files changed, 433 insertions(+), 47 deletions(-)
 create mode 100644 
buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java
 create mode 100644 endorsed/README.md
 create mode 100644 incubator/README.md
 create mode 100644 optional/README.md



[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1

2023-10-03 Thread desruisseaux
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 fba1ecf3f7a4fd0c4138d7646f62bf16ef5035f3
Merge: 18a06d459c 0a25115dc9
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 17:49:19 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1

 NOTICE |  10 +-
 README.md  |   9 +
 .../buildtools/coding/VerifyVersionInJavadoc.java  | 293 +
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   1 +
 .../apache/sis/buildtools/gradle/ZipWriter.java|   7 +-
 endorsed/README.md |  15 ++
 endorsed/build.gradle.kts  |   2 +
 .../org.apache.sis.console/main/module-info.java   |  18 +-
 .../apache/sis/metadata/sql/MetadataSource.java|   2 +-
 .../apache/sis/metadata/sql/util/Initializer.java  |   6 +-
 .../sis/metadata/sql/util/LocalDataSource.java |   2 +-
 .../src/org.apache.sis.openoffice/bundle/README.md |   2 +-
 .../referencing/factory/FactoryDataException.java  |   5 +-
 .../factory/MissingFactoryResourceException.java   |   1 +
 .../sis/referencing/factory/sql/EPSGFactory.java   |   4 +-
 .../sis/referencing/factory/sql/EPSG_README.md |   2 +-
 .../sis/referencing/factory/sql/package-info.java  |   2 +-
 .../operation/provider/DatumShiftGridLoader.java   |   3 +-
 .../sis/referencing/factory/sql/epsg/README.md |   4 +-
 .../sis/referencing/report/HTMLGenerator.java  |   2 +-
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/setup/Configuration.java   |   2 +-
 .../apache/sis/setup/InstallationResources.java|   4 +-
 .../apache/sis/setup/OptionalInstallations.java|   4 +-
 incubator/README.md|  10 +
 optional/README.md |  29 ++
 optional/build.gradle.kts  |   5 +
 optional/src/org.apache.sis.gui/bundle/README  |   7 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  |   1 +
 .../src/org.apache.sis.gui/main/module-info.java   |  26 +-
 30 files changed, 433 insertions(+), 47 deletions(-)

diff --cc endorsed/src/org.apache.sis.openoffice/bundle/README.md
index 39993eeb62,acc06e2ae7..e21a6980b6
--- a/endorsed/src/org.apache.sis.openoffice/bundle/README.md
+++ b/endorsed/src/org.apache.sis.openoffice/bundle/README.md
@@@ -83,7 -83,7 +83,7 @@@ Launch
  
  ```
  cd target
- unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt
 -unopkg add apache-sis-2.0-SNAPSHOT.oxt --log-file log.txt
++unopkg add apache-sis-1.x-SNAPSHOT.oxt --log-file log.txt
  scalc -env:RTL_LOGFILE=log.txt
  ```
  
diff --cc 
endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md
index 73d583a49e,42f030d594..6a90fc4e0b
--- 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md
+++ 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md
@@@ -98,7 -98,7 +98,7 @@@ cd _
  mvn clean install
  export 
CLASSPATH=~/.m2/repository/org/apache/derby/derby/10.14.2.0/derby-10.14.2.0.jar
  export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH
--export 
CLASSPATH=$PWD/target/binaries/sis-referencing-2.0-SNAPSHOT.jar:$CLASSPATH
++export 
CLASSPATH=$PWD/target/binaries/sis-referencing-1.x-SNAPSHOT.jar:$CLASSPATH
  export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH
  export CLASSPATH=$PWD/core/sis-referencing/target/test-classes:$CLASSPATH
  cd http://svn.apache.org/repos/asf/sis/data/non-free/>



[sis] 01/02: Adjust dependency declarations.

2023-10-03 Thread desruisseaux
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

commit b91d66b6e9dd0646f177e2dba6b93ba508e9f9e7
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 15:01:12 2023 +0200

Adjust dependency declarations.
---
 .../apache/sis/buildtools/gradle/BuildHelper.java  |  1 +
 endorsed/build.gradle.kts  |  2 ++
 .../org.apache.sis.console/main/module-info.java   | 18 ---
 .../src/org.apache.sis.util/main/module-info.java  |  2 +-
 optional/build.gradle.kts  |  5 +
 .../src/org.apache.sis.gui/main/module-info.java   | 26 +-
 6 files changed, 34 insertions(+), 20 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
index 9de2c9fa86..729fa33f0e 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
@@ -160,6 +160,7 @@ public final class BuildHelper implements Plugin {
 });
 });
 tasks.withType(Jar.class).forEach((task) -> {
+task.getOutputs().dir(Conventions.fileRelativeToBuild(project, 
Conventions.LIBS_DIRECTORY));
 task.setActions(List.of((t) -> {// Replace the default 
action by our own.
 ModularJAR.execute(BuildHelper.this, (Jar) t);
 }));
diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index b2616486d2..2cf5c89f2e 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -64,6 +64,8 @@ dependencies {
 compileOnly(libs.ucar)
 compileOnly(libs.aws.s3)
 compileOnly(drivers.postgres)
+runtimeOnly(drivers.derby.core)
+runtimeOnly(drivers.derby.tools)
 
 // Test dependencies
 testImplementation(tests.junit4)
diff --git a/endorsed/src/org.apache.sis.console/main/module-info.java 
b/endorsed/src/org.apache.sis.console/main/module-info.java
index e564a8e00a..7062473f92 100644
--- a/endorsed/src/org.apache.sis.console/main/module-info.java
+++ b/endorsed/src/org.apache.sis.console/main/module-info.java
@@ -23,14 +23,16 @@
  * @since   0.3
  */
 module org.apache.sis.console {
-requires java.sql;
-requires java.rmi;
-requires java.management;
-requires jakarta.xml.bind;
-
-requires transitive org.apache.sis.util;
-requires org.apache.sis.storage;
-requires org.apache.sis.storage.xml;
+requiresjava.sql;
+requiresjava.rmi;
+requiresjava.management;
+requiresjakarta.xml.bind;
+requires transitive org.apache.sis.util;// Transitive because 
of `ResourcesDownloader`.
+requiresorg.apache.sis.metadata;
+requiresorg.apache.sis.referencing;
+requiresorg.apache.sis.feature;
+requiresorg.apache.sis.storage;
+requiresorg.apache.sis.storage.xml; // Because of GPX in 
`OutputFormat`.
 
 provides org.apache.sis.setup.InstallationResources
 with org.apache.sis.console.ResourcesDownloader;
diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java 
b/endorsed/src/org.apache.sis.util/main/module-info.java
index 9023c40490..34ebd8ec24 100644
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@ -34,8 +34,8 @@
  * @since   0.3
  */
 module org.apache.sis.util {
-requires java.sql;
 requires java.management;
+requires transitive java.sql;
 requires transitive java.logging;
 requires transitive java.measure;
 requires transitive org.opengis.geoapi.pending;
diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts
index f7dcb18634..52a2f77766 100644
--- a/optional/build.gradle.kts
+++ b/optional/build.gradle.kts
@@ -60,7 +60,12 @@ dependencies {
 api   (files("${mainDepPath}/org.apache.sis.feature"))
 api   (files("${mainDepPath}/org.apache.sis.storage"))
 implementation(files("${mainDepPath}/org.apache.sis.storage.xml"))
+runtimeOnly   (files("${mainDepPath}/org.apache.sis.storage.netcdf"))
+runtimeOnly   (files("${mainDepPath}/org.apache.sis.storage.geotiff"))
+runtimeOnly   
(files("${mainDepPath}/org.apache.sis.storage.earthobservation"))
 api   (files("${mainDepPath}/org.apache.sis.portrayal"))
+runtimeOnly   (drivers.derby.core)
+runtimeOnly   (drivers.derby.tools)
 
 // Test dependencies
 testImplementation(tests.geoapi)
diff --git a/optional/src/org.apache.sis.gui/main/module-info.java 
b/optional/src/

[sis] 02/02: Set version number and the EPSG geodetic dataset URL to expected values after release. Fix erroneous SIS version number.

2023-10-03 Thread desruisseaux
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

commit 0a25115dc935f04671142ebc310d439756fc257a
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 2 10:52:16 2023 +0200

Set version number and the EPSG geodetic dataset URL to expected values 
after release.
Fix erroneous SIS version number.
---
 endorsed/src/org.apache.sis.openoffice/bundle/README.md   | 2 +-
 .../main/org/apache/sis/setup/OptionalInstallations.java  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/endorsed/src/org.apache.sis.openoffice/bundle/README.md 
b/endorsed/src/org.apache.sis.openoffice/bundle/README.md
index 39993eeb62..acc06e2ae7 100644
--- a/endorsed/src/org.apache.sis.openoffice/bundle/README.md
+++ b/endorsed/src/org.apache.sis.openoffice/bundle/README.md
@@ -83,7 +83,7 @@ Launch:
 
 ```
 cd target
-unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt
+unopkg add apache-sis-2.0-SNAPSHOT.oxt --log-file log.txt
 scalc -env:RTL_LOGFILE=log.txt
 ```
 
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java
 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java
index 453351b611..e2cb279770 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java
@@ -50,7 +50,7 @@ import static org.apache.sis.util.internal.Constants.EPSG;
  * This is useful as a workaround if a URL is no longer accessible.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.3
+ * @version 1.4
  * @since   1.1
  */
 public abstract class OptionalInstallations extends InstallationResources 
implements Localized {
@@ -58,7 +58,7 @@ public abstract class OptionalInstallations extends 
InstallationResources implem
  * Where to download the EPSG scripts after user has approved the terms of 
use.
  */
 private static final String EPSG_DOWNLOAD_URL =
-
"https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-epsg/1.3/sis-epsg-1.3.jar;;
+
"https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-epsg/1.4/sis-epsg-1.4.jar;;
 
 /**
  * Estimation of the EPSG database size after installation, in megabytes.



[sis] branch geoapi-4.0 updated (0a1d7bd6c3 -> 0a25115dc9)

2023-10-03 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 0a1d7bd6c3 Replace a NullPointerException by a more explicit message 
about the failure cause.
 new b91d66b6e9 Adjust dependency declarations.
 new 0a25115dc9 Set version number and the EPSG geodetic dataset URL to 
expected values after release. Fix erroneous SIS version number.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/sis/buildtools/gradle/BuildHelper.java  |  1 +
 endorsed/build.gradle.kts  |  2 ++
 .../org.apache.sis.console/main/module-info.java   | 18 ---
 .../src/org.apache.sis.openoffice/bundle/README.md |  2 +-
 .../src/org.apache.sis.util/main/module-info.java  |  2 +-
 .../apache/sis/setup/OptionalInstallations.java|  4 ++--
 optional/build.gradle.kts  |  5 +
 .../src/org.apache.sis.gui/main/module-info.java   | 26 +-
 8 files changed, 37 insertions(+), 23 deletions(-)



[sis-site] branch main updated: Partial upgrade of release instruction to the new gradle build system.

2023-10-03 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 81a6e086 Partial upgrade of release instruction to the new gradle 
build system.
81a6e086 is described below

commit 81a6e0864ef5f318db99ec905523d46c861259d0
Author: Martin Desruisseaux 
AuthorDate: Tue Oct 3 18:22:46 2023 +0200

Partial upgrade of release instruction to the new gradle build system.
---
 content/_index.md |  2 +-
 content/downloads.md  |  4 ++-
 content/release-management.md | 72 +++
 content/source.md |  8 ++---
 4 files changed, 54 insertions(+), 32 deletions(-)

diff --git a/content/_index.md b/content/_index.md
index 0fe3a1b5..08d5a30e 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -29,7 +29,7 @@ The API and the data encodings follow [international 
standards](standards.html)
 * Feature formats:
   * Read [Moving Feature Comma Separated Values (CSV) encoding][MF_CSV].
   * Read [Moving Feature netCDF encoding][netCDF_MF].
-  * Read {{% GPX %}} (a {{% XML %}} schema for {{% GPS %}} data).
+  * Read/Write {{% GPX %}} (a {{% XML %}} schema for {{% GPS %}} data).
   * Read [features from {{% SQL %}} spatial databases][SF_SQL] by analysing 
the database schema.
 * Geographic metadata (ISO 19115):
   * Read ISO 19115 metadata from all above-listed raster and feature formats.
diff --git a/content/downloads.md b/content/downloads.md
index 1b3aee8e..d517cdf7 100644
--- a/content/downloads.md
+++ b/content/downloads.md
@@ -62,11 +62,13 @@ from the SIS project root:
 
 {{< highlight bash >}}
 cd apache-sis-{{% version %}}
-gradle test # Theoretically optional, seems sometime 
necessary.
 gradle assemble
 gradle publishToMavenLocal  # If use with Maven projects is desired.
 {{< / highlight >}}
 
+JAR files will be in the `endorsed/build/libs/` sub-directory.
+An Open/LibreOffice add-in will be in `endorsed/build/bundle/`.
+
 The JavaFX application is excluded by default because it depends on
 the [JavaFX platform][JavaFX] which is distributed under GPL license
 (note that the SIS module stay under Apache 2 licence).
diff --git a/content/release-management.md b/content/release-management.md
index 76d1d8b6..fefc147a 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -188,15 +188,15 @@ Replace the `$OLD_VERSION` number by `$NEW_VERSION` in 
the values of following p
 * Review the `README.md` and `NOTICE` files in root directory.
 * Review the `README` file in `optional/src/org.apache.sis.gui/bundle/`.
 
-Commit and merge with other branches up to master.
+Commit and merge with other branches up to main branch.
 
 {{< highlight bash >}}
 git add --update
 git commit --message="Set version number and the EPSG geodetic dataset URL to 
expected values after release."
-# merge with master
+# merge with main
 {{< / highlight >}}
 
-Before to start the release process, we need to test more extensively the 
master.
+Before to start the release process, we need to test more extensively the main 
branch.
 The tests described below often reveal errors that were unnoticed in daily 
builds.
 It is better to detect and fix them before to create the release branch.
 First, ensure that a PostgreSQL server is running and listening to the default 
port on local host
@@ -206,8 +206,7 @@ Then execute the following commands and fix as much 
warnings as practical:
 
 {{< highlight bash >}}
 systemctl start postgresql.service# Optional — exact command depends 
on Linux distribution.
-mvn clean install --define org.apache.sis.test.extensive=true
-mvn javadoc:aggregate --activate-profiles javafx
+gradle test --system-prop org.apache.sis.test.extensive=true
 {{< / highlight >}}
 
 If the `SIS_DATA` environment variable was set during above build, unset it a 
try again.
@@ -218,9 +217,10 @@ the variable value in the shell performing the release.
 {{< highlight bash >}}
 unset SIS_DATA
 echo $SIS_DATA
-mvn test
+gradle cleanTest test
 {{< / highlight >}}
 
+
 ## Update the list of supported CRS{#update-crs-list}
 
 The following steps regenerate
@@ -265,6 +265,7 @@ Those steps are also useful as additional tests, since 
failure to generate those
   git commit --message="Update the list CRS and operation methods supported by 
Apache SIS $NEW_VERSION."
   {{< / highlight >}}
 
+
 ## Prepare release notes{#release-notes}
 
 We update JIRA soon because doing so is sometimes a reminder of uncompleted 
tasks in source code.
@@ -290,6 +291,7 @@ git add content/release-notes/$NEW_VERSION.md
 git commit --message "Release notes for Apache SIS $NEW_VERSION."
 {{< / highlight >}}
 
+
 # Create release branch{#branch}
 
 Execute the 

[sis-site] branch main updated: Release notes for Apache SIS 1.4.

2023-10-02 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 0da7931a Release notes for Apache SIS 1.4.
0da7931a is described below

commit 0da7931a6f913a533e7e14c27c255cace2bbfe66
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 2 23:31:58 2023 +0200

Release notes for Apache SIS 1.4.
---
 content/_index.md|  2 +-
 content/release-notes/1.3.md |  2 +-
 content/release-notes/1.4.md | 80 
 3 files changed, 82 insertions(+), 2 deletions(-)

diff --git a/content/_index.md b/content/_index.md
index a078a877..0fe3a1b5 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -22,7 +22,7 @@ The API and the data encodings follow [international 
standards](standards.html)
 
 * Raster formats:
   * Read [NetCDF-3 Classic and 64-bit Offset Format][netCDF].
-  * Read [GeoTIFF][geoTIFF] including BigTIFF extension.
+  * Read [GeoTIFF][geoTIFF] or Cloud Optimized GeoTIFF (COG), including 
BigTIFF extension.
   * Read Landsat (groups of GeoTIFF files).
   * Read ESRI BIL/BIP/BSQ and read/write ERSI ASCII Grid.
   * Read/write World Files with any image format supported by Image I/O.
diff --git a/content/release-notes/1.3.md b/content/release-notes/1.3.md
index c70b6135..4c9a0ba4 100644
--- a/content/release-notes/1.3.md
+++ b/content/release-notes/1.3.md
@@ -3,7 +3,7 @@ title: SIS 1.3 Release notes
 ---
 
 * Release date: **2022-12-25**
-* Next release
+* [Next release](1.4.html)
 * [Previous release](1.2.html)
 * [Incompatible changes](#compatibility)
 * [Noticeable changes](#issues)
diff --git a/content/release-notes/1.4.md b/content/release-notes/1.4.md
new file mode 100644
index ..c7344ed7
--- /dev/null
+++ b/content/release-notes/1.4.md
@@ -0,0 +1,80 @@
+---
+title: SIS 1.4 Release notes
+---
+
+* Release date: **2023-01-10**
+* Next release
+* [Previous release](1.3.html)
+* [Incompatible changes](#compatibility)
+* [Noticeable changes](#issues)
+* Requirement: Java 11
+
+This release contains the upgrade from Java 8 to Java 11,
+including the migration to Java Platform Module System (JPMS).
+This release also contains various bug fixes improving the stability.
+Cloud Optimized GeoTIFF (COG) support has been completed with the
+automatic use of HTTP Range requests.
+
+In this release, the source code of Apache SIS project has been restructured 
with a new directory layout.
+The new layout uses
+[Module Source 
Hierarchy](https://docs.oracle.com/en/java/javase/21/docs/specs/man/javac.html#directory-hierarchies)
+and is described [in annex of this release notes](Modularization.html).
+This change can be ignored when only the pre-compiled JAR files are used.
+
+# Incompatible changes{#compatibility}
+
+The following changes in Apache SIS 1.4 are incompatibles with the previous 
release (SIS 1.3):
+
+* In the `org.apache.sis.storage.aggregate` package, two classes got an 
incompatible change: `JoinFeatureSet` and `ConcatenatedFeatureSet`.
+  In those two classes, the `StoreListeners` argument given to the constructor 
is replaced by a `Resource` argument.
+* The constant value defined by `PlanarImage.SAMPLE_RESOLUTIONS_KEY` has been 
modified from singular to plural
+  (i.e., a "s"  has been added to the `String` value). It was done for 
consistency with `SAMPLE_DIMENSIONS_KEY`.
+  Projects do not need to modify their code, only to recompile.
+* In the method signatures of the `Filter` and `Expression` interfaces,
+  parameterized type `` become ``.
+* `org.apache.sis.util.ResourceInternationalString` become an abstract class.
+  Furthermore the constructor method signature changed.
+  Those changes were needed for JPMS.
+
+
+# Noticeable changes{#issues}
+
+## New Features{#features}
+* [SIS-574](https://issues.apache.org/jira/browse/SIS-574) — Grid coverage 
dimensionality reduction
+* [SIS-575](https://issues.apache.org/jira/browse/SIS-575) — Aggregation of 
bands of different grid coveragess
+* [SIS-571](https://issues.apache.org/jira/browse/SIS-571) — Add a 
`DataStores.openWritable(String, Object)` method
+
+## Improvements{#improvements}
+* [SIS-561](https://issues.apache.org/jira/browse/SIS-561) — Upgrade to Java 11
+* [SIS-563](https://issues.apache.org/jira/browse/SIS-563) — Upgrade from 
GeoAPI 3.0.1 to 3.0.2 and JSR-363 to JSR-385
+* [SIS-560](https://issues.apache.org/jira/browse/SIS-560) — Remove the 
boolean return value in `WritableFeatureSet.removeIf(Predicate)`
+* [SIS-573](https://issues.apache.org/jira/browse/SIS-573) — Allow data stores 
to be closed asynchronously
+* [SIS-569](https://issues.apache.org/jira/browse/SIS-569) — Replace `Path` by 
`URI` for datum shift grid files
+* [SIS-577](https://issues.apache.org/jira/browse/SIS-577) — Replace 
`ColorModel` argument by a `Colorizer` interface
+* [SIS-

[sis-site] 02/03: Add notes about Java modules in SIS 1.4 and later.

2023-10-02 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 768e4fa06bacb44c528fda68b81d1a1ee4cca5d0
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 2 17:36:51 2023 +0200

Add notes about Java modules in SIS 1.4 and later.
---
 content/_index.md|   5 +-
 content/downloads.md |  49 +-
 content/release-notes/_index.md  |   5 +
 content/source.md|   2 +
 static/release-notes/Modularization.html | 891 +++
 5 files changed, 937 insertions(+), 15 deletions(-)

diff --git a/content/_index.md b/content/_index.md
index d6461524..a078a877 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -61,9 +61,12 @@ The API and the data encodings follow [international 
standards](standards.html)
 
 The latest SIS release is {{% version %}}, released in October 2023,
 and can be [downloaded](downloads.html) as a `zip` files or as Maven 
dependencies.
-This version requires Java 11 or later.
 The EPSG geodetic dataset is optional for licensing reasons, but recommended.
 EPSG database installation is [described in a separated page](epsg.html).
+This Apache SIS version requires Java 11 or later and uses the Java Platform 
Module System (JPMS).
+Consequently applications should declare SIS JAR files on their module-path 
rather than their class-path,
+but a compatibility mechanism makes possible to nevertheless use SIS on the 
class-path.
+Note that this class-path compatibility may be removed in future versions.
 
 Apache {{% SIS %}} is a Java library for use by other applications.
 Leveraging the full SIS capabilities or getting the best performance require 
that users write their own applications on top of SIS.
diff --git a/content/downloads.md b/content/downloads.md
index 5b753b8a..b089844c 100644
--- a/content/downloads.md
+++ b/content/downloads.md
@@ -11,6 +11,7 @@ See the `NOTICE` file contained in each release artifact for 
applicable copyrigh
 
 {{< toc >}}
 
+
 # Download ZIP files{#bundles}
 
 Apache {{% SIS %}} is distributed in the form of Java source code in a 
multi-modules Apache Maven project.
@@ -22,6 +23,7 @@ Optional dependencies (JAXB implementation, UCAR netCDF 
library, Amazon SDK) are
 * [Apache SIS {{% version %}} javadoc][doc] \[[PGP][doc-PGP]\] \[[SHA 
512][doc-SHA]\]
 * [Apache SIS {{% version %}} sources][src] \[[PGP][src-PGP]\] \[[SHA 
512][src-SHA]\] ([build instruction](build.html))
 
+
 ## Verify signatures{#release-gpg}
 
 All downloads can be verified using the Apache {{% SIS %}} code signing 
[KEYS][keys].
@@ -51,6 +53,25 @@ pgpk -a KEYS
 pgpv apache-sis-{{% version %}}-src.zip.asc
 {{< / highlight >}}
 
+
+## Setting the module-path
+
+Apache SIS 1.4 and later use the Java Platform Module System (JPMS).
+Consequently applications should declare SIS JAR files on their module-path 
rather than their class-path.
+The easiest way is to declare the whole directory like below:
+
+{{< highlight bash >}}
+java --module-path apache-sis-{{% version %}}/lib
+{{< / highlight >}}
+
+If the application using Apache SIS is not itself modularized,
+it may be necessary to add the `--add-modules ALL-MODULE-PATH` option.
+If it is not possible to declare SIS JAR files on the module-path,
+a compatibility mechanism makes possible to nevertheless use SIS {{% version 
%}} on the class-path.
+Note however that declaring SIS JAR files on the class-path may be no longer 
supported in a future version
+(it does **not** mean that applications using SIS must put themselves on the 
module-path).
+
+
 # Download as Maven dependencies{#maven}
 
 An easy approach to integrate Apache {{% SIS %}} into a Java project uses the 
[Apache Maven][maven]
@@ -82,20 +103,20 @@ Below are examples of declarations in a `pom.xml` file for 
building a project wi
 The `sis-referencing` module in above example can be replaced by one or many 
of the following modules:
 
 
-  Service  Group 
  Artifact
-  ISO 19115 metadata   
org.apache.sis.core
sis-metadata
-  Referencing by coordinates   
org.apache.sis.core
sis-referencing
-  Referencing by identifiers   
org.apache.sis.core
sis-referencing-by-identifiers
-  Features and coverages   
org.apache.sis.core
sis-feature
-  Feature data from SQL database   
org.apache.sis.storage 
sis-sqlstore
-  Feature data from GPX files  
org.apache.sis.storage 
sis-xmlstore
-  Features and rasters from NetCDF 
org.apache.sis.storage 
sis-netcdf
-  Raster data from GeoTIFF 
org.apache.sis.storage 
sis-geotiff
-  Raster data from Landsat 
org.apache.sis.storage 
sis-earth-observation
-  Raster data from GCOM (JAXA) 
org.apache.sis.profile 
sis-japan-profile
-  Connect

[sis-site] 03/03: Merge the "build" page with the "sources" and "downloads" pages.

2023-10-02 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit be694f71edfb3ebb90496e21f797d8721b0c17f5
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 2 18:19:09 2023 +0200

Merge the "build" page with the "sources" and "downloads" pages.
---
 content/build.md   | 59 --
 content/downloads.md   | 36 +---
 content/source.md  | 37 -
 layouts/partials/menu.html |  1 -
 4 files changed, 69 insertions(+), 64 deletions(-)

diff --git a/content/build.md b/content/build.md
deleted file mode 100644
index e59c67d1..
--- a/content/build.md
+++ /dev/null
@@ -1,59 +0,0 @@

-title: Build from source

-
-Apache {{% SIS %}} is built by Gradle.
-It requires Java 18 or higher for building, but the compilation result can be 
executed on Java 11 or higher.
-For installing the JAR files in the local Maven repository, execute the 
following command
-from the SIS project root:
-
-{{< highlight bash >}}
-gradle assemble publishToMavenLocal
-{{< / highlight >}}
-
-The JavaFX application is excluded by default because it depends on
-the [JavaFX platform][JavaFX] which is distributed under GPL license
-(note that the SIS module stay under Apache 2 licence).
-Likewise the [EPSG geodetic dataset](epsg.html) is excluded by default for 
licensing reasons.
-For including the JavaFX module in the build, define the `PATH_TO_FX` 
environment variable
-with the path to the directory containing all JavaFX JAR files.
-Example on a Linux system (the path may vary):
-
-{{< highlight bash >}}
-export PATH_TO_FX=/usr/lib/jvm/openjfx
-{{< / highlight >}}
-
-The remaining of this page provides more advanced tips for SIS developers.
-
-{{< toc >}}
-
-# Distribution file   {#dist}
-
-The distribution archive is a file with the `.zip` extension containing most 
SIS modules
-(excluding the ones in the incubator sub-project), together with mandatory 
dependencies.
-For users convenience, we provide shell scripts launching the SIS command line 
tool or the JavaFX application.
-Those shell scripts, together with other files (`README`, `LICENSE`, 
etc.) are bundled in a ZIP file
-created in the `optional/build/bundle/` directory.
-To test, uncompress in any directory and execute 
`apache-​sis-​/​bin/sis`.
-
-# SIS-specific Gradle plugin   {#build-helper}
-
-Apache {{% SIS %}} uses a plugin in `buildSrc/` for SIS-specific tasks and 
Javadoc customization.
-This plugin is used automatically by Gradle. Consequently the remaining of 
this page can be safely ignored.
-This page is provided only as a reference for developers wanting to take a 
closer look to SIS build system.
-
-## Localized resources compiler{#resources}
-
-Localized resources are provided in `*.properties` files as specified by the 
`java.util.Property­Resource­Bundle` standard class.
-However SIS does not use those resources files directly. Instead 
`*.properties` files are transformed into binary files having
-the same filename but the `.utf` extension. This conversion is done for 
efficiency, for convenience (the compiler applies the
-`java.text.Message­Format` _doubled single quotes_ rule itself), and for 
compile-time safety.
-
-In addition to generating the `*.utf` files, the resource compiler may modify 
the `*.java` files having the same name than the
-resource files. For example given a set of `Vocabulary*.properties` files (one 
for each supported language), the compiler will
-generate the corresponding `Vocabulary*.utf` files, then look for a 
`Vocabulary.java` source file. If such source file is found
-and contains a public static inner class named `Keys`, then the compiler will 
rewrite the constants declared in that inner class
-with the list of keys found in the `Vocabulary*.properties` files.
-
-
-[JavaFX]: https://openjfx.io/
diff --git a/content/downloads.md b/content/downloads.md
index b089844c..1b3aee8e 100644
--- a/content/downloads.md
+++ b/content/downloads.md
@@ -4,7 +4,6 @@ title: Apache SIS downloads
 
 Apache {{% SIS %}} {{% version %}} is now available.
 See the [release notes](release-notes/{{% version %}}.html) for a list of 
changes since the previous version.
-See the [build instruction](build.html) for compiling from the sources.
 
 Apache {{% SIS %}} releases are available under the [Apache License, Version 
2.0][license].
 See the `NOTICE` file contained in each release artifact for applicable 
copyright attribution notices.
@@ -21,7 +20,7 @@ Optional dependencies (JAXB implementation, UCAR netCDF 
library, Amazon SDK) are
 
 * [Apache SIS {{% version %}} binary][bin]  \[[PGP][bin-PGP]\] \[[SHA 
512][bin-SHA]\]
 * [Apache SIS {{% version %}} javadoc][doc] \[[PGP][doc-PGP]\] \[[SHA 
512][doc-SHA]\]
-* [Apache SIS {{% version %}} sour

[sis-site] branch main updated (1a23a244 -> be694f71)

2023-10-02 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis-site.git


from 1a23a244 Update the list CRS and operation methods supported by Apache 
SIS 1.4. Update the release management guide following Gradle and 
modularisation.
 new b12ce4dc Update setup instructions, in particular the ones about 
PostgreSQL.
 new 768e4fa0 Add notes about Java modules in SIS 1.4 and later.
 new be694f71 Merge the "build" page with the "sources" and "downloads" 
pages.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 content/_index.md|   5 +-
 content/build.md |  59 --
 content/downloads.md |  83 ++-
 content/release-management.md|  15 +-
 content/release-notes/_index.md  |   5 +
 content/source.md|  97 +++-
 layouts/partials/menu.html   |   1 -
 static/release-notes/Modularization.html | 891 +++
 static/syntax.css|   7 +-
 9 files changed, 1064 insertions(+), 99 deletions(-)
 delete mode 100644 content/build.md
 create mode 100644 static/release-notes/Modularization.html



[sis-site] 01/03: Update setup instructions, in particular the ones about PostgreSQL.

2023-10-02 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit b12ce4dc0a9beff8e4803d601393d808b8121b34
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 2 14:10:41 2023 +0200

Update setup instructions, in particular the ones about PostgreSQL.
---
 content/release-management.md | 15 +--
 content/source.md | 60 +--
 static/syntax.css |  7 -
 3 files changed, 60 insertions(+), 22 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index 84c3b81e..76d1d8b6 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -40,8 +40,8 @@ provided that all relative paths in this page are adjusted 
accordingly.
 ├─ $NEW_VERSION-RC
 ├─ main
 ├─ non-free
-│  ├─ sis-epsg
-│  └─ sis-embedded-data
+│  ├─ sis-embedded-data
+│  └─ sis-epsg
 ├─ release
 │  ├─ distribution
 │  │  └─ $NEW_VERSION
@@ -50,10 +50,10 @@ provided that all relative paths in this page are adjusted 
accordingly.
 │ ├─ integration
 │ └─ maven
 └─ site
-   ├─ main
-   ├─ asf-staging
├─ asf-site
-   └─ javadoc
+   ├─ asf-staging
+   ├─ javadoc
+   └─ main
 {{< / highlight >}}
 
 Create the above directory structure as below:
@@ -169,7 +169,6 @@ the current release attempt. Those versions shall be set on 
the command line lik
 
 {{< highlight bash >}}
 gpg --list-keys # For getting the value to put in 
-unset PATH_TO_FX
 export OLD_VERSION=1.3
 export NEW_VERSION={{% version %}}
 export RELEASE_CANDIDATE=1
@@ -229,8 +228,8 @@ the 
[CoordinateOperationMethods](./tables/CoordinateOperationMethods.html)
 and [CoordinateReferenceSystems](./tables/CoordinateReferenceSystems.html) 
pages.
 Those steps are also useful as additional tests, since failure to generate 
those pages may reveal problems.
 
-* Open the `AuthorityCodes` class and apply the following changes **withoug 
committing them.**
-  They are temporary hacks for including deprecated codes in the CRS list to 
be generated.
+* Open the `AuthorityCodes` class and apply the following changes **without 
committing them.**
+  They are temporary hacks for including deprecated codes in the CRS list to 
be generated
   (those codes will appear with strike for making clear that they are 
deprecated):
 
* Search `DEPRECATED=0` (it appears in a SQL fragment) and replace by 
`(DEPRECATED=0 OR TRUE)`.
diff --git a/content/source.md b/content/source.md
index 69b0ff66..42b00181 100644
--- a/content/source.md
+++ b/content/source.md
@@ -17,11 +17,12 @@ or to cherry-pick only the interesting parts of the 
advanced configuration.
 
 {{< toc >}}
 
+
 # Basic installation{#basic}
 
 Create an empty directory for the Apache {{% SIS %}} project.
-We use `ApacheSIS` directory name in this page, but that name can be anything;
-replace that name in the shell commands below if another name is used.
+We use `ApacheSIS` directory name in this page, but that name can be anything.
+Replace that name in the shell commands below if another name is used.
 The Apache {{% SIS %}} source code can be cloned in that directory as below
 (lines starting with `#` are comments and can be ignored):
 
@@ -37,18 +38,41 @@ git clone https://gitbox.apache.org/repos/asf/sis
 # svn checkout https://github.com/apache/sis/trunk
 {{< / highlight >}}
 
-Apache {{% SIS %}} can be built by running `gradle assemble` in the `sis` 
subdirectory.
-At this stage, the `ApacheSIS` parent directory is redundant with the `sis` 
subdirectory,
-but we recommend to create that parent directory anyway in anticipation
-for more subdirectories to be created later, when desired.
-The remaining of this page describes those optional configurations for more 
advanced developments.
+If JavaFX is available on the local machine,
+its JAR files location can be specified as below
+(edit the `/usr/lib/jvm/openjfx` path as needed).
+This is optional and can be safely ignored if the JavaFX application is not 
desired.
+
+{{< highlight bash >}}
+# Syntax for Unix shell
+export PATH_TO_FX=/usr/lib/jvm/openjfx
+{{< / highlight >}}
+
+Then, Apache {{% SIS %}} can be built as below:
+
+{{< highlight bash >}}
+cd sis
+gradle test # Theoretically optional, seems sometime 
necessary.
+gradle assemble
+gradle publishToMavenLocal  # If use with Maven projects is desired.
+{{< / highlight >}}
+
+Outputs will be located in the following sub-directories:
+
+* `endorsed/build/libs/`  for the JAR files of the core library and its 
dependencies.
+* `optional/build/libs/`  for the JAR files of modules requiring optional 
dependencies.
+* `incubator/build/libs/` for the JAR files of modules that are not yet part 
of releases.
+* `optional/build/bundle/` for the JavaFX application if optional dependencies 
were specified.

[sis] branch geoapi-4.0 updated: Replace a NullPointerException by a more explicit message about the failure cause.

2023-10-01 Thread desruisseaux
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 0a1d7bd6c3 Replace a NullPointerException by a more explicit message 
about the failure cause.
0a1d7bd6c3 is described below

commit 0a1d7bd6c338e8195509dc06a3580fddd58716cb
Author: Martin Desruisseaux 
AuthorDate: Sun Oct 1 22:37:26 2023 +0200

Replace a NullPointerException by a more explicit message about the failure 
cause.
---
 .../main/org/apache/sis/buildtools/gradle/ZipWriter.java   | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java
index f28c53da19..b8440e088f 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java
@@ -19,6 +19,7 @@ package org.apache.sis.buildtools.gradle;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.IOException;
@@ -218,9 +219,13 @@ abstract class ZipWriter extends Conventions {
  * @throws IOException if an error occurred while reading the source or 
writing the ZIP file.
  */
 protected final void writeDirectory(final File source, final FileFilter 
filter, final String target) throws IOException {
+final File[] files = listIgnoreHidden(source);
+if (files == null) {
+throw new FileNotFoundException("Directory does not exist: " + 
source);
+}
 path.setLength(0);
 path.append(target);
-for (final File file : listIgnoreHidden(source)) {
+for (final File file : files) {
 if (filter == null || filter.accept(file)) {
 appendRecursively(file);
 }



[sis-site] branch main updated: Update the list CRS and operation methods supported by Apache SIS 1.4. Update the release management guide following Gradle and modularisation.

2023-10-01 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 1a23a244 Update the list CRS and operation methods supported by Apache 
SIS 1.4. Update the release management guide following Gradle and 
modularisation.
1a23a244 is described below

commit 1a23a2442fb2c9be032a9deaae4f114bf4b5067f
Author: Martin Desruisseaux 
AuthorDate: Sun Oct 1 22:35:43 2023 +0200

Update the list CRS and operation methods supported by Apache SIS 1.4.
Update the release management guide following Gradle and modularisation.
---
 content/release-management.md | 56 ---
 static/tables/CoordinateOperationMethods.html | 14 +--
 static/tables/CoordinateReferenceSystems.html |  2 +-
 3 files changed, 52 insertions(+), 20 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index 48935bf0..84c3b81e 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -179,14 +179,15 @@ export SIGNING_KEY=# hexadecimal number 
with 8 or 40 digits.
 Make sure that the code signing key is the defauly key declared in 
`~/.gnupg/gpg.conf`
 during the Maven deployment phase.
 
+
 # Review project status before branching{#prepare-source}
 
 Replace the `$OLD_VERSION` number by `$NEW_VERSION` in the values of following 
properties on the development branch:
 
-* `DOWNLOAD_URL` in 
`core/sis-utility/src/main/java/org/apache/sis/setup/OptionalInstallations.java`
 file.
-* `` in root `pom.xml` file.
-* Review the `README` and `NOTICE` files in root directory.
-* Review the `README` files in `application/sis-javafx/src/main/artifact/` and 
subdirectories.
+* `DOWNLOAD_URL` in 
`endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java`
 file
+  (note that the version number appears twice, and once more in `@since` 
Javadoc tag).
+* Review the `README.md` and `NOTICE` files in root directory.
+* Review the `README` file in `optional/src/org.apache.sis.gui/bundle/`.
 
 Commit and merge with other branches up to master.
 
@@ -228,17 +229,42 @@ the 
[CoordinateOperationMethods](./tables/CoordinateOperationMethods.html)
 and [CoordinateReferenceSystems](./tables/CoordinateReferenceSystems.html) 
pages.
 Those steps are also useful as additional tests, since failure to generate 
those pages may reveal problems.
 
-1. Open the `AuthorityCodes` class, search `DEPRECATED=0` (it appears in a SQL 
fragment) and replace by `(DEPRECATED=0 OR TRUE)`.
-   **Do not commit!** This is a temporary hack for including deprecated codes 
in the CRS list to be generated.
-   Those codes will appear with strike for making clear that they are 
deprecated.
-2. Open the `CoordinateOperationMethods` Java class and execute its `main` 
method, for example in an IDE.
-3. Open the `CoordinateReferenceSystems` Java class and execute its `main` 
method.
-4. If successful, HTML files will be generated in the current directory.
-   Open those files in a web browser and verify that information are okay,
-   in particular the SIS and EPSG version numbers in the first paragraph.
-5. If okay, move those two HTML files to the `../site/main/static/tables/` 
directory, overwriting previous files.
-6. Revert the hack in `AuthorityCodes` class.
-7. Commit: `git commit --message="Update the list CRS and operation methods 
supported by Apache SIS $NEW_VERSION."`
+* Open the `AuthorityCodes` class and apply the following changes **withoug 
committing them.**
+  They are temporary hacks for including deprecated codes in the CRS list to 
be generated.
+  (those codes will appear with strike for making clear that they are 
deprecated):
+
+   * Search `DEPRECATED=0` (it appears in a SQL fragment) and replace by 
`(DEPRECATED=0 OR TRUE)`.
+   * Comment-out the `if (table.showColumn != null)` block which appears just 
above the `DEPRECATED=0` occurrence.
+  
+
+* Run the following commands:
+
+  {{< highlight bash >}}
+  gradle assemble
+
+  java --module-path endorsed/build/libs \
+   --limit-modules org.apache.sis.referencing \
+   --patch-module 
org.apache.sis.referencing=endorsed/build/classes/java/test/org.apache.sis.referencing
 \
+   --module 
org.apache.sis.referencing/org.apache.sis.referencing.report.CoordinateOperationMethods
+
+  # Following requires a build of NetBeans project for fetching test 
dependencies. This may change in a future version.
+  java --module-path endorsed/build/libs:netbeans-project/build/dependencies \
+   --add-modules   
org.opengis.geoapi.conformance,org.apache.derby.tools,org.apache.derby.engine \
+   --limit-modules 
org.opengis.geoapi.conformance,org.apache.derby.tools,org.apache.derby.engine,org.apache.sis.referencing
 \
+   --add-reads 
org.apache.sis.referencing=org.opengis.geoapi.c

[sis] branch geoapi-4.0 updated: Add or edit `README.md` files.

2023-10-01 Thread desruisseaux
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 f75f7ee3a5 Add or edit `README.md` files.
f75f7ee3a5 is described below

commit f75f7ee3a58087159dc8089033e1af413fb4e229
Author: Martin Desruisseaux 
AuthorDate: Sun Oct 1 15:31:40 2023 +0200

Add or edit `README.md` files.
---
 README.md  |  9 +++
 endorsed/README.md | 15 +++
 .../sis/referencing/report/HTMLGenerator.java  |  2 +-
 incubator/README.md| 10 
 optional/README.md | 29 ++
 optional/src/org.apache.sis.gui/bundle/README  |  7 --
 optional/src/org.apache.sis.gui/bundle/lib/README  |  1 +
 7 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index e9919f5c0b..eeb59ac67d 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,15 @@ For publishing to the local `~/.m2` repository
 gradle publishToMavenLocal
 
 
+### Build the graphical application
+
+If the [optional modules](optional/README.md) prerequisites are met,
+a ZIP file containing a subset of Apache SIS modules and dependencies
+is automatically built in the `optional/build/bundle/` sub-directory.
+That ZIP file can be unzipped in any directory and the application is
+launched by running the `./bin/sisfx` script.
+
+
 ## Getting Started
 
 Information for running a [command-line 
tool](https://sis.apache.org/command-line.html)
diff --git a/endorsed/README.md b/endorsed/README.md
new file mode 100644
index 00..47b0adcf52
--- /dev/null
+++ b/endorsed/README.md
@@ -0,0 +1,15 @@
+# Endorsed modules of Apache SIS
+
+The `src` sub-directory contains modules included in Apache SIS releases.
+Those modules have no prerequisites other than Java Development Kit (JDK)
+and Gradle for building from the sources. The build command is:
+
+gradle assemble
+
+The JAR files will be in the `build/libs/` directory.
+See [the parent directory](../README.md) for more information.
+
+## See also
+The [optional](../optional) directory contains modules that are also part
+of Apache SIS releases, but requiring prerequisites such as acceptance of
+license agreements more restrictive than Apache 2 license.
diff --git 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java
 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java
index 6637e54659..1e2d928fe7 100644
--- 
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java
+++ 
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java
@@ -32,7 +32,7 @@ import org.apache.sis.util.internal.Constants;
 
 
 /**
- * Base class of all classes used to generate HTML pages to be published on
+ * Base class of some classes used to generate HTML pages to be published on
  * the https://sis.apache.org/;>https://sis.apache.org/ web site.
  *
  * This class creates files in the current default directory. It is user's 
responsibility
diff --git a/incubator/README.md b/incubator/README.md
new file mode 100644
index 00..66b205a5be
--- /dev/null
+++ b/incubator/README.md
@@ -0,0 +1,10 @@
+# Incubator modules of Apache SIS
+
+The `src` sub-directory contains experimental modules that are not yet 
included in
+Apache SIS releases. Those JAR files are not deployed on Maven Central 
repository.
+Using the JAR files requires compiling the `main` branch from the sources:
+
+gradle assemble
+
+The JAR files will be in the `build/libs/` directory. Their API may change 
without
+warning at any time, until the modules move to the [endorsed](../endorsed) 
directory.
diff --git a/optional/README.md b/optional/README.md
new file mode 100644
index 00..87b33e8562
--- /dev/null
+++ b/optional/README.md
@@ -0,0 +1,29 @@
+# Optional modules of Apache SIS
+
+The `src` sub-directory contains modules included in Apache SIS releases,
+but which are buildable or executable only if some dependencies are added
+by the users themselves. Those dependencies are not distributed with Apache
+SIS releases because they are under more restrictive licenses than Apache 2.
+If those dependencies are not provided, Apache SIS [endorsed](../endorsed)
+modules will still work but without Graphical User Interface (GUI).
+
+## Configuration
+
+Paths to dependencies are specified by the following environment variables.
+After those variables are set, `gradle assemble` can be executed as usual.
+
+### JavaFX
+
+JavaFX is licensed under GPL with classpath exception. The JavaFX SDK can be
+downloaded from the [OpenJFX web site](https://openjfx.io/) and installed in
+any directory. The p

[sis-site] 01/02: Remove duplicated section.

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 4fef9a52b2f30791fa96a981a63aae80c320af71
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 17:20:16 2023 +0200

Remove duplicated section.
---
 content/release-management.md | 34 ++
 1 file changed, 6 insertions(+), 28 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index 1e770233..48935bf0 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -30,18 +30,22 @@ Before to perform a release, make sure that the following 
conditions hold:
 
 ## Directory layout{#directory-layout}
 
-The steps described in this page assume the following directory layout.
+The steps described in this page assume the following directory layout,
+where `$NEW_VERSION` and `$RELEASE_CANDIDATE` are environment variables 
introduced [later](#configure).
 Some directories are Git checkout, other are ordinary directories. Any other 
layout can be used,
 provided that all relative paths in this page are adjusted accordingly.
 
 {{< highlight text >}}
 
+├─ $NEW_VERSION-RC
 ├─ main
 ├─ non-free
 │  ├─ sis-epsg
 │  └─ sis-embedded-data
 ├─ release
 │  ├─ distribution
+│  │  └─ $NEW_VERSION
+│  │ └─ RC$RELEASE_CANDIDATE
 │  └─ test
 │ ├─ integration
 │ └─ maven
@@ -166,7 +170,7 @@ the current release attempt. Those versions shall be set on 
the command line lik
 {{< highlight bash >}}
 gpg --list-keys # For getting the value to put in 
 unset PATH_TO_FX
-export OLD_VERSION=1.2
+export OLD_VERSION=1.3
 export NEW_VERSION={{% version %}}
 export RELEASE_CANDIDATE=1
 export SIGNING_KEY=# hexadecimal number with 8 or 40 digits.
@@ -175,32 +179,6 @@ export SIGNING_KEY=# hexadecimal number 
with 8 or 40 digits.
 Make sure that the code signing key is the defauly key declared in 
`~/.gnupg/gpg.conf`
 during the Maven deployment phase.
 
-## Directory layout{#directory-layout}
-
-The steps described in this page assume the following directory layout (some 
directories will be created as
-a result of the steps). Any other layout can be used. However if the layout 
differs, then the relative paths
-in this page shall be adjusted accordingly.
-
-{{< highlight text >}}
-
-├─ $NEW_VERSION-RC
-├─ master
-├─ non-free
-│  └─ sis-epsg
-├─ releases
-│  ├─ distribution
-│  │  └─ $NEW_VERSION
-│  │ └─ RC$RELEASE_CANDIDATE
-│  └─ tests
-│ ├─ integration
-│ └─ maven
-└─ site
-   ├─ main
-   ├─ asf-staging
-   ├─ asf-site
-   └─ javadoc
-{{< / highlight >}}
-
 # Review project status before branching{#prepare-source}
 
 Replace the `$OLD_VERSION` number by `$NEW_VERSION` in the values of following 
properties on the development branch:



[sis] branch main updated (9a6f339273 -> 0c2f9effc0)

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 9a6f339273 Merge branch 'geoapi-3.1'
 add 9800c082a4 Remove `@since` and `@version` javadoc tags in non-public 
classes or methods. They were misleading when internal classes were moved, 
splitted or merged. Also they should tell when something was first available in 
public API, which is not necessarily when the class or method was first 
created. Finally, restricting them to public API is a way to remind SIS 
developers that a class being edited is part of public API.
 add 18a06d459c Merge branch 'geoapi-4.0' into geoapi-3.1
 new 0c2f9effc0 Merge branch 'geoapi-3.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/buildtools/book/Assembler.java  |  4 
 .../apache/sis/buildtools/book/BookException.java  |  2 --
 .../org/apache/sis/buildtools/book/Characters.java |  2 --
 .../apache/sis/buildtools/book/CodeColorizer.java  |  2 --
 .../apache/sis/buildtools/book/package-info.java   |  2 --
 .../apache/sis/buildtools/coding/package-info.java |  2 --
 .../org/apache/sis/buildtools/doclet/Doclet.java   |  2 --
 .../org/apache/sis/buildtools/doclet/Include.java  |  2 --
 .../org/apache/sis/buildtools/doclet/Rewriter.java |  2 --
 .../org/apache/sis/buildtools/doclet/Taglet.java   |  2 --
 .../apache/sis/buildtools/doclet/package-info.java |  2 --
 .../apache/sis/buildtools/gradle/Assembler.java|  2 --
 .../apache/sis/buildtools/gradle/BuildHelper.java  |  2 --
 .../apache/sis/buildtools/gradle/Conventions.java  |  2 --
 .../apache/sis/buildtools/gradle/Dependency.java   |  2 --
 .../apache/sis/buildtools/gradle/JavaMaker.java|  2 --
 .../sis/buildtools/gradle/ModularCompilation.java  |  2 --
 .../apache/sis/buildtools/gradle/ModularJAR.java   |  2 --
 .../sis/buildtools/gradle/ModularJavadoc.java  |  2 --
 .../sis/buildtools/gradle/ModularPublishing.java   |  2 --
 .../apache/sis/buildtools/gradle/ModularTest.java  |  2 --
 .../sis/buildtools/gradle/SISBuildException.java   |  2 --
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |  2 --
 .../apache/sis/buildtools/gradle/ZipWriter.java|  2 --
 .../apache/sis/buildtools/gradle/package-info.java |  2 --
 .../org/apache/sis/buildtools/maven/Element.java   |  2 --
 .../org/apache/sis/buildtools/maven/Generator.java |  2 --
 .../apache/sis/buildtools/maven/package-info.java  |  2 --
 .../resources/IndexedResourceCompiler.java |  2 --
 .../sis/buildtools/resources/package-info.java |  2 --
 .../resources/IndexedResourceCompilerTest.java |  2 --
 .../apache/sis/cloud/aws/internal/Resources.java   |  3 ---
 .../sis/cloud/aws/internal/package-info.java   |  2 --
 .../org/apache/sis/cloud/aws/s3/BucketStore.java   |  2 --
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  2 --
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  2 --
 .../org/apache/sis/cloud/aws/s3/DerivedList.java   |  3 ---
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |  2 --
 .../apache/sis/cloud/aws/s3/KeyPathMatcher.java|  2 --
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |  2 --
 .../org/apache/sis/cloud/aws/s3/PathIterator.java  |  2 --
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |  2 --
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |  2 --
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |  2 --
 .../main/org/apache/sis/console/AboutCommand.java  |  2 --
 .../main/org/apache/sis/console/CRSCommand.java|  2 --
 .../main/org/apache/sis/console/CommandRunner.java |  2 --
 .../apache/sis/console/FormattedOutputCommand.java |  2 --
 .../main/org/apache/sis/console/HelpCommand.java   |  2 --
 .../org/apache/sis/console/IdentifierCommand.java  |  2 --
 .../org/apache/sis/console/MetadataCommand.java|  2 --
 .../org/apache/sis/console/MimeTypeCommand.java|  3 ---
 .../main/org/apache/sis/console/Option.java|  2 --
 .../main/org/apache/sis/console/OutputFormat.java  |  3 ---
 .../org/apache/sis/console/TransformCommand.java   |  2 --
 .../org/apache/sis/console/AboutCommandTest.java   |  2 --
 .../org/apache/sis/console/CRSCommandTest.java |  2 --
 .../org/apache/sis/console/CommandRunnerTest.java  |  2 --
 .../org/apache/sis/console/HelpCommandTest.java|  2 --
 .../apache/sis/console/MetadataCommandTest.java|  2 --
 .../apache/sis/console/MimeTypeCommandTest.java|  2 --
 .../main/org/apache/sis/coverage/CategoryList.java |  2 --
 .../org/apache/sis/coverage/ConvertedCategory.java |  2 --
 .../org/apache/sis/coverage/ConvertedRange.java|  2 --
 .../org/apache/sis/coverage/SampleRangeFormat.java |  2 --
 .../main/org/apache/sis/coverage/To

[sis-site] 02/02: Set GeoAPI version number to 3.0.2.

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit ee9ecef620f1ee4f539ebb687c0fac2554869140
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 17:48:07 2023 +0200

Set GeoAPI version number to 3.0.2.
---
 content/_index.md| 2 +-
 content/source.md| 4 ++--
 content/standards.md | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/content/_index.md b/content/_index.md
index 83f08d8e..d6461524 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -4,7 +4,7 @@ title: The Apache SIS™ library
 
 Apache Spatial Information System (SIS) is a free software, Java language 
library for developing geospatial applications.
 SIS provides data structures for geographic features and associated metadata 
along with methods to manipulate those data structures.
-The library is an implementation of [GeoAPI 3.0.1][geoapi] interfaces and can 
be used for desktop or server applications.
+The library is an implementation of [GeoAPI 3.0.2][geoapi] interfaces and can 
be used for desktop or server applications.
 
 The SIS metadata module enables the creation of metadata objects
 which comply with the model of {{% OGC %}}/{{% ISO %}} international standards.
diff --git a/content/source.md b/content/source.md
index b34a486e..69b0ff66 100644
--- a/content/source.md
+++ b/content/source.md
@@ -163,7 +163,7 @@ gradle test --system-prop org.apache.sis.test.extensive=true
 
 The source code repository contains `main`, `geoapi-3.1` and `geoapi-4.0` 
branches.
 Apache {{% SIS %}} releases are created from `main`, which depends on the 
latest GeoAPI version
-released by the Open Geospatial Consortium (OGC), currently [GeoAPI 
3.0.1][geoapi-stable].
+released by the Open Geospatial Consortium (OGC), currently [GeoAPI 
3.0.2][geoapi-stable].
 However daily developments occur on the `geoapi-4.0` branch before to be 
merged (indirectly) to `main`.
 Those branches exist in order to experiment early new API and technologies — 
since they may impact
 the library design — while keeping the releases compatible with officially 
released API.
@@ -171,7 +171,7 @@ In summary:
 
 * The `geoapi-4.0` branch implements interfaces defined in GeoAPI 4.0 
snapshots.
 * The `geoapi-3.1` branch implements interfaces defined in [GeoAPI 3.1 
snapshots][geoapi-snapshot].
-* The `main` implements interfaces defined by the [GeoAPI 3.0.1 stable 
release][geoapi-stable].
+* The `main` implements interfaces defined by the [GeoAPI 3.0.2 stable 
release][geoapi-stable].
 
 Developments on `geoapi-4.0` branch are merged to `geoapi-3.1` branch, which 
is then merged to `main`.
 When commits reach `main` they become unmodifiable; the `git push --force` 
command is not allowed on that branch.
diff --git a/content/standards.md b/content/standards.md
index 5618b273..f7560001 100644
--- a/content/standards.md
+++ b/content/standards.md
@@ -122,7 +122,7 @@ Some standards are implemented partially, others almost 
fully.
 
 https://portal.ogc.org/files/?artifact_id=71648;>OGC 
09-083
 3.0.2
-GeoAPI 3.0.1
+GeoAPI 3.0.2
   
 
 https://jcp.org/en/jsr/detail?id=363;>JSR 363



[sis-site] branch main updated (ca77ed5d -> ee9ecef6)

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis-site.git


from ca77ed5d Merge "release-management-setup.md" content into 
"release-management.md".
 new 4fef9a52 Remove duplicated section.
 new ee9ecef6 Set GeoAPI version number to 3.0.2.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 content/_index.md |  2 +-
 content/release-management.md | 34 ++
 content/source.md |  4 ++--
 content/standards.md  |  2 +-
 4 files changed, 10 insertions(+), 32 deletions(-)



[sis] branch geoapi-3.1 updated (a1f4b15161 -> 18a06d459c)

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from a1f4b15161 Merge branch 'geoapi-4.0' into geoapi-3.1
 add 9800c082a4 Remove `@since` and `@version` javadoc tags in non-public 
classes or methods. They were misleading when internal classes were moved, 
splitted or merged. Also they should tell when something was first available in 
public API, which is not necessarily when the class or method was first 
created. Finally, restricting them to public API is a way to remind SIS 
developers that a class being edited is part of public API.
 new 18a06d459c Merge branch 'geoapi-4.0' into geoapi-3.1

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/buildtools/book/Assembler.java  |  4 
 .../apache/sis/buildtools/book/BookException.java  |  2 --
 .../org/apache/sis/buildtools/book/Characters.java |  2 --
 .../apache/sis/buildtools/book/CodeColorizer.java  |  2 --
 .../apache/sis/buildtools/book/package-info.java   |  2 --
 .../apache/sis/buildtools/coding/package-info.java |  2 --
 .../org/apache/sis/buildtools/doclet/Doclet.java   |  2 --
 .../org/apache/sis/buildtools/doclet/Include.java  |  2 --
 .../org/apache/sis/buildtools/doclet/Rewriter.java |  2 --
 .../org/apache/sis/buildtools/doclet/Taglet.java   |  2 --
 .../apache/sis/buildtools/doclet/package-info.java |  2 --
 .../apache/sis/buildtools/gradle/Assembler.java|  2 --
 .../apache/sis/buildtools/gradle/BuildHelper.java  |  2 --
 .../apache/sis/buildtools/gradle/Conventions.java  |  2 --
 .../apache/sis/buildtools/gradle/Dependency.java   |  2 --
 .../apache/sis/buildtools/gradle/JavaMaker.java|  2 --
 .../sis/buildtools/gradle/ModularCompilation.java  |  2 --
 .../apache/sis/buildtools/gradle/ModularJAR.java   |  2 --
 .../sis/buildtools/gradle/ModularJavadoc.java  |  2 --
 .../sis/buildtools/gradle/ModularPublishing.java   |  2 --
 .../apache/sis/buildtools/gradle/ModularTest.java  |  2 --
 .../sis/buildtools/gradle/SISBuildException.java   |  2 --
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |  2 --
 .../apache/sis/buildtools/gradle/ZipWriter.java|  2 --
 .../apache/sis/buildtools/gradle/package-info.java |  2 --
 .../org/apache/sis/buildtools/maven/Element.java   |  2 --
 .../org/apache/sis/buildtools/maven/Generator.java |  2 --
 .../apache/sis/buildtools/maven/package-info.java  |  2 --
 .../resources/IndexedResourceCompiler.java |  2 --
 .../sis/buildtools/resources/package-info.java |  2 --
 .../resources/IndexedResourceCompilerTest.java |  2 --
 .../apache/sis/cloud/aws/internal/Resources.java   |  3 ---
 .../sis/cloud/aws/internal/package-info.java   |  2 --
 .../org/apache/sis/cloud/aws/s3/BucketStore.java   |  2 --
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  2 --
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  2 --
 .../org/apache/sis/cloud/aws/s3/DerivedList.java   |  3 ---
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |  2 --
 .../apache/sis/cloud/aws/s3/KeyPathMatcher.java|  2 --
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |  2 --
 .../org/apache/sis/cloud/aws/s3/PathIterator.java  |  2 --
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |  2 --
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |  2 --
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |  2 --
 .../main/org/apache/sis/console/AboutCommand.java  |  2 --
 .../main/org/apache/sis/console/CRSCommand.java|  2 --
 .../main/org/apache/sis/console/CommandRunner.java |  2 --
 .../apache/sis/console/FormattedOutputCommand.java |  2 --
 .../main/org/apache/sis/console/HelpCommand.java   |  2 --
 .../org/apache/sis/console/IdentifierCommand.java  |  2 --
 .../org/apache/sis/console/MetadataCommand.java|  2 --
 .../org/apache/sis/console/MimeTypeCommand.java|  3 ---
 .../main/org/apache/sis/console/Option.java|  2 --
 .../main/org/apache/sis/console/OutputFormat.java  |  3 ---
 .../org/apache/sis/console/TransformCommand.java   |  2 --
 .../org/apache/sis/console/AboutCommandTest.java   |  2 --
 .../org/apache/sis/console/CRSCommandTest.java |  2 --
 .../org/apache/sis/console/CommandRunnerTest.java  |  2 --
 .../org/apache/sis/console/HelpCommandTest.java|  2 --
 .../apache/sis/console/MetadataCommandTest.java|  2 --
 .../apache/sis/console/MimeTypeCommandTest.java|  2 --
 .../main/org/apache/sis/coverage/CategoryList.java |  2 --
 .../org/apache/sis/coverage/ConvertedCategory.java |  2 --
 .../org/apache/sis/coverage/ConvertedRange.java|  2 --
 .../org/apache/sis/coverage/SampleRangeFormat.java |  2 --
 .../main/org/apache/sis/coverage/ToNaN.java|  2 -

[sis] 05/05: Update the NOTICE file.

2023-09-30 Thread desruisseaux
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

commit a95aaf3c9665d2aca015f3e5e8a53547acd69431
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 18:04:40 2023 +0200

Update the NOTICE file.
---
 NOTICE | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/NOTICE b/NOTICE
index aedd21ff11..ff3ba0a520 100644
--- a/NOTICE
+++ b/NOTICE
@@ -5,7 +5,7 @@ This product includes software developed at
 The Apache Software Foundation (https://www.apache.org/).
 
 The Javadoc contains documentation from the Open Geospatial Consortium (OGC®)
-specifications (https://www.ogc.org/standards/), also known as OpenGIS.
+specifications (https://www.ogc.org/standards/), also known as OpenGIS®.
 
 Apache SIS depends on GeoAPI published by OGC under Apache 2.0 license.
 https://www.ogc.org/about-ogc/policies/software-licenses/
@@ -13,7 +13,7 @@ https://www.ogc.org/about-ogc/policies/software-licenses/
 Apache SIS depends on JSR-385 (API only) published under BSD license.
 https://jcp.org/en/jsr/detail?id=385
 
-Apache SIS depends on JAXB (API only) published under Eclipse Distribution 
License license.
+Apache SIS depends on JAXB (API only) published under Eclipse Distribution 
License 1.0.
 http://www.eclipse.org/org/documents/edl-v10.php
 
 The `org.apache.sis.referencing.operation.matrix` package contains code
@@ -21,8 +21,10 @@ adapted from JAMA Java Matrix Package in public domain.
 http://math.nist.gov/javanumerics/jama/
 
 The `org.apache.sis.feature` module can optionally use the Esri Geometry API
-developed by ESRI under Apache license 2.
+developed by ESRI under Apache license 2, or the Java Topology Suite (JTS)
+library under Eclipse Distribution License 1.0.
 https://github.com/Esri/geometry-api-java/
+https://github.com/locationtech/jts
 
 The `org.apache.sis.storage.netcdf` module can optionally use the UCAR netCDF 
library
 developed by Unidata under MIT-style license.
@@ -30,7 +32,7 @@ https://www.unidata.ucar.edu/software/netcdf-java/
 
 The `org.apache.sis.cloud.aws` module depends on the Amazon SDK library
 developed by Amazon under Apache 2 license.
-https://aws.amazon.com/sdk-for-java/
+https://github.com/aws/aws-sdk-java-v2
 
 The test suite uses software developed by the JUnit community
 under Eclipse public license version 2.



[sis] branch geoapi-4.0 updated (66ca33f853 -> a95aaf3c96)

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 66ca33f853 Move some tests closer to the place where they are used.
 new 9800c082a4 Remove `@since` and `@version` javadoc tags in non-public 
classes or methods. They were misleading when internal classes were moved, 
splitted or merged. Also they should tell when something was first available in 
public API, which is not necessarily when the class or method was first 
created. Finally, restricting them to public API is a way to remind SIS 
developers that a class being edited is part of public API.
 new 41a79147f4 Add the tools used in previous commit for cleaning `@since` 
and `@version` javadoc tags.
 new 32d7c5d57a When the "gr3df97a.txt" datum shift grid file is not found, 
the exception should be `MissingFactoryResourceException` instead of 
`FactoryDataException`.
 new f81541ca43 Replace some Maven artifact names by JPMS names in 
documentation.
 new a95aaf3c96 Update the NOTICE file.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE |  10 +-
 .../org/apache/sis/buildtools/book/Assembler.java  |   4 -
 .../apache/sis/buildtools/book/BookException.java  |   2 -
 .../org/apache/sis/buildtools/book/Characters.java |   2 -
 .../apache/sis/buildtools/book/CodeColorizer.java  |   2 -
 .../apache/sis/buildtools/book/package-info.java   |   2 -
 .../buildtools/coding/VerifyVersionInJavadoc.java  | 293 +
 .../apache/sis/buildtools/coding/package-info.java |   2 -
 .../org/apache/sis/buildtools/doclet/Doclet.java   |   2 -
 .../org/apache/sis/buildtools/doclet/Include.java  |   2 -
 .../org/apache/sis/buildtools/doclet/Rewriter.java |   2 -
 .../org/apache/sis/buildtools/doclet/Taglet.java   |   2 -
 .../apache/sis/buildtools/doclet/package-info.java |   2 -
 .../apache/sis/buildtools/gradle/Assembler.java|   2 -
 .../apache/sis/buildtools/gradle/BuildHelper.java  |   2 -
 .../apache/sis/buildtools/gradle/Conventions.java  |   2 -
 .../apache/sis/buildtools/gradle/Dependency.java   |   2 -
 .../apache/sis/buildtools/gradle/JavaMaker.java|   2 -
 .../sis/buildtools/gradle/ModularCompilation.java  |   2 -
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   2 -
 .../sis/buildtools/gradle/ModularJavadoc.java  |   2 -
 .../sis/buildtools/gradle/ModularPublishing.java   |   2 -
 .../apache/sis/buildtools/gradle/ModularTest.java  |   2 -
 .../sis/buildtools/gradle/SISBuildException.java   |   2 -
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |   2 -
 .../apache/sis/buildtools/gradle/ZipWriter.java|   2 -
 .../apache/sis/buildtools/gradle/package-info.java |   2 -
 .../org/apache/sis/buildtools/maven/Element.java   |   2 -
 .../org/apache/sis/buildtools/maven/Generator.java |   2 -
 .../apache/sis/buildtools/maven/package-info.java  |   2 -
 .../resources/IndexedResourceCompiler.java |   2 -
 .../sis/buildtools/resources/package-info.java |   2 -
 .../resources/IndexedResourceCompilerTest.java |   2 -
 .../apache/sis/cloud/aws/internal/Resources.java   |   3 -
 .../sis/cloud/aws/internal/package-info.java   |   2 -
 .../org/apache/sis/cloud/aws/s3/BucketStore.java   |   2 -
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |   2 -
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |   2 -
 .../org/apache/sis/cloud/aws/s3/DerivedList.java   |   3 -
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |   2 -
 .../apache/sis/cloud/aws/s3/KeyPathMatcher.java|   2 -
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |   2 -
 .../org/apache/sis/cloud/aws/s3/PathIterator.java  |   2 -
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |   2 -
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |   2 -
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |   2 -
 .../main/org/apache/sis/console/AboutCommand.java  |   2 -
 .../main/org/apache/sis/console/CRSCommand.java|   2 -
 .../main/org/apache/sis/console/CommandRunner.java |   2 -
 .../apache/sis/console/FormattedOutputCommand.java |   2 -
 .../main/org/apache/sis/console/HelpCommand.java   |   2 -
 .../org/apache/sis/console/IdentifierCommand.java  |   2 -
 .../org/apache/sis/console/MetadataCommand.java|   2 -
 .../org/apache/sis/console/MimeTypeCommand.java|   3 -
 .../main/org/apache/sis/console/Option.java|   2 -
 .../main/org/apache/sis/console/OutputFormat.java  |   3 -
 .../org/apache/sis/console/TransformCommand.java   |   2 -
 .../org/apache/sis/console/AboutCommandTest.java   |   2 -
 .../org/apache/sis/console/CRSCommandTest.java |   2 -
 .../org/apache/sis/console/CommandRun

[sis] 04/05: Replace some Maven artifact names by JPMS names in documentation.

2023-09-30 Thread desruisseaux
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

commit f81541ca43ada86b415763a9cbee17bab05fe6ad
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 17:44:20 2023 +0200

Replace some Maven artifact names by JPMS names in documentation.
---
 .../main/org/apache/sis/metadata/sql/MetadataSource.java| 2 +-
 .../main/org/apache/sis/metadata/sql/util/Initializer.java  | 6 +++---
 .../main/org/apache/sis/metadata/sql/util/LocalDataSource.java  | 2 +-
 .../main/org/apache/sis/referencing/factory/sql/EPSGFactory.java| 4 ++--
 .../main/org/apache/sis/referencing/factory/sql/EPSG_README.md  | 2 +-
 .../main/org/apache/sis/referencing/factory/sql/package-info.java   | 2 +-
 .../test/org/apache/sis/referencing/factory/sql/epsg/README.md  | 2 +-
 .../main/org/apache/sis/setup/Configuration.java| 2 +-
 .../main/org/apache/sis/setup/InstallationResources.java| 4 ++--
 9 files changed, 13 insertions(+), 13 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
index 645a806202..a5eaf97428 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
@@ -446,7 +446,7 @@ public class MetadataSource implements AutoCloseable {
  *   The schema name must be {@code "metadata"}, as this is the name 
used unquoted in SQL scripts.
  * 
  *
- * Maintenance note: this method is invoked by reflection in {@code 
non-free:sis-embedded-data} module.
+ * Maintenance note: this method is invoked by reflection in the {@code 
org.apache.sis.referencing.database} module.
  * If we make this method public in a future Apache SIS version, then we 
can remove the reflection code.
  *
  * @throws SQLException if an error occurred while inserting the metadata.
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java
index de9dcd185e..6270026111 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java
@@ -71,7 +71,7 @@ public abstract class Initializer {
  * the {@code derby.system.home} property.
  *
  * Dependency note
- * This field is public for the needs of {@code 
non-free:sis-embedded-data} module.
+ * This field is public for the needs of {@code 
org.apache.sis.referencing.database} module.
  */
 public static final String DATABASE = "SpatialMetadata";
 
@@ -249,7 +249,7 @@ public abstract class Initializer {
  *   use the data source for {@code 
"jdbc:derby:$SIS_DATA/Databases/SpatialMetadata"}.
  *   That database will be created if it does not exist. Note that 
this is the only case where
  *   Apache SIS may create the database since it is located in the 
directory managed by Apache SIS.
- *   Otherwise if the {@code non-free:sis-embedded-data} module is 
present on the module path,
+ *   Otherwise if the {@code org.apache.sis.referencing.database} 
module is present on the module path,
  *   use the embedded database.
  *   Otherwise if the {@code "derby.system.home"} property is defined,
  *   use the data source for {@code "jdbc:derby:SpatialMetadata"}.
@@ -368,7 +368,7 @@ public abstract class Initializer {
 }
 
 /**
- * If the {@code non-free:sis-embedded-data} module is present on the 
module path,
+ * If the {@code org.apache.sis.referencing.database} module is present on 
the module path,
  * returns the data source for embedded Derby database. Otherwise returns 
{@code null}.
  *
  * @see https://issues.apache.org/jira/browse/SIS-337;>SIS-337
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java
index c03a285934..31923006a7 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java
@@ -304,7 +304,7 @@ public final class LocalDataSource implements DataSource, 
ComparableDependency note
- * This method is public for the needs of {@code 
non-free:sis-embedded-data} module.
+ * This method is public for the needs of {@code 
org.apache.sis.referencing.datab

[sis] 02/05: Add the tools used in previous commit for cleaning `@since` and `@version` javadoc tags.

2023-09-30 Thread desruisseaux
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

commit 41a79147f46e6aabc7b0329592e14af247d71eb2
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 14:36:50 2023 +0200

Add the tools used in previous commit for cleaning `@since` and `@version` 
javadoc tags.
---
 .../buildtools/coding/VerifyVersionInJavadoc.java  | 293 +
 1 file changed, 293 insertions(+)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java
new file mode 100644
index 00..90ccbb2ccf
--- /dev/null
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java
@@ -0,0 +1,293 @@
+/*
+ * 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.buildtools.coding;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+
+/**
+ * Verifies the usage of {@code @since} and {@code @version} Javadoc tags in 
source code.
+ * If one of those tags is missing in a public exported class, an error is 
reported.
+ * If those tags are present in a package-private or non-exported class, they 
are removed.
+ *
+ * How to use
+ * Run the following command from the project root directory, where "." is the 
current directory
+ * (can be replaced by a path if desired):
+ *
+ * {@snippet lang="shell" :
+ *   java --class-path buildSrc/build/classes/java/main 
org.apache.sis.buildtools.coding.VerifyVersionInJavadoc .
+ *   }
+ *
+ * Rational
+ * This tool has been created because in all Apache SIS versions from 0.3 to 
1.3, the {@code @since} and
+ * {@code @version} Javadoc tags were put on all classes, public or not. It 
was a little bit misleading
+ * because non-public classes can be moved, splitted, merged, etc., 
making the meaning of "since"
+ * confusing. The rule is that {@code @since} should tell when a class was 
first available in public API,
+ * which is not necessarily when it was first created. Finally, with the use 
of JPMS exporting only some
+ * chosen packages, the presence/absence of those tags is a useful way to 
remind whether or not a class
+ * in process of being modified is part of public API.
+ *
+ * Limitations
+ * This class does only a gross analysis. It may sometime be wrong.
+ * Developers should check with {@code git diff} before to commit.
+ *
+ * @author Martin Desruisseaux (Geomatys)
+ */
+public final class VerifyVersionInJavadoc {
+/**
+ * Verifies the Javadoc tags in the Java source classes.
+ *
+ * @param  args  the root directory of all branches.
+ * @throws IOException if an error occurred while reading or writing a 
file.
+ */
+public static void main(String[] args) throws IOException {
+if (args.length != 1) {
+System.err.println("Expected: root directory of project to 
filter.");
+return;
+}
+final File root = new File(args[0]);
+var p = new VerifyVersionInJavadoc();
+p.listExports(root);
+p.scan(root);
+}
+
+/**
+ * Name of {@value} source files.
+ */
+private static final String MODULE_INFO = "module-info.java";
+
+/**
+ * Java keyword to search for.
+ */
+private static final String EXPORTS = "exports ", PACKAGE = "package ",
+CLASS = "class ", INTERFACE = "interface ", ENUM = "enum ",
+PUBLIC = "public ", PROTECTED = "protected ", PRIVATE = "private ";
+
+/**
+ * All packages that are exported to everyone.
+ */
+private final Set exportedPackages;
+
+/**
+ * Whether the file currently being processed is a public or protected 
class, interface or enu

[sis] 03/05: When the "gr3df97a.txt" datum shift grid file is not found, the exception should be `MissingFactoryResourceException` instead of `FactoryDataException`.

2023-09-30 Thread desruisseaux
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

commit 32d7c5d57acb9d0c973a938cba7266d2c1bb6d80
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 16:02:22 2023 +0200

When the "gr3df97a.txt" datum shift grid file is not found,
the exception should be `MissingFactoryResourceException`
instead of `FactoryDataException`.
---
 .../org/apache/sis/referencing/factory/FactoryDataException.java | 5 -
 .../sis/referencing/factory/MissingFactoryResourceException.java | 1 +
 .../sis/referencing/operation/provider/DatumShiftGridLoader.java | 3 ++-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java
index d79afb6e17..f5038ff681 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java
@@ -27,7 +27,10 @@ import org.opengis.util.FactoryException;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 1.2
- * @since   0.7
+ *
+ * @see MissingFactoryResourceException
+ *
+ * @since 0.7
  */
 public class FactoryDataException extends FactoryException {
 /**
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java
index 470d50d21c..86b4dd1ea0 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java
@@ -35,6 +35,7 @@ import org.opengis.util.FactoryException;
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.7
  *
+ * @see FactoryDataException
  * @see ConcurrentAuthorityFactory#newDataAccess()
  *
  * @since 0.7
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java
index 6b6d2580d7..bc03ecc036 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java
@@ -21,6 +21,7 @@ import java.util.logging.LogRecord;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.io.EOFException;
 import java.io.IOException;
+import java.io.FileNotFoundException;
 import java.nio.ByteBuffer;
 import java.net.URI;
 import java.nio.file.Path;
@@ -235,7 +236,7 @@ abstract class DatumShiftGridLoader {
 Logging.completeAndLog(AbstractProvider.LOGGER, 
DatumShiftGridLoader.class, "readGrid", record);
 }
 }
-final boolean notFound = (cause instanceof NoSuchFileException);
+final boolean notFound = (cause instanceof NoSuchFileException) || 
(cause instanceof FileNotFoundException);
 final String message = Resources.format(notFound ? 
Resources.Keys.FileNotFound_2
  : 
Resources.Keys.FileNotReadable_2, format, file);
 if (notFound) {



[sis-site] branch main updated: Merge "release-management-setup.md" content into "release-management.md".

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new ca77ed5d Merge "release-management-setup.md" content into 
"release-management.md".
ca77ed5d is described below

commit ca77ed5d695337cb29277d23ef0d8c1cd8098b08
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 17:04:47 2023 +0200

Merge "release-management-setup.md" content into "release-management.md".
---
 content/release-management-setup.md | 205 
 content/release-management.md   | 158 ++-
 2 files changed, 153 insertions(+), 210 deletions(-)

diff --git a/content/release-management-setup.md 
b/content/release-management-setup.md
deleted file mode 100644
index 468ce091..
--- a/content/release-management-setup.md
+++ /dev/null
@@ -1,205 +0,0 @@

-title: Release management setup

-
-The following instructions need to be done only once by new release managers,
-or when configuring a new machine for performing the releases.
-If those steps have already been done, jump directly to the [Release 
Management](release-management.html) page.
-
-{{< toc >}}
-
-# Directory layout{#directory-layout}
-
-The steps described in the _release management_ page assume the following 
directory layout.
-Some directories are Git checkout, other are ordinary directories. Any other 
layout can be used.
-However in the latter case, all relative paths in the _release management_ 
page will need to be adjusted accordingly.
-
-{{< highlight text >}}
-
-├─ master
-├─ non-free
-│  ├─ sis-epsg
-│  └─ sis-embedded-data
-├─ releases
-│  ├─ distribution
-│  └─ integration-test
-│ └─ maven
-└─ site
-   ├─ main
-   ├─ asf-staging
-   ├─ asf-site
-   └─ javadoc
-{{< / highlight >}}
-
-Create the above directory structure as below:
-
-{{< highlight bash >}}
-mkdir site
-mkdir releases
-git clone https://gitbox.apache.org/repos/asf/sis.git master
-git clone https://gitbox.apache.org/repos/asf/sis-site.git site/main
-svn checkout https://svn.apache.org/repos/asf/sis/data/non-free
-svn checkout https://svn.apache.org/repos/asf/sis/release-test 
releases/integration-test
-svn checkout https://dist.apache.org/repos/dist/dev/sis releases/distribution
-cd site/main
-git worktree add ../asf-staging asf-staging
-git worktree add ../asf-site asf-site
-{{< / highlight >}}
-
-# Generate GPG key{#generate-key}
-
-The releases have to be signed by public key cryptography signatures.
-Detailed instructions about why releases have to be signed are provided on the 
[Release Signing][signing] page.
-The standard used is OpenPGP (_Open Pretty Good Privacy_), and a popular 
software implementation of that standard is GPG (_GNU Privacy Guard_).
-The [OpenPGP instructions][PGP] list out detailed steps on managing your keys.
-The following steps provide a summary:
-
-Edit the `~/.gnupg/gpg.conf` configuration file and add the following 
configuration options,
-or edit the existing values if any:
-
-{{< highlight text >}}
-personal-digest-preferences SHA512
-cert-digest-algo SHA512
-default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 
ZLIB BZIP2 ZIP Uncompressed
-{{< / highlight >}}
-
-If a private key already exists for emails or other purposes, it may be a good 
idea to keep that key as the default one.
-Add or modify the following line in the `gpg.conf` file, replacing 
`` by the existing key identifier
-(a value like `621CC013`):
-
-{{< highlight text >}}
-default-key 
-{{< / highlight >}}
-
-Generate 4096 bits RSA key pair using the following command-line. GPG will 
prompts for various informations.
-The list below the command suggests some values, keeping in mind that the new 
key should be used only for
-signing Apache software packages - not for daily emails.
-
-{{< highlight bash >}}
-gpg --gen-key
-{{< / highlight >}}
-
-* Kind of key: RSA and RSA (default). Do not create DSA key.
-* Key size: 4096 bits.
-* Validity time: 0 (key does not expire).
-* Real name: the developer's name.
-* Email address: developer's email address at `@apache.org`.
-* Comment: "CODE SIGNING KEY".
-* Passphrase: please choose a strong one.
-
-Verify the key information (replace _Real Name_ by the above-cited developer's 
name, keeping quotes in the command below).
-Note the key identifier, which is a value like `74383E9D`. This key identifier 
will be needed for the next steps.
-
-{{< highlight bash >}}
-gpg --list-sigs "Real Name"
-{{< / highlight >}}
-
-Sends the public key to a keys server (replace `` by the above-cited 
key identifier).
-The default GPG configuration sends the key to `hkp://keys.gnupg.net`.
-Note that while there is many key servers, most of them syn

[sis-site] 01/02: Update the version, Java requirement and the "How to" examples.

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit c17a53b931cbdee09a3886ea18afd88c70a2ef68
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 11:41:25 2023 +0200

Update the version, Java requirement and the "How to" examples.
---
 content/_index.md |  4 ++--
 content/coding-conventions.md | 18 +++---
 content/howto/datalake_to_datacube.md |  2 +-
 content/howto/read_geotiff.md |  3 +--
 content/howto/read_netcdf.md  |  3 +--
 content/howto/write_raster.md | 34 --
 content/release-management.md |  4 ++--
 layouts/shortcodes/version.html   |  2 +-
 8 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/content/_index.md b/content/_index.md
index c4a7ec3c..83f08d8e 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -59,9 +59,9 @@ The API and the data encodings follow [international 
standards](standards.html)
 
 ## Using Apache SIS{#user}
 
-The latest SIS release is {{% version %}}, released December 2022,
+The latest SIS release is {{% version %}}, released in October 2023,
 and can be [downloaded](downloads.html) as a `zip` files or as Maven 
dependencies.
-This is the latest version that can be run on Java 8 (next version will 
require Java 11).
+This version requires Java 11 or later.
 The EPSG geodetic dataset is optional for licensing reasons, but recommended.
 EPSG database installation is [described in a separated page](epsg.html).
 
diff --git a/content/coding-conventions.md b/content/coding-conventions.md
index f363fd16..8c762889 100644
--- a/content/coding-conventions.md
+++ b/content/coding-conventions.md
@@ -1,5 +1,5 @@
 ---
-title: Source code
+title: Coding conventions
 ---
 
 This page describes some coding conventions applied in Apache {{% SIS %}} 
development.
@@ -33,16 +33,12 @@ The `Envelope2D` class is another implementation of the 
same interface specializ
 
 ## Internal packages{#internal}
 
-All classes in `org.apache.sis.internal` sub-packages are for SIS usage only 
and may change without warning in any future release.
-Those classes are excluded from Javadoc and will not be exported by SIS Jigsaw 
modules.
-Those packages may be renamed after SIS upgraded to JDK 9+.
-
-## Substitution for non-existent classes{#substitutions}
-
-When using a JDK 9+ class that does not exist on JDK 8, define a class of the 
same name in a
-`org.apache.sis.internal` sub-package with the minimal amount of needed 
functionalities,
-provided that it can be done with reasonable effort.
-Otherwise just delete the JDK9-dependent code from the development branch.
+The public API is made of all public classes in all exported packages,
+i.e. packages declared in non-qualified `exports` statements in the 
`module-info.java` file.
+All other classes are for SIS usage only and may change without warning in any 
future release.
+Those classes are excluded from Javadoc and normally not accessible to users.
+Contrarily to previous SIS versions, there is no longer any particular 
convention for internal package names.
+They may or may not have `internal` in their name.
 
 # Code formatting{#formatting}
 
diff --git a/content/howto/datalake_to_datacube.md 
b/content/howto/datalake_to_datacube.md
index 7a0b489a..51e31e05 100644
--- a/content/howto/datalake_to_datacube.md
+++ b/content/howto/datalake_to_datacube.md
@@ -84,7 +84,7 @@ public class DataLakeToDataCube {
 System.out.printf("Extent of second set of slices:%n%s%n", 
r2.getGridGeometry().getExtent());
 System.out.printf("Extent of third set of slices:%n%s%n",  
r3.getGridGeometry().getExtent());
 
-var aggregator = new CoverageAggregator(null);
+var aggregator = new CoverageAggregator();
 aggregator.add(r1);
 aggregator.add(r2);
 aggregator.add(r3);
diff --git a/content/howto/read_geotiff.md b/content/howto/read_geotiff.md
index 6bfe43aa..84fd24cb 100644
--- a/content/howto/read_geotiff.md
+++ b/content/howto/read_geotiff.md
@@ -40,7 +40,6 @@ import org.apache.sis.storage.DataStoreException;
 import org.apache.sis.storage.GridCoverageResource;
 import org.apache.sis.coverage.grid.GridCoverage;
 import org.apache.sis.coverage.grid.GridGeometry;
-import org.apache.sis.coverage.grid.GridOrientation;
 import org.apache.sis.geometry.GeneralEnvelope;
 import org.apache.sis.referencing.CommonCRS;
 
@@ -86,7 +85,7 @@ public class ReadGeoTIFF {
 var areaOfInterest = new 
GeneralEnvelope(CommonCRS.WGS84.universal(49, 2.5));
 areaOfInterest.setRange(0,   46600,  467000);   // Minimal and 
maximal easting values (metres)
 areaOfInterest.setRange(1, 5427000, 5428000);   // Minimal and 
maximal northing values (metres).
-data = fi

[sis-site] 02/02: Document new policy about `@since` and `@version` javadoc tags.

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit be146d283cb3a4dbb101fe84676f6d92ee827bfd
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 15:14:23 2023 +0200

Document new policy about `@since` and `@version` javadoc tags.
---
 content/coding-conventions.md | 31 ---
 content/release-management.md |  2 --
 2 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/content/coding-conventions.md b/content/coding-conventions.md
index 8c762889..1f66614f 100644
--- a/content/coding-conventions.md
+++ b/content/coding-conventions.md
@@ -63,10 +63,14 @@ import java.io.File;
 import java.util.List;
 import org.opengis.metadata.Metadata;
 
-// Branch-specific imports
+// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 import org.opengis.feature.Feature;
 {{< / highlight >}}
 
+The import statements can be rearranged automatically by the 
`ReorganizeImports` class in `buildSrc`.
+This tool requires checkouts of all three branches (`main`, `geoapi-3.1` and 
`geoapi-4.0`) in order
+to identify which imports are branch-specific.
+
 ## Spaces and line length{#spaces}
 
 * **Indentation:** Use a consistent space indents and never use tabs.
@@ -92,8 +96,7 @@ import org.opengis.feature.Feature;
   This is known as the "customary order" in the [Java Language 
Specification][JLS-order]:
   + `public`, `protected` or `private`,
   + `abstract` or `static`,
-  + `final`,
-  + `strictfp` (should be applied on all test classes).
+  + `final`.
 * Member fields do not have any particular prefix (no `m_` prefix).
 
 ## Exceptions to coding conventions{#tabular-formatting}
@@ -123,7 +126,7 @@ structure of `` elements.
 
 SIS uses standard javadoc annotations. The meaning of some tags are refined as 
below:
 
-* `@since`   - the SIS version when the annotated element (class, method, 
etc.) was first introduced.
+* `@since`   - the SIS version when the annotated element (class, method, 
etc.) was first introduced in public API.
 * `@version` - the last SIS version when the code of the annotated class got a 
significant change.
 * `@author`  - developer name in FirstName LastName 
(Organization) format.
   A separated `@author` tag is added for each developer.
@@ -134,17 +137,24 @@ In addition, the `sis-build-helper` modules provides the 
following custom javado
 Javadoc tag| Description
 -- | 
---
 `{@include}`   | Include the content of a given HTML file below a `` 
section having the given title.
-`{@preformat}` | An inline taglet for pre-formatted text. The first word 
inside the taglet shall be one of `java`, `xml`, `sql`, `wkt`, `text`, `math` 
or `shell`.
+
+### Where to use @since and @version tags{#since-tag}
+
+The `@since` and `@version` Javadoc tags should be used only on classes, 
interfaces, enumerations, methods or fields
+that are part of public API. They should not be put on package-private classes 
or classes in non-exported packages.
+The reason is that non-public classes can be moved, splitted or merged without 
warning,
+which gives confusing meaning to the `@since` tag.
+Furthermore, restricting the use of those tags to public API is also a way to 
remind developers
+that the class that they are editing is part of public API, so 
backward-compatibility concerns apply.
 
 ## HTML elements{#html}
 
 HTML tags and entities shall be used only when there is no equivalent Javadoc 
tag.
 For example:
 
-* Instead of "`✎`", use "`{@code ✎}`".
+* Instead of "`Foo`", use "`{@code Foo}`".
 * Instead of "`a  b  c`", use "`{@literal a < b < c}`".
-* Instead of "`✎`" for a Java listing, use "`{@preformat java ✎}`"
-  (this Javadoc tag is specific to Apache {{% SIS %}} — see above table).
+* Instead of "`Foo`" for a Java listing, use "`{@snippet lang=java 
: Foo}`".
 
 ### Paragraphs{#paragraph}
 
@@ -152,7 +162,7 @@ Usages of the `` tag should be relatively rare, since we 
use CSS styles (see
 as much as possible for controlling the margin between elements like lists and 
tables.
 Do **not** use `` for the first paragraph in a package, class or member 
documentation,
 or for the first paragraph after a ``, ``, ``, 
``, ``,
-or `{@preformat}` element.
+or `{@snippet}` element.
 The `` tag shall be used only for separating a new paragraph from a 
previous one.
 In such cases, `` shall have a matching `` tag at the paragraph end in 
order to form valid HTML.
 
@@ -178,8 +188,7 @@ HTML tag  | Description
 The source code occasionally uses MathML for formulas that are difficult to 
render with only Unicode characters.
 PNG images are not extensively used for formulas because they are difficu

[sis-site] branch main updated (78041c67 -> be146d28)

2023-09-30 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis-site.git


from 78041c67 Replace "master" by "main" branch and "Maven" by "Gradle" 
build tools, except in release manager guides which will need much more work. 
This commit contains also minor typo fixes.
 new c17a53b9 Update the version, Java requirement and the "How to" 
examples.
 new be146d28 Document new policy about `@since` and `@version` javadoc 
tags.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 content/_index.md |  4 +--
 content/coding-conventions.md | 49 +++
 content/howto/datalake_to_datacube.md |  2 +-
 content/howto/read_geotiff.md |  3 +--
 content/howto/read_netcdf.md  |  3 +--
 content/howto/write_raster.md | 34 ++--
 content/release-management.md |  6 ++---
 layouts/shortcodes/version.html   |  2 +-
 8 files changed, 55 insertions(+), 48 deletions(-)



[sis] 01/01: Merge branch 'geoapi-3.1'

2023-09-29 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 9a6f339273ceaf48ae1c6431e7c1eaa4b9219fd2
Merge: 01f8dc22a9 a1f4b15161
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 29 17:29:50 2023 +0200

Merge branch 'geoapi-3.1'

 .../sis/buildtools/coding/ReorganizeImports.java   | 105 -
 .../apache/sis/buildtools/gradle/Assembler.java|   2 +-
 .../apache/sis/buildtools/gradle/Conventions.java  |  17 ++-
 .../apache/sis/buildtools/gradle/JavaMaker.java|   3 +-
 .../sis/buildtools/gradle/ModularCompilation.java  |  26 +---
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   4 +-
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |   4 +-
 endorsed/build.gradle.kts  |   8 +-
 .../main/org/apache/sis/feature/README.md  |  77 ++
 .../main/org/apache/sis/feature/benchmarks.html| 114 --
 .../test}/FeatureComparator.java   |   2 +-
 .../feature => feature/test}/package-info.java |   2 +-
 .../main/org/apache/sis/xml/README.md  |  78 ++
 .../sis/xml/bind/gco/ObjectIdentification.html |  59 
 .../sis/xml/bind/gco/ObjectIdentification.md   |  31 
 .../main/org/apache/sis/xml/readme.html|  98 
 .../test/org/apache/sis/metadata/Assertions.java   |   2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |   2 +-
 .../sis/metadata/internal/AxisDirectionsTest.md|   3 +
 .../sis/metadata/internal/AxisDirectionsTest.txt   |   3 -
 .../sis/metadata/iso/CustomMetadataTest.java   |   2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java|   2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java  |   2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |   2 +-
 .../iso/citation/DefaultResponsibilityTest.java|   2 +-
 .../constraint/DefaultLegalConstraintsTest.java|   2 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |   2 +-
 .../identification/DefaultBrowseGraphicTest.java   |   2 +-
 .../DefaultRepresentativeFractionTest.java |   2 +-
 .../iso/identification/DefaultResolutionTest.java  |   2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |   2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java|   2 +-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |   2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |   1 -
 .../sis/metadata/sql/MetadataSourceTest.java   |   1 -
 .../sis/metadata/sql/MetadataWriterTest.java   |   1 -
 .../sis/{test => metadata}/sql/TestDatabase.java   |   2 +-
 .../sis/metadata/sql/util/ScriptRunnerTest.java|   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../org/apache/sis/test/mock/package-info.java |   2 +-
 .../test/org/apache/sis/test/sql/package-info.java |  29 
 .../apache/sis/util/iso/NameMarshallingTest.java   |   2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java  |   2 +-
 .../apache/sis/xml/NilReasonMarshallingTest.java   |   2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |   2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java|   2 +-
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |   2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |   2 +-
 .../sis/xml/bind/cat/EnumMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |   2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java|   2 +-
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |   2 +-
 .../metadata/replace/QualityParameterTest.java |   2 +-
 .../metadata/replace/ServiceParameterTest.java |   2 +-
 .../test}/AnnotationConsistencyCheck.java  |   2 +-
 .../{test/xml => xml/test}/DocumentComparator.java |   2 +-
 .../sis/{test/xml => xml/test}/InfiniteSet.java|   2 +-
 .../sis/{test/xml => xml/test}/TestCase.java   |   2 +-
 .../sis/{test/xml => xml/test}/package-info.java   |   7 +-
 .../sis/xml/util/DocumentComparatorTest.java   |   2 +-
 .../org/apache/sis/xml/util/XmlUtilitiesTest.java  |   2 +-
 .../src/org.apache.sis.openoffice/bundle/README.md | 100 
 .../bundle/build-instruction.html  | 119 ---
 .../sis/xml/bind/fra/DataIdentificationTest.java   |   2 +-
 .../xml/bind/fra/DirectReferenceSystemTest.java|   2 +-
 .../apache/sis/parameter/AbstractParameterValue.md |   5 +
 .../sis/parameter/AbstractParameterValue.txt   |   5 -
 .../sis/referencing/factory/sql/EPSG_README.md |   7 +
 .../sis/referencing/factory/sql/EPSG_README.txt|   7 -
 .../sis/referencing/operation/builder/README.md|  33 
 .../sis/referencing/operation/builder/readme.html  |  50 --
 ...c3DtoVertical.txt => Geographic3DtoVertical.md} |   6 +-
 .../transform/SpecializableTransform1D.md  |   3 +
 .../transform/Special

[sis] branch main updated (01f8dc22a9 -> 9a6f339273)

2023-09-29 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 01f8dc22a9 Merge branch 'geoapi-3.1'.
 add 9e623647ab Tune the rule for ordering import statements. Those changes 
were used in the previous commit.
 add 1305b01fc8 Avoid using a method which has been deprecated in Gradle 
8.3.
 add 2f6a07007c Convert text files and HTML files to Markdown format when 
those files were not used for tests. The intend is to have a less formats for 
documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be 
considered as used in tests.
 add f07143ab6b fix(FeatureQuery): fix a case where query projection 
returned the wrong property name
 add 882b254663 Modification of the fix about the property name of a link. 
The check for instance of `ValueReference` should be merged with the existing 
check done 20 lines below.
 add 66ca33f853 Move some tests closer to the place where they are used.
 add a1f4b15161 Merge branch 'geoapi-4.0' into geoapi-3.1
 new 9a6f339273 Merge branch 'geoapi-3.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../sis/buildtools/coding/ReorganizeImports.java   | 105 -
 .../apache/sis/buildtools/gradle/Assembler.java|   2 +-
 .../apache/sis/buildtools/gradle/Conventions.java  |  17 ++-
 .../apache/sis/buildtools/gradle/JavaMaker.java|   3 +-
 .../sis/buildtools/gradle/ModularCompilation.java  |  26 +---
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   4 +-
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |   4 +-
 endorsed/build.gradle.kts  |   8 +-
 .../main/org/apache/sis/feature/README.md  |  77 ++
 .../main/org/apache/sis/feature/benchmarks.html| 114 --
 .../test}/FeatureComparator.java   |   2 +-
 .../feature => feature/test}/package-info.java |   2 +-
 .../main/org/apache/sis/xml/README.md  |  78 ++
 .../sis/xml/bind/gco/ObjectIdentification.html |  59 
 .../sis/xml/bind/gco/ObjectIdentification.md   |  31 
 .../main/org/apache/sis/xml/readme.html|  98 
 .../test/org/apache/sis/metadata/Assertions.java   |   2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |   2 +-
 .../sis/metadata/internal/AxisDirectionsTest.md|   3 +
 .../sis/metadata/internal/AxisDirectionsTest.txt   |   3 -
 .../sis/metadata/iso/CustomMetadataTest.java   |   2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java|   2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java  |   2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |   2 +-
 .../iso/citation/DefaultResponsibilityTest.java|   2 +-
 .../constraint/DefaultLegalConstraintsTest.java|   2 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |   2 +-
 .../identification/DefaultBrowseGraphicTest.java   |   2 +-
 .../DefaultRepresentativeFractionTest.java |   2 +-
 .../iso/identification/DefaultResolutionTest.java  |   2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |   2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java|   2 +-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |   2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |   1 -
 .../sis/metadata/sql/MetadataSourceTest.java   |   1 -
 .../sis/metadata/sql/MetadataWriterTest.java   |   1 -
 .../sis/{test => metadata}/sql/TestDatabase.java   |   2 +-
 .../sis/metadata/sql/util/ScriptRunnerTest.java|   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../org/apache/sis/test/mock/package-info.java |   2 +-
 .../test/org/apache/sis/test/sql/package-info.java |  29 
 .../apache/sis/util/iso/NameMarshallingTest.java   |   2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java  |   2 +-
 .../apache/sis/xml/NilReasonMarshallingTest.java   |   2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |   2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java|   2 +-
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |   2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |   2 +-
 .../sis/xml/bind/cat/EnumMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |   2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java|   2 +-
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |   2 +-
 .../metadata/replace/QualityParameterTest.java |   2 +-
 .../metadata/replace/ServiceParameterTest.java |   2 +-
 .../test}/AnnotationConsistencyCheck.java  |   2 +-
 .../{test/xml => xml/test}/DocumentComparator.java |   2 +-
 .../sis/{test/xml 

[sis] branch geoapi-3.1 updated (80a27652f1 -> a1f4b15161)

2023-09-29 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 80a27652f1 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports 
reordering).
 add 9e623647ab Tune the rule for ordering import statements. Those changes 
were used in the previous commit.
 add 1305b01fc8 Avoid using a method which has been deprecated in Gradle 
8.3.
 add 2f6a07007c Convert text files and HTML files to Markdown format when 
those files were not used for tests. The intend is to have a less formats for 
documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be 
considered as used in tests.
 add f07143ab6b fix(FeatureQuery): fix a case where query projection 
returned the wrong property name
 add 882b254663 Modification of the fix about the property name of a link. 
The check for instance of `ValueReference` should be merged with the existing 
check done 20 lines below.
 add 66ca33f853 Move some tests closer to the place where they are used.
 new a1f4b15161 Merge branch 'geoapi-4.0' into geoapi-3.1

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../sis/buildtools/coding/ReorganizeImports.java   | 105 -
 .../apache/sis/buildtools/gradle/Assembler.java|   2 +-
 .../apache/sis/buildtools/gradle/Conventions.java  |  17 ++-
 .../apache/sis/buildtools/gradle/JavaMaker.java|   3 +-
 .../sis/buildtools/gradle/ModularCompilation.java  |  26 +---
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   4 +-
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |   4 +-
 endorsed/build.gradle.kts  |   8 +-
 .../main/org/apache/sis/feature/README.md  |  77 ++
 .../main/org/apache/sis/feature/benchmarks.html| 114 --
 .../test}/FeatureComparator.java   |   2 +-
 .../feature => feature/test}/package-info.java |   2 +-
 .../main/org/apache/sis/xml/README.md  |  78 ++
 .../sis/xml/bind/gco/ObjectIdentification.html |  59 
 .../sis/xml/bind/gco/ObjectIdentification.md   |  31 
 .../main/org/apache/sis/xml/readme.html|  98 
 .../test/org/apache/sis/metadata/Assertions.java   |   2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |   2 +-
 .../sis/metadata/internal/AxisDirectionsTest.md|   3 +
 .../sis/metadata/internal/AxisDirectionsTest.txt   |   3 -
 .../sis/metadata/iso/CustomMetadataTest.java   |   2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java|   2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java  |   2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |   2 +-
 .../iso/citation/DefaultResponsibilityTest.java|   2 +-
 .../constraint/DefaultLegalConstraintsTest.java|   2 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |   2 +-
 .../identification/DefaultBrowseGraphicTest.java   |   2 +-
 .../DefaultRepresentativeFractionTest.java |   2 +-
 .../iso/identification/DefaultResolutionTest.java  |   2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |   2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java|   2 +-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |   2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |   1 -
 .../sis/metadata/sql/MetadataSourceTest.java   |   1 -
 .../sis/metadata/sql/MetadataWriterTest.java   |   1 -
 .../sis/{test => metadata}/sql/TestDatabase.java   |   2 +-
 .../sis/metadata/sql/util/ScriptRunnerTest.java|   2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../org/apache/sis/test/mock/package-info.java |   2 +-
 .../test/org/apache/sis/test/sql/package-info.java |  29 
 .../apache/sis/util/iso/NameMarshallingTest.java   |   2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java  |   2 +-
 .../apache/sis/xml/NilReasonMarshallingTest.java   |   2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |   2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java|   2 +-
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |   2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |   2 +-
 .../sis/xml/bind/cat/EnumMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |   2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java|   2 +-
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |   2 +-
 .../metadata/replace/QualityParameterTest.java |   2 +-
 .../metadata/replace/ServiceParameterTest.java |   2 +-
 .../test}/AnnotationConsistencyCheck.java  |   2 +-
 .../{test/xml => xml/test}/

[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1

2023-09-29 Thread desruisseaux
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 a1f4b15161f53dcde29d134f04a3175b0502e679
Merge: 80a27652f1 66ca33f853
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 29 17:20:44 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1

 .../sis/buildtools/coding/ReorganizeImports.java   | 105 -
 .../apache/sis/buildtools/gradle/Assembler.java|   2 +-
 .../apache/sis/buildtools/gradle/Conventions.java  |  17 ++-
 .../apache/sis/buildtools/gradle/JavaMaker.java|   3 +-
 .../sis/buildtools/gradle/ModularCompilation.java  |  26 +---
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   4 +-
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |   4 +-
 endorsed/build.gradle.kts  |   8 +-
 .../main/org/apache/sis/feature/README.md  |  77 ++
 .../main/org/apache/sis/feature/benchmarks.html| 114 --
 .../test}/FeatureComparator.java   |   2 +-
 .../feature => feature/test}/package-info.java |   2 +-
 .../main/org/apache/sis/xml/README.md  |  78 ++
 .../sis/xml/bind/gco/ObjectIdentification.html |  59 
 .../sis/xml/bind/gco/ObjectIdentification.md   |  31 
 .../main/org/apache/sis/xml/readme.html|  98 
 .../test/org/apache/sis/metadata/Assertions.java   |   2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |   2 +-
 .../sis/metadata/internal/AxisDirectionsTest.md|   3 +
 .../sis/metadata/internal/AxisDirectionsTest.txt   |   3 -
 .../sis/metadata/iso/CustomMetadataTest.java   |   2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java|   2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java  |   2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |   2 +-
 .../iso/citation/DefaultResponsibilityTest.java|   2 +-
 .../constraint/DefaultLegalConstraintsTest.java|   2 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |   2 +-
 .../identification/DefaultBrowseGraphicTest.java   |   2 +-
 .../DefaultRepresentativeFractionTest.java |   2 +-
 .../iso/identification/DefaultResolutionTest.java  |   2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |   2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java|   2 +-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |   2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |   1 -
 .../sis/metadata/sql/MetadataSourceTest.java   |   1 -
 .../sis/metadata/sql/MetadataWriterTest.java   |   1 -
 .../sis/{test => metadata}/sql/TestDatabase.java   |   2 +-
 .../sis/metadata/sql/util/ScriptRunnerTest.java|   2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../org/apache/sis/test/mock/package-info.java |   2 +-
 .../test/org/apache/sis/test/sql/package-info.java |  29 
 .../apache/sis/util/iso/NameMarshallingTest.java   |   2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java  |   2 +-
 .../apache/sis/xml/NilReasonMarshallingTest.java   |   2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |   2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java|   2 +-
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |   2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |   2 +-
 .../sis/xml/bind/cat/EnumMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |   2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java|   2 +-
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |   2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |   2 +-
 .../metadata/replace/QualityParameterTest.java |   2 +-
 .../metadata/replace/ServiceParameterTest.java |   2 +-
 .../test}/AnnotationConsistencyCheck.java  |   2 +-
 .../{test/xml => xml/test}/DocumentComparator.java |   2 +-
 .../sis/{test/xml => xml/test}/InfiniteSet.java|   2 +-
 .../{test/xml => xml/test}/PackageVerifier.java|   2 +-
 .../{test/xml => xml/test}/SchemaCompliance.java   |   2 +-
 .../sis/{test/xml => xml/test}/TestCase.java   |   2 +-
 .../sis/{test/xml => xml/test}/package-info.java   |   8 +-
 .../sis/xml/util/DocumentComparatorTest.java   |   2 +-
 .../org/apache/sis/xml/util/XmlUtilitiesTest.java  |   2 +-
 .../src/org.apache.sis.openoffice/bundle/README.md | 100 
 .../bundle/build-instruction.html  | 119 ---
 .../sis/xml/bind/fra/DataIdentificationTest.java   |   2 +-
 .../xml/bind/fra/DirectReferenceSystemTest.java|   2 +-
 .../apache/sis/parameter/AbstractParameterValue.md |   5 +
 .../sis/parameter/AbstractParameterValue.txt   |   5 -
 .../sis/referencing/factory/sql/EPSG_README.md |   7 +
 .../sis/referencing/factory/sql/EPSG_README.txt|   7 -
 .../sis/referencing/operation/builder/README.md|  33 
 .../s

[sis] 01/02: Modification of the fix about the property name of a link. The check for instance of `ValueReference` should be merged with the existing check done 20 lines below.

2023-09-29 Thread desruisseaux
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

commit 882b2546639adb474a17795b70d9cea4bdf0f517
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 29 15:55:31 2023 +0200

Modification of the fix about the property name of a link.
The check for instance of `ValueReference` should be merged with the 
existing check done 20 lines below.
---
 .../main/org/apache/sis/storage/FeatureQuery.java  | 42 ---
 .../org/apache/sis/storage/FeatureQueryTest.java   | 60 +++---
 2 files changed, 61 insertions(+), 41 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
index d0d8f9c218..172b87705a 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
@@ -738,7 +738,7 @@ public class FeatureQuery extends Query implements 
Cloneable, Serializable {
 final NamedExpression item = projection[column];
 /*
  * For each property, get the expected type (mandatory) and its 
name (optional).
- * A default name will be computed if no alias were explicitly 
given by user.
+ * A default name will be computed if no alias was explicitly 
given by the user.
  */
 final Expression expression = item.expression;
 final FeatureExpression fex = 
FeatureExpression.castOrCopy(expression);
@@ -748,14 +748,6 @@ public class FeatureQuery extends Query implements 
Cloneable, Serializable {
 
expression.getFunctionName().toInternationalString(), column));
 }
 GenericName name = item.alias;
-if (name == null && expression instanceof ValueReference) {
-/*
- * If we do not have an alias, use the original property name.
- * This name may be different from the resultType name because 
of links or functions.
- */
-name = valueType.getProperty(((ValueReference) 
expression).getXPath()).getName();
-}
-
 if (name == null) {
 /*
  * Build a list of aliases declared by the user, for making 
sure that we do not collide with them.
@@ -777,14 +769,20 @@ public class FeatureQuery extends Query implements 
Cloneable, Serializable {
  */
 CharSequence text = null;
 if (expression instanceof ValueReference) {
-final GenericName current = resultType.getName();
-if (current != null && names.add(current.toString())) {
-continue;
-}
 String xpath = ((ValueReference) 
expression).getXPath().trim();
-xpath = xpath.substring(xpath.lastIndexOf(XPath.SEPARATOR) 
+ 1);  // Works also if '/' is not found.
-if (!(xpath.isEmpty() || names.contains(xpath))) {
-text = xpath;
+/*
+ * Before to take the tip, take the existing `GenericName` 
instance from the property.
+ * It should be equivalent, except that it may be a 
`ScopedName` instead of `LocalName`.
+ * We do not take `resultType.getName()` because the 
latter is different if the property
+ * is itself a link to another property (in which case 
`resultType` is the final target).
+ */
+name = valueType.getProperty(xpath).getName();
+if (name == null || !names.add(name.toString())) {
+name = null;
+xpath = 
xpath.substring(xpath.lastIndexOf(XPath.SEPARATOR) + 1);  // Works also if '/' 
is not found.
+if (!(xpath.isEmpty() || names.contains(xpath))) {
+text = xpath;
+}
 }
 }
 /*
@@ -793,15 +791,15 @@ public class FeatureQuery extends Query implements 
Cloneable, Serializable {
  * (for easier programmatic use) because `GenericName` 
implementation is designed for
  * providing localized names only if explicitly requested.
  */
-if (text == null) do {
-text = 
Vocabulary.formatInternational(Vocabulary.Keys.Unnamed_1, ++unnamedNumber);
-} while (!names.add(text.toString()));
-name = Names.createLocalName(null, null, text);
+if (name == null) {
+if (text == null) do {
+

[sis] 02/02: Move some tests closer to the place where they are used.

2023-09-29 Thread desruisseaux
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

commit 66ca33f85325d8a97faba0bdfd10ba33fe5a053a
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 29 15:57:14 2023 +0200

Move some tests closer to the place where they are used.
---
 endorsed/build.gradle.kts  |  8 ++
 .../test}/FeatureComparator.java   |  2 +-
 .../feature => feature/test}/package-info.java |  2 +-
 .../test/org/apache/sis/metadata/Assertions.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../sis/metadata/iso/CustomMetadataTest.java   |  2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java|  2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java  |  2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |  2 +-
 .../iso/citation/DefaultResponsibilityTest.java|  2 +-
 .../constraint/DefaultLegalConstraintsTest.java|  2 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |  2 +-
 .../identification/DefaultBrowseGraphicTest.java   |  2 +-
 .../DefaultRepresentativeFractionTest.java |  2 +-
 .../iso/identification/DefaultResolutionTest.java  |  2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |  2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java|  2 +-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |  2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |  1 -
 .../sis/metadata/sql/MetadataSourceTest.java   |  1 -
 .../sis/metadata/sql/MetadataWriterTest.java   |  1 -
 .../sis/{test => metadata}/sql/TestDatabase.java   |  2 +-
 .../sis/metadata/sql/util/ScriptRunnerTest.java|  2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |  2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |  2 +-
 .../org/apache/sis/test/mock/package-info.java |  2 +-
 .../test/org/apache/sis/test/sql/package-info.java | 29 --
 .../apache/sis/util/iso/NameMarshallingTest.java   |  2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java  |  2 +-
 .../apache/sis/xml/NilReasonMarshallingTest.java   |  2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |  2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java|  2 +-
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |  2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |  2 +-
 .../sis/xml/bind/cat/EnumMarshallingTest.java  |  2 +-
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |  2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java|  2 +-
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |  2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |  2 +-
 .../metadata/replace/QualityParameterTest.java |  2 +-
 .../metadata/replace/ServiceParameterTest.java |  2 +-
 .../test}/AnnotationConsistencyCheck.java  |  2 +-
 .../{test/xml => xml/test}/DocumentComparator.java |  2 +-
 .../sis/{test/xml => xml/test}/InfiniteSet.java|  2 +-
 .../{test/xml => xml/test}/PackageVerifier.java|  2 +-
 .../{test/xml => xml/test}/SchemaCompliance.java   |  2 +-
 .../sis/{test/xml => xml/test}/TestCase.java   |  2 +-
 .../sis/{test/xml => xml/test}/package-info.java   |  8 +++---
 .../sis/xml/util/DocumentComparatorTest.java   |  2 +-
 .../org/apache/sis/xml/util/XmlUtilitiesTest.java  |  2 +-
 .../sis/xml/bind/fra/DataIdentificationTest.java   |  2 +-
 .../xml/bind/fra/DirectReferenceSystemTest.java|  2 +-
 .../sis/parameter/ParameterMarshallingTest.java|  2 +-
 .../sis/referencing/ImmutableIdentifierTest.java   |  2 +-
 .../referencing/crs/DefaultCompoundCRSTest.java|  2 +-
 .../sis/referencing/crs/DefaultDerivedCRSTest.java |  2 +-
 .../referencing/crs/DefaultEngineeringCRSTest.java |  2 +-
 .../referencing/crs/DefaultGeodeticCRSTest.java|  2 +-
 .../sis/referencing/crs/DefaultImageCRSTest.java   |  2 +-
 .../referencing/crs/DefaultProjectedCRSTest.java   |  2 +-
 .../sis/referencing/cs/DefaultCartesianCSTest.java |  2 +-
 .../referencing/cs/DefaultEllipsoidalCSTest.java   |  2 +-
 .../referencing/datum/DefaultEllipsoidTest.java|  2 +-
 .../datum/DefaultGeodeticDatumTest.java|  2 +-
 .../datum/DefaultPrimeMeridianTest.java|  2 +-
 .../datum/DefaultTemporalDatumTest.java|  2 +-
 .../datum/DefaultVerticalDatumTest.java|  2 +-
 .../sis/referencing/factory/TestFactorySource.java |  4 +--
 .../referencing/factory/sql/EPSGInstallerTest.java |  2 +-
 .../factory/sql/epsg/DataScriptFormatter.java  |  2 +-
 .../DefaultConcatenatedOperationTest.java  |  2 +-
 .../operation/DefaultPassThroughOperationTest.java |  2 +-
 .../operation/SingleOperationMarshallingTest.java  |  2 +-
 .../apache/sis/test/integration/MetadataTest.java  |  4 +--
 .../sis/test/integration/MetadataVerticalTest.java |  2 +-
 .../CC_GeneralOperationParameterTest.java  |  2 +-
 .../CC_Operatio

[sis] branch geoapi-4.0 updated (f07143ab6b -> 66ca33f853)

2023-09-29 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from f07143ab6b fix(FeatureQuery): fix a case where query projection 
returned the wrong property name
 new 882b254663 Modification of the fix about the property name of a link. 
The check for instance of `ValueReference` should be merged with the existing 
check done 20 lines below.
 new 66ca33f853 Move some tests closer to the place where they are used.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 endorsed/build.gradle.kts  |  8 +--
 .../test}/FeatureComparator.java   |  2 +-
 .../feature => feature/test}/package-info.java |  2 +-
 .../test/org/apache/sis/metadata/Assertions.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../sis/metadata/iso/CustomMetadataTest.java   |  2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java|  2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java  |  2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |  2 +-
 .../iso/citation/DefaultResponsibilityTest.java|  2 +-
 .../constraint/DefaultLegalConstraintsTest.java|  2 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |  2 +-
 .../identification/DefaultBrowseGraphicTest.java   |  2 +-
 .../DefaultRepresentativeFractionTest.java |  2 +-
 .../iso/identification/DefaultResolutionTest.java  |  2 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |  2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java|  2 +-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |  2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |  1 -
 .../sis/metadata/sql/MetadataSourceTest.java   |  1 -
 .../sis/metadata/sql/MetadataWriterTest.java   |  1 -
 .../sis/{test => metadata}/sql/TestDatabase.java   |  2 +-
 .../sis/metadata/sql/util/ScriptRunnerTest.java|  2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |  2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |  2 +-
 .../org/apache/sis/test/mock/package-info.java |  2 +-
 .../test/org/apache/sis/test/sql/package-info.java | 29 ---
 .../apache/sis/util/iso/NameMarshallingTest.java   |  2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java  |  2 +-
 .../apache/sis/xml/NilReasonMarshallingTest.java   |  2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |  2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java|  2 +-
 .../org/apache/sis/xml/XLinkMarshallingTest.java   |  2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |  2 +-
 .../sis/xml/bind/cat/EnumMarshallingTest.java  |  2 +-
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |  2 +-
 .../apache/sis/xml/bind/gml/TimePeriodTest.java|  2 +-
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |  2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |  2 +-
 .../metadata/replace/QualityParameterTest.java |  2 +-
 .../metadata/replace/ServiceParameterTest.java |  2 +-
 .../test}/AnnotationConsistencyCheck.java  |  2 +-
 .../{test/xml => xml/test}/DocumentComparator.java |  2 +-
 .../sis/{test/xml => xml/test}/InfiniteSet.java|  2 +-
 .../{test/xml => xml/test}/PackageVerifier.java|  2 +-
 .../{test/xml => xml/test}/SchemaCompliance.java   |  2 +-
 .../sis/{test/xml => xml/test}/TestCase.java   |  2 +-
 .../sis/{test/xml => xml/test}/package-info.java   |  8 +--
 .../sis/xml/util/DocumentComparatorTest.java   |  2 +-
 .../org/apache/sis/xml/util/XmlUtilitiesTest.java  |  2 +-
 .../sis/xml/bind/fra/DataIdentificationTest.java   |  2 +-
 .../xml/bind/fra/DirectReferenceSystemTest.java|  2 +-
 .../sis/parameter/ParameterMarshallingTest.java|  2 +-
 .../sis/referencing/ImmutableIdentifierTest.java   |  2 +-
 .../referencing/crs/DefaultCompoundCRSTest.java|  2 +-
 .../sis/referencing/crs/DefaultDerivedCRSTest.java |  2 +-
 .../referencing/crs/DefaultEngineeringCRSTest.java |  2 +-
 .../referencing/crs/DefaultGeodeticCRSTest.java|  2 +-
 .../sis/referencing/crs/DefaultImageCRSTest.java   |  2 +-
 .../referencing/crs/DefaultProjectedCRSTest.java   |  2 +-
 .../sis/referencing/cs/DefaultCartesianCSTest.java |  2 +-
 .../referencing/cs/DefaultEllipsoidalCSTest.java   |  2 +-
 .../referencing/datum/DefaultEllipsoidTest.java|  2 +-
 .../datum/DefaultGeodeticDatumTest.java|  2 +-
 .../datum/DefaultPrimeMeridianTest.java|  2 +-
 .../datum/DefaultTemporalDatumTest.java|  2 +-
 .../datum/DefaultVerticalDatumTest.java|  2 +-
 .../sis/referencing/factory/TestFactorySource.java |  4 +-
 .../referencing/factory/sql/EPSGInstallerTest.java |  2 +-
 .

[sis] branch main updated (6affdaa155 -> 01f8dc22a9)

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 6affdaa155 Merge branch 'geoapi-3.1'.
 add 0158ef9590 Another round of automatic import organization. This is 
done by the `ReorganizeImports` class in `buildSrc`. The result is not perfect 
and may need future refinements.
 add 80a27652f1 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports 
reordering).
 new 01f8dc22a9 Merge branch 'geoapi-3.1'.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/buildtools/doclet/Doclet.java   |  2 +-
 .../org/apache/sis/buildtools/doclet/Include.java  |  4 +--
 .../apache/sis/buildtools/gradle/ModularJAR.java   |  4 +--
 .../sis/buildtools/gradle/ModularJavadoc.java  |  4 +--
 .../resources/IndexedResourceCompilerTest.java |  2 ++
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  4 +--
 .../org/apache/sis/cloud/aws/s3/FileService.java   | 10 +++---
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |  6 ++--
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |  6 ++--
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |  1 +
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |  1 +
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |  4 ++-
 .../org/apache/sis/console/TransformCommand.java   |  3 +-
 .../org/apache/sis/console/AboutCommandTest.java   |  4 ++-
 .../org/apache/sis/console/CRSCommandTest.java |  4 ++-
 .../org/apache/sis/console/CommandRunnerTest.java  |  4 ++-
 .../org/apache/sis/console/HelpCommandTest.java|  4 ++-
 .../apache/sis/console/MetadataCommandTest.java|  4 ++-
 .../apache/sis/console/MimeTypeCommandTest.java|  4 ++-
 .../apache/sis/coverage/grid/PixelTranslation.java |  5 ++-
 .../sis/feature/FeatureOperationException.java |  2 +-
 .../org/apache/sis/filter/AssociationValue.java|  2 +-
 .../main/org/apache/sis/filter/PropertyValue.java  |  2 +-
 .../geometry/wrapper/SpatialOperationContext.java  |  8 ++---
 .../apache/sis/geometry/wrapper/jts/Factory.java   | 16 -
 .../sis/geometry/wrapper/jts/FilteringContext.java |  4 +--
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  6 ++--
 .../wrapper/jts/PackedCoordinateSequence.java  |  2 +-
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |  4 +--
 .../sis/geometry/wrapper/jts/ShapeAdapter.java |  6 ++--
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |  2 +-
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   | 38 +++---
 .../main/org/apache/sis/image/ImageProcessor.java  |  6 ++--
 .../main/org/apache/sis/image/TransferType.java|  4 +--
 .../sis/image/processing/isoline/Joiner.java   |  2 +-
 .../org/apache/sis/pending/geoapi/filter/Name.java |  4 +--
 .../org/apache/sis/coverage/CategoryListTest.java  |  4 ++-
 .../test/org/apache/sis/coverage/CategoryTest.java |  4 ++-
 .../apache/sis/coverage/CoverageCombinerTest.java  |  4 ++-
 .../apache/sis/coverage/SampleDimensionTest.java   |  4 ++-
 .../apache/sis/coverage/SampleRangeFormatTest.java |  4 ++-
 .../grid/BandAggregateGridCoverageTest.java|  4 ++-
 .../coverage/grid/BufferedGridCoverageTest.java|  2 ++
 .../coverage/grid/ConvertedGridCoverageTest.java   |  6 ++--
 .../coverage/grid/DimensionalityReductionTest.java |  4 ++-
 .../grid/FractionalGridCoordinatesTest.java|  3 +-
 .../sis/coverage/grid/GridCoverage2DTest.java  |  4 ++-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |  4 ++-
 .../sis/coverage/grid/GridDerivationTest.java  |  4 ++-
 .../apache/sis/coverage/grid/GridExtentTest.java   |  4 ++-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  4 ++-
 .../sis/coverage/grid/GridOrientationTest.java |  4 ++-
 .../sis/coverage/grid/PixelTranslationTest.java|  4 ++-
 .../coverage/grid/ResampledGridCoverageTest.java   |  6 ++--
 .../sis/coverage/grid/ReshapedImageTest.java   |  4 ++-
 .../coverage/grid/TranslatedGridCoverageTest.java  |  4 ++-
 .../coverage/grid/j2d/ColorModelBuilderTest.java   |  4 ++-
 .../sis/coverage/grid/j2d/ImageLayoutTest.java |  4 ++-
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  6 ++--
 .../coverage/grid/j2d/SampleModelFactoryTest.java  |  4 ++-
 .../coverage/grid/j2d/ScaledColorSpaceTest.java|  6 ++--
 .../sis/coverage/internal/RangeArgumentTest.java   |  4 ++-
 .../apache/sis/feature/AbstractFeatureTest.java|  2 ++
 .../apache/sis/feature/AbstractOperationTest.java  |  4 ++-
 .../apache/sis/feature/CharacteristicMapTest.java  |  4 ++-
 .../sis/feature/CharacteristicTypeMapTest.java |  9 ++---
 .../sis/feature/DefaultAssociationRoleTest.java|  6 +

[sis] 01/01: Merge branch 'geoapi-3.1'.

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 01f8dc22a908357a77f4999572bacd75f1bb3a9e
Merge: 6affdaa155 80a27652f1
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 18:21:13 2023 +0200

Merge branch 'geoapi-3.1'.

 .../org/apache/sis/buildtools/doclet/Doclet.java   |  2 +-
 .../org/apache/sis/buildtools/doclet/Include.java  |  4 +--
 .../apache/sis/buildtools/gradle/ModularJAR.java   |  4 +--
 .../sis/buildtools/gradle/ModularJavadoc.java  |  4 +--
 .../resources/IndexedResourceCompilerTest.java |  2 ++
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  4 +--
 .../org/apache/sis/cloud/aws/s3/FileService.java   | 10 +++---
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |  6 ++--
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |  6 ++--
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |  1 +
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |  1 +
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |  4 ++-
 .../org/apache/sis/console/TransformCommand.java   |  3 +-
 .../org/apache/sis/console/AboutCommandTest.java   |  4 ++-
 .../org/apache/sis/console/CRSCommandTest.java |  4 ++-
 .../org/apache/sis/console/CommandRunnerTest.java  |  4 ++-
 .../org/apache/sis/console/HelpCommandTest.java|  4 ++-
 .../apache/sis/console/MetadataCommandTest.java|  4 ++-
 .../apache/sis/console/MimeTypeCommandTest.java|  4 ++-
 .../apache/sis/coverage/grid/PixelTranslation.java |  5 ++-
 .../sis/feature/FeatureOperationException.java |  2 +-
 .../org/apache/sis/filter/AssociationValue.java|  2 +-
 .../main/org/apache/sis/filter/PropertyValue.java  |  2 +-
 .../geometry/wrapper/SpatialOperationContext.java  |  8 ++---
 .../apache/sis/geometry/wrapper/jts/Factory.java   | 16 -
 .../sis/geometry/wrapper/jts/FilteringContext.java |  4 +--
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  6 ++--
 .../wrapper/jts/PackedCoordinateSequence.java  |  2 +-
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |  4 +--
 .../sis/geometry/wrapper/jts/ShapeAdapter.java |  6 ++--
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |  2 +-
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   | 38 +++---
 .../main/org/apache/sis/image/ImageProcessor.java  |  6 ++--
 .../main/org/apache/sis/image/TransferType.java|  4 +--
 .../sis/image/processing/isoline/Joiner.java   |  2 +-
 .../org/apache/sis/pending/geoapi/filter/Name.java |  4 +--
 .../org/apache/sis/coverage/CategoryListTest.java  |  4 ++-
 .../test/org/apache/sis/coverage/CategoryTest.java |  4 ++-
 .../apache/sis/coverage/CoverageCombinerTest.java  |  4 ++-
 .../apache/sis/coverage/SampleDimensionTest.java   |  4 ++-
 .../apache/sis/coverage/SampleRangeFormatTest.java |  4 ++-
 .../grid/BandAggregateGridCoverageTest.java|  4 ++-
 .../coverage/grid/BufferedGridCoverageTest.java|  2 ++
 .../coverage/grid/ConvertedGridCoverageTest.java   |  6 ++--
 .../coverage/grid/DimensionalityReductionTest.java |  4 ++-
 .../grid/FractionalGridCoordinatesTest.java|  3 +-
 .../sis/coverage/grid/GridCoverage2DTest.java  |  4 ++-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |  4 ++-
 .../sis/coverage/grid/GridDerivationTest.java  |  4 ++-
 .../apache/sis/coverage/grid/GridExtentTest.java   |  4 ++-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  4 ++-
 .../sis/coverage/grid/GridOrientationTest.java |  4 ++-
 .../sis/coverage/grid/PixelTranslationTest.java|  4 ++-
 .../coverage/grid/ResampledGridCoverageTest.java   |  6 ++--
 .../sis/coverage/grid/ReshapedImageTest.java   |  4 ++-
 .../coverage/grid/TranslatedGridCoverageTest.java  |  4 ++-
 .../coverage/grid/j2d/ColorModelBuilderTest.java   |  4 ++-
 .../sis/coverage/grid/j2d/ImageLayoutTest.java |  4 ++-
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  6 ++--
 .../coverage/grid/j2d/SampleModelFactoryTest.java  |  4 ++-
 .../coverage/grid/j2d/ScaledColorSpaceTest.java|  6 ++--
 .../sis/coverage/internal/RangeArgumentTest.java   |  4 ++-
 .../apache/sis/feature/AbstractFeatureTest.java|  2 ++
 .../apache/sis/feature/AbstractOperationTest.java  |  4 ++-
 .../apache/sis/feature/CharacteristicMapTest.java  |  4 ++-
 .../sis/feature/CharacteristicTypeMapTest.java |  9 ++---
 .../sis/feature/DefaultAssociationRoleTest.java|  6 ++--
 .../sis/feature/DefaultAttributeTypeTest.java  |  4 ++-
 .../apache/sis/feature/DefaultFeatureTypeTest.java |  4 ++-
 .../org/apache/sis/feature/DenseFeatureTest.java   |  1 +
 .../apache/sis/feature/EnvelopeOperationTest.java  |  4 ++-
 .../org/apache/sis/feature/FeatureFormatTest.java  |  4 ++-
 .../apache/sis/feature/FeatureOperationsTest.java  |  4 ++-
 .../org/apache/sis/feature/FeatureTestCase.java|  4 ++-
 .../test/org/apache/sis/feature

[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering).

2023-09-28 Thread desruisseaux
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 80a27652f17105e29998567389fc45343cac04bb
Merge: 611ffb816d 0158ef9590
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 16:05:54 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering).

 .../org/apache/sis/buildtools/doclet/Doclet.java   |  2 +-
 .../org/apache/sis/buildtools/doclet/Include.java  |  4 +--
 .../apache/sis/buildtools/gradle/ModularJAR.java   |  4 +--
 .../sis/buildtools/gradle/ModularJavadoc.java  |  4 +--
 .../resources/IndexedResourceCompilerTest.java |  2 ++
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  4 +--
 .../org/apache/sis/cloud/aws/s3/FileService.java   | 10 +++---
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |  6 ++--
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |  6 ++--
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |  1 +
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |  1 +
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |  4 ++-
 .../org/apache/sis/console/AboutCommandTest.java   |  4 ++-
 .../org/apache/sis/console/CRSCommandTest.java |  4 ++-
 .../org/apache/sis/console/CommandRunnerTest.java  |  4 ++-
 .../org/apache/sis/console/HelpCommandTest.java|  4 ++-
 .../apache/sis/console/MetadataCommandTest.java|  4 ++-
 .../apache/sis/console/MimeTypeCommandTest.java|  4 ++-
 .../apache/sis/coverage/grid/PixelTranslation.java |  5 ++-
 .../sis/feature/FeatureOperationException.java |  2 +-
 .../main/org/apache/sis/filter/Capabilities.java   |  4 +--
 .../apache/sis/filter/DefaultFilterFactory.java|  2 +-
 .../apache/sis/filter/internal/CopyVisitor.java|  2 +-
 .../sis/filter/sqlmm/FunctionDescription.java  |  2 +-
 .../main/org/apache/sis/filter/sqlmm/SQLMM.java|  2 +-
 .../geometry/wrapper/SpatialOperationContext.java  |  8 ++---
 .../apache/sis/geometry/wrapper/jts/Factory.java   | 16 -
 .../sis/geometry/wrapper/jts/FilteringContext.java |  4 +--
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  6 ++--
 .../wrapper/jts/PackedCoordinateSequence.java  |  2 +-
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |  4 +--
 .../sis/geometry/wrapper/jts/ShapeAdapter.java |  6 ++--
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |  2 +-
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   | 38 ++--
 .../main/org/apache/sis/image/ImageProcessor.java  |  6 ++--
 .../main/org/apache/sis/image/TransferType.java|  4 +--
 .../sis/image/processing/isoline/Joiner.java   |  2 +-
 .../org/apache/sis/coverage/CategoryListTest.java  |  4 ++-
 .../test/org/apache/sis/coverage/CategoryTest.java |  4 ++-
 .../apache/sis/coverage/CoverageCombinerTest.java  |  4 ++-
 .../apache/sis/coverage/SampleDimensionTest.java   |  4 ++-
 .../apache/sis/coverage/SampleRangeFormatTest.java |  4 ++-
 .../grid/BandAggregateGridCoverageTest.java|  4 ++-
 .../coverage/grid/BufferedGridCoverageTest.java|  2 ++
 .../coverage/grid/ConvertedGridCoverageTest.java   |  6 ++--
 .../coverage/grid/DimensionalityReductionTest.java |  4 ++-
 .../grid/FractionalGridCoordinatesTest.java|  3 +-
 .../sis/coverage/grid/GridCoverage2DTest.java  |  4 ++-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |  4 ++-
 .../sis/coverage/grid/GridDerivationTest.java  |  4 ++-
 .../apache/sis/coverage/grid/GridExtentTest.java   |  4 ++-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  4 ++-
 .../sis/coverage/grid/GridOrientationTest.java |  4 ++-
 .../sis/coverage/grid/PixelTranslationTest.java|  4 ++-
 .../coverage/grid/ResampledGridCoverageTest.java   |  6 ++--
 .../sis/coverage/grid/ReshapedImageTest.java   |  4 ++-
 .../coverage/grid/TranslatedGridCoverageTest.java  |  4 ++-
 .../coverage/grid/j2d/ColorModelBuilderTest.java   |  4 ++-
 .../sis/coverage/grid/j2d/ImageLayoutTest.java |  4 ++-
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  6 ++--
 .../coverage/grid/j2d/SampleModelFactoryTest.java  |  4 ++-
 .../coverage/grid/j2d/ScaledColorSpaceTest.java|  6 ++--
 .../sis/coverage/internal/RangeArgumentTest.java   |  4 ++-
 .../apache/sis/feature/AbstractFeatureTest.java|  2 ++
 .../apache/sis/feature/AbstractOperationTest.java  |  4 ++-
 .../apache/sis/feature/CharacteristicMapTest.java  |  4 ++-
 .../sis/feature/CharacteristicTypeMapTest.java |  9 ++---
 .../sis/feature/DefaultAssociationRoleTest.java|  6 ++--
 .../sis/feature/DefaultAttributeTypeTest.java  |  4 ++-
 .../apache/sis/feature/DefaultFeatureTypeTest.java |  4 ++-
 .../org/apache/sis/feature/DenseFeatureTest.java   |  1 +
 .../apache/sis/feature/EnvelopeOperationTest.java  |  4 ++-
 .../org/apache/sis/feature/FeatureFormatTest.java  |  4 ++-
 .../apache/sis/feature/FeatureOperationsTest.java  |  4

[sis] branch geoapi-3.1 updated (611ffb816d -> 80a27652f1)

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 611ffb816d Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor 
adjustments in preparation for a release proposal.
 add 0158ef9590 Another round of automatic import organization. This is 
done by the `ReorganizeImports` class in `buildSrc`. The result is not perfect 
and may need future refinements.
 new 80a27652f1 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports 
reordering).

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/buildtools/doclet/Doclet.java   |  2 +-
 .../org/apache/sis/buildtools/doclet/Include.java  |  4 +--
 .../apache/sis/buildtools/gradle/ModularJAR.java   |  4 +--
 .../sis/buildtools/gradle/ModularJavadoc.java  |  4 +--
 .../resources/IndexedResourceCompilerTest.java |  2 ++
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |  2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  4 +--
 .../org/apache/sis/cloud/aws/s3/FileService.java   | 10 +++---
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |  6 ++--
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |  6 ++--
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |  1 +
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |  1 +
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |  4 ++-
 .../org/apache/sis/console/AboutCommandTest.java   |  4 ++-
 .../org/apache/sis/console/CRSCommandTest.java |  4 ++-
 .../org/apache/sis/console/CommandRunnerTest.java  |  4 ++-
 .../org/apache/sis/console/HelpCommandTest.java|  4 ++-
 .../apache/sis/console/MetadataCommandTest.java|  4 ++-
 .../apache/sis/console/MimeTypeCommandTest.java|  4 ++-
 .../apache/sis/coverage/grid/PixelTranslation.java |  5 ++-
 .../sis/feature/FeatureOperationException.java |  2 +-
 .../main/org/apache/sis/filter/Capabilities.java   |  4 +--
 .../apache/sis/filter/DefaultFilterFactory.java|  2 +-
 .../apache/sis/filter/internal/CopyVisitor.java|  2 +-
 .../sis/filter/sqlmm/FunctionDescription.java  |  2 +-
 .../main/org/apache/sis/filter/sqlmm/SQLMM.java|  2 +-
 .../geometry/wrapper/SpatialOperationContext.java  |  8 ++---
 .../apache/sis/geometry/wrapper/jts/Factory.java   | 16 -
 .../sis/geometry/wrapper/jts/FilteringContext.java |  4 +--
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  6 ++--
 .../wrapper/jts/PackedCoordinateSequence.java  |  2 +-
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |  4 +--
 .../sis/geometry/wrapper/jts/ShapeAdapter.java |  6 ++--
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |  2 +-
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   | 38 ++--
 .../main/org/apache/sis/image/ImageProcessor.java  |  6 ++--
 .../main/org/apache/sis/image/TransferType.java|  4 +--
 .../sis/image/processing/isoline/Joiner.java   |  2 +-
 .../org/apache/sis/coverage/CategoryListTest.java  |  4 ++-
 .../test/org/apache/sis/coverage/CategoryTest.java |  4 ++-
 .../apache/sis/coverage/CoverageCombinerTest.java  |  4 ++-
 .../apache/sis/coverage/SampleDimensionTest.java   |  4 ++-
 .../apache/sis/coverage/SampleRangeFormatTest.java |  4 ++-
 .../grid/BandAggregateGridCoverageTest.java|  4 ++-
 .../coverage/grid/BufferedGridCoverageTest.java|  2 ++
 .../coverage/grid/ConvertedGridCoverageTest.java   |  6 ++--
 .../coverage/grid/DimensionalityReductionTest.java |  4 ++-
 .../grid/FractionalGridCoordinatesTest.java|  3 +-
 .../sis/coverage/grid/GridCoverage2DTest.java  |  4 ++-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |  4 ++-
 .../sis/coverage/grid/GridDerivationTest.java  |  4 ++-
 .../apache/sis/coverage/grid/GridExtentTest.java   |  4 ++-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  4 ++-
 .../sis/coverage/grid/GridOrientationTest.java |  4 ++-
 .../sis/coverage/grid/PixelTranslationTest.java|  4 ++-
 .../coverage/grid/ResampledGridCoverageTest.java   |  6 ++--
 .../sis/coverage/grid/ReshapedImageTest.java   |  4 ++-
 .../coverage/grid/TranslatedGridCoverageTest.java  |  4 ++-
 .../coverage/grid/j2d/ColorModelBuilderTest.java   |  4 ++-
 .../sis/coverage/grid/j2d/ImageLayoutTest.java |  4 ++-
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  6 ++--
 .../coverage/grid/j2d/SampleModelFactoryTest.java  |  4 ++-
 .../coverage/grid/j2d/ScaledColorSpaceTest.java|  6 ++--
 .../sis/coverage/internal/RangeArgumentTest.java   |  4 ++-
 .../apache/sis/feature/AbstractFeatureTest.java|  2 ++
 .../apache/sis/feature/AbstractOperationTest.java  |  4 ++-
 .../apache/sis/feature/CharacteristicMapTest.java  |  4 ++-
 .../sis/feature/CharacteristicTypeM

[sis] 02/04: Tune the rule for ordering import statements. Those changes were used in the previous commit.

2023-09-28 Thread desruisseaux
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

commit 9e623647ab7be1bd0f3a4243f0e95f99723b5ff0
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 16:12:37 2023 +0200

Tune the rule for ordering import statements.
Those changes were used in the previous commit.
---
 .../sis/buildtools/coding/ReorganizeImports.java   | 105 -
 1 file changed, 100 insertions(+), 5 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java
index 3bdc57fedd..042adb95db 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java
@@ -121,12 +121,41 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
  */
 private static final String PACKAGE = "package ", IMPORT = "import ", 
STATIC = "static ";
 
+/**
+ * Order of import statements.
+ *
+ * @see Source#order(String)
+ */
+private static final String[] IMPORT_ORDER = {
+"java", // Include also "javax"
+"jakarta",
+"org.locationtech.jts", // Optional dependency
+"com.esri", // Optional dependency
+null,   // All other packages.
+"javax.measure",
+"org.opengis",
+"org.apache.sis",
+"org.junit",
+"org.opengis.test",
+"org.apache.sis.test"
+};
+
+/**
+ * Packages of test dependencies. The first time that one of those 
packages is found,
+ * a "// Test dependencies" header comment will be added.
+ */
+private static final String[] TEST_PACKAGES = {
+"org.junit",
+"org.opengis.test",
+"org.apache.sis.test"
+};
+
 /**
  * Whether to sort classes inside a group of classes (a package).
  * Packages are not sorted because the order used in source code
  * is usually intentional (Java classes first, then GeoAPI, etc.).
  */
-private static final boolean SORT = false;
+private static final boolean SORT_LEXICOGRAPHY = false;
 
 /**
  * Root directory of the project for which to reorganize imports.
@@ -254,6 +283,7 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
 break;
 }
 }
+elements.sort(Source::compareImports);
 for (final String element : sort(elements)) {
 imports.put(element, bitmask);
 }
@@ -269,7 +299,7 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
  * so we do not bother to optimize it.
  */
 private static String[] sort(final List elements) {
-final String[] ordered  = new String[elements.size()];
+final String[] ordered = new String[elements.size()];
 int count = 0;
 for (;;) {
 /*
@@ -305,7 +335,7 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
 it.remove();
 }
 }
-if (SORT) {
+if (SORT_LEXICOGRAPHY) {
 Arrays.sort(ordered, start, count);
 }
 }
@@ -337,6 +367,47 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
 return prefix;
 }
 
+/**
+ * Returns the order in which to sort the given statement.
+ * We only apply a gross sorting here, and otherwise preserve existing 
order.
+ *
+ * @param  element  name of the package to order.
+ * @return a rank to give to the specified package.
+ */
+private static int order(String element) {
+int base = 0;
+if (element.startsWith(STATIC)) {
+element = element.substring(STATIC.length()).trim();
+base = 1000;// Arbitrary offset for 
sorting static imports last.
+}
+if (element.startsWith("org.apache.sis")) {
+if (element.contains("Assert") || element.contains("Test") || 
element.contains("mock")) {
+element = "org.apache.sis.test";
+}
+// TODO: we should move above classes in a test package 
instead.
+}
+int fallback = IMPORT_ORDER.length;
+

[sis] branch geoapi-4.0 updated (4ad7739f09 -> 2f6a07007c)

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in 
"geoapi-xxx" branches.
 new 0158ef9590 Another round of automatic import organization. This is 
done by the `ReorganizeImports` class in `buildSrc`. The result is not perfect 
and may need future refinements.
 new 9e623647ab Tune the rule for ordering import statements. Those changes 
were used in the previous commit.
 new 1305b01fc8 Avoid using a method which has been deprecated in Gradle 
8.3.
 new 2f6a07007c Convert text files and HTML files to Markdown format when 
those files were not used for tests. The intend is to have a less formats for 
documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be 
considered as used in tests.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../sis/buildtools/coding/ReorganizeImports.java   | 105 -
 .../org/apache/sis/buildtools/doclet/Doclet.java   |   2 +-
 .../org/apache/sis/buildtools/doclet/Include.java  |   4 +-
 .../apache/sis/buildtools/gradle/Assembler.java|   2 +-
 .../apache/sis/buildtools/gradle/Conventions.java  |  17 ++-
 .../apache/sis/buildtools/gradle/JavaMaker.java|   3 +-
 .../sis/buildtools/gradle/ModularCompilation.java  |  26 +---
 .../apache/sis/buildtools/gradle/ModularJAR.java   |   8 +-
 .../sis/buildtools/gradle/ModularJavadoc.java  |   4 +-
 .../org/apache/sis/buildtools/gradle/UnoPkg.java   |   4 +-
 .../resources/IndexedResourceCompilerTest.java |   2 +
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |   2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |   4 +-
 .../org/apache/sis/cloud/aws/s3/FileService.java   |  10 +-
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |   6 +-
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |   6 +-
 .../sis/cloud/aws/s3/ClientFileSystemTest.java |   1 +
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java   |   1 +
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |   4 +-
 .../org/apache/sis/console/AboutCommandTest.java   |   4 +-
 .../org/apache/sis/console/CRSCommandTest.java |   4 +-
 .../org/apache/sis/console/CommandRunnerTest.java  |   4 +-
 .../org/apache/sis/console/HelpCommandTest.java|   4 +-
 .../apache/sis/console/MetadataCommandTest.java|   4 +-
 .../apache/sis/console/MimeTypeCommandTest.java|   4 +-
 .../apache/sis/coverage/grid/PixelTranslation.java |   5 +-
 .../sis/feature/FeatureOperationException.java |   2 +-
 .../org/apache/sis/feature/NamedFeatureType.java   |   2 +-
 .../main/org/apache/sis/feature/README.md  |  77 ++
 .../main/org/apache/sis/feature/benchmarks.html| 114 --
 .../main/org/apache/sis/filter/Capabilities.java   |   4 +-
 .../apache/sis/filter/DefaultFilterFactory.java|   2 +-
 .../apache/sis/filter/internal/CopyVisitor.java|   2 +-
 .../sis/filter/sqlmm/FunctionDescription.java  |   2 +-
 .../main/org/apache/sis/filter/sqlmm/SQLMM.java|   2 +-
 .../geometry/wrapper/SpatialOperationContext.java  |   8 +-
 .../apache/sis/geometry/wrapper/jts/Factory.java   |  16 +-
 .../sis/geometry/wrapper/jts/FilteringContext.java |   4 +-
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |   6 +-
 .../wrapper/jts/PackedCoordinateSequence.java  |   2 +-
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |   4 +-
 .../sis/geometry/wrapper/jts/ShapeAdapter.java |   6 +-
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |   2 +-
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  38 ++---
 .../main/org/apache/sis/image/ImageProcessor.java  |   6 +-
 .../main/org/apache/sis/image/TransferType.java|   4 +-
 .../sis/image/processing/isoline/Joiner.java   |   2 +-
 .../org/apache/sis/coverage/CategoryListTest.java  |   4 +-
 .../test/org/apache/sis/coverage/CategoryTest.java |   4 +-
 .../apache/sis/coverage/CoverageCombinerTest.java  |   4 +-
 .../apache/sis/coverage/SampleDimensionTest.java   |   4 +-
 .../apache/sis/coverage/SampleRangeFormatTest.java |   4 +-
 .../grid/BandAggregateGridCoverageTest.java|   4 +-
 .../coverage/grid/BufferedGridCoverageTest.java|   2 +
 .../coverage/grid/ConvertedGridCoverageTest.java   |   6 +-
 .../coverage/grid/DimensionalityReductionTest.java |   4 +-
 .../grid/FractionalGridCoordinatesTest.java|   3 +-
 .../sis/coverage/grid/GridCoverage2DTest.java  |   4 +-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |   4 +-
 .../sis/coverage/grid/GridDerivationTest.java  |   4 +-
 .../apache/sis/coverage/grid/GridExtentTest.java   |   4 +-
 .../apache/sis/coverage/gr

[sis] 04/04: Convert text files and HTML files to Markdown format when those files were not used for tests. The intend is to have a less formats for documentation (Javadoc, Markdown, MathML), so all `

2023-09-28 Thread desruisseaux
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

commit 2f6a07007c31e417d5f78bdbf419126c20a743ff
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 18:18:33 2023 +0200

Convert text files and HTML files to Markdown format when those files were 
not used for tests.
The intend is to have a less formats for documentation (Javadoc, Markdown, 
MathML),
so all `*.txt` files can be considered as used in tests.
---
 .../sis/buildtools/gradle/ModularCompilation.java  |  24 +--
 .../main/org/apache/sis/feature/README.md  |  77 ++
 .../main/org/apache/sis/feature/benchmarks.html| 114 --
 .../main/org/apache/sis/xml/README.md  |  78 ++
 .../sis/xml/bind/gco/ObjectIdentification.html |  59 
 .../sis/xml/bind/gco/ObjectIdentification.md   |  31 
 .../main/org/apache/sis/xml/readme.html|  98 
 .../sis/metadata/internal/AxisDirectionsTest.md|   3 +
 .../sis/metadata/internal/AxisDirectionsTest.txt   |   3 -
 .../src/org.apache.sis.openoffice/bundle/README.md | 100 
 .../bundle/build-instruction.html  | 119 ---
 .../apache/sis/parameter/AbstractParameterValue.md |   5 +
 .../sis/parameter/AbstractParameterValue.txt   |   5 -
 .../sis/referencing/factory/sql/EPSG_README.md |   7 +
 .../sis/referencing/factory/sql/EPSG_README.txt|   7 -
 .../sis/referencing/operation/builder/README.md|  33 
 .../sis/referencing/operation/builder/readme.html  |  50 --
 ...c3DtoVertical.txt => Geographic3DtoVertical.md} |   6 +-
 .../transform/SpecializableTransform1D.md  |   3 +
 .../transform/SpecializableTransform1D.txt |   3 -
 .../sis/xml/bind/referencing/SC_GeographicCRS.md   |   4 +
 .../sis/xml/bind/referencing/SC_GeographicCRS.txt  |   4 -
 .../sis/referencing/factory/sql/epsg/README.md | 133 
 .../sis/referencing/factory/sql/epsg/package.html  | 168 -
 .../shapefile/jdbc/{readme.txt => README.md}   |   2 +
 25 files changed, 487 insertions(+), 649 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
index 5979bc45b5..ea85e0bbef 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
@@ -170,6 +170,7 @@ final class ModularCompilation extends Conventions {
 
 /**
  * File extensions of resources to not copy.
+ * In addition, everything in {@code doc-files} sub-directories will be 
excluded.
  *
  * @todo Reduce this list to IDL and Markdown by converting HTML and text 
files.
  */
@@ -177,8 +178,7 @@ final class ModularCompilation extends Conventions {
 "tmp", "bak", "log",// Same extensions than in `.gitignore`.
 "idl",  // Source code for OpenOffice add-in.
 "md",   // Notes in Markdown format.
-"html", // Richer alternative to Markdown.
-"txt"); // Simpler alternative to Markdown.
+"html");// Richer alternative to Markdown.
 
 /**
  * Compiles the international resources that are found in all modules.
@@ -262,22 +262,12 @@ final class ModularCompilation extends Conventions {
  * @return {@code true} for copying or {@code false} for ignoring.
  */
 private static boolean include(File resource) {
-String ext = resource.getName();
-ext = ext.substring(ext.lastIndexOf('.') + 1);
-if (EXCLUDE_RESOURCES.contains(ext)) {
-if (ext.equals("txt")) {
-/*
- * Special case: include text file for tests.
- * TODO: remove that special case. See EXCLUDE_RESOURCES 
comment.
- */
-while ((resource = resource.getParentFile()) != null) {
-if (resource.getName().equals(TEST_DIRECTORY)) {
-return true;
-}
-}
-}
+final File parent = resource.getParentFile();
+if (parent != null && parent.getName().equals("doc-files")) {
 return false;
 }
-return true;
+String ext = resource.getName();
+ext = ext.substring(ext.lastIndexOf('.') + 1);
+return !EXCLUDE_RESOURCES.contains(ext);
 }
 }
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/README.md 

[sis] 03/04: Avoid using a method which has been deprecated in Gradle 8.3.

2023-09-28 Thread desruisseaux
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

commit 1305b01fc8ec8d93e4a62bbf0488f05e051bca9c
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 12:58:57 2023 +0200

Avoid using a method which has been deprecated in Gradle 8.3.
---
 .../org/apache/sis/buildtools/gradle/Assembler.java |  2 +-
 .../org/apache/sis/buildtools/gradle/Conventions.java   | 17 ++---
 .../org/apache/sis/buildtools/gradle/JavaMaker.java |  3 +--
 .../sis/buildtools/gradle/ModularCompilation.java   |  2 +-
 .../org/apache/sis/buildtools/gradle/ModularJAR.java|  4 ++--
 .../main/org/apache/sis/buildtools/gradle/UnoPkg.java   |  4 ++--
 6 files changed, 21 insertions(+), 11 deletions(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java
index 35f49935fb..886f2231a5 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java
@@ -75,7 +75,7 @@ final class Assembler extends ZipWriter.Apache implements 
FilenameFilter {
 final Project project = task.getProject();
 final File sourceDirectory = getBundleSourceDirectory(project, MODULE);
 if (sourceDirectory.isDirectory()) try {
-File target = new File(project.getBuildDir(), BUNDLE_DIRECTORY);
+File target = fileRelativeToBuild(project, BUNDLE_DIRECTORY);
 mkdir(target);
 String filename = FINALNAME_PREFIX + project.getVersion();
 target = new File(target, filename + ".zip");
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
index bbfd9c1090..68f1aa5ec2 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java
@@ -129,6 +129,17 @@ abstract class Conventions {
 return new File(new File(new File(project.getProjectDir(), 
SOURCE_DIRECTORY), module), BUNDLE_DIRECTORY);
 }
 
+/**
+ * Returns the path of a file in the build directory.
+ *
+ * @param  project   the sub-project being compiled.
+ * @param  filename  name of the file in the build directory.
+ * @return path to the file in the build directory.
+ */
+static File fileRelativeToBuild(final Project project, final String 
filename) {
+return 
project.getLayout().getBuildDirectory().file(filename).get().getAsFile();
+}
+
 /**
  * Returns a sub-directory of the directory where the compilation result 
is saved.
  *
@@ -136,9 +147,9 @@ abstract class Conventions {
  * @return path of the given name relative to build directory.
  */
 final File fileRelativeToBuild(final String... path) {
-File file = project.getBuildDir();
-for (final String p : path) {
-file = new File(file, p);
+File file = fileRelativeToBuild(project, path[0]);
+for (int i=1; i {
 final File moduleDirectory = 
Conventions.getBundleSourceDirectory(project, UnoPkg.MODULE);
 if (moduleDirectory.isDirectory()) try {
 File outputDirectory;   // Path to 
"./build/classes/java/main/org.apache.sis.openoffice/"
-outputDirectory = project.getBuildDir();
-outputDirectory = new File(outputDirectory, 
Conventions.MAIN_CLASSES_DIRECTORY);
+outputDirectory = Conventions.fileRelativeToBuild(project, 
Conventions.MAIN_CLASSES_DIRECTORY);
 outputDirectory = new File(outputDirectory, UnoPkg.MODULE);
 final var c = new JavaMaker(moduleDirectory, outputDirectory);
 Files.walkFileTree(c.source, c);
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
index 2042d8ab2d..5979bc45b5 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java
@@ -198,7 +198,7 @@ final class ModularCompilation extends Conventions {
 int errors = 0;
 @SuppressWarnings("LocalVariableHidesMemberVariable")   // Should 
be the same value.
 final Project project = task.getProject();
-final File outputDir = new File(project.getBuildDir(),
+final File o

[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor adjustments in preparation for a release proposal.

2023-09-28 Thread desruisseaux
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 611ffb816db174bc1ea84a4b468b77fa44436e0d
Merge: c2bcdb964f 4ad7739f09
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 12:22:16 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1.
This is minor adjustments in preparation for a release proposal.

 README.md  |  24 ++-
 endorsed/build.gradle.kts  |  34 ++--
 .../apache/sis/metadata/iso/extent/Extents.java|  57 +++---
 .../main/module-info.java  |   1 -
 .../main/org/apache/sis/io/wkt/Convention.java |   2 -
 .../main/org/apache/sis/referencing/CRS.java   |  13 +-
 .../apache/sis/referencing/GeodeticCalculator.java |   1 -
 .../sis/referencing/cs/CoordinateSystems.java  |   6 +-
 .../referencing/factory/AuthorityFactoryProxy.java |  32 ++-
 .../factory/ConcurrentAuthorityFactory.java|  75 +++
 .../apache/sis/referencing/internal/Legacy.java|   6 +-
 .../sis/referencing/operation/package-info.java|   9 +-
 .../operation/projection/AlbersEqualArea.java  |   2 +-
 .../operation/projection/CassiniSoldner.java   |   2 +-
 .../operation/projection/CylindricalEqualArea.java |   2 +-
 .../projection/LambertConicConformal.java  |   2 +-
 .../referencing/operation/projection/Mercator.java |   2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |   2 +-
 .../operation/projection/ObliqueStereographic.java |   2 +-
 .../operation/projection/PolarStereographic.java   |   2 +-
 .../operation/projection/Polyconic.java|   2 +-
 .../operation/projection/Sinusoidal.java   |   2 +-
 .../operation/projection/TransverseMercator.java   |   2 +-
 .../operation/projection/package-info.java |   7 +-
 .../operation/transform/ContextualParameters.java  |  47 ++---
 .../operation/transform/package-info.java  |   2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |  25 +--
 .../org/apache/sis/storage/DataStoreRegistry.java  |   6 +-
 .../apache/sis/storage/image/DataStoreFilter.java  |  29 ++-
 .../main/org/apache/sis/measure/Scalar.java|   4 +-
 .../org/apache/sis/measure/UnitNames.properties|   2 +
 .../main/org/apache/sis/measure/UnitRegistry.java  |   3 +-
 .../main/org/apache/sis/measure/Units.java | 221 -
 .../main/org/apache/sis/util/ComparisonMode.java   |   9 +-
 .../org/apache/sis/measure/UnitFormatTest.java |   2 +
 .../test/org/apache/sis/measure/UnitsTest.java |   8 +-
 geoapi/README.md   |  10 +-
 incubator/build.gradle.kts |   6 +-
 netbeans-project/ivy.xml   |   8 +-
 optional/build.gradle.kts  |   2 +-
 .../gui/referencing/PositionableProjection.java|   8 -
 settings.gradle.kts|  10 +-
 43 files changed, 422 insertions(+), 271 deletions(-)




[sis] branch geoapi-4.0 updated (2c76440e28 -> 4ad7739f09)

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 2c76440e28 Add radioactivity units of measurement (becquerel and 
curie).
 new a0cf252abe Do not export the 
`org.apache.sis.referencing.operation.projection` package. It does not need to 
be used directly, and its design is non-trivial.
 new 1cb9a4913e After removing the export of projection packages, the 
`getClass() == Foo.class` verifications are no longer necessary.
 new 5a43124658 Upgrade dependencies
 new 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in 
"geoapi-xxx" branches.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/module-info.java  |  1 -
 .../main/org/apache/sis/io/wkt/Convention.java |  2 -
 .../apache/sis/referencing/GeodeticCalculator.java |  1 -
 .../sis/referencing/cs/CoordinateSystems.java  |  6 +--
 .../sis/referencing/operation/package-info.java|  9 +
 .../operation/projection/AlbersEqualArea.java  |  2 +-
 .../operation/projection/CassiniSoldner.java   |  2 +-
 .../operation/projection/CylindricalEqualArea.java |  2 +-
 .../projection/LambertConicConformal.java  |  2 +-
 .../referencing/operation/projection/Mercator.java |  2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |  2 +-
 .../operation/projection/ObliqueStereographic.java |  2 +-
 .../operation/projection/PolarStereographic.java   |  2 +-
 .../operation/projection/Polyconic.java|  2 +-
 .../operation/projection/Sinusoidal.java   |  2 +-
 .../operation/projection/TransverseMercator.java   |  2 +-
 .../operation/projection/package-info.java |  7 +---
 .../operation/transform/ContextualParameters.java  | 47 --
 .../operation/transform/package-info.java  |  2 +-
 .../main/org/apache/sis/util/ComparisonMode.java   |  9 ++---
 geoapi/README.md   | 10 ++---
 netbeans-project/ivy.xml   |  8 ++--
 .../gui/referencing/PositionableProjection.java|  8 
 settings.gradle.kts| 10 ++---
 24 files changed, 50 insertions(+), 92 deletions(-)



[sis] 04/04: Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches.

2023-09-28 Thread desruisseaux
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

commit 4ad7739f096cbc44a81a4aa2054ad28f5706603b
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 12:18:26 2023 +0200

Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" 
branches.
---
 geoapi/README.md | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/geoapi/README.md b/geoapi/README.md
index 414fbf5602..691b236ee1 100644
--- a/geoapi/README.md
+++ b/geoapi/README.md
@@ -19,14 +19,10 @@ Following command should be executed once after a fresh 
checkout of SIS `geoapi-
 git submodule update --init
 ```
 
-Following command should be used for pulling changes from Apache SIS Git 
repository.
-The `--recurse-submodules` option pulls changes in the GeoAPI submodule as 
well,
-which is necessary for keeping the Apache SIS code in sync with the GeoAPI 
snapshot that it implements:
-
-```bash
-git pull --recurse-submodules
-```
+After above initialization, the usual `git pull` command should upgrade GeoAPI 
snapshot as well when needed.
+If a Git error message said that the SHA1 is unknown, running `git fetch 
--recurse-submodules` first may help.
 
 ## Prerequisites
 Maven must be available on the classpath.
 The GeoAPI snapshot is built by a call to `mvn clean install`.
+This call is done automatically by the Gradle build.



[sis] 01/04: Do not export the `org.apache.sis.referencing.operation.projection` package. It does not need to be used directly, and its design is non-trivial.

2023-09-28 Thread desruisseaux
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

commit a0cf252abed764910725553f9e8fb9d94f08d0a1
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 11:16:31 2023 +0200

Do not export the `org.apache.sis.referencing.operation.projection` package.
It does not need to be used directly, and its design is non-trivial.
---
 .../main/module-info.java  |  1 -
 .../main/org/apache/sis/io/wkt/Convention.java |  2 -
 .../apache/sis/referencing/GeodeticCalculator.java |  1 -
 .../sis/referencing/cs/CoordinateSystems.java  |  6 +--
 .../sis/referencing/operation/package-info.java|  9 +
 .../operation/projection/package-info.java |  7 +---
 .../operation/transform/ContextualParameters.java  | 47 --
 .../operation/transform/package-info.java  |  2 +-
 .../main/org/apache/sis/util/ComparisonMode.java   |  9 ++---
 .../gui/referencing/PositionableProjection.java|  8 
 10 files changed, 27 insertions(+), 65 deletions(-)

diff --git a/endorsed/src/org.apache.sis.referencing/main/module-info.java 
b/endorsed/src/org.apache.sis.referencing/main/module-info.java
index 0f58149356..6b668db7a6 100644
--- a/endorsed/src/org.apache.sis.referencing/main/module-info.java
+++ b/endorsed/src/org.apache.sis.referencing/main/module-info.java
@@ -165,7 +165,6 @@ module org.apache.sis.referencing {
 exports org.apache.sis.referencing.operation;
 exports org.apache.sis.referencing.operation.builder;
 exports org.apache.sis.referencing.operation.matrix;
-exports org.apache.sis.referencing.operation.projection;
 exports org.apache.sis.referencing.operation.transform;
 
 exports org.apache.sis.referencing.util to
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java
index 0810cbbc84..7b563387b8 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java
@@ -206,8 +206,6 @@ public enum Convention {
  * 
  *
  * This convention is used only for debugging purpose.
- *
- * @see 
org.apache.sis.referencing.operation.projection.NormalizedProjection#getParameterValues()
  */
 @Debug
 INTERNAL(false, false, false);
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
index c17e1dbcca..27d2f1d978 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
@@ -1168,7 +1168,6 @@ public class GeodeticCalculator {
  * @throws GeodeticException if the projection cannot be computed.
  *
  * @see #moveToEndPoint()
- * @see 
org.apache.sis.referencing.operation.projection.AzimuthalEquidistant
  *
  * @since 1.1
  */
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
index 60503e213e..af4cc47552 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
@@ -448,9 +448,8 @@ next:   for (final CoordinateSystem cs : targets) {
  * Coordinate system normalization
  * This method is often used together with {@link #swapAndScaleAxes 
swapAndScaleAxes(…)} for normalizing the
  * coordinate values given to a {@linkplain 
org.apache.sis.referencing.operation.transform.AbstractMathTransform
- * math transform}.
+ * math transform}. For example:
  *
- * Example
  * {@snippet lang="java" :
  * CoordinateSystem sourceCS = ...;
  * CoordinateSystem targetCS = ...;
@@ -459,9 +458,6 @@ next:   for (final CoordinateSystem cs : targets) {
  * Matrix step3 = swapAndScaleAxes(replaceAxes(targetCS, 
AxisConvention.NORMALIZED), targetCS);
  * }
  *
- * A rational for normalized axis order and units is explained in the 
Axis units and direction section
- * in the description of the {@linkplain 
org.apache.sis.referencing.operation.projection map projection package}.
- *
  * @param  cs  the coordinate system, or {@code null}.
  * @param  filter  the modifications to apply on coordinate system axes.
  * @return the modified coordinate system as a new instance,
diff --git 
a/endorsed/src/org.apache.sis.refere

[sis] 02/04: After removing the export of projection packages, the `getClass() == Foo.class` verifications are no longer necessary.

2023-09-28 Thread desruisseaux
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

commit 1cb9a4913e9c2f760afb6200ef190ec5697f892e
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 11:28:03 2023 +0200

After removing the export of projection packages, the `getClass() == 
Foo.class` verifications are no longer necessary.
---
 .../apache/sis/referencing/operation/projection/AlbersEqualArea.java| 2 +-
 .../org/apache/sis/referencing/operation/projection/CassiniSoldner.java | 2 +-
 .../sis/referencing/operation/projection/CylindricalEqualArea.java  | 2 +-
 .../sis/referencing/operation/projection/LambertConicConformal.java | 2 +-
 .../main/org/apache/sis/referencing/operation/projection/Mercator.java  | 2 +-
 .../referencing/operation/projection/ModifiedAzimuthalEquidistant.java  | 2 +-
 .../sis/referencing/operation/projection/ObliqueStereographic.java  | 2 +-
 .../apache/sis/referencing/operation/projection/PolarStereographic.java | 2 +-
 .../main/org/apache/sis/referencing/operation/projection/Polyconic.java | 2 +-
 .../org/apache/sis/referencing/operation/projection/Sinusoidal.java | 2 +-
 .../apache/sis/referencing/operation/projection/TransverseMercator.java | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java
index c8d94cb481..93a4fd502c 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java
@@ -203,7 +203,7 @@ public class AlbersEqualArea extends AuthalicConversion {
 @Override
 public MathTransform createMapProjection(final MathTransformFactory 
factory) throws FactoryException {
 AlbersEqualArea kernel = this;
-if (eccentricity == 0 && getClass() == AlbersEqualArea.class) {
+if (eccentricity == 0) {
 kernel = new Spherical(this);
 }
 return kernel.completeWithWraparound(factory);
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java
index 6dbeaadb2a..1f176e8123 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java
@@ -225,7 +225,7 @@ public class CassiniSoldner extends MeridianArcBased {
 @Override
 public MathTransform createMapProjection(final MathTransformFactory 
factory) throws FactoryException {
 CassiniSoldner kernel = this;
-if ((eccentricity == 0 && variant == null) && getClass() == 
CassiniSoldner.class) {
+if (eccentricity == 0 && variant == null) {
 kernel = new Spherical(this);
 }
 return context.completeTransform(factory, kernel);
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java
index 129252b61b..a547b5b675 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java
@@ -211,7 +211,7 @@ public class CylindricalEqualArea extends 
AuthalicConversion {
 @Override
 public MathTransform createMapProjection(final MathTransformFactory 
factory) throws FactoryException {
 CylindricalEqualArea kernel = this;
-if ((variant == Variant.SPHERICAL || eccentricity == 0) && getClass() 
== CylindricalEqualArea.class) {
+if (variant == Variant.SPHERICAL || eccentricity == 0) {
 kernel = new Spherical(this);
 }
 return context.completeTransform(factory, kernel);
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java
index 66c558df56..261f28dd9c 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apa

[sis] 03/04: Upgrade dependencies

2023-09-28 Thread desruisseaux
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

commit 5a43124658824900072d52c57eb86d5a2b844fed
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 11:49:07 2023 +0200

Upgrade dependencies
---
 netbeans-project/ivy.xml |  8 
 settings.gradle.kts  | 10 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/netbeans-project/ivy.xml b/netbeans-project/ivy.xml
index 01c97e7812..a0b405974e 100644
--- a/netbeans-project/ivy.xml
+++ b/netbeans-project/ivy.xml
@@ -12,7 +12,7 @@
 
 
 
-
+
 
 
 
@@ -21,8 +21,8 @@
 
 
 
-
-
+
+
 
 
 
@@ -34,7 +34,7 @@
 
 
 
-
+
 
 
 
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 152fff8b2a..6f5cf90996 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -59,13 +59,13 @@ dependencyResolutionManagement {
 create("libs") {
 library("geoapi","org.opengis",
"geoapi-pending")  .version {strictly(geoapiVersion)}
 library("units", "javax.measure",  "unit-api") 
   .version {strictly("[2.1, 3.0[");  prefer("2.1.3")}
-library("jaxb.api",  "jakarta.xml.bind",   
"jakarta.xml.bind-api").version {strictly("[4.0, 5.0[");  prefer("4.0.0")}
-library("jaxb.impl", "org.glassfish.jaxb", "jaxb-runtime") 
   .version {strictly("[4.0, 5.0[");  prefer("4.0.2")}
+library("jaxb.api",  "jakarta.xml.bind",   
"jakarta.xml.bind-api").version {strictly("[4.0, 5.0[");  prefer("4.0.1")}
+library("jaxb.impl", "org.glassfish.jaxb", "jaxb-runtime") 
   .version {strictly("[4.0, 5.0[");  prefer("4.0.3")}
 library("jts.core",  "org.locationtech.jts",   "jts-core") 
   .version {strictly("[1.15, 2.0["); prefer("1.19.0")}
 library("esri.geometry", "com.esri.geometry",  
"esri-geometry-api")   .version {strictly("[2.0, 3.0[");  prefer("2.2.4")}
-library("libreoffice",   "org.libreoffice","libreoffice")  
   .version {strictly("[7.0, 8.0[");  prefer("7.3.6")}
+library("libreoffice",   "org.libreoffice","libreoffice")  
   .version {strictly("[7.0, 8.0[");  prefer("7.6.1")}
 library("ucar",  "edu.ucar",   "cdm-core") 
   .version {strictly("[5.0, 6.0[");  prefer("5.5.3")}
-library("aws.s3","software.amazon.awssdk", "s3")   
   .version {strictly("[2.0, 3.0[");  prefer("2.18.40")}
+library("aws.s3","software.amazon.awssdk", "s3")   
   .version {strictly("[2.0, 3.0[");  prefer("2.20.155")}
 }
 create("tests") {
 library("geoapi","org.opengis",
"geoapi-conformance") .version {strictly(geoapiVersion)}
@@ -88,7 +88,7 @@ dependencyResolutionManagement {
 library("derby.tools",   "org.apache.derby",   "derbytools") 
.versionRef("derby")
 library("postgres",  "org.postgresql", "postgresql") 
.version {prefer("42.6.0")}
 library("hsql",  "org.hsqldb", "hsqldb") 
.version {strictly("[2.0, 3.0["); prefer("2.7.2")}
-library("h2","com.h2database", "h2") 
.version {strictly("[2.0, 3.0["); prefer("2.2.220")}
+library("h2","com.h2database", "h2") 
.version {strictly("[2.0, 3.0["); prefer("2.2.224")}
 }
 }
 }



[sis] branch main updated (6eac04b166 -> 6affdaa155)

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 6eac04b166 Merge branch 'geoapi-3.1'.
 add a8ca48dad6 Combine `DataStoreFilter` with user-supplied filter.
 add aa81075711 Avoid a direct dependencies of metadata `Extents` class 
toward referencing interfaces.
 add 03051e4384 Use existing contants for TIFF tag types. Opportunistic 
documentation fixes.
 add 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. 
Edit the RExADME.md file.
 add f83e8924f3 Add missing `createParametric[CRS|CS|Datum](String)` methods
 add 2c76440e28 Add radioactivity units of measurement (becquerel and 
curie).
 add a0cf252abe Do not export the 
`org.apache.sis.referencing.operation.projection` package. It does not need to 
be used directly, and its design is non-trivial.
 add 1cb9a4913e After removing the export of projection packages, the 
`getClass() == Foo.class` verifications are no longer necessary.
 add 5a43124658 Upgrade dependencies
 add 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in 
"geoapi-xxx" branches.
 add 611ffb816d Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor 
adjustments in preparation for a release proposal.
 new 6affdaa155 Merge branch 'geoapi-3.1'.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md  |  24 ++-
 endorsed/build.gradle.kts  |  34 ++--
 .../main/module-info.java  |   1 -
 .../main/org/apache/sis/io/wkt/Convention.java |   2 -
 .../main/org/apache/sis/referencing/CRS.java   |  23 ++-
 .../apache/sis/referencing/GeodeticCalculator.java |   1 -
 .../sis/referencing/cs/CoordinateSystems.java  |   6 +-
 .../referencing/factory/AuthorityFactoryProxy.java |   2 +-
 .../apache/sis/referencing/internal/Legacy.java|   4 -
 .../sis/referencing/operation/package-info.java|   9 +-
 .../operation/projection/AlbersEqualArea.java  |   2 +-
 .../operation/projection/CassiniSoldner.java   |   2 +-
 .../operation/projection/CylindricalEqualArea.java |   2 +-
 .../projection/LambertConicConformal.java  |   2 +-
 .../referencing/operation/projection/Mercator.java |   2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |   2 +-
 .../operation/projection/ObliqueStereographic.java |   2 +-
 .../operation/projection/PolarStereographic.java   |   2 +-
 .../operation/projection/Polyconic.java|   2 +-
 .../operation/projection/Sinusoidal.java   |   2 +-
 .../operation/projection/TransverseMercator.java   |   2 +-
 .../operation/projection/package-info.java |   7 +-
 .../operation/transform/ContextualParameters.java  |  47 ++---
 .../operation/transform/package-info.java  |   2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |  25 +--
 .../org/apache/sis/storage/DataStoreRegistry.java  |   6 +-
 .../apache/sis/storage/image/DataStoreFilter.java  |  29 ++-
 .../main/org/apache/sis/measure/Scalar.java|   4 +-
 .../org/apache/sis/measure/UnitNames.properties|   2 +
 .../main/org/apache/sis/measure/UnitRegistry.java  |   3 +-
 .../main/org/apache/sis/measure/Units.java | 221 -
 .../main/org/apache/sis/util/ComparisonMode.java   |   9 +-
 .../org/apache/sis/measure/UnitFormatTest.java |   2 +
 .../test/org/apache/sis/measure/UnitsTest.java |   8 +-
 incubator/build.gradle.kts |   4 +-
 netbeans-project/ivy.xml   |   8 +-
 optional/build.gradle.kts  |   2 +-
 .../gui/referencing/PositionableProjection.java|   8 -
 settings.gradle.kts|  10 +-
 40 files changed, 294 insertions(+), 233 deletions(-)



[sis] 01/01: Merge branch 'geoapi-3.1'.

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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

commit 6affdaa1555349f11ab16db0c38c342ff8ee8366
Merge: 6eac04b166 611ffb816d
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 28 12:37:07 2023 +0200

Merge branch 'geoapi-3.1'.

 README.md  |  24 ++-
 endorsed/build.gradle.kts  |  34 ++--
 .../main/module-info.java  |   1 -
 .../main/org/apache/sis/io/wkt/Convention.java |   2 -
 .../main/org/apache/sis/referencing/CRS.java   |  23 ++-
 .../apache/sis/referencing/GeodeticCalculator.java |   1 -
 .../sis/referencing/cs/CoordinateSystems.java  |   6 +-
 .../referencing/factory/AuthorityFactoryProxy.java |   2 +-
 .../apache/sis/referencing/internal/Legacy.java|   4 -
 .../sis/referencing/operation/package-info.java|   9 +-
 .../operation/projection/AlbersEqualArea.java  |   2 +-
 .../operation/projection/CassiniSoldner.java   |   2 +-
 .../operation/projection/CylindricalEqualArea.java |   2 +-
 .../projection/LambertConicConformal.java  |   2 +-
 .../referencing/operation/projection/Mercator.java |   2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |   2 +-
 .../operation/projection/ObliqueStereographic.java |   2 +-
 .../operation/projection/PolarStereographic.java   |   2 +-
 .../operation/projection/Polyconic.java|   2 +-
 .../operation/projection/Sinusoidal.java   |   2 +-
 .../operation/projection/TransverseMercator.java   |   2 +-
 .../operation/projection/package-info.java |   7 +-
 .../operation/transform/ContextualParameters.java  |  47 ++---
 .../operation/transform/package-info.java  |   2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |  25 +--
 .../org/apache/sis/storage/DataStoreRegistry.java  |   6 +-
 .../apache/sis/storage/image/DataStoreFilter.java  |  29 ++-
 .../main/org/apache/sis/measure/Scalar.java|   4 +-
 .../org/apache/sis/measure/UnitNames.properties|   2 +
 .../main/org/apache/sis/measure/UnitRegistry.java  |   3 +-
 .../main/org/apache/sis/measure/Units.java | 221 -
 .../main/org/apache/sis/util/ComparisonMode.java   |   9 +-
 .../org/apache/sis/measure/UnitFormatTest.java |   2 +
 .../test/org/apache/sis/measure/UnitsTest.java |   8 +-
 incubator/build.gradle.kts |   4 +-
 netbeans-project/ivy.xml   |   8 +-
 optional/build.gradle.kts  |   2 +-
 .../gui/referencing/PositionableProjection.java|   8 -
 settings.gradle.kts|  10 +-
 40 files changed, 294 insertions(+), 233 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
index 45e78ca27b,c0316a3cfd..6fda530af2
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
@@@ -86,6 -87,12 +87,9 @@@ import org.apache.sis.metadata.iso.exte
  import org.apache.sis.util.resources.Errors;
  import org.apache.sis.util.logging.Logging;
  
 -// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.geometry.Geometry;
 -import org.opengis.referencing.ObjectDomain;
 -import org.opengis.metadata.extent.BoundingPolygon;
 -import org.opengis.metadata.extent.GeographicExtent;
++// Specific to the main branch:
++import org.apache.sis.referencing.internal.Legacy;
+ 
  
  /**
   * Static methods working on {@linkplain CoordinateReferenceSystem Coordinate 
Reference Systems}.
@@@ -794,7 -798,15 +795,15 @@@ public final class CRS extends Static 
   */
  @OptionalCandidate
  public static GeographicBoundingBox getGeographicBoundingBox(final 
CoordinateReferenceSystem crs) {
- return (crs != null) ? 
Extents.getGeographicBoundingBox(crs.getDomainOfValidity()) : null;
+ return (crs != null) ? getDomains(crs).orElse(null) : null;
+ }
+ 
+ /**
+  * Returns the geographic bounding box computed from the domain of the 
given object. This method may be renamed and
+  * refactored as a replacement of {@link 
#getGeographicBoundingBox(CoordinateReferenceSystem)} in a future version.
+  */
+ private static Optional getDomains(final 
IdentifiedObject object) {
 -return 
Extents.getGeographicBoundingBox(object.getDomains().stream().map(ObjectDomain::getDomainOfValidity));
++return 
Extents.getGeographicBoundingBox(Legacy.getDomains(object).stream().map(DefaultObjectDomain::getDomainOfValidity));
  }
  
  /**
diff --cc netbeans-project/ivy.xml
index 65fa430d8a,a0b405974e..d89626bbf0
--- a/netbeans-project/ivy.xml
+++ b/netbeans-project/ivy.xml
@@@ -11,10 -11,8 +11,10

[sis] branch geoapi-3.1 updated (c2bcdb964f -> 611ffb816d)

2023-09-28 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from c2bcdb964f Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the 
beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, 
documentation fixes and some deprecations in preparation for SIS 1.4 release 
proposal.
 add a8ca48dad6 Combine `DataStoreFilter` with user-supplied filter.
 add aa81075711 Avoid a direct dependencies of metadata `Extents` class 
toward referencing interfaces.
 add 03051e4384 Use existing contants for TIFF tag types. Opportunistic 
documentation fixes.
 add 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. 
Edit the RExADME.md file.
 add f83e8924f3 Add missing `createParametric[CRS|CS|Datum](String)` methods
 add 2c76440e28 Add radioactivity units of measurement (becquerel and 
curie).
 add a0cf252abe Do not export the 
`org.apache.sis.referencing.operation.projection` package. It does not need to 
be used directly, and its design is non-trivial.
 add 1cb9a4913e After removing the export of projection packages, the 
`getClass() == Foo.class` verifications are no longer necessary.
 add 5a43124658 Upgrade dependencies
 add 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in 
"geoapi-xxx" branches.
 new 611ffb816d Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor 
adjustments in preparation for a release proposal.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md  |  24 ++-
 endorsed/build.gradle.kts  |  34 ++--
 .../apache/sis/metadata/iso/extent/Extents.java|  57 +++---
 .../main/module-info.java  |   1 -
 .../main/org/apache/sis/io/wkt/Convention.java |   2 -
 .../main/org/apache/sis/referencing/CRS.java   |  13 +-
 .../apache/sis/referencing/GeodeticCalculator.java |   1 -
 .../sis/referencing/cs/CoordinateSystems.java  |   6 +-
 .../referencing/factory/AuthorityFactoryProxy.java |  32 ++-
 .../factory/ConcurrentAuthorityFactory.java|  75 +++
 .../apache/sis/referencing/internal/Legacy.java|   6 +-
 .../sis/referencing/operation/package-info.java|   9 +-
 .../operation/projection/AlbersEqualArea.java  |   2 +-
 .../operation/projection/CassiniSoldner.java   |   2 +-
 .../operation/projection/CylindricalEqualArea.java |   2 +-
 .../projection/LambertConicConformal.java  |   2 +-
 .../referencing/operation/projection/Mercator.java |   2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |   2 +-
 .../operation/projection/ObliqueStereographic.java |   2 +-
 .../operation/projection/PolarStereographic.java   |   2 +-
 .../operation/projection/Polyconic.java|   2 +-
 .../operation/projection/Sinusoidal.java   |   2 +-
 .../operation/projection/TransverseMercator.java   |   2 +-
 .../operation/projection/package-info.java |   7 +-
 .../operation/transform/ContextualParameters.java  |  47 ++---
 .../operation/transform/package-info.java  |   2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |  25 +--
 .../org/apache/sis/storage/DataStoreRegistry.java  |   6 +-
 .../apache/sis/storage/image/DataStoreFilter.java  |  29 ++-
 .../main/org/apache/sis/measure/Scalar.java|   4 +-
 .../org/apache/sis/measure/UnitNames.properties|   2 +
 .../main/org/apache/sis/measure/UnitRegistry.java  |   3 +-
 .../main/org/apache/sis/measure/Units.java | 221 -
 .../main/org/apache/sis/util/ComparisonMode.java   |   9 +-
 .../org/apache/sis/measure/UnitFormatTest.java |   2 +
 .../test/org/apache/sis/measure/UnitsTest.java |   8 +-
 geoapi/README.md   |  10 +-
 incubator/build.gradle.kts |   6 +-
 netbeans-project/ivy.xml   |   8 +-
 optional/build.gradle.kts  |   2 +-
 .../gui/referencing/PositionableProjection.java|   8 -
 settings.gradle.kts|  10 +-
 43 files changed, 422 insertions(+), 271 deletions(-)



[sis] 02/02: Add radioactivity units of measurement (becquerel and curie).

2023-09-27 Thread desruisseaux
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

commit 2c76440e2871a43a21a500d581512e2ac964b8a7
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 27 16:55:39 2023 +0200

Add radioactivity units of measurement (becquerel and curie).
---
 .../main/org/apache/sis/measure/Scalar.java|   4 +-
 .../org/apache/sis/measure/UnitNames.properties|   2 +
 .../main/org/apache/sis/measure/UnitRegistry.java  |   3 +-
 .../main/org/apache/sis/measure/Units.java | 221 -
 .../org/apache/sis/measure/UnitFormatTest.java |   2 +
 .../test/org/apache/sis/measure/UnitsTest.java |   8 +-
 6 files changed, 142 insertions(+), 98 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java
index f64177132c..2e8c5bf0a3 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java
@@ -404,8 +404,8 @@ class Scalar> extends Number 
implements Quantity, Compa
 
 /*
  * Following inner classes are straightforward implementations for some 
commonly used quantity types.
- * We do not need to provide an implementation for every types; we will 
fallback on a proxy mechanism
- * as a fallback for less frequently used types.
+ * We do not need to provide an implementation for every types, because we 
have a proxy mechanism as
+ * a fallback for less frequently used types.
  */
 
 
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties
 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties
index 97fc5614ba..41ffd3b981 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties
@@ -4,8 +4,10 @@ A=ampere
 a=year
 atm=atmosphere
 B=bel
+Bq=becquerel
 C=coulomb
 cd=candela
+Ci=curie
 cm=centimetre
 d=day
 dB=decibel
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java
 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java
index 0d1dc55919..776c60a456 100644
--- 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java
+++ 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java
@@ -199,8 +199,9 @@ final class UnitRegistry implements SystemOfUnits, 
Serializable {
  * This method is invoked for assertions only.
  */
 private static int filter(int existed, final SystemUnit unit, final 
String s) {
+if ("cd".equals(s) ||
+"Hz".equals(s) || "Bq".equals(s)) existed &= ~(1);  // 
Accepts dimension collisions only;
 if (unit.dimension.isDimensionless()) existed &= ~(1 | 2);  // 
Accepts dimension and quantity collisions.
-if ("cd".equals(s) || "Hz".equals(s)) existed &= ~(1);  // 
Accepts dimension collisions only;
 return (s == null) || s.isEmpty() ? 0 : existed;
 }
 
diff --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java
index 9be723171d..3087070e0f 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java
@@ -76,7 +76,7 @@ import static org.apache.sis.measure.UnitRegistry.PREFIXABLE;
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Alexis Manin (Geomatys)
- * @version 1.2
+ * @version 1.4
  * @since   0.3
  */
 public final class Units extends Static {
@@ -88,9 +88,9 @@ public final class Units extends Static {
  *
  * 
  *   Related units
- *   SI units: {@code 
NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, {@link 
#METRE}, {@link #KILOMETRE}.
- *   In other systems: {@link 
#POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link 
#US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.
- *   Derived units:{@link 
#SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.
+ *   SI length units: {@code 
NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, {@link 
#METRE}, {@link #KILOMETRE}.
+ *   Non-SI units:{@link 
#POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link 
#US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.
+ *   Derived units:   {@link 
#SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.
  * 
  *
  * @see org.apache.sis.metadata.iso.content.DefaultBand#getBoundUnits()
@@ -106,9 +106,9 @@ public fina

[sis] branch geoapi-4.0 updated (1dc6f94da8 -> 2c76440e28)

2023-09-27 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. 
Edit the RExADME.md file.
 new f83e8924f3 Add missing `createParametric[CRS|CS|Datum](String)` methods
 new 2c76440e28 Add radioactivity units of measurement (becquerel and 
curie).

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../referencing/factory/AuthorityFactoryProxy.java |  32 ++-
 .../factory/ConcurrentAuthorityFactory.java|  75 +++
 .../main/org/apache/sis/measure/Scalar.java|   4 +-
 .../org/apache/sis/measure/UnitNames.properties|   2 +
 .../main/org/apache/sis/measure/UnitRegistry.java  |   3 +-
 .../main/org/apache/sis/measure/Units.java | 221 -
 .../org/apache/sis/measure/UnitFormatTest.java |   2 +
 .../test/org/apache/sis/measure/UnitsTest.java |   8 +-
 8 files changed, 248 insertions(+), 99 deletions(-)



[sis] 01/02: Add missing `createParametric[CRS|CS|Datum](String)` methods

2023-09-27 Thread desruisseaux
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

commit f83e8924f379efbba2326d37bd0b89d40a9d3a79
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 27 14:20:03 2023 +0200

Add missing `createParametric[CRS|CS|Datum](String)` methods
---
 .../referencing/factory/AuthorityFactoryProxy.java | 32 -
 .../factory/ConcurrentAuthorityFactory.java| 75 ++
 2 files changed, 106 insertions(+), 1 deletion(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
index 140ca5ed55..6fb20e3476 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
@@ -57,7 +57,7 @@ import org.apache.sis.util.internal.Strings;
  * }
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @version 1.4
  * @since   0.7
  */
 abstract class AuthorityFactoryProxy {
@@ -226,6 +226,16 @@ abstract class AuthorityFactoryProxy {
 }
 };
 
+static final AuthorityFactoryProxy PARAMETRIC_DATUM =
+new AuthorityFactoryProxy(ParametricDatum.class, 
AuthorityFactoryIdentifier.DATUM) {
+@Override ParametricDatum create(GeodeticAuthorityFactory factory, 
String code) throws FactoryException {
+return factory.createParametricDatum(code);
+}
+@Override ParametricDatum createFromAPI(AuthorityFactory factory, 
String code) throws FactoryException {
+return datumFactory(factory).createParametricDatum(code);
+}
+};
+
 static final AuthorityFactoryProxy VERTICAL_DATUM =
 new AuthorityFactoryProxy(VerticalDatum.class, 
AuthorityFactoryIdentifier.DATUM) {
 @Override VerticalDatum create(GeodeticAuthorityFactory factory, 
String code) throws FactoryException {
@@ -366,6 +376,16 @@ abstract class AuthorityFactoryProxy {
 }
 };
 
+static final AuthorityFactoryProxy PARAMETRIC_CS =
+new AuthorityFactoryProxy(ParametricCS.class, 
AuthorityFactoryIdentifier.CS) {
+@Override ParametricCS create(GeodeticAuthorityFactory factory, 
String code) throws FactoryException {
+return factory.createParametricCS(code);
+}
+@Override ParametricCS createFromAPI(AuthorityFactory factory, 
String code) throws FactoryException {
+return csFactory(factory).createParametricCS(code);
+}
+};
+
 static final AuthorityFactoryProxy AXIS =
 new 
AuthorityFactoryProxy(CoordinateSystemAxis.class, 
AuthorityFactoryIdentifier.CS) {
 @Override CoordinateSystemAxis create(GeodeticAuthorityFactory 
factory, String code) throws FactoryException {
@@ -487,6 +507,16 @@ abstract class AuthorityFactoryProxy {
 }
 };
 
+static final AuthorityFactoryProxy PARAMETRIC_CRS =
+new AuthorityFactoryProxy(ParametricCRS.class, 
AuthorityFactoryIdentifier.CRS) {
+@Override ParametricCRS create(GeodeticAuthorityFactory factory, 
String code) throws FactoryException {
+return factory.createParametricCRS(code);
+}
+@Override ParametricCRS createFromAPI(AuthorityFactory factory, 
String code) throws FactoryException {
+return crsFactory(factory).createParametricCRS(code);
+}
+};
+
 @SuppressWarnings("rawtypes")
 static final AuthorityFactoryProxy PARAMETER =
 new 
AuthorityFactoryProxy(ParameterDescriptor.class, 
AuthorityFactoryIdentifier.GEODETIC) {
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
index 3b9c0b38c6..d601928c9f 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
@@ -1011,6 +1011,31 @@ public abstract class ConcurrentAuthorityFactory
+ *   Return the cached instance for the given code if such instance 
already exists.
+ *   Otherwise if the Data Access Object (DAO) overrides the {@code 
createParametricCRS(String)}
+ *   method, invoke that method and cache the result for future 
use.
+ *   Otherwise delegate to the {@link 
GeodeticAuthorityFactory#createParametricCRS(String)}
+ *   method in the parent class. This allows to check if the more 
generic
+ *   

[sis] branch geoapi-4.0 updated: Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file.

2023-09-26 Thread desruisseaux
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 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. 
Edit the RExADME.md file.
1dc6f94da8 is described below

commit 1dc6f94da8238d991c257297d4918b24f250a082
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 27 00:38:35 2023 +0200

Resolve a new Gradle warning which appears with Gradle 8.3.
Edit the RExADME.md file.
---
 README.md  | 24 +---
 endorsed/build.gradle.kts  | 34 +-
 incubator/build.gradle.kts |  6 +++---
 optional/build.gradle.kts  |  2 +-
 4 files changed, 42 insertions(+), 24 deletions(-)

diff --git a/README.md b/README.md
index 2289a852d7..e9919f5c0b 100644
--- a/README.md
+++ b/README.md
@@ -24,19 +24,37 @@ Apache SIS, SIS, Apache, the Apache feather logo, and the 
Apache SIS
 project logo are trademarks of The Apache Software Foundation.
 
 
-## Getting Started
+## Build from sources
 
 Running the library part of Apache SIS requires Java 11 or higher.
 Running the JavaFX application part requires Java 16 or higher.
 Building SIS requires Java 18 or higher
-together with [Gradle](https://gradle.org/) build system.
+together with [Gradle](https://gradle.org/) 8 build system.
 To build SIS, use the following command in this directory:
 
 gradle assemble
 
+The JAR files will be located in the following directories,
+together with their dependencies:
+
+* `endorsed/build/libs/`  (core library)
+* `optional/build/libs/`  (requires JavaFX)
+* `incubator/build/libs/` (not yet released)
+
+If JAR files seem missing, try `gradle jar`.
+For publishing to the local `~/.m2` repository
+(for example, for use with Maven projects):
+
+gradle publishToMavenLocal
+
+
+## Getting Started
+
 Information for running a [command-line 
tool](https://sis.apache.org/command-line.html)
 or an [optional JavaFX application](https://sis.apache.org/javafx.html)
-can be found on the web site.
+can be found on the web site. Java code examples for some common tasks
+are given in the [How to…](https://sis.apache.org/howto.html) pages.
+Complete API can be browsed in [online 
Javadoc](https://sis.apache.org/apidocs/index.html).
 
 
 ## License (see also LICENSE)
diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index 82fe277188..3a545e2d08 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -236,7 +236,7 @@ publishing {
 create("util") {
 groupId= "org.apache.sis.core"
 artifactId = "sis-utility"
-artifact(file("${buildDir}/libs/org.apache.sis.util.jar"))
+
artifact(layout.buildDirectory.file("libs/org.apache.sis.util.jar"))
 pom {
 name= "Apache SIS utilities"
 description = "Units of measurement and miscellaneous utility 
methods required by Apache SIS."
@@ -245,7 +245,7 @@ publishing {
 create("metadata") {
 groupId= "org.apache.sis.core"
 artifactId = "sis-metadata"
-artifact(file("${buildDir}/libs/org.apache.sis.metadata.jar"))
+
artifact(layout.buildDirectory.file("libs/org.apache.sis.metadata.jar"))
 pom {
 name= "Apache SIS metadata"
 description = "Implementations of metadata derived from ISO 
19115. " +
@@ -256,7 +256,7 @@ publishing {
 create("referencing") {
 groupId= "org.apache.sis.core"
 artifactId = "sis-referencing"
-artifact(file("${buildDir}/libs/org.apache.sis.referencing.jar"))
+
artifact(layout.buildDirectory.file("libs/org.apache.sis.referencing.jar"))
 pom {
 name= "Apache SIS referencing"
 description = "Implementations of Coordinate Reference Systems 
(CRS), " +
@@ -266,7 +266,7 @@ publishing {
 create("referencing.gazetteer") {
 groupId= "org.apache.sis.core"
 artifactId = "sis-referencing-by-identifiers"
-
artifact(file("${buildDir}/libs/org.apache.sis.referencing.gazetteer.jar"))
+
artifact(layout.buildDirectory.file("libs/org.apache.sis.referencing.gazetteer.jar"))
 pom {
 name= "Apache SIS referencing by geographic 
identifiers"
 description = "Implementations of Spatial Reference Systems 
using Geographic Identifiers " +
@@ -276,7 +276,7 @@ publishing {
 creat

[sis] branch geoapi-4.0 updated: Use existing contants for TIFF tag types. Opportunistic documentation fixes.

2023-09-26 Thread desruisseaux
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 03051e4384 Use existing contants for TIFF tag types. Opportunistic 
documentation fixes.
03051e4384 is described below

commit 03051e4384704a77289dea59803e95260fd23d99
Author: Martin Desruisseaux 
AuthorDate: Tue Sep 26 14:32:47 2023 +0200

Use existing contants for TIFF tag types.
Opportunistic documentation fixes.
---
 .../apache/sis/referencing/internal/Legacy.java|  6 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  | 25 +++---
 3 files changed, 15 insertions(+), 18 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java
index bf950809d6..23b81df4f1 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java
@@ -23,7 +23,6 @@ import org.opengis.referencing.cs.AxisDirection;
 import org.opengis.referencing.cs.CartesianCS;
 import org.apache.sis.measure.Units;
 import org.apache.sis.referencing.CommonCRS;
-import org.apache.sis.referencing.cs.AxisFilter;
 import org.apache.sis.referencing.cs.CoordinateSystems;
 import org.apache.sis.referencing.cs.DefaultCartesianCS;
 import org.apache.sis.referencing.cs.DefaultCoordinateSystemAxis;
@@ -33,12 +32,9 @@ import static 
org.opengis.referencing.IdentifiedObject.NAME_KEY;
 
 
 /**
- * Utilities related to version 1 of Well Known Text format.
+ * Utilities related to version 1 of Well Known Text format, or to ISO 
19111:2007.
  * Defined in a separated classes for reducing classes loading when not 
necessary.
  *
- * This class implements the {@link AxisFilter} interface for opportunistic 
reasons.
- * Callers should ignore this implementation detail.
- *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.8
  * @since   0.4
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
index 192a7a4bf2..2bcb7c4a73 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
@@ -380,7 +380,7 @@ public class GeoTiffStore extends DataStore implements 
Aggregate {
 }
 
 /**
- * Returns the reader if it is not closed, or thrown an exception 
otherwise.
+ * Returns the reader if it is not closed, or throws an exception 
otherwise.
  *
  * @see #close()
  */
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java
index 95ae8022fd..e48129d0be 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.io.IOException;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import javax.imageio.plugins.tiff.TIFFTag;
 import org.apache.sis.io.stream.ChannelDataInput;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.util.internal.Numerics;
@@ -48,7 +49,7 @@ enum Type {
  *   TIFF code: 7
  * 
  */
-UNDEFINED(7, Byte.BYTES, false) {
+UNDEFINED(TIFFTag.TIFF_UNDEFINED, Byte.BYTES, false) {
 @Override public long readAsLong(final ChannelDataInput input, final 
long count) throws IOException {
 throw new UnsupportedOperationException(name());
 }
@@ -66,7 +67,7 @@ enum Type {
  *   TIFF code: 6
  * 
  */
-BYTE(6, Byte.BYTES, false) {
+BYTE(TIFFTag.TIFF_SBYTE, Byte.BYTES, false) {
 @Override public long readAsLong(final ChannelDataInput input, final 
long count) throws IOException {
 final long value = input.readByte();
 for (long i=1; iTIFF code: 1
  * 
  */
-UBYTE(1, Byte.BYTES, true) {
+UBYTE(TIFFTag.TIFF_BYTE, Byte.BYTES, true) {
 @Override public long readAsLong(final ChannelDataInput input, final 
long count) throws IOException {
 final long value = input.readUnsignedByte();
 for (long i=1; iTIFF code: 8
  * 
  */
-SHORT(8, Short.BYTES, false) {
+SHORT(TIFFTag.TIFF_SSHORT, Short.BYTES, false) {
 @Override public long readAsLong(final

[sis] 01/02: Combine `DataStoreFilter` with user-supplied filter.

2023-09-26 Thread desruisseaux
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

commit a8ca48dad6d0ca350c603091650d1600f9d1bc1d
Author: Martin Desruisseaux 
AuthorDate: Tue Sep 26 10:22:19 2023 +0200

Combine `DataStoreFilter` with user-supplied filter.
---
 .../org/apache/sis/storage/DataStoreRegistry.java  |  6 -
 .../apache/sis/storage/image/DataStoreFilter.java  | 29 +-
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java
index 91f0c46788..69ec2b1ee7 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java
@@ -204,8 +204,12 @@ final class DataStoreRegistry extends 
LazySet {
 StorageConnector connector; // Will be reset to `null` 
if it shall not be closed.
 if (storage instanceof StorageConnector) {
 connector = (StorageConnector) storage;
+final var p = 
connector.getOption(InternalOptionKey.PREFERRED_PROVIDERS);
 if (preferred == null) {
-preferred = 
connector.getOption(InternalOptionKey.PREFERRED_PROVIDERS);
+preferred = p;
+} else {
+preferred = preferred.and(p);
+connector.setOption(InternalOptionKey.PREFERRED_PROVIDERS, 
preferred);
 }
 } else {
 connector = new StorageConnector(storage);
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java
index c2d9929e89..3f88702377 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java
@@ -49,6 +49,13 @@ public final class DataStoreFilter implements 
Predicate {
  */
 private final boolean writer;
 
+/**
+ * If there is another condition to apply, the other condition. Otherwise 
{@code null}.
+ * This is used for allowing {@code (foo instanceof DataStoreFilter)} to 
continue to work
+ * on the result of an {@code and} operation.
+ */
+private final Predicate other;
+
 /**
  * Creates a new filter for the given data store name.
  *
@@ -57,7 +64,17 @@ public final class DataStoreFilter implements 
Predicate {
  */
 public DataStoreFilter(final String preferred, final boolean writer) {
 this.preferred = preferred;
-this.writer = writer;
+this.writer= writer;
+this.other = null;
+}
+
+/**
+ * Creates a new filter which is the result of a {@code AND} operation 
between the specified filters.
+ */
+private DataStoreFilter(final DataStoreFilter first, final Predicate other) {
+this.preferred = first.preferred;
+this.writer= first.writer;
+this.other = other;
 }
 
 /**
@@ -80,4 +97,14 @@ public final class DataStoreFilter implements 
Predicate {
 }
 return false;
 }
+
+/**
+ * Returns a filter which is the result of a AND operation between this 
filter and the other filter.
+ * The combined filter is still an instance of {@code DataStoreFilter}, so 
{@code instanceof} checks
+ * are still possible.
+ */
+@Override
+public Predicate and(Predicate other) {
+return new DataStoreFilter(this, other);
+}
 }



[sis] 02/02: Avoid a direct dependencies of metadata `Extents` class toward referencing interfaces.

2023-09-26 Thread desruisseaux
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

commit aa810757115aaf211e7e2b0442752515894a5c90
Author: Martin Desruisseaux 
AuthorDate: Tue Sep 26 10:42:49 2023 +0200

Avoid a direct dependencies of metadata `Extents` class toward referencing 
interfaces.
---
 .../apache/sis/metadata/iso/extent/Extents.java| 57 +-
 .../main/org/apache/sis/referencing/CRS.java   | 13 -
 2 files changed, 34 insertions(+), 36 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java
index f1c9cec939..6859de279e 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java
@@ -24,13 +24,16 @@ import java.util.Set;
 import java.util.LinkedHashSet;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.stream.Stream;
 import java.util.function.Function;
 import java.util.function.BiConsumer;
+import java.util.Optional;
 import javax.measure.Unit;
 import org.opengis.geometry.Envelope;
 import org.opengis.geometry.DirectPosition;
 import org.opengis.geometry.Geometry;
 import org.opengis.temporal.TemporalPrimitive;
+import org.opengis.geometry.MismatchedReferenceSystemException;
 import org.opengis.metadata.Metadata;
 import org.opengis.metadata.extent.Extent;
 import org.opengis.metadata.extent.VerticalExtent;
@@ -48,6 +51,7 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.opengis.referencing.datum.VerticalDatum;
 import org.opengis.referencing.datum.VerticalDatumType;
 import org.opengis.referencing.operation.TransformException;
+import org.opengis.referencing.operation.CoordinateOperation;
 import org.apache.sis.metadata.InvalidMetadataException;
 import org.apache.sis.metadata.internal.ReferencingServices;
 import org.apache.sis.metadata.iso.ISOMetadata;
@@ -67,12 +71,6 @@ import static 
org.apache.sis.util.collection.Containers.isNullOrEmpty;
 import static org.apache.sis.util.internal.CollectionsExt.nonNull;
 import static 
org.apache.sis.metadata.internal.ReferencingServices.AUTHALIC_RADIUS;
 
-// Specific to the geoapi-3.1 and geoapi-4.0 branches:
-import java.util.Optional;
-import org.opengis.referencing.ObjectDomain;
-import org.opengis.geometry.MismatchedReferenceSystemException;
-import org.opengis.referencing.operation.CoordinateOperation;
-
 
 /**
  * Convenience static methods for extracting information from {@link Extent} 
or {@link Metadata} objects.
@@ -209,43 +207,34 @@ public final class Extents extends Static {
 }
 
 /**
- * Returns a single geographic bounding box for the given domains of 
validity.
- * For each domain, the bounding box is fetched with {@link 
#getGeographicBoundingBox(Extent)}.
- * If more than one geographic domain of validity is found, this method 
computes their union.
+ * Returns a single geographic bounding box for the given extents.
+ * For each extent, the bounding box is fetched with {@link 
#getGeographicBoundingBox(Extent)}.
+ * If more than one geographic bound is found, this method computes their 
union.
  *
- * This is a convenience method for fetching the domain of validity of 
{@link Datum},
- * {@link CoordinateReferenceSystem} or {@link CoordinateOperation} 
objects.
+ * This is a convenience method for fetching the domain of validity of
+ * {@link org.opengis.referencing.datum.Datum},
+ * {@link org.opengis.referencing.crs.CoordinateReferenceSystem} or
+ * {@link org.opengis.referencing.operation.CoordinateOperation} 
objects.
  *
- * @param  domains  the domains of validity for which to get a single 
geographic bounding box, or {@code null}.
- * @return the union of all geographic bounding boxes found in all domains 
of validity.
+ * @param  extents  the extents for which to get a single geographic 
bounding box.
+ * @return the union of all geographic bounding boxes found in all extents.
  * @throws InvalidMetadataException if an envelope cannot be transformed 
to a geographic bounding box.
  *
- * @see CoordinateReferenceSystem#getDomains()
+ * @see org.opengis.referencing.crs.CoordinateReferenceSystem#getDomains()
  * @see 
org.apache.sis.referencing.CRS#getDomainOfValidity(CoordinateReferenceSystem)
  *
  * @since 1.4
  */
-public static Optional 
getGeographicBoundingBox(final Iterable domains) {
-if (domains != null) {
-Extents m = null;
-for (final ObjectDomain domain : domains) {
-final Extent extent = domain.getDomainOfValidity();
-if (extent != null) {
-if (m

[sis] branch geoapi-4.0 updated (b03b235825 -> aa81075711)

2023-09-26 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from b03b235825 Add a `DataStores.openWritable(…)` method.
 new a8ca48dad6 Combine `DataStoreFilter` with user-supplied filter.
 new aa81075711 Avoid a direct dependencies of metadata `Extents` class 
toward referencing interfaces.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/sis/metadata/iso/extent/Extents.java| 57 +-
 .../main/org/apache/sis/referencing/CRS.java   | 13 -
 .../org/apache/sis/storage/DataStoreRegistry.java  |  6 ++-
 .../apache/sis/storage/image/DataStoreFilter.java  | 29 ++-
 4 files changed, 67 insertions(+), 38 deletions(-)



[sis] branch main updated (2d716eab6d -> 6eac04b166)

2023-09-26 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


from 2d716eab6d Remove references to the `org.apache.sis.cql` incubating 
module. This module is present on other branches but not on main because for 
avoiding the need to manage geoapi-pending dependencies.
 add dd3ddafcb2 Use deterministic dimension order for user-specified units. 
This commit fixes a random test failure where the order depended on which tests 
were executed first, because the dimension order of the first cached unit was 
the order used for other compatible units.
 add c92fa5ad66 Add JUnit 5 in test dependencies for progressive migration. 
Opportunistically upgrade `ArgumentChecks` to JUnit 5, after its change for 
testing negative zeros.
 add abafcba8a2 Skip the Ivy task if the "dependencies" directory is 
already present.
 add 350b496160 Partial upgrade to ISO 19111:2019: replace some (not yet 
all) usages of deprecated `getScope()` and `getDomainOfValidity()` methods by 
`getDomains()`.
 add 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` 
for telling when the value is missing.
 add ac061386c5 Minor formatting of table HTML for consistency with same 
change applied elsewhere. It makes the code a little bit easier to read by 
reducing the amount of scrolling. Contains also opportunistic javadoc typo 
fixes.
 add 1d735321d1 Rename `DefaultEllipsoid.getRadius(double)` as 
`getGeocentricRadius(double)`.
 add 7c107c57ee Move the check for perpendicular axes in the parent class. 
This is in anticipation for the addition of experimental coordinate systems 
such as `MinkowskiCS` in other branches.
 add 1448606ef8 Spelling and documentation fixes.
 add 200ed9511a Deprecate for removal `NullArgumentException`.
 add 6f65c2bacd Remove the boolean return value in 
WritableFeatureSet.removeIf(Predicate)
 add b03b235825 Add a `DataStores.openWritable(…)` method.
 add c2bcdb964f Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the 
beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, 
documentation fixes and some deprecations in preparation for SIS 1.4 release 
proposal.
 new 6eac04b166 Merge branch 'geoapi-3.1'.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 endorsed/build.gradle.kts  |   3 +-
 .../org.apache.sis.console/main/module-info.java   |   2 +
 .../main/org/apache/sis/console/CommandRunner.java |   2 +-
 .../org/apache/sis/console/TransformCommand.java   |  19 +-
 .../sis/coverage/grid/GridCoverageBuilder.java |   2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java|   7 +-
 .../apache/sis/feature/builder/TypeBuilder.java|   4 +-
 .../apache/sis/geometry/wrapper/Geometries.java|   2 +-
 .../apache/sis/image/BandedSampleConverter.java|  12 +-
 .../main/org/apache/sis/image/ComputedImage.java   |   2 +-
 .../test/org/apache/sis/filter/PeriodLiteral.java  |   2 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../metadata/internal/ImplementationHelper.java|  25 +-
 .../iso/DefaultApplicationSchemaInformation.java   |   2 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |   2 +-
 .../apache/sis/metadata/iso/extent/Extents.java|  38 ++-
 .../metadata/simple/SimpleIdentifiedObject.java|   6 +
 .../org/apache/sis/xml/TransformingWriter.java |   2 +-
 .../main/org/apache/sis/xml/XML.java   |   6 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |   2 +-
 .../metadata/iso/citation/DefaultCitationTest.java |   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |   2 +-
 .../apache/sis/util/iso/DefaultLocalNameTest.java  |   2 +-
 .../main/module-info.java  |   3 +-
 .../main/org/apache/sis/openoffice/CalcAddins.java |   2 +-
 .../sis/openoffice/ReferencingFunctions.java   |  40 +--
 .../org/apache/sis/portrayal/CanvasFollower.java   |   3 +-
 .../main/org/apache/sis/style/se1/Graphic.java |   2 +-
 .../org/apache/sis/style/se1/PointPlacement.java   |   2 +-
 .../gazetteer/GeohashReferenceSystem.java  |   8 +-
 .../gazetteer/MilitaryGridReferenceSystem.java |   6 +-
 .../main/module-info.java  |   4 +
 .../main/org/apache/sis/geometry/Envelopes.java|   2 +-
 .../main/org/apache/sis/geometry/Shapes2D.java |   2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java  |  66 +++--
 .../apache/sis/io/wkt/GeodeticObjectParser.java|   2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  | 242 ++
 .../sis/referencing/Abstra

[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, documentation fixes and some deprecations in preparatio

2023-09-25 Thread desruisseaux
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 c2bcdb964f0ef8343b5df422e2ac03acb612a3c5
Merge: 4b753152a6 b03b235825
Author: Martin Desruisseaux 
AuthorDate: Mon Sep 25 18:15:54 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1.
Contains the beginning of a migration to JUnit 5, the beginning of an ISO 
19111 upgrade,
documentation fixes and some deprecations in preparation for SIS 1.4 
release proposal.

 endorsed/build.gradle.kts  |   3 +-
 .../org.apache.sis.console/main/module-info.java   |   2 +
 .../main/org/apache/sis/console/CommandRunner.java |   2 +-
 .../org/apache/sis/console/TransformCommand.java   |  17 +-
 .../sis/coverage/grid/GridCoverageBuilder.java |   2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java|   7 +-
 .../apache/sis/feature/builder/TypeBuilder.java|   4 +-
 .../apache/sis/geometry/wrapper/Geometries.java|   2 +-
 .../apache/sis/image/BandedSampleConverter.java|  12 +-
 .../main/org/apache/sis/image/ComputedImage.java   |   2 +-
 .../test/org/apache/sis/filter/PeriodLiteral.java  |   2 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../metadata/internal/ImplementationHelper.java|  25 +-
 .../iso/DefaultApplicationSchemaInformation.java   |   2 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |   2 +-
 .../apache/sis/metadata/iso/extent/Extents.java|  47 +++-
 .../metadata/simple/SimpleIdentifiedObject.java|   6 +
 .../org/apache/sis/xml/TransformingWriter.java |   2 +-
 .../main/org/apache/sis/xml/XML.java   |   6 +-
 .../metadata/replace/ReferenceSystemMetadata.java  |   3 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |   2 +-
 .../metadata/iso/citation/DefaultCitationTest.java |   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |   2 +-
 .../apache/sis/util/iso/DefaultLocalNameTest.java  |   2 +-
 .../main/module-info.java  |   3 +-
 .../main/org/apache/sis/openoffice/CalcAddins.java |   2 +-
 .../sis/openoffice/ReferencingFunctions.java   |  37 +--
 .../org/apache/sis/portrayal/CanvasFollower.java   |   3 +-
 .../main/org/apache/sis/style/se1/Graphic.java |   2 +-
 .../org/apache/sis/style/se1/PointPlacement.java   |   2 +-
 .../gazetteer/GeohashReferenceSystem.java  |   8 +-
 .../gazetteer/MilitaryGridReferenceSystem.java |   6 +-
 .../main/org/apache/sis/geometry/Envelopes.java|   2 +-
 .../main/org/apache/sis/geometry/Shapes2D.java |   2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java  |  65 +++--
 .../apache/sis/io/wkt/GeodeticObjectParser.java|   2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  | 238 +
 .../sis/referencing/AbstractReferenceSystem.java   | 183 +
 .../main/org/apache/sis/referencing/CRS.java   |  44 +--
 .../main/org/apache/sis/referencing/CommonCRS.java |   2 +-
 .../sis/referencing/DefaultObjectDomain.java   | 297 +
 .../apache/sis/referencing/IdentifiedObjects.java  |  13 +-
 .../org/apache/sis/referencing/NameIterator.java   |  32 ++-
 .../org/apache/sis/referencing/Properties.java |  89 +++---
 .../apache/sis/referencing/crs/AbstractCRS.java|  31 +--
 .../sis/referencing/crs/DefaultCompoundCRS.java|  26 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java |  41 +--
 .../sis/referencing/crs/DefaultEngineeringCRS.java |  26 +-
 .../sis/referencing/crs/DefaultGeocentricCRS.java  |  26 +-
 .../sis/referencing/crs/DefaultGeographicCRS.java  |  26 +-
 .../sis/referencing/crs/DefaultImageCRS.java   |  26 +-
 .../sis/referencing/crs/DefaultParametricCRS.java  |  26 +-
 .../sis/referencing/crs/DefaultProjectedCRS.java   |  26 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java|  26 +-
 .../sis/referencing/crs/DefaultVerticalCRS.java|  26 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |  86 +++---
 .../apache/sis/referencing/cs/AxesConvention.java  |  12 +-
 .../sis/referencing/cs/CoordinateSystems.java  |   3 +-
 .../apache/sis/referencing/cs/DefaultAffineCS.java |  12 +-
 .../sis/referencing/cs/DefaultCartesianCS.java |  38 +--
 .../sis/referencing/cs/DefaultCompoundCS.java  |  12 +-
 .../cs/DefaultCoordinateSystemAxis.java|  24 +-
 .../sis/referencing/cs/DefaultCylindricalCS.java   |  12 +-
 .../sis/referencing/cs/DefaultEllipsoidalCS.java   |  12 +-
 .../apache/sis/referencing/cs/DefaultLinearCS.java |  12 +-
 .../sis/referencing/cs/DefaultParametricCS.java|  12 +-
 .../apache/sis/referencing/cs/DefaultPolarCS.java  |  12 +-
 .../sis/referencing/cs/DefaultSphericalCS.java |  12 +-
 .../apache/sis/referencing/cs/DefaultTimeCS.java   |  12 +-
 .../sis/referencing/cs/DefaultUserDefinedCS.java   |  12 +-
 .../sis/referencing/cs

[sis] branch geoapi-3.1 updated (4b753152a6 -> c2bcdb964f)

2023-09-25 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 4b753152a6 Merge branch 'geoapi-4.0' into geoapi-3.1
 add dd3ddafcb2 Use deterministic dimension order for user-specified units. 
This commit fixes a random test failure where the order depended on which tests 
were executed first, because the dimension order of the first cached unit was 
the order used for other compatible units.
 add c92fa5ad66 Add JUnit 5 in test dependencies for progressive migration. 
Opportunistically upgrade `ArgumentChecks` to JUnit 5, after its change for 
testing negative zeros.
 add abafcba8a2 Skip the Ivy task if the "dependencies" directory is 
already present.
 add 350b496160 Partial upgrade to ISO 19111:2019: replace some (not yet 
all) usages of deprecated `getScope()` and `getDomainOfValidity()` methods by 
`getDomains()`.
 add 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` 
for telling when the value is missing.
 add ac061386c5 Minor formatting of table HTML for consistency with same 
change applied elsewhere. It makes the code a little bit easier to read by 
reducing the amount of scrolling. Contains also opportunistic javadoc typo 
fixes.
 add 1d735321d1 Rename `DefaultEllipsoid.getRadius(double)` as 
`getGeocentricRadius(double)`.
 add 7c107c57ee Move the check for perpendicular axes in the parent class. 
This is in anticipation for the addition of experimental coordinate systems 
such as `MinkowskiCS` in other branches.
 add 1448606ef8 Spelling and documentation fixes.
 add 200ed9511a Deprecate for removal `NullArgumentException`.
 add 6f65c2bacd Remove the boolean return value in 
WritableFeatureSet.removeIf(Predicate)
 add b03b235825 Add a `DataStores.openWritable(…)` method.
 new c2bcdb964f Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the 
beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, 
documentation fixes and some deprecations in preparation for SIS 1.4 release 
proposal.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 endorsed/build.gradle.kts  |   3 +-
 .../org.apache.sis.console/main/module-info.java   |   2 +
 .../main/org/apache/sis/console/CommandRunner.java |   2 +-
 .../org/apache/sis/console/TransformCommand.java   |  17 +-
 .../sis/coverage/grid/GridCoverageBuilder.java |   2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java|   7 +-
 .../apache/sis/feature/builder/TypeBuilder.java|   4 +-
 .../apache/sis/geometry/wrapper/Geometries.java|   2 +-
 .../apache/sis/image/BandedSampleConverter.java|  12 +-
 .../main/org/apache/sis/image/ComputedImage.java   |   2 +-
 .../test/org/apache/sis/filter/PeriodLiteral.java  |   2 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../metadata/internal/ImplementationHelper.java|  25 +-
 .../iso/DefaultApplicationSchemaInformation.java   |   2 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |   2 +-
 .../apache/sis/metadata/iso/extent/Extents.java|  47 +++-
 .../metadata/simple/SimpleIdentifiedObject.java|   6 +
 .../org/apache/sis/xml/TransformingWriter.java |   2 +-
 .../main/org/apache/sis/xml/XML.java   |   6 +-
 .../metadata/replace/ReferenceSystemMetadata.java  |   3 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |   2 +-
 .../metadata/iso/citation/DefaultCitationTest.java |   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |   2 +-
 .../apache/sis/util/iso/DefaultLocalNameTest.java  |   2 +-
 .../main/module-info.java  |   3 +-
 .../main/org/apache/sis/openoffice/CalcAddins.java |   2 +-
 .../sis/openoffice/ReferencingFunctions.java   |  37 +--
 .../org/apache/sis/portrayal/CanvasFollower.java   |   3 +-
 .../main/org/apache/sis/style/se1/Graphic.java |   2 +-
 .../org/apache/sis/style/se1/PointPlacement.java   |   2 +-
 .../gazetteer/GeohashReferenceSystem.java  |   8 +-
 .../gazetteer/MilitaryGridReferenceSystem.java |   6 +-
 .../main/org/apache/sis/geometry/Envelopes.java|   2 +-
 .../main/org/apache/sis/geometry/Shapes2D.java |   2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java  |  65 +++--
 .../apache/sis/io/wkt/GeodeticObjectParser.java|   2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  | 238 +
 .../sis/referencing/AbstractReferenceSystem.java   | 183 +
 .../main/org/apache/sis/referencing/CRS.java   |  44 +--
 .../main/org/apache/sis/referencing/CommonCRS.java |   2 +-
 .../sis/referencing/Defaul

[sis] branch geoapi-4.0 updated: Add a `DataStores.openWritable(…)` method.

2023-09-25 Thread desruisseaux
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 b03b235825 Add a `DataStores.openWritable(…)` method.
b03b235825 is described below

commit b03b2358250885ea88fd64cb451c2543b619e01d
Author: Martin Desruisseaux 
AuthorDate: Mon Sep 25 17:45:10 2023 +0200

Add a `DataStores.openWritable(…)` method.

https://issues.apache.org/jira/browse/SIS-571
---
 .../org/apache/sis/io/stream/ChannelFactory.java   |  22 ++-
 .../main/org/apache/sis/io/stream/IOUtilities.java |  18 +++
 .../apache/sis/io/stream/InternalOptionKey.java|  12 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |  15 +-
 .../org/apache/sis/storage/DataStoreRegistry.java  | 152 +++--
 .../main/org/apache/sis/storage/DataStores.java|  49 ++-
 .../org/apache/sis/storage/ProbeProviderPair.java  |  37 -
 .../main/org/apache/sis/storage/ProbeResult.java   |   2 +-
 .../org/apache/sis/storage/StorageConnector.java   |  96 -
 .../apache/sis/storage/base/StoreUtilities.java|  10 +-
 .../apache/sis/storage/image/DataStoreFilter.java  |  83 +++
 .../org/apache/sis/storage/image/FormatFilter.java |  14 +-
 .../org/apache/sis/storage/image/FormatFinder.java |  34 +++--
 .../sis/storage/image/WorldFileStoreProvider.java  |   4 +-
 .../storage/image/WritableSingleImageStore.java|   4 +-
 .../apache/sis/storage/image/WritableStore.java|   6 +-
 .../apache/sis/gui/internal/io/FileAccessView.java |  12 +-
 17 files changed, 476 insertions(+), 94 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java
index 567d862b9d..4153019de3 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java
@@ -133,6 +133,8 @@ public abstract class ChannelFactory {
  * @param  options the options to use for creating a new byte 
channel. Can be null or empty for read-only.
  * @return the channel factory for the given input, or {@code null} if the 
given input is of unknown type.
  * @throws IOException if an error occurred while processing the given 
input.
+ *
+ * @see IOUtilities#isWriteOnly(Object)
  */
 public static ChannelFactory prepare(Object storage, final boolean 
allowWriteOnly,
 final String encoding, final OpenOption[] options) throws 
IOException
@@ -286,6 +288,11 @@ public abstract class ChannelFactory {
 @Override public WritableByteChannel writable(String 
filename, StoreListeners listeners) throws IOException {
 return Files.newByteChannel(path, optionSet);
 }
+@Override public boolean isCreateNew() {
+if (optionSet.contains(StandardOpenOption.CREATE_NEW)) 
return true;
+if (optionSet.contains(StandardOpenOption.CREATE)) 
return Files.notExists(path);
+return false;
+}
 };
 }
 }
@@ -311,10 +318,21 @@ public abstract class ChannelFactory {
  *
  * @return whether {@link #readable readable(…)} or {@link #writable 
writable(…)} can be invoked.
  */
-public boolean canOpen() {
+public boolean canReopen() {
 return true;
 }
 
+/**
+ * Returns {@code true} if opening the channel will create a new, 
initially empty, file.
+ * This is {@code true} only if the storage is some supported kind of file 
or URL and
+ * this factory has been created with an option that allows file creation.
+ *
+ * @return whether opening a channel will create a new file.
+ */
+public boolean isCreateNew() {
+return false;
+}
+
 /**
  * Returns the readable channel as an input stream. The returned stream is 
not buffered;
  * it is caller's responsibility to wrap the stream in a {@link 
java.io.BufferedInputStream} if desired.
@@ -418,7 +436,7 @@ public abstract class ChannelFactory {
  * Returns whether {@link #readable readable(…)} or {@link #writable 
writable(…)} can be invoked.
  */
 @Override
-public boolean canOpen() {
+public boolean canReopen() {
 return storage != null;
 }
 
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java
index d47ad79c7c..7db901775e 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java
+++ 
b/endorsed/src/org.apache.sis.storage

[sis] 03/03: Remove the boolean return value in WritableFeatureSet.removeIf(Predicate)

2023-09-24 Thread desruisseaux
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

commit 6f65c2bacd120b81235735611fb0480383e9670e
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 23 14:00:05 2023 +0200

Remove the boolean return value in WritableFeatureSet.removeIf(Predicate)

https://issues.apache.org/jira/browse/SIS-560
---
 .../org/apache/sis/storage/gpx/WritableStore.java  |  7 ---
 .../sis/storage/xml/stream/RewriteOnUpdate.java| 22 +-
 .../org/apache/sis/storage/gpx/UpdaterTest.java|  4 +---
 .../org/apache/sis/storage/WritableFeatureSet.java | 14 ++
 4 files changed, 12 insertions(+), 35 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java
 
b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java
index a04fc2742e..2fd3599554 100644
--- 
a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java
+++ 
b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java
@@ -40,7 +40,7 @@ import org.opengis.feature.FeatureType;
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.3
+ * @version 1.4
  * @since   1.3
  */
 public final class WritableStore extends Store implements WritableFeatureSet {
@@ -95,9 +95,10 @@ public final class WritableStore extends Store implements 
WritableFeatureSet {
  * @throws DataStoreException if the feature stream cannot be obtained or 
updated.
  */
 @Override
-public synchronized boolean removeIf(final Predicate 
filter) throws DataStoreException {
+public synchronized void removeIf(final Predicate filter) 
throws DataStoreException {
 try (Updater updater = updater()) {
-return updater.removeIf(filter);
+updater.removeIf(filter);
+updater.flush();
 }
 }
 
diff --git 
a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java
 
b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java
index cf1e77ac84..60ba5e50a4 100644
--- 
a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java
+++ 
b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java
@@ -161,29 +161,17 @@ public abstract class RewriteOnUpdate implements 
AutoCloseable {
  * Removes all feature instances from the {@code FeatureSet} which matches 
the given predicate.
  *
  * @param  filter  a predicate which returns {@code true} for feature 
instances to be removed.
- * @return {@code true} if any elements were removed.
  * @throws DataStoreException if the feature stream cannot be obtained or 
updated.
  */
-public boolean removeIf(final Predicate filter) throws 
DataStoreException {
+public void removeIf(final Predicate filter) throws 
DataStoreException {
 ArgumentChecks.ensureNonNull("filter", filter);
-if (isEmpty()) {
-return false;
+if (!isEmpty()) {
+filtered = filtered().filter((feature) -> {
+return !filter.test(feature);
+});
 }
-filtered = filtered().filter((feature) -> {
-boolean r = filter.test(feature);
-if (r) modified = true;
-return !r;
-});
-modified = false;
-flush();// Need immediate execution for getting the 
boolean value.
-return modified;
 }
 
-/**
- * A flag telling whether {@link #removeIf(Predicate)} removed at least 
one feature.
- */
-private boolean modified;
-
 /**
  * Updates all feature instances from the {@code FeatureSet} which match 
the given predicate.
  * If the given operator returns {@code null}, then the filtered feature 
is removed.
diff --git 
a/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java
 
b/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java
index 7d7f9c4ff1..d15c85c75a 100644
--- 
a/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java
+++ 
b/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java
@@ -165,14 +165,12 @@ public final class UpdaterTest extends TestCase {
 Files.copy(in, file, StandardCopyOption.REPLACE_EXISTING);
 }
 assertTrue(containsLat20());
-final boolean result;
 try (final WritableStore store = create()) {
-result = store.removeIf((feature) -> {
+store.removeIf((feature) -> {
 Object point = feature.getPropertyValue("sis:geometry");

[sis] 02/03: Deprecate for removal `NullArgumentException`.

2023-09-24 Thread desruisseaux
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

commit 200ed9511a0c569d4c55282bcdb58f4fe314b2be
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 23 13:36:15 2023 +0200

Deprecate for removal `NullArgumentException`.

https://issues.apache.org/jira/browse/SIS-562
---
 .../sis/coverage/grid/GridCoverageBuilder.java |   2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java|   7 +-
 .../apache/sis/feature/builder/TypeBuilder.java|   4 +-
 .../org/apache/sis/portrayal/CanvasFollower.java   |   3 +-
 .../sis/referencing/cs/CoordinateSystems.java  |   3 +-
 .../apache/sis/storage/landsat/LandsatStore.java   |   2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   2 +-
 .../org/apache/sis/storage/netcdf/base/Grid.java   |   3 +-
 .../main/org/apache/sis/storage/sql/SQLStore.java  |   2 +-
 .../main/org/apache/sis/util/ArraysExt.java| 172 -
 .../main/org/apache/sis/util/CharSequences.java|   4 +-
 .../org/apache/sis/util/NullArgumentException.java |   8 +
 .../main/org/apache/sis/util/StringBuilders.java   |  10 +-
 .../apache/sis/util/collection/WeakHashSet.java|   5 +-
 .../sis/util/collection/WeakValueHashMap.java  |   8 +-
 16 files changed, 95 insertions(+), 142 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
index 86c2ec2574..d02a7a0130 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
@@ -442,7 +442,7 @@ public class GridCoverageBuilder {
  * {@linkplain GridGeometry#getExtent() grid extent} not matching 
image size or
  * {@linkplain #setRanges(SampleDimension...) number of sample 
dimensions} not matching
  * the number of bands. This exception often wraps an {@link 
IllegalGridGeometryException},
- * {@link IllegalArgumentException} or {@link 
org.apache.sis.util.NullArgumentException}.
+ * {@link IllegalArgumentException} or {@link 
NullPointerException}.
  */
 public GridCoverage build() throws IllegalStateException {
 GridGeometry grid = domain; // May be 
replaced by an instance with extent.
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
index bdda955ad8..dc419b87d4 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
@@ -47,7 +47,6 @@ import org.apache.sis.coverage.grid.j2d.ObservableImage;
 import org.apache.sis.coverage.grid.j2d.TiledImage;
 import org.apache.sis.coverage.grid.j2d.WritableTiledImage;
 import org.apache.sis.feature.internal.Resources;
-import org.apache.sis.util.NullArgumentException;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.ComparisonMode;
 import org.apache.sis.util.ArraysExt;
@@ -538,7 +537,7 @@ public class ImageRenderer {
  * getExtent()}.{@linkplain GridExtent#getLow(int) getLow()}, as 
specified in class javadoc.
  *
  * @param  data  the Java2D buffer containing data for all bands.
- * @throws NullArgumentException if {@code data} is null.
+ * @throws NullPointerException if {@code data} is null.
  * @throws MismatchedCoverageRangeException if the given data buffer does 
not have the expected amount of banks.
  */
 public void setData(final DataBuffer data) {
@@ -563,7 +562,7 @@ public class ImageRenderer {
  *
  * @param  dataType  type of data.
  * @param  data  the buffers wrapping arrays of primitive type.
- * @throws NullArgumentException if {@code data} is null or one of {@code 
data} element is null.
+ * @throws NullPointerException if {@code data} is null or one of {@code 
data} element is null.
  * @throws MismatchedCoverageRangeException if the number of specified 
buffers is not equal to the number of bands.
  * @throws UnsupportedOperationException if a buffer is not backed by an 
accessible array or is read-only.
  * @throws ArrayStoreException if a buffer type is incompatible with 
{@code dataType}.
@@ -589,7 +588,7 @@ public class ImageRenderer {
  * which can be overridden by subclasses if desired.
  *
  * @param  data  the vectors wrapping arrays of primitive type.
- * @throws NullArgumentException if {@code data} is null or one of {@code 
data} element is null

[sis] 01/03: Spelling and documentation fixes.

2023-09-24 Thread desruisseaux
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

commit 1448606ef86a0495409b474d8f14a0d9f5703b43
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 16 20:50:16 2023 +0200

Spelling and documentation fixes.
---
 .../main/org/apache/sis/console/CommandRunner.java   |  2 +-
 .../main/org/apache/sis/geometry/wrapper/Geometries.java |  2 +-
 .../main/org/apache/sis/image/BandedSampleConverter.java | 12 ++--
 .../main/org/apache/sis/image/ComputedImage.java |  2 +-
 .../metadata/iso/DefaultApplicationSchemaInformation.java|  2 +-
 .../main/org/apache/sis/metadata/iso/DefaultIdentifier.java  |  2 +-
 .../main/org/apache/sis/xml/TransformingWriter.java  |  2 +-
 .../org.apache.sis.metadata/main/org/apache/sis/xml/XML.java |  6 +++---
 .../org/apache/sis/metadata/iso/citation/CitationsTest.java  |  2 +-
 .../sis/metadata/iso/citation/DefaultCitationTest.java   |  2 +-
 .../test/org/apache/sis/metadata/xml/TestUsingFile.java  |  2 +-
 .../org/apache/sis/test/xml/AnnotationConsistencyCheck.java  |  2 +-
 .../main/org/apache/sis/style/se1/Graphic.java   |  2 +-
 .../main/org/apache/sis/style/se1/PointPlacement.java|  2 +-
 .../referencing/gazetteer/MilitaryGridReferenceSystem.java   |  2 +-
 .../main/org/apache/sis/geometry/Envelopes.java  |  2 +-
 .../main/org/apache/sis/geometry/Shapes2D.java   |  2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java|  2 +-
 .../main/org/apache/sis/io/wkt/GeodeticObjectParser.java |  2 +-
 .../main/org/apache/sis/referencing/CommonCRS.java   |  2 +-
 .../referencing/operation/CoordinateOperationRegistry.java   |  2 +-
 .../operation/builder/LocalizationGridBuilder.java   |  4 ++--
 .../org/apache/sis/referencing/operation/provider/NTv2.java  |  6 +++---
 .../main/org/apache/sis/referencing/util/j2d/Bezier.java |  4 ++--
 .../test/org/apache/sis/io/wkt/WKTFormatTest.java|  2 +-
 .../referencing/operation/CoordinateOperationFinderTest.java |  2 +-
 .../referencing/operation/provider/MapProjectionTest.java|  2 +-
 .../main/org/apache/sis/storage/geotiff/GeoTIFF.java |  2 +-
 .../main/org/apache/sis/storage/geotiff/NativeMetadata.java  |  2 +-
 .../main/org/apache/sis/storage/geotiff/Reader.java  |  4 ++--
 .../org/apache/sis/storage/geotiff/internal/Compression.java |  2 +-
 .../org/apache/sis/storage/geotiff/SelfConsistencyTest.java  |  2 +-
 .../org/apache/sis/storage/netcdf/base/FeatureSetTest.java   |  2 +-
 .../org/apache/sis/storage/sql/postgis/ObjectGetter.java |  2 +-
 .../main/org/apache/sis/io/stream/ChannelDataOutput.java |  2 +-
 .../org/apache/sis/storage/DataStoreContentException.java|  2 +-
 .../main/org/apache/sis/storage/base/CodeType.java   |  4 ++--
 .../main/org/apache/sis/storage/base/MetadataBuilder.java|  2 +-
 .../main/org/apache/sis/storage/base/TiledGridResource.java  |  2 +-
 .../org/apache/sis/storage/csv/MovingFeatureBuilder.java |  4 ++--
 .../main/org/apache/sis/storage/image/WorldFileResource.java |  2 +-
 .../apache/sis/storage/internal/WritableResourceSupport.java |  2 +-
 .../main/org/apache/sis/measure/Units.java   |  2 +-
 .../main/org/apache/sis/util/collection/TreeNodeList.java|  2 +-
 .../test/org/apache/sis/test/TestRunner.java |  2 +-
 .../org/apache/sis/gui/coverage/StyledRenderingData.java |  2 +-
 46 files changed, 60 insertions(+), 60 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java
 
b/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java
index d4423df9ad..22e812b063 100644
--- 
a/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java
+++ 
b/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java
@@ -331,7 +331,7 @@ abstract class CommandRunner {
 
 /**
  * Shows the help instructions for a specific command. This method is 
invoked instead of {@link #run()}
- * if the the user provided the {@code --help} option. The default 
implementation builds a description
+ * if the user provided the {@code --help} option. The default 
implementation builds a description
  * from the texts associated to the given {@code resourceKey} in various 
resource bundles provided in
  * this {@code org.apache.sis.console} module. Subclasses can override if 
needed.
  *
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java
index 0335f9a5b9..08cf842bad 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java
+++ 
b/endorsed/src

[sis] branch geoapi-4.0 updated (7c107c57ee -> 6f65c2bacd)

2023-09-24 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 7c107c57ee Move the check for perpendicular axes in the parent class. 
This is in anticipation for the addition of experimental coordinate systems 
such as `MinkowskiCS` in other branches.
 new 1448606ef8 Spelling and documentation fixes.
 new 200ed9511a Deprecate for removal `NullArgumentException`.
 new 6f65c2bacd Remove the boolean return value in 
WritableFeatureSet.removeIf(Predicate)

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/org/apache/sis/console/CommandRunner.java |   2 +-
 .../sis/coverage/grid/GridCoverageBuilder.java |   2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java|   7 +-
 .../apache/sis/feature/builder/TypeBuilder.java|   4 +-
 .../apache/sis/geometry/wrapper/Geometries.java|   2 +-
 .../apache/sis/image/BandedSampleConverter.java|  12 +-
 .../main/org/apache/sis/image/ComputedImage.java   |   2 +-
 .../iso/DefaultApplicationSchemaInformation.java   |   2 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |   2 +-
 .../org/apache/sis/xml/TransformingWriter.java |   2 +-
 .../main/org/apache/sis/xml/XML.java   |   6 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |   2 +-
 .../metadata/iso/citation/DefaultCitationTest.java |   2 +-
 .../org/apache/sis/metadata/xml/TestUsingFile.java |   2 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |   2 +-
 .../org/apache/sis/portrayal/CanvasFollower.java   |   3 +-
 .../main/org/apache/sis/style/se1/Graphic.java |   2 +-
 .../org/apache/sis/style/se1/PointPlacement.java   |   2 +-
 .../gazetteer/MilitaryGridReferenceSystem.java |   2 +-
 .../main/org/apache/sis/geometry/Envelopes.java|   2 +-
 .../main/org/apache/sis/geometry/Shapes2D.java |   2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java  |   2 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java|   2 +-
 .../main/org/apache/sis/referencing/CommonCRS.java |   2 +-
 .../sis/referencing/cs/CoordinateSystems.java  |   3 +-
 .../operation/CoordinateOperationRegistry.java |   2 +-
 .../operation/builder/LocalizationGridBuilder.java |   4 +-
 .../sis/referencing/operation/provider/NTv2.java   |   6 +-
 .../apache/sis/referencing/util/j2d/Bezier.java|   4 +-
 .../test/org/apache/sis/io/wkt/WKTFormatTest.java  |   2 +-
 .../operation/CoordinateOperationFinderTest.java   |   2 +-
 .../operation/provider/MapProjectionTest.java  |   2 +-
 .../apache/sis/storage/landsat/LandsatStore.java   |   2 +-
 .../org/apache/sis/storage/geotiff/GeoTIFF.java|   2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |   2 +-
 .../org/apache/sis/storage/geotiff/Reader.java |   4 +-
 .../sis/storage/geotiff/internal/Compression.java  |   2 +-
 .../sis/storage/geotiff/SelfConsistencyTest.java   |   2 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   2 +-
 .../org/apache/sis/storage/netcdf/base/Grid.java   |   3 +-
 .../sis/storage/netcdf/base/FeatureSetTest.java|   2 +-
 .../main/org/apache/sis/storage/sql/SQLStore.java  |   2 +-
 .../sis/storage/sql/postgis/ObjectGetter.java  |   2 +-
 .../org/apache/sis/storage/gpx/WritableStore.java  |   7 +-
 .../sis/storage/xml/stream/RewriteOnUpdate.java|  22 +--
 .../org/apache/sis/storage/gpx/UpdaterTest.java|   4 +-
 .../apache/sis/io/stream/ChannelDataOutput.java|   2 +-
 .../sis/storage/DataStoreContentException.java |   2 +-
 .../org/apache/sis/storage/WritableFeatureSet.java |  14 +-
 .../main/org/apache/sis/storage/base/CodeType.java |   4 +-
 .../apache/sis/storage/base/MetadataBuilder.java   |   2 +-
 .../apache/sis/storage/base/TiledGridResource.java |   2 +-
 .../sis/storage/csv/MovingFeatureBuilder.java  |   4 +-
 .../sis/storage/image/WorldFileResource.java   |   2 +-
 .../storage/internal/WritableResourceSupport.java  |   2 +-
 .../main/org/apache/sis/measure/Units.java |   2 +-
 .../main/org/apache/sis/util/ArraysExt.java| 172 -
 .../main/org/apache/sis/util/CharSequences.java|   4 +-
 .../org/apache/sis/util/NullArgumentException.java |   8 +
 .../main/org/apache/sis/util/StringBuilders.java   |  10 +-
 .../apache/sis/util/collection/TreeNodeList.java   |   2 +-
 .../apache/sis/util/collection/WeakHashSet.java|   5 +-
 .../sis/util/collection/WeakValueHashMap.java  |   8 +-
 .../test/org/apache/sis/test/TestRunner.java   |   2 +-
 .../sis/gui/coverage/StyledRenderingData.java  |   2 +-
 66 files changed, 167 insertions(+), 237 deletions(-)



[sis] branch main-with-gradle-wrapper updated (cd6f6b44b1 -> fff3ae5e86)

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git


 discard cd6f6b44b1 Move repository declaration to the right location for 
enabling publication.
 discard 3e66417a09 Defines a Maven repository for snapshots.
 discard efadc752d9 Remove references to `org.apache.sis.cql` module.
 discard b30980da2c Add Gradle wrapper for allowing execution on ASF Jenkins 
server. This is maybe a temporary branch, the project has not decided if 
gradlew should be officially added. This branch may also be removed if 
https://issues.apache.org/jira/browse/INFRA-24992 is fixed.
 add 2d716eab6d Remove references to the `org.apache.sis.cql` incubating 
module. This module is present on other branches but not on main because for 
avoiding the need to manage geoapi-pending dependencies.
 new 4bcfc803c4 Add Gradle wrapper for allowing execution on ASF Jenkins 
server. This is maybe a temporary branch, the project has not decided if 
gradlew should be officially added. This branch may also be removed if 
https://issues.apache.org/jira/browse/INFRA-24992 is fixed.
 new fff3ae5e86 Define Maven repositories for snapshots and release 
deployments.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (cd6f6b44b1)
\
 N -- N -- N   refs/heads/main-with-gradle-wrapper (fff3ae5e86)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:



[sis] 01/02: Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 4bcfc803c47dde9af6f34af33ea38f6f086396b5
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 10:53:44 2023 +0200

Add Gradle wrapper for allowing execution on ASF Jenkins server.
This is maybe a temporary branch, the project has not decided if gradlew 
should be officially added.
This branch may also be removed if 
https://issues.apache.org/jira/browse/INFRA-24992 is fixed.
---
 gradle/wrapper/gradle-wrapper.jar| Bin 0 -> 63375 bytes
 gradle/wrapper/gradle-wrapper.properties |   7 +
 gradlew  | 248 +++
 gradlew.bat  |  92 
 4 files changed, 347 insertions(+)

diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00..033e24c4cd
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00..9f4197d5f4
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+networkTimeout=1
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100755
index 00..fcb6fca147
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,248 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed 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
+#
+#  https://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.
+#
+
+##
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#   noncompliant, but you have some other compliant shell such as ksh or
+#   bash, then to run this script, type that shell name before the whole
+#   command line, like:
+#
+#   ksh Gradle
+#
+#   Busybox and similar reduced shells will NOT work, because this script
+#   requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#   «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#   by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#   The "traditional" practice of packing multiple parameters into a
+#   space-separated string is a well documented source of bugs and security
+#   problems, so this is (mostly) avoided, by progressively accumulating
+#   options in "$@", and eventually passing that to Java.
+#
+#   Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#   and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#   see the in-line comments for details.
+#
+#   There are tweaks for specific operating systems such as AIX, CygWin,
+#   Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#   
https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#   within the Gradle project.
+#
+#   You can find Gradle at https://github.com/gradle/gradle/.
+#
+##
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no 
leading path
+[ -h "$app_path" ]
+do
+ls=$( ls -ld "$app_path" )
+link=${ls#*' -> '}
+case $link in #(
+  /*)   app_path=$link ;; #(
+  *)app_path=$APP_HOME$link ;;
+esac
+done
+
+# This is normally unused
+# s

[sis] branch main updated: Remove references to the `org.apache.sis.cql` incubating module. This module is present on other branches but not on main because for avoiding the need to manage geoapi-pend

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 2d716eab6d Remove references to the `org.apache.sis.cql` incubating 
module. This module is present on other branches but not on main because for 
avoiding the need to manage geoapi-pending dependencies.
2d716eab6d is described below

commit 2d716eab6dcd6cb51dbf98ea134624e8fb1ebd6d
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 14:19:06 2023 +0200

Remove references to the `org.apache.sis.cql` incubating module.
This module is present on other branches but not on main because
for avoiding the need to manage geoapi-pending dependencies.
---
 endorsed/src/org.apache.sis.util/main/module-info.java |  1 -
 incubator/build.gradle.kts | 12 
 2 files changed, 13 deletions(-)

diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java 
b/endorsed/src/org.apache.sis.util/main/module-info.java
index c61c9a93c4..227645d78a 100644
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@ -125,7 +125,6 @@ module org.apache.sis.util {
 org.apache.sis.storage.netcdf,
 org.apache.sis.storage.geotiff,
 org.apache.sis.storage.earthobservation,
-org.apache.sis.cql, // In the "incubator" 
sub-project.
 org.apache.sis.portrayal,
 org.apache.sis.cloud.aws,
 org.apache.sis.console,
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 5d7bcce0ac..797f762d10 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -73,9 +73,6 @@ dependencies {
  * replace ANTLR generated code by hand-written code in a future version.
  */
 var srcDir = file("src")// Must be the same as the hard-coded value in 
`BuildHelper.java`.
-tasks.generateGrammarSource {
-setOutputDirectory(file("${srcDir}/org.apache.sis.cql/main"))
-}
 tasks.compileJava {
 dependsOn(":endorsed:compileJava")
 options.release.set(11) // The version of both Java source code 
and compiled byte code.
@@ -113,15 +110,6 @@ tasks.test {
  */
 publishing {
 publications {
-create("cql") {
-groupId= "org.apache.sis.core"
-artifactId = "sis-cql"
-artifact(file("${buildDir}/libs/org.apache.sis.cql.jar"))
-pom {
-name= "Apache SIS CQL"
-description = "CQL parser."
-}
-}
 create("storage.shapefile") {
 groupId= "org.apache.sis.storage"
 artifactId = "sis-shapefile"



[sis] 02/02: Define Maven repositories for snapshots and release deployments.

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git

commit fff3ae5e862ecb1696561cab9ffa0da133537de8
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 15:25:06 2023 +0200

Define Maven repositories for snapshots and release deployments.
---
 .../org/apache/sis/buildtools/gradle/BuildHelper.java   |  1 +
 .../org/apache/sis/buildtools/gradle/ModularJAR.java| 11 ++-
 endorsed/build.gradle.kts   | 17 +
 incubator/build.gradle.kts  | 17 +
 optional/build.gradle.kts   | 17 +
 settings.gradle.kts |  1 +
 6 files changed, 63 insertions(+), 1 deletion(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
index c17df41d9e..5b357d8ca9 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
@@ -165,6 +165,7 @@ public final class BuildHelper implements Plugin {
 task.setActions(List.of((t) -> {// Replace the default 
action by our own.
 ModularJAR.execute(BuildHelper.this, (Jar) t);
 }));
+task.getOutputs().dir(ModularJAR.output(task.getProject()));
 });
 final Task assemble = tasks.getByPath("assemble");
 assemble.dependsOn("jar");
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
index d551997e0b..64fb2f8e53 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
@@ -70,6 +70,15 @@ final class ModularJAR extends ZipWriter.JDK {
 super(project, out);
 }
 
+/**
+ * {@return the output directory where JAR files will be written}.
+ *
+ * @param  project  the sub-project being compiled.
+ */
+static final File output(final Project project) {
+return new File(project.getBuildDir(), LIBS_DIRECTORY);
+}
+
 /**
  * Lists all compiled modules in the current Gradle sub-project.
  *
@@ -97,7 +106,7 @@ final class ModularJAR extends ZipWriter.JDK {
 classnameAttributes.put(classname, path);
 }
 }
-final File target = new File(project.getBuildDir(), LIBS_DIRECTORY);
+final File target = output(project);
 for (final File module : listModules(project)) {
 for (final Iterator> it = 
classnameAttributes.entrySet().iterator(); it.hasNext();) {
 final Map.Entry entry = it.next();
diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index d2399933a3..293b169713 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -392,4 +392,21 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = System.getProperty("asfNexusUsername")
+val asfNexusPassword = System.getProperty("asfNexusPassword")
+if (asfNexusUsername != null && asfNexusPassword != null) {
+username = asfNexusUsername
+password = asfNexusPassword
+}
+}
+}
+}
 }
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 797f762d10..7d1b756819 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -129,4 +129,21 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val as

[sis] branch main-with-gradle-wrapper updated: Move repository declaration to the right location for enabling publication.

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git


The following commit(s) were added to refs/heads/main-with-gradle-wrapper by 
this push:
 new cd6f6b44b1 Move repository declaration to the right location for 
enabling publication.
cd6f6b44b1 is described below

commit cd6f6b44b1a5df92e5dd53843c2a5910ec56d655
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 16:48:53 2023 +0200

Move repository declaration to the right location for enabling publication.
---
 endorsed/build.gradle.kts  | 17 +
 incubator/build.gradle.kts | 17 +
 optional/build.gradle.kts  | 17 +
 settings.gradle.kts| 14 --
 4 files changed, 51 insertions(+), 14 deletions(-)

diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index d2399933a3..293b169713 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -392,4 +392,21 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = System.getProperty("asfNexusUsername")
+val asfNexusPassword = System.getProperty("asfNexusPassword")
+if (asfNexusUsername != null && asfNexusPassword != null) {
+username = asfNexusUsername
+password = asfNexusPassword
+}
+}
+}
+}
 }
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 797f762d10..7d1b756819 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -129,4 +129,21 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = System.getProperty("asfNexusUsername")
+val asfNexusPassword = System.getProperty("asfNexusPassword")
+if (asfNexusUsername != null && asfNexusPassword != null) {
+username = asfNexusUsername
+password = asfNexusPassword
+}
+}
+}
+}
 }
diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts
index eddd8473fa..599a179eef 100644
--- a/optional/build.gradle.kts
+++ b/optional/build.gradle.kts
@@ -165,4 +165,21 @@ publishing {
 }
 }
 }
+/* Following block is currently repeated in all sub-projects. */
+repositories {
+maven {
+name = "Apache"
+url = uri(if (version.toString().endsWith("SNAPSHOT"))
+  
"https://repository.apache.org/content/repositories/snapshots; else
+  
"https://repository.apache.org/service/local/staging/deploy/maven2;)
+credentials {
+val asfNexusUsername = System.getProperty("asfNexusUsername")
+val asfNexusPassword = System.getProperty("asfNexusPassword")
+if (asfNexusUsername != null && asfNexusPassword != null) {
+username = asfNexusUsername
+password = asfNexusPassword
+}
+}
+}
+}
 }
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 4ca1c0b860..a007dae0a1 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -48,20 +48,6 @@ dependencyResolutionManagement {
 releasesOnly()
 }
 }
-maven {
-name = "Snapshots"
-url = 
uri("https://repository.apache.org/content/repositories/snapshots;)
-credentials {
-println("Looking for properties")
-val asfNexusUsername = System.getProperty("asfNexusUsername")
-val asfNexusPassword = System.getProperty("asfNexusPassword")
-if (asfNexusUsername != null && asfNexusPassword != null) {
-println("Properties found")
-username = asfNexusUsername
-password = asfNexusPassword
-}
-}
-}
 }
 /*
  * All dependencies used by sub-projects, together with their versions.



[sis] branch main-with-gradle-wrapper created (now 3e66417a09)

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git


  at 3e66417a09 Defines a Maven repository for snapshots.

This branch includes the following new commits:

 new b30980da2c Add Gradle wrapper for allowing execution on ASF Jenkins 
server. This is maybe a temporary branch, the project has not decided if 
gradlew should be officially added. This branch may also be removed if 
https://issues.apache.org/jira/browse/INFRA-24992 is fixed.
 new efadc752d9 Remove references to `org.apache.sis.cql` module.
 new 3e66417a09 Defines a Maven repository for snapshots.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[sis] 01/03: Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git

commit b30980da2c0776bc271b107de311d986757680b3
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 10:53:44 2023 +0200

Add Gradle wrapper for allowing execution on ASF Jenkins server.
This is maybe a temporary branch, the project has not decided if gradlew 
should be officially added.
This branch may also be removed if 
https://issues.apache.org/jira/browse/INFRA-24992 is fixed.
---
 gradle/wrapper/gradle-wrapper.jar| Bin 0 -> 63375 bytes
 gradle/wrapper/gradle-wrapper.properties |   7 +
 gradlew  | 248 +++
 gradlew.bat  |  92 
 4 files changed, 347 insertions(+)

diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00..033e24c4cd
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00..9f4197d5f4
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+networkTimeout=1
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100755
index 00..fcb6fca147
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,248 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed 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
+#
+#  https://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.
+#
+
+##
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#   noncompliant, but you have some other compliant shell such as ksh or
+#   bash, then to run this script, type that shell name before the whole
+#   command line, like:
+#
+#   ksh Gradle
+#
+#   Busybox and similar reduced shells will NOT work, because this script
+#   requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#   «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#   by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#   The "traditional" practice of packing multiple parameters into a
+#   space-separated string is a well documented source of bugs and security
+#   problems, so this is (mostly) avoided, by progressively accumulating
+#   options in "$@", and eventually passing that to Java.
+#
+#   Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#   and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#   see the in-line comments for details.
+#
+#   There are tweaks for specific operating systems such as AIX, CygWin,
+#   Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#   
https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#   within the Gradle project.
+#
+#   You can find Gradle at https://github.com/gradle/gradle/.
+#
+##
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no 
leading path
+[ -h "$app_path" ]
+do
+ls=$( ls -ld "$app_path" )
+link=${ls#*' -> '}
+case $link in #(
+  /*)   app_path=$link ;; #(
+  *)app_path=$APP_HOME$link ;;
+esac
+done
+
+# This is normally unused
+# s

[sis] 02/03: Remove references to `org.apache.sis.cql` module.

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git

commit efadc752d96b1e928106dc6406e96fd034c43156
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 14:19:06 2023 +0200

Remove references to `org.apache.sis.cql` module.
---
 endorsed/src/org.apache.sis.util/main/module-info.java |  1 -
 incubator/build.gradle.kts | 12 
 2 files changed, 13 deletions(-)

diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java 
b/endorsed/src/org.apache.sis.util/main/module-info.java
index c61c9a93c4..227645d78a 100644
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@ -125,7 +125,6 @@ module org.apache.sis.util {
 org.apache.sis.storage.netcdf,
 org.apache.sis.storage.geotiff,
 org.apache.sis.storage.earthobservation,
-org.apache.sis.cql, // In the "incubator" 
sub-project.
 org.apache.sis.portrayal,
 org.apache.sis.cloud.aws,
 org.apache.sis.console,
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 5d7bcce0ac..797f762d10 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -73,9 +73,6 @@ dependencies {
  * replace ANTLR generated code by hand-written code in a future version.
  */
 var srcDir = file("src")// Must be the same as the hard-coded value in 
`BuildHelper.java`.
-tasks.generateGrammarSource {
-setOutputDirectory(file("${srcDir}/org.apache.sis.cql/main"))
-}
 tasks.compileJava {
 dependsOn(":endorsed:compileJava")
 options.release.set(11) // The version of both Java source code 
and compiled byte code.
@@ -113,15 +110,6 @@ tasks.test {
  */
 publishing {
 publications {
-create("cql") {
-groupId= "org.apache.sis.core"
-artifactId = "sis-cql"
-artifact(file("${buildDir}/libs/org.apache.sis.cql.jar"))
-pom {
-name= "Apache SIS CQL"
-description = "CQL parser."
-}
-}
 create("storage.shapefile") {
 groupId= "org.apache.sis.storage"
 artifactId = "sis-shapefile"



[sis] 03/03: Defines a Maven repository for snapshots.

2023-09-15 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 3e66417a09e6de9b60058e1ff6800170693f54fb
Author: Martin Desruisseaux 
AuthorDate: Fri Sep 15 15:25:06 2023 +0200

Defines a Maven repository for snapshots.
---
 .../org/apache/sis/buildtools/gradle/BuildHelper.java |  1 +
 .../main/org/apache/sis/buildtools/gradle/ModularJAR.java | 11 ++-
 settings.gradle.kts   | 15 +++
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
index c17df41d9e..5b357d8ca9 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
@@ -165,6 +165,7 @@ public final class BuildHelper implements Plugin {
 task.setActions(List.of((t) -> {// Replace the default 
action by our own.
 ModularJAR.execute(BuildHelper.this, (Jar) t);
 }));
+task.getOutputs().dir(ModularJAR.output(task.getProject()));
 });
 final Task assemble = tasks.getByPath("assemble");
 assemble.dependsOn("jar");
diff --git 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
index d551997e0b..64fb2f8e53 100644
--- 
a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
+++ 
b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java
@@ -70,6 +70,15 @@ final class ModularJAR extends ZipWriter.JDK {
 super(project, out);
 }
 
+/**
+ * {@return the output directory where JAR files will be written}.
+ *
+ * @param  project  the sub-project being compiled.
+ */
+static final File output(final Project project) {
+return new File(project.getBuildDir(), LIBS_DIRECTORY);
+}
+
 /**
  * Lists all compiled modules in the current Gradle sub-project.
  *
@@ -97,7 +106,7 @@ final class ModularJAR extends ZipWriter.JDK {
 classnameAttributes.put(classname, path);
 }
 }
-final File target = new File(project.getBuildDir(), LIBS_DIRECTORY);
+final File target = output(project);
 for (final File module : listModules(project)) {
 for (final Iterator> it = 
classnameAttributes.entrySet().iterator(); it.hasNext();) {
 final Map.Entry entry = it.next();
diff --git a/settings.gradle.kts b/settings.gradle.kts
index f0522902d4..4ca1c0b860 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -39,6 +39,7 @@ dependencyResolutionManagement {
 repositories {
 mavenCentral()
 maven {
+name = "UCAR"
 url = 
uri("https://artifacts.unidata.ucar.edu/repository/unidata-releases;)
 content {
 includeGroup("edu.ucar")// Restrict usage to those 
dependencies.
@@ -47,6 +48,20 @@ dependencyResolutionManagement {
 releasesOnly()
 }
 }
+maven {
+name = "Snapshots"
+url = 
uri("https://repository.apache.org/content/repositories/snapshots;)
+credentials {
+println("Looking for properties")
+val asfNexusUsername = System.getProperty("asfNexusUsername")
+val asfNexusPassword = System.getProperty("asfNexusPassword")
+if (asfNexusUsername != null && asfNexusPassword != null) {
+println("Properties found")
+username = asfNexusUsername
+password = asfNexusPassword
+}
+}
+}
 }
 /*
  * All dependencies used by sub-projects, together with their versions.



[sis] branch geoapi-4.0 updated (193b493363 -> 7c107c57ee)

2023-09-07 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` 
for telling when the value is missing.
 new ac061386c5 Minor formatting of table HTML for consistency with same 
change applied elsewhere. It makes the code a little bit easier to read by 
reducing the amount of scrolling. Contains also opportunistic javadoc typo 
fixes.
 new 1d735321d1 Rename `DefaultEllipsoid.getRadius(double)` as 
`getGeocentricRadius(double)`.
 new 7c107c57ee Move the check for perpendicular axes in the parent class. 
This is in anticipation for the addition of experimental coordinate systems 
such as `MinkowskiCS` in other branches.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../test/org/apache/sis/filter/PeriodLiteral.java  |  2 +-
 .../gazetteer/GeohashReferenceSystem.java  |  8 +--
 .../gazetteer/MilitaryGridReferenceSystem.java |  4 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java | 15 ++---
 .../sis/referencing/crs/DefaultGeographicCRS.java  |  3 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  | 74 +++---
 .../sis/referencing/cs/DefaultCartesianCS.java | 26 
 .../sis/referencing/datum/DefaultEllipsoid.java| 19 +-
 .../referencing/datum/DefaultGeodeticDatum.java|  2 +-
 .../referencing/datum/DefaultVerticalDatum.java|  2 +-
 .../operation/DefaultConcatenatedOperation.java|  6 +-
 .../referencing/operation/DefaultConversion.java   |  9 +--
 .../DefaultCoordinateOperationFactory.java | 36 ---
 .../operation/DefaultOperationMethod.java  | 18 ++
 .../operation/DefaultPassThroughOperation.java |  6 +-
 .../operation/DefaultTransformation.java   | 12 ++--
 .../org/apache/sis/referencing/util/Formulas.java  |  6 +-
 .../referencing/datum/DefaultEllipsoidTest.java| 12 ++--
 .../apache/sis/referencing/util/FormulasTest.java  | 12 ++--
 .../main/org/apache/sis/util/Version.java  |  2 +-
 20 files changed, 128 insertions(+), 146 deletions(-)



[sis] 03/03: Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches.

2023-09-07 Thread desruisseaux
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

commit 7c107c57eed0a428250c035556917da27fa8f8ff
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 6 18:27:50 2023 +0200

Move the check for perpendicular axes in the parent class.
This is in anticipation for the addition of experimental
coordinate systems such as `MinkowskiCS` in other branches.
---
 .../org/apache/sis/referencing/cs/AbstractCS.java  | 74 +++---
 .../sis/referencing/cs/DefaultCartesianCS.java | 26 
 2 files changed, 51 insertions(+), 49 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
index 81d87e70ad..df9acffdca 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
@@ -47,10 +47,11 @@ import org.apache.sis.system.Modules;
 import org.apache.sis.util.Utilities;
 import org.apache.sis.util.ComparisonMode;
 import org.apache.sis.util.internal.Constants;
-import org.apache.sis.io.wkt.ElementKind;
-import org.apache.sis.io.wkt.Formatter;
 import org.apache.sis.util.logging.Logging;
 import org.apache.sis.util.resources.Errors;
+import org.apache.sis.io.wkt.ElementKind;
+import org.apache.sis.io.wkt.Formatter;
+import org.apache.sis.measure.Angle;
 
 import static org.apache.sis.util.ArgumentChecks.*;
 
@@ -214,6 +215,54 @@ public class AbstractCS extends AbstractIdentifiedObject 
implements CoordinateSy
 }
 }
 
+/**
+ * Returns {@link #VALID} if the given argument values are allowed for an 
axis in this coordinate system,
+ * or an {@code INVALID_*} error code otherwise. This method is invoked at 
construction time for checking
+ * argument validity. The default implementation returns {@code VALID} in 
all cases. Subclasses override
+ * this method in order to put more restrictions on allowed axis 
directions and check for compatibility
+ * with {@linkplain org.apache.sis.measure.Units#METRE metre} or
+ * {@linkplain org.apache.sis.measure.Units#DEGREE degree} units.
+ *
+ * Note for implementers: since this method is invoked at 
construction time, it shall not depend
+ * on this object's state. This method is not in public API for that 
reason.
+ *
+ * @param  direction  the direction to test for compatibility (never 
{@code null}).
+ * @param  unit   the unit to test for compatibility (never {@code 
null}).
+ * @return {@link #VALID} if the given direction and unit are compatible 
with this coordinate system,
+ * {@link #INVALID_DIRECTION} if the direction is invalid or 
{@link #INVALID_UNIT} if the unit
+ * is invalid.
+ */
+int validateAxis(final AxisDirection direction, final Unit unit) {
+return VALID;
+}
+
+/**
+ * Ensures that all known axes are perpendicular, ignoring unknown axis 
directions.
+ * This method can be invoked by the constructors of coordinate systems 
having this requirement.
+ *
+ * @param  properties  properties given at construction time.
+ * @throws IllegalArgumentException if an illegal angle is found between 
two axes.
+ */
+final void ensurePerpendicularAxis(final Map properties) throws 
IllegalArgumentException {
+final int dimension = getDimension();
+for (int i=0; iNote for implementers: since this method is invoked at 
construction time, it shall not depend
- * on this object's state. This method is not in public API for that 
reason.
- *
- * @param  direction  the direction to test for compatibility (never 
{@code null}).
- * @param  unit   the unit to test for compatibility (never {@code 
null}).
- * @return {@link #VALID} if the given direction and unit are compatible 
with this coordinate system,
- * {@link #INVALID_DIRECTION} if the direction is invalid or 
{@link #INVALID_UNIT} if the unit
- * is invalid.
- */
-int validateAxis(final AxisDirection direction, final Unit unit) {
-return VALID;
-}
-
 /**
  * Returns the GeoAPI interface implemented by this class.
  * The default implementation returns {@code CoordinateSystem.class}.
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java
index ee72d04efe..1959440f46 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java

[sis] 01/03: Minor formatting of table HTML for consistency with same change applied elsewhere. It makes the code a little bit easier to read by reducing the amount of scrolling. Contains also opportu

2023-09-07 Thread desruisseaux
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

commit ac061386c5cfc1ce9e3d446ff8beed64783b35ad
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 6 14:04:16 2023 +0200

Minor formatting of table HTML for consistency with same change applied 
elsewhere.
It makes the code a little bit easier to read by reducing the amount of 
scrolling.
Contains also opportunistic javadoc typo fixes.
---
 .../test/org/apache/sis/filter/PeriodLiteral.java  |  2 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java | 15 +++--
 .../sis/referencing/crs/DefaultGeographicCRS.java  |  3 +-
 .../referencing/datum/DefaultGeodeticDatum.java|  2 +-
 .../referencing/datum/DefaultVerticalDatum.java|  2 +-
 .../operation/DefaultConcatenatedOperation.java|  6 ++--
 .../referencing/operation/DefaultConversion.java   |  9 ++
 .../DefaultCoordinateOperationFactory.java | 36 --
 .../operation/DefaultOperationMethod.java  | 18 ---
 .../operation/DefaultPassThroughOperation.java |  6 ++--
 .../operation/DefaultTransformation.java   | 12 +++-
 .../main/org/apache/sis/util/Version.java  |  2 +-
 12 files changed, 39 insertions(+), 74 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
 
b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
index 981f08649d..13ec6e0fae 100644
--- 
a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
+++ 
b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
@@ -96,7 +96,7 @@ final class PeriodLiteral implements Period, 
Literal, Serializab
 }
 
 /**
- * Compare this period with given object. Used by the tests for checking 
the results of deserialization.
+ * Compares this period with given object. Used by the tests for checking 
the results of deserialization.
  */
 @Override
 public boolean equals(final Object other) {
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
index 02fbcdb736..8f83f76329 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
@@ -190,26 +190,21 @@ public class DefaultDerivedCRS extends 
AbstractDerivedCRS implements
  * Property name
  * Value type
  * Returned by
- *   
- *   
+ *   
  * {@value org.opengis.referencing.IdentifiedObject#NAME_KEY}
  * {@link org.opengis.metadata.Identifier} or {@link String}
  * {@code this.getName()}
- *   
- *   
+ *   
  * "conversion.name"
  * {@link org.opengis.metadata.Identifier} or {@link String}
  * {@code conversionFromBase.getName()}
- *   
- *   
+ *   
  * Optional properties (non exhaustive 
list)
- *   
- *   
+ *   
  * {@value 
org.opengis.referencing.IdentifiedObject#IDENTIFIERS_KEY}
  * {@link org.opengis.metadata.Identifier} (optionally as 
array)
  * {@code this.getIdentifiers()}
- *   
- *   
+ *   
  * {@value 
org.opengis.referencing.operation.CoordinateOperation#DOMAIN_OF_VALIDITY_KEY}
  * {@link org.opengis.metadata.extent.Extent}
  * {@code conversionFromBase.getDomainOfValidity()}
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
index 025930b1bc..12c60708ae 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
@@ -122,8 +122,7 @@ public class DefaultGeographicCRS extends 
DefaultGeodeticCRS implements Geograph
  * Property name
  * Value type
  * Returned by
- *   
- *   
+ *   
  * {@value org.opengis.referencing.IdentifiedObject#NAME_KEY}
  * {@link org.opengis.metadata.Identifier} or {@link String}
  * {@link #getName()}
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
index c4b6ef8c56..a5809407a0 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
+++ 
b/en

[sis] 02/03: Rename `DefaultEllipsoid.getRadius(double)` as `getGeocentricRadius(double)`.

2023-09-07 Thread desruisseaux
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

commit 1d735321d1b052152f9fd6ccead4705fd0cc8c85
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 6 11:54:42 2023 +0200

Rename `DefaultEllipsoid.getRadius(double)` as 
`getGeocentricRadius(double)`.
---
 .../referencing/gazetteer/GeohashReferenceSystem.java |  8 
 .../gazetteer/MilitaryGridReferenceSystem.java|  4 ++--
 .../sis/referencing/datum/DefaultEllipsoid.java   | 19 ---
 .../org/apache/sis/referencing/util/Formulas.java |  6 --
 .../sis/referencing/datum/DefaultEllipsoidTest.java   | 12 ++--
 .../org/apache/sis/referencing/util/FormulasTest.java | 12 ++--
 6 files changed, 38 insertions(+), 23 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
 
b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
index b449626cd0..d049f4c42d 100644
--- 
a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
+++ 
b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
@@ -322,9 +322,9 @@ public class GeohashReferenceSystem extends 
ReferencingByIdentifiers {
 if (position != null) try {
 position = toGeographic(position);
 double φ = Math.toRadians(position.getOrdinate(1));
-double a = Math.PI/2 * Formulas.getRadius(ellipsoid, φ);   // 
Arc length of 90° using radius at φ.
-double b = Math.cos(φ) * (2*a) / (1 << lonNumBits);// 
Precision along longitude axis.
-a /= (1 << latNumBits);// 
Precision along latitude axis.
+double a = Math.PI/2 * Formulas.geocentricRadius(ellipsoid, 
φ); // Arc length of 90° using radius at φ.
+double b = Math.cos(φ) * (2*a) / (1 << lonNumBits);
 // Precision along longitude axis.
+a /= (1 << latNumBits);
 // Precision along latitude axis.
 return Quantities.create(Math.max(a, b), unit);
 } catch (FactoryException | TransformException e) {
 recoverableException(Coder.class, "getPrecision", e);
@@ -359,7 +359,7 @@ public class GeohashReferenceSystem extends 
ReferencingByIdentifiers {
 if (position != null) try {
 position = toGeographic(position);
 double φ = Math.toRadians(position.getOrdinate(1));
-numLat   = Math.PI/2 * Formulas.getRadius(ellipsoid, φ) / 
p;
+numLat   = Math.PI/2 * 
Formulas.geocentricRadius(ellipsoid, φ) / p;
 numLon   = Math.cos(φ) * (2*numLat);
 } catch (FactoryException | TransformException e) {
 recoverableException(Coder.class, "setPrecision", e);
diff --git 
a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
 
b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
index 3266a2f602..723f16d979 100644
--- 
a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
+++ 
b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
@@ -552,7 +552,7 @@ public class MilitaryGridReferenceSystem extends 
ReferencingByIdentifiers {
 if (crs != null) try {
 final double φ  = encoder(crs).getLatitude(this, 
position);
 final double φr = Math.toRadians(φ);
-radius = Formulas.getRadius(ellipsoid, φr);
+radius = Formulas.geocentricRadius(ellipsoid, φr);
 if (φ >= TransverseMercator.Zoner.SOUTH_BOUNDS &&
 φ <  TransverseMercator.Zoner.NORTH_BOUNDS)
 {
@@ -1658,7 +1658,7 @@ public class MilitaryGridReferenceSystem extends 
ReferencingByIdentifiers {
  */
 if (precision > 0) {
 final double φr = Math.toRadians(φ);
-precision *= Formulas.getRadius(owner.getEllipsoid(), φr); 
 // Convert precision to metres.
+precision *= Formulas.geocentricRadius(owner.getEllipsoid(), 
φr); // Convert precision to metres.
 if (isUTM) precision *= Math.cos(φr);
 owner.setPrecision(precision);
   

[sis] branch geoapi-4.0 updated: Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing.

2023-09-02 Thread desruisseaux
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 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` 
for telling when the value is missing.
193b493363 is described below

commit 193b4933634c42eb835be176246eb54d12fbf358
Author: Martin Desruisseaux 
AuthorDate: Wed Aug 30 12:30:03 2023 +0200

Improve `DefaultObjectDomain` with the use of `NilObject` for telling when 
the value is missing.
---
 .../metadata/internal/ImplementationHelper.java|  17 ++-
 .../metadata/simple/SimpleIdentifiedObject.java|   6 +-
 .../main/org/apache/sis/io/wkt/Formatter.java  |  10 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |  51 ---
 .../sis/referencing/DefaultObjectDomain.java   | 164 +++--
 .../referencing/datum/DefaultGeodeticDatum.java|  38 ++---
 .../org/apache/sis/util/resources/Vocabulary.java  |  20 ++-
 7 files changed, 200 insertions(+), 106 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java
index f0516b2311..48750b280d 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java
@@ -21,6 +21,8 @@ import java.util.List;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
+import java.util.Objects;
+import org.apache.sis.xml.NilObject;
 import org.apache.sis.xml.NilReason;
 import org.apache.sis.xml.IdentifierSpace;
 import org.apache.sis.xml.IdentifiedObject;
@@ -37,7 +39,7 @@ import org.apache.sis.util.internal.CollectionsExt;
  * This is not an helper class for usage of metadata.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.3
+ * @version 1.4
  * @since   0.3
  */
 public final class ImplementationHelper extends Static {
@@ -74,6 +76,19 @@ public final class ImplementationHelper extends Static {
 return (value != Long.MIN_VALUE) ? new Date(value) : null;
 }
 
+/**
+ * Returns {@code true} if the given object is non-null and not an 
instance of {@link NilObject}.
+ * This is a helper method for use in lambda expressions.
+ *
+ * @param  value  the value to test.
+ * @return whether the given value is non-null and non-nil.
+ *
+ * @see Objects#nonNull(Object)
+ */
+public static boolean nonNil(final Object value) {
+return (value != null) && !(value instanceof NilObject);
+}
+
 /**
  * Returns the given collection if non-null and non-empty, or {@code null} 
otherwise.
  * This method is used for calls to {@code checkWritePermission(Object)}.
diff --git 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
index d1a948204e..68ccb00b6a 100644
--- 
a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
+++ 
b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
@@ -97,7 +97,10 @@ public class SimpleIdentifiedObject implements 
IdentifiedObject, LenientComparab
  * revisit {@link #equals(Object, ComparisonMode)} in subclasses.
  *
  * @return the domain of validity, or {@code null} if none.
+ *
+ * @deprecated Removed from ISO 19111:2019 (moved to {@code ObjectDomain}).
  */
+@Deprecated
 public final Extent getDomainOfValidity() {
 return null;
 }
@@ -123,10 +126,7 @@ public class SimpleIdentifiedObject implements 
IdentifiedObject, LenientComparab
  * The default implementation returns {@link Identifier#getDescription()}.
  *
  * @return a narrative explanation of the role of this object, or {@code 
null} if none.
- *
- * @deprecated Removed from ISO 19111:2019 (moved to {@code ObjectDomain}).
  */
-@Deprecated
 public InternationalString getDescription() {
 final Identifier name = this.name;
 return (name != null) ? name.getDescription() : null;
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java
index f27c538f41..3431b25267 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java
@@ -70,7 +70,6 @@ import org.apache.sis.util.iso.Types;
 import org.apache.sis.util.resource

[sis] branch geoapi-4.0 updated (c92fa5ad66 -> 350b496160)

2023-08-29 Thread desruisseaux
This is an automated email from the ASF dual-hosted git repository.

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


from c92fa5ad66 Add JUnit 5 in test dependencies for progressive migration. 
Opportunistically upgrade `ArgumentChecks` to JUnit 5, after its change for 
testing negative zeros.
 new abafcba8a2 Skip the Ivy task if the "dependencies" directory is 
already present.
 new 350b496160 Partial upgrade to ISO 19111:2019: replace some (not yet 
all) usages of deprecated `getScope()` and `getDomainOfValidity()` methods by 
`getDomains()`.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org.apache.sis.console/main/module-info.java   |   2 +
 .../org/apache/sis/console/TransformCommand.java   |  17 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../metadata/internal/ImplementationHelper.java|   8 +-
 .../apache/sis/metadata/iso/extent/Extents.java|  47 -
 .../metadata/simple/SimpleIdentifiedObject.java|   6 +
 .../metadata/replace/ReferenceSystemMetadata.java  |   3 +-
 .../apache/sis/util/iso/DefaultLocalNameTest.java  |   2 +-
 .../main/module-info.java  |   3 +-
 .../main/org/apache/sis/openoffice/CalcAddins.java |   2 +-
 .../sis/openoffice/ReferencingFunctions.java   |  37 ++--
 .../main/org/apache/sis/io/wkt/Formatter.java  |  59 --
 .../sis/referencing/AbstractIdentifiedObject.java  | 227 -
 .../sis/referencing/AbstractReferenceSystem.java   | 183 ++---
 .../main/org/apache/sis/referencing/CRS.java   |  44 ++--
 .../sis/referencing/DefaultObjectDomain.java   | 221 
 .../apache/sis/referencing/IdentifiedObjects.java  |  13 +-
 .../org/apache/sis/referencing/NameIterator.java   |  32 ++-
 .../org/apache/sis/referencing/Properties.java |  87 
 .../apache/sis/referencing/crs/AbstractCRS.java|  31 +--
 .../sis/referencing/crs/DefaultCompoundCRS.java|  26 +--
 .../sis/referencing/crs/DefaultDerivedCRS.java |  26 +--
 .../sis/referencing/crs/DefaultEngineeringCRS.java |  26 +--
 .../sis/referencing/crs/DefaultGeocentricCRS.java  |  26 +--
 .../sis/referencing/crs/DefaultGeographicCRS.java  |  23 +--
 .../sis/referencing/crs/DefaultImageCRS.java   |  26 +--
 .../sis/referencing/crs/DefaultParametricCRS.java  |  26 +--
 .../sis/referencing/crs/DefaultProjectedCRS.java   |  26 +--
 .../sis/referencing/crs/DefaultTemporalCRS.java|  26 +--
 .../sis/referencing/crs/DefaultVerticalCRS.java|  26 +--
 .../org/apache/sis/referencing/cs/AbstractCS.java  |  12 +-
 .../apache/sis/referencing/cs/AxesConvention.java  |  12 +-
 .../apache/sis/referencing/cs/DefaultAffineCS.java |  12 +-
 .../sis/referencing/cs/DefaultCartesianCS.java |  12 +-
 .../sis/referencing/cs/DefaultCompoundCS.java  |  12 +-
 .../cs/DefaultCoordinateSystemAxis.java|  24 +--
 .../sis/referencing/cs/DefaultCylindricalCS.java   |  12 +-
 .../sis/referencing/cs/DefaultEllipsoidalCS.java   |  12 +-
 .../apache/sis/referencing/cs/DefaultLinearCS.java |  12 +-
 .../sis/referencing/cs/DefaultParametricCS.java|  12 +-
 .../apache/sis/referencing/cs/DefaultPolarCS.java  |  12 +-
 .../sis/referencing/cs/DefaultSphericalCS.java |  12 +-
 .../apache/sis/referencing/cs/DefaultTimeCS.java   |  12 +-
 .../sis/referencing/cs/DefaultUserDefinedCS.java   |  12 +-
 .../sis/referencing/cs/DefaultVerticalCS.java  |  12 +-
 .../sis/referencing/datum/AbstractDatum.java   | 129 ++--
 .../sis/referencing/datum/DefaultEllipsoid.java|  12 +-
 .../referencing/datum/DefaultEngineeringDatum.java |  32 +--
 .../sis/referencing/datum/DefaultImageDatum.java   |  29 +--
 .../referencing/datum/DefaultParametricDatum.java  |  32 +--
 .../referencing/datum/DefaultPrimeMeridian.java|  12 +-
 .../referencing/datum/DefaultTemporalDatum.java|  32 +--
 .../referencing/datum/DefaultVerticalDatum.java|  32 +--
 .../referencing/factory/GeodeticObjectFactory.java |  54 ++---
 .../operation/AbstractCoordinateOperation.java | 122 ++-
 .../operation/DefaultConcatenatedOperation.java|  26 +--
 .../apache/sis/referencing/util/WKTKeywords.java   |   3 +-
 .../org/apache/sis/storage/base/Capability.java|   2 +-
 .../main/org/apache/sis/setup/About.java   |   2 +-
 .../resources/ResourceInternationalString.java |   4 +-
 .../org/apache/sis/util/resources/Vocabulary.java  |  10 +-
 .../sis/util/resources/Vocabulary.properties   |   2 +-
 .../sis/util/resources/Vocabulary_fr.properties|   2 +-
 geoapi/snapshot|   2 +-
 netbeans-project/build.xml |   7 +-
 

<    3   4   5   6   7   8   9   10   11   12   >