(sis) 03/03: Remove deprecated methods.

2023-10-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 c4a3614aa02b18cbc54b63624605ef8850a77d3a
Author: Martin Desruisseaux 
AuthorDate: Sun Oct 29 00:12:05 2023 +0200

Remove deprecated methods.
---
 .../org.apache.sis.feature/main/module-info.java   |   2 +-
 .../main/org/apache/sis/image/ImageProcessor.java  | 151 +
 .../main/org/apache/sis/image/Visualization.java   |  12 --
 .../main/org/apache/sis/image/package-info.java|   2 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |  88 +++-
 .../org/apache/sis/metadata/iso/package-info.java  |   2 +-
 .../DefaultCoordinateOperationFactory.java |   2 +-
 .../referencing/operation/matrix/MatrixSIS.java|  23 +---
 .../referencing/operation/matrix/package-info.java |   2 +-
 .../provider/FranceGeocentricInterpolation.java|   9 +-
 .../operation/transform/MathTransforms.java|  18 ---
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   |  66 -
 .../main/org/apache/sis/util/CharSequences.java|  36 +
 .../main/org/apache/sis/util/logging/Logging.java  |  18 +--
 .../org/apache/sis/util/logging/package-info.java  |   2 +-
 .../apache/sis/gui/internal/ImageConverter.java|   2 +-
 18 files changed, 32 insertions(+), 407 deletions(-)

diff --git a/endorsed/src/org.apache.sis.feature/main/module-info.java 
b/endorsed/src/org.apache.sis.feature/main/module-info.java
index 09a24df5b4..33a7fd41d2 100644
--- a/endorsed/src/org.apache.sis.feature/main/module-info.java
+++ b/endorsed/src/org.apache.sis.feature/main/module-info.java
@@ -20,7 +20,7 @@
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.5
  */
 module org.apache.sis.feature {
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
index f0b11ebc5d..2b81da640a 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
@@ -137,7 +137,7 @@ import org.apache.sis.measure.Units;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Alexis Manin (Geomatys)
- * @version 1.4
+ * @version 1.5
  *
  * @see org.apache.sis.coverage.grid.GridCoverageProcessor
  *
@@ -223,18 +223,6 @@ public class ImageProcessor implements Cloneable {
  */
 private Colorizer colorizer;
 
-/**
- * Colors to use for arbitrary categories of sample values. This function 
can return {@code null}
- * or empty arrays for some categories, which are interpreted as fully 
transparent pixels.
- *
- * @see #getCategoryColors()
- * @see #setCategoryColors(Function)
- *
- * @deprecated Replaced by {@link #colorizer}.
- */
-@Deprecated(since="1.4", forRemoval=true)
-private Function colors;
-
 /**
  * Hints about the desired positional accuracy (in "real world" units or 
in pixel units),
  * or {@code null} if unspecified. In order to avoid the need to clone 
this array in the
@@ -403,44 +391,6 @@ public class ImageProcessor implements Cloneable {
  */
 public synchronized void setColorizer(final Colorizer colorizer) {
 this.colorizer = colorizer;
-colors = null;
-}
-
-/**
- * Returns the colors to use for given categories of sample values, or 
{@code null} if unspecified.
- * This method returns the function set by the last call to {@link 
#setCategoryColors(Function)}.
- *
- * @return colors to use for arbitrary categories of sample values, or 
{@code null} for default.
- *
- * @deprecated Replaced by {@link #getColorizer()}.
- */
-@Deprecated(since="1.4", forRemoval=true)
-public synchronized Function getCategoryColors() {
-return colors;
-}
-
-/**
- * Sets the colors to use for given categories in image, or {@code null} 
if unspecified.
- * This function provides a way to colorize images without knowing in 
advance the numerical values of pixels.
- * For example, instead of specifying "pixel value 0 is blue, 1 is 
green, 2 is yellow",
- * this function allows to specify "Lakes are blue, Forests are 
green, Sand is yellow".
- * It is still possible however to use numerical values if the function 
desires to do so,
- * since this information is available with {@link 
Category#getSampleRange()}.
- *
- * This function is used by methods expecting {@link SampleDimension} 
arguments such as
- * {@link #visualize(RenderedImage, List)}. The given function can ret

(sis) 02/03: Following the removal of `InterpolatedMolodenskyTransform`, retrofit `MolodenskyFormula` into `MolodenskyTransform`.

2023-10-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 4956bf7511f6840524685a3c021b96b871b1878b
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 23:29:32 2023 +0200

Following the removal of `InterpolatedMolodenskyTransform`, retrofit 
`MolodenskyFormula` into `MolodenskyTransform`.
---
 .../main/module-info.java  |   2 +-
 .../transform/AbridgedMolodenskyTransform2D.java   |   2 +-
 .../operation/transform/MolodenskyFormula.java | 463 -
 .../operation/transform/MolodenskyTransform.java   | 418 ++-
 4 files changed, 401 insertions(+), 484 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 6b668db7a6..af2202a759 100644
--- a/endorsed/src/org.apache.sis.referencing/main/module-info.java
+++ b/endorsed/src/org.apache.sis.referencing/main/module-info.java
@@ -21,7 +21,7 @@
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Rémi Maréchal (Geomatys)
  * @author  Maxime Gavens (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.3
  */
 module org.apache.sis.referencing {
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransform2D.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransform2D.java
index d1ca0e7fd7..0eaef9b946 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransform2D.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransform2D.java
@@ -26,7 +26,7 @@ import static java.lang.Math.*;
 /**
  * Two-dimensional abridged Molodensky transform with all translation terms 
fixed to zero.
  * This implementation performs only a change of ellipsoid. It provides 
nothing new compared
- * to {@link MolodenskyFormula}, except performance.
+ * to {@link MolodenskyTransform}, except performance.
  *
  * Note: this transform is yet more abridged than standard "abridged 
Molondensky" transform since
  * it sets all translation terms to zero. A better class name could be "Very 
abridged Molodensky transform".
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyFormula.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyFormula.java
deleted file mode 100644
index 63c0a9f3e9..00
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyFormula.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*
- * 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.referencing.operation.transform;
-
-import javax.measure.Unit;
-import javax.measure.quantity.Length;
-import org.opengis.parameter.ParameterValueGroup;
-import org.opengis.parameter.ParameterDescriptorGroup;
-import org.opengis.referencing.datum.Ellipsoid;
-import org.opengis.referencing.operation.Matrix;
-import org.opengis.referencing.operation.TransformException;
-import org.apache.sis.referencing.operation.matrix.Matrices;
-import org.apache.sis.referencing.datum.DefaultEllipsoid;
-import org.apache.sis.referencing.datum.DatumShiftGrid;
-import org.apache.sis.referencing.operation.provider.Molodensky;
-import org.apache.sis.util.ArgumentChecks;
-import org.apache.sis.util.ComparisonMode;
-import org.apache.sis.util.Debug;
-import org.apache.sis.util.internal.Numerics;
-import org.apache.sis.parameter.Parameters;
-
-import static java.lang.Math.*;
-
-
-/**
- * Implementation of Molodensky formulas.
- *
- * @author  Martin Desruisseaux (Geomatys)
- */
-abstract class MolodenskyFormula extends DatumShiftTransform {
-/**
- * Serial number for inter-operability with different versions.
- */
-private static final long serialVersionUID = 7684676923384073055L;
-
-/**
-

(sis) branch geoapi-4.0 updated (b4fbe3c1d5 -> c4a3614aa0)

2023-10-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 b4fbe3c1d5 Remove NullArgumentException. 
https://issues.apache.org/jira/browse/SIS-562
 new a7331c907e Remove the deprecated `InterpolatedMolodenskyTransform` 
class.
 new 4956bf7511 Following the removal of `InterpolatedMolodenskyTransform`, 
retrofit `MolodenskyFormula` into `MolodenskyTransform`.
 new c4a3614aa0 Remove deprecated methods.

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:
 .../org.apache.sis.feature/main/module-info.java   |   2 +-
 .../main/org/apache/sis/image/ImageProcessor.java  | 151 +--
 .../main/org/apache/sis/image/Visualization.java   |  12 -
 .../main/org/apache/sis/image/package-info.java|   2 +-
 .../org.apache.sis.metadata/main/module-info.java  |   2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |  88 +---
 .../org/apache/sis/metadata/iso/package-info.java  |   2 +-
 .../main/module-info.java  |   2 +-
 .../DefaultCoordinateOperationFactory.java |   2 +-
 .../referencing/operation/matrix/MatrixSIS.java|  23 +-
 .../referencing/operation/matrix/package-info.java |   2 +-
 .../provider/FranceGeocentricInterpolation.java|  32 +-
 .../provider/MolodenskyInterpolation.java  | 105 -
 .../transform/AbridgedMolodenskyTransform2D.java   |   2 +-
 .../operation/transform/DatumShiftTransform.java   |  32 +-
 .../transform/InterpolatedGeocentricTransform.java |  30 +-
 .../transform/InterpolatedMolodenskyTransform.java | 458 ---
 .../InterpolatedMolodenskyTransform2D.java | 139 --
 .../operation/transform/MathTransforms.java|  18 -
 .../operation/transform/MolodenskyFormula.java | 490 -
 .../operation/transform/MolodenskyTransform.java   | 418 +-
 .../operation/transform/package-info.java  |   2 +-
 .../operation/provider/ProvidersTest.java  |   1 -
 .../InterpolatedMolodenskyTransformTest.java   | 130 --
 .../src/org.apache.sis.util/main/module-info.java  |   2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   |  66 ---
 .../main/org/apache/sis/util/CharSequences.java|  36 +-
 .../main/org/apache/sis/util/logging/Logging.java  |  18 +-
 .../org/apache/sis/util/logging/package-info.java  |   2 +-
 .../apache/sis/gui/internal/ImageConverter.java|   2 +-
 30 files changed, 464 insertions(+), 1807 deletions(-)
 delete mode 100644 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MolodenskyInterpolation.java
 delete mode 100644 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform.java
 delete mode 100644 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransform2D.java
 delete mode 100644 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyFormula.java
 delete mode 100644 
endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/InterpolatedMolodenskyTransformTest.java



(sis) branch visual-test updated: Fix compilation of visual tests.

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

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


The following commit(s) were added to refs/heads/visual-test by this push:
 new e78eaa8933 Fix compilation of visual tests.
e78eaa8933 is described below

commit e78eaa893386ecf37e9711760d44b87afc27cde1
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 18:17:06 2023 +0200

Fix compilation of visual tests.
---
 pom.xml| 14 +-
 src/main/java/org/apache/sis/swing/DoubleDimension2D.java  |  2 +-
 src/main/java/org/apache/sis/swing/ZoomPane.java   |  3 +--
 src/main/java/org/apache/sis/test/visual/IsolinesView.java |  4 ++--
 4 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/pom.xml b/pom.xml
index 463807f31b..68e5570b61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
 
   
 org.apache.sis
-core
+parent
 2.0-SNAPSHOT
   
 
@@ -82,6 +82,18 @@
   sis-feature
   ${project.version}
 
+
+  org.junit.jupiter
+  junit-jupiter-api
+  5.9.3
+  test
+
+
+  org.junit.vintage
+  junit-vintage-engine
+  5.9.3
+  test
+
   
 
 
diff --git a/src/main/java/org/apache/sis/swing/DoubleDimension2D.java 
b/src/main/java/org/apache/sis/swing/DoubleDimension2D.java
index d8f1ea301b..b78e25e9f7 100644
--- a/src/main/java/org/apache/sis/swing/DoubleDimension2D.java
+++ b/src/main/java/org/apache/sis/swing/DoubleDimension2D.java
@@ -19,7 +19,7 @@ package org.apache.sis.swing;
 import java.io.Serializable;
 import java.awt.geom.Dimension2D;
 import static java.lang.Double.doubleToLongBits;
-import org.apache.sis.internal.util.Numerics;
+import org.apache.sis.util.internal.Numerics;
 
 
 /**
diff --git a/src/main/java/org/apache/sis/swing/ZoomPane.java 
b/src/main/java/org/apache/sis/swing/ZoomPane.java
index d8f6e885d4..f84f5ae65c 100644
--- a/src/main/java/org/apache/sis/swing/ZoomPane.java
+++ b/src/main/java/org/apache/sis/swing/ZoomPane.java
@@ -74,7 +74,6 @@ import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
 import org.apache.sis.util.logging.Logging;
-import org.apache.sis.util.NullArgumentException;
 import org.apache.sis.referencing.operation.matrix.AffineTransforms2D;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.swing.internal.Resources;
@@ -1353,7 +1352,7 @@ public abstract class ZoomPane extends JComponent 
implements DeformableViewer {
  *   because some classes use it for updating scrollbars.
  */
 if (change == null) {
-throw new NullArgumentException();
+throw new NullPointerException();
 }
 ZoomChangeEvent event = null;
 final Object[] listeners = listenerList.getListenerList();
diff --git a/src/main/java/org/apache/sis/test/visual/IsolinesView.java 
b/src/main/java/org/apache/sis/test/visual/IsolinesView.java
index e778d69ed2..e66e0fcdaf 100644
--- a/src/main/java/org/apache/sis/test/visual/IsolinesView.java
+++ b/src/main/java/org/apache/sis/test/visual/IsolinesView.java
@@ -34,8 +34,8 @@ import java.awt.image.BufferedImage;
 import java.awt.image.DataBuffer;
 import javax.swing.JComponent;
 import org.apache.sis.referencing.operation.matrix.AffineTransforms2D;
-import org.apache.sis.internal.coverage.j2d.RasterFactory;
-import org.apache.sis.internal.processing.isoline.Isolines;
+import org.apache.sis.coverage.grid.j2d.RasterFactory;
+import org.apache.sis.image.processing.isoline.Isolines;
 import org.apache.sis.swing.ZoomPane;
 import org.apache.sis.util.Classes;
 



(sis) 01/02: Add more classes or packages to qualify as test dependencies when organizing import statements.

2023-10-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 34f2e7c37391b08ce7c8926de829a14e39fbee01
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 17:35:51 2023 +0200

Add more classes or packages to qualify as test dependencies when 
organizing import statements.
---
 .../sis/buildtools/coding/ReorganizeImports.java   | 31 +++---
 1 file changed, 21 insertions(+), 10 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 042adb95db..0768e3b922 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
@@ -141,13 +141,24 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
 };
 
 /**
- * Packages of test dependencies. The first time that one of those 
packages is found,
+ * Classes or packages of test dependencies. The first time that one of 
those elements is found,
  * a "// Test dependencies" header comment will be added.
  */
-private static final String[] TEST_PACKAGES = {
+private static final String[] TEST_ELEMENTS = {
 "org.junit",
 "org.opengis.test",
-"org.apache.sis.test"
+"org.apache.sis.test",
+"org.apache.sis.util.test",
+"org.apache.sis.xml.test",
+"org.apache.sis.storage.test",
+"org.apache.sis.image.TiledImageMock",
+"org.apache.sis.metadata.sql.TestDatabase",
+"org.apache.sis.referencing.cs.HardCodedAxes",
+"org.apache.sis.referencing.cs.HardCodedCS",
+"org.apache.sis.referencing.crs.HardCodedCRS",
+"org.apache.sis.referencing.datum.HardCodedDatum",
+"org.apache.sis.referencing.operation.HardCodedConversions",
+"org.apache.sis.metadata.iso.citation.HardCodedCitations"
 };
 
 /**
@@ -235,7 +246,7 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
 private String[] header, body;
 
 /**
- * The imported package names, together with a bitmask telling in 
which branches they are found.
+ * The imported class or package names, together with a bitmask 
telling in which branches they are found.
  */
 private final Map imports;
 
@@ -420,13 +431,13 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
 }
 
 /**
- * Returns whether the given imported package is a test package.
+ * Returns whether the given imported class or package is for testing 
purpose.
  *
- * @param  element  name of the package to test.
- * @return whether the specified package is a test package.
+ * @param  element  name of the class or package to filter.
+ * @return whether the specified class or package is for tests.
  */
-private static boolean isTestPackage(final String element) {
-for (final String c : TEST_PACKAGES) {
+private static boolean isTestElement(final String element) {
+for (final String c : TEST_ELEMENTS) {
 if (element.startsWith(c)) {
 return true;
 }
@@ -495,7 +506,7 @@ public final class ReorganizeImports extends 
SimpleFileVisitor {
  * imports to a group of static imports, then add the 
import statement.
  */
 final String element = entry.getKey();
-if (!isTestImports && isTestPackage(element)) {
+if (!isTestImports && isTestElement(element)) {
 needSeparator = false;
 isTestImports = true;
 dest.add("");



(sis) branch geoapi-4.0 updated (53ac462e63 -> b4fbe3c1d5)

2023-10-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 53ac462e63 Automatic reordering and branch-separation of import 
statements. This is done by the 
`org.apache.sis.buildtools.coding.ReorganizeImports` tool in buildSrc for 
putting Java imports first, then Jakarta, then OpenGIS, and finally Apache SIS. 
The most important thing is that `ReorganizeImports` creates separated sections 
for imports that are not the same between the "geoapi-4.0", "geoapi-3.1" and 
"main" branches.
 new 34f2e7c373 Add more classes or packages to qualify as test 
dependencies when organizing import statements.
 new b4fbe3c1d5 Remove NullArgumentException. 
https://issues.apache.org/jira/browse/SIS-562

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/buildtools/coding/ReorganizeImports.java   | 31 ++
 .../org/apache/sis/coverage/grid/GridGeometry.java |  5 +-
 .../org/apache/sis/coverage/grid/package-info.java |  2 +-
 .../apache/sis/feature/builder/TypeBuilder.java|  7 +--
 .../apache/sis/feature/builder/package-info.java   |  2 +-
 .../sis/geometry/wrapper/GeometryWrapper.java  |  5 +-
 .../DefaultCoordinateOperationFactory.java |  5 +-
 .../sis/referencing/operation/package-info.java|  2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   | 54 -
 .../org/apache/sis/util/NullArgumentException.java | 67 --
 .../apache/sis/util/collection/CodeListSet.java|  5 +-
 .../sis/util/collection/WeakValueHashMap.java  | 11 ++--
 .../apache/sis/util/collection/package-info.java   |  2 +-
 .../apache/sis/util/internal/CheckedArrayList.java |  3 +-
 .../apache/sis/util/internal/CheckedHashSet.java   |  3 +-
 .../main/org/apache/sis/util/package-info.java |  2 +-
 .../org/apache/sis/util/ArgumentChecksTest.java|  4 +-
 .../sis/util/internal/CheckedArrayListTest.java|  5 +-
 18 files changed, 75 insertions(+), 140 deletions(-)
 delete mode 100644 
endorsed/src/org.apache.sis.util/main/org/apache/sis/util/NullArgumentException.java



(sis) 02/02: Remove NullArgumentException. https://issues.apache.org/jira/browse/SIS-562

2023-10-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 b4fbe3c1d524d896eacc8a9f53e5ae8836788cb3
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 17:58:15 2023 +0200

Remove NullArgumentException.
https://issues.apache.org/jira/browse/SIS-562
---
 .../org/apache/sis/coverage/grid/GridGeometry.java |  5 +-
 .../org/apache/sis/coverage/grid/package-info.java |  2 +-
 .../apache/sis/feature/builder/TypeBuilder.java|  7 +--
 .../apache/sis/feature/builder/package-info.java   |  2 +-
 .../sis/geometry/wrapper/GeometryWrapper.java  |  5 +-
 .../DefaultCoordinateOperationFactory.java |  5 +-
 .../sis/referencing/operation/package-info.java|  2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   | 54 -
 .../org/apache/sis/util/NullArgumentException.java | 67 --
 .../apache/sis/util/collection/CodeListSet.java|  5 +-
 .../sis/util/collection/WeakValueHashMap.java  | 11 ++--
 .../apache/sis/util/collection/package-info.java   |  2 +-
 .../apache/sis/util/internal/CheckedArrayList.java |  3 +-
 .../apache/sis/util/internal/CheckedHashSet.java   |  3 +-
 .../main/org/apache/sis/util/package-info.java |  2 +-
 .../org/apache/sis/util/ArgumentChecksTest.java|  4 +-
 .../sis/util/internal/CheckedArrayListTest.java|  5 +-
 17 files changed, 54 insertions(+), 130 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
index 75c2397d38..b77e437c60 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
@@ -61,7 +61,6 @@ import org.apache.sis.referencing.util.TemporalAccessor;
 import org.apache.sis.referencing.util.AxisDirections;
 import org.apache.sis.metadata.internal.ReferencingServices;
 import org.apache.sis.feature.internal.Resources;
-import org.apache.sis.util.NullArgumentException;
 import org.apache.sis.util.LenientComparable;
 import org.apache.sis.util.ComparisonMode;
 import org.apache.sis.util.ArgumentChecks;
@@ -132,7 +131,7 @@ import static org.apache.sis.referencing.CRS.findOperation;
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Johann Sorel (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   1.0
  */
 public class GridGeometry implements LenientComparable, Serializable {
@@ -661,7 +660,7 @@ public class GridGeometry implements LenientComparable, 
Serializable {
 boolean nilEnvelope = true;
 if (target == null || ((nilEnvelope = target.isAllNaN()) && 
target.getCoordinateReferenceSystem() == null)) {
 if (target != null && nilEnvelope) {
-throw new 
NullArgumentException(Errors.format(Errors.Keys.UnspecifiedCRS));
+throw new 
NullPointerException(Errors.format(Errors.Keys.UnspecifiedCRS));
 }
 ArgumentChecks.ensureNonNull("extent", extent);
 this.envelope = null;
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/package-info.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/package-info.java
index cd3dd5c96c..1dc6010778 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/package-info.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/package-info.java
@@ -41,7 +41,7 @@
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Johann Sorel (Geomatys)
  * @author  Alexis Manin (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   1.0
  */
 package org.apache.sis.coverage.grid;
diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/builder/TypeBuilder.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/builder/TypeBuilder.java
index 36f9c77e75..91733ca9df 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/builder/TypeBuilder.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/builder/TypeBuilder.java
@@ -26,7 +26,6 @@ import org.opengis.util.GenericName;
 import org.opengis.util.InternationalString;
 import org.apache.sis.feature.AbstractIdentifiedType;
 import org.apache.sis.feature.internal.Resources;
-import org.apache.sis.util.NullArgumentException;
 import org.apache.sis.util.Deprecable;
 import org.apache.sis.util.Localized;
 import org.apache.sis.util.Classes;
@@ -74,7 +73,7 @@ import org.opengis.feature.PropertyNotFoundException;
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.5
  * @since   0.8
  */
 public abstract class TypeBuilder implements Localized {

(sis) branch main updated (9686f9d864 -> 8783e66c1f)

2023-10-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 9686f9d864 Merge branch 'geoapi-3.1'
 add 53ac462e63 Automatic reordering and branch-separation of import 
statements. This is done by the 
`org.apache.sis.buildtools.coding.ReorganizeImports` tool in buildSrc for 
putting Java imports first, then Jakarta, then OpenGIS, and finally Apache SIS. 
The most important thing is that `ReorganizeImports` creates separated sections 
for imports that are not the same between the "geoapi-4.0", "geoapi-3.1" and 
"main" branches.
 add e0f5cfa3ec Merge branch 'geoapi-4.0' into geoapi-3.1
 new 8783e66c1f 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:
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../org/apache/sis/storage/geotiff/Writer.java |  4 ++--
 .../sis/storage/geotiff/writer/GeoEncoder.java |  9 +
 .../storage/geotiff/writer/ReformattedImage.java   |  3 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java |  7 ---
 .../apache/sis/storage/base/MetadataFetcher.java   |  3 ++-
 .../sis/io/stream/HyperRectangleWriterTest.java|  6 --
 .../apache/sis/io/stream/UpdatableWriteTest.java   |  6 --
 .../storage/coveragejson/CoverageJsonStore.java| 22 +++---
 .../coveragejson/CoverageJsonStoreProvider.java|  8 
 .../sis/storage/coveragejson/CoverageResource.java | 21 +++--
 .../sis/storage/coveragejson/binding/Axe.java  |  4 ++--
 .../sis/storage/coveragejson/binding/Axes.java |  2 +-
 .../sis/storage/coveragejson/binding/Category.java |  2 +-
 .../coveragejson/binding/CategoryEncoding.java |  4 ++--
 .../sis/storage/coveragejson/binding/Coverage.java |  6 +++---
 .../coveragejson/binding/CoverageCollection.java   |  4 ++--
 .../storage/coveragejson/binding/Dictionary.java   |  4 ++--
 .../sis/storage/coveragejson/binding/Domain.java   |  4 ++--
 .../coveragejson/binding/GeographicCRS.java|  2 +-
 .../sis/storage/coveragejson/binding/I18N.java |  8 
 .../storage/coveragejson/binding/IdentifierRS.java |  2 +-
 .../sis/storage/coveragejson/binding/NdArray.java  |  4 ++--
 .../coveragejson/binding/ObservedProperty.java |  4 ++--
 .../storage/coveragejson/binding/Parameter.java|  2 +-
 .../coveragejson/binding/ParameterGroup.java   |  4 ++--
 .../storage/coveragejson/binding/Parameters.java   |  4 ++--
 .../storage/coveragejson/binding/ProjectedCRS.java |  2 +-
 .../sis/storage/coveragejson/binding/Ranges.java   |  4 ++--
 .../binding/ReferenceSystemConnection.java |  4 ++--
 .../sis/storage/coveragejson/binding/Symbol.java   |  2 +-
 .../coveragejson/binding/TargetConcept.java|  2 +-
 .../storage/coveragejson/binding/TemporalRS.java   |  2 +-
 .../sis/storage/coveragejson/binding/TileSet.java  |  6 +++---
 .../storage/coveragejson/binding/TiledNdArray.java |  4 ++--
 .../sis/storage/coveragejson/binding/Unit.java |  2 +-
 .../storage/coveragejson/binding/VerticalCRS.java  |  2 +-
 .../coveragejson/CoverageJsonStoreTest.java| 13 -
 .../storage/coveragejson/binding/BindingTest.java  | 13 -
 41 files changed, 113 insertions(+), 98 deletions(-)



(sis) 01/01: Merge branch 'geoapi-3.1'

2023-10-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 8783e66c1f5f995a5cb2c75cebf1598f81d2cad5
Merge: 9686f9d864 e0f5cfa3ec
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 17:08:29 2023 +0200

Merge branch 'geoapi-3.1'

 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../org/apache/sis/storage/geotiff/Writer.java |  4 ++--
 .../sis/storage/geotiff/writer/GeoEncoder.java |  9 +
 .../storage/geotiff/writer/ReformattedImage.java   |  3 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java |  7 ---
 .../apache/sis/storage/base/MetadataFetcher.java   |  3 ++-
 .../sis/io/stream/HyperRectangleWriterTest.java|  6 --
 .../apache/sis/io/stream/UpdatableWriteTest.java   |  6 --
 .../storage/coveragejson/CoverageJsonStore.java| 22 +++---
 .../coveragejson/CoverageJsonStoreProvider.java|  8 
 .../sis/storage/coveragejson/CoverageResource.java | 21 +++--
 .../sis/storage/coveragejson/binding/Axe.java  |  4 ++--
 .../sis/storage/coveragejson/binding/Axes.java |  2 +-
 .../sis/storage/coveragejson/binding/Category.java |  2 +-
 .../coveragejson/binding/CategoryEncoding.java |  4 ++--
 .../sis/storage/coveragejson/binding/Coverage.java |  6 +++---
 .../coveragejson/binding/CoverageCollection.java   |  4 ++--
 .../storage/coveragejson/binding/Dictionary.java   |  4 ++--
 .../sis/storage/coveragejson/binding/Domain.java   |  4 ++--
 .../coveragejson/binding/GeographicCRS.java|  2 +-
 .../sis/storage/coveragejson/binding/I18N.java |  8 
 .../storage/coveragejson/binding/IdentifierRS.java |  2 +-
 .../sis/storage/coveragejson/binding/NdArray.java  |  4 ++--
 .../coveragejson/binding/ObservedProperty.java |  4 ++--
 .../storage/coveragejson/binding/Parameter.java|  2 +-
 .../coveragejson/binding/ParameterGroup.java   |  4 ++--
 .../storage/coveragejson/binding/Parameters.java   |  4 ++--
 .../storage/coveragejson/binding/ProjectedCRS.java |  2 +-
 .../sis/storage/coveragejson/binding/Ranges.java   |  4 ++--
 .../binding/ReferenceSystemConnection.java |  4 ++--
 .../sis/storage/coveragejson/binding/Symbol.java   |  2 +-
 .../coveragejson/binding/TargetConcept.java|  2 +-
 .../storage/coveragejson/binding/TemporalRS.java   |  2 +-
 .../sis/storage/coveragejson/binding/TileSet.java  |  6 +++---
 .../storage/coveragejson/binding/TiledNdArray.java |  4 ++--
 .../sis/storage/coveragejson/binding/Unit.java |  2 +-
 .../storage/coveragejson/binding/VerticalCRS.java  |  2 +-
 .../coveragejson/CoverageJsonStoreTest.java| 13 -
 .../storage/coveragejson/binding/BindingTest.java  | 13 -
 41 files changed, 113 insertions(+), 98 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyConsistencyCheck.java
index 531f71f93b,9fa86d38b4..7460f4a0ef
--- 
a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyConsistencyCheck.java
+++ 
b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyConsistencyCheck.java
@@@ -31,10 -31,13 +31,10 @@@ import org.apache.sis.metadata.internal
  
  // Test dependencies
  import org.junit.Test;
- import org.apache.sis.test.TestUtilities;
  import org.apache.sis.test.DependsOn;
+ import org.apache.sis.test.TestUtilities;
  import org.apache.sis.xml.test.AnnotationConsistencyCheck;
  
 -// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.util.ControlledVocabulary;
 -
  
  /**
   * Base class for tests done on metadata objects using reflection. This base 
class tests JAXB annotations
diff --cc 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataFetcher.java
index 8e0f417ddb,7a60ecb1f7..f987d86fd6
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataFetcher.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataFetcher.java
@@@ -41,9 -40,11 +40,11 @@@ import org.opengis.metadata.spatial.Cel
  import org.opengis.metadata.spatial.Georectified;
  import org.opengis.metadata.spatial.SpatialRepresentation;
  import org.opengis.metadata.spatial.GridSpatialRepresentation;
+ import org.apache.sis.util.collection.CodeListSet;
  
 -// Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.metadata.citation.Party;
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main branch:
 +import org.opengis.metadata.citation.ResponsibleParty;
 +import org.apache.sis.metadata.iso.DefaultMetadata;
  
  
  /**
diff --cc 
incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageResource.java
index 2891698e2e,db4aeaf0ce

(sis) branch geoapi-3.1 updated (b81aa21f91 -> e0f5cfa3ec)

2023-10-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 b81aa21f91 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the 
addition of a "coveragejson" module and a first draft of GeoTIFF writer.
 add 53ac462e63 Automatic reordering and branch-separation of import 
statements. This is done by the 
`org.apache.sis.buildtools.coding.ReorganizeImports` tool in buildSrc for 
putting Java imports first, then Jakarta, then OpenGIS, and finally Apache SIS. 
The most important thing is that `ReorganizeImports` creates separated sections 
for imports that are not the same between the "geoapi-4.0", "geoapi-3.1" and 
"main" branches.
 new e0f5cfa3ec 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/geometry/wrapper/jts/Wrapper.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |  2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../org/apache/sis/storage/geotiff/Writer.java |  4 ++--
 .../sis/storage/geotiff/writer/GeoEncoder.java |  9 +
 .../storage/geotiff/writer/ReformattedImage.java   |  3 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java |  7 ---
 .../apache/sis/storage/base/MetadataFetcher.java   |  8 +---
 .../sis/io/stream/HyperRectangleWriterTest.java|  6 --
 .../apache/sis/io/stream/UpdatableWriteTest.java   |  6 --
 .../storage/coveragejson/CoverageJsonStore.java| 22 +++---
 .../coveragejson/CoverageJsonStoreProvider.java|  8 
 .../sis/storage/coveragejson/CoverageResource.java | 22 --
 .../sis/storage/coveragejson/binding/Axe.java  |  4 ++--
 .../sis/storage/coveragejson/binding/Axes.java |  2 +-
 .../sis/storage/coveragejson/binding/Category.java |  2 +-
 .../coveragejson/binding/CategoryEncoding.java |  4 ++--
 .../sis/storage/coveragejson/binding/Coverage.java |  6 +++---
 .../coveragejson/binding/CoverageCollection.java   |  4 ++--
 .../storage/coveragejson/binding/Dictionary.java   |  4 ++--
 .../sis/storage/coveragejson/binding/Domain.java   |  4 ++--
 .../coveragejson/binding/GeographicCRS.java|  2 +-
 .../sis/storage/coveragejson/binding/I18N.java |  8 
 .../storage/coveragejson/binding/IdentifierRS.java |  2 +-
 .../sis/storage/coveragejson/binding/NdArray.java  |  4 ++--
 .../coveragejson/binding/ObservedProperty.java |  4 ++--
 .../storage/coveragejson/binding/Parameter.java|  2 +-
 .../coveragejson/binding/ParameterGroup.java   |  4 ++--
 .../storage/coveragejson/binding/Parameters.java   |  4 ++--
 .../storage/coveragejson/binding/ProjectedCRS.java |  2 +-
 .../sis/storage/coveragejson/binding/Ranges.java   |  4 ++--
 .../binding/ReferenceSystemConnection.java |  4 ++--
 .../sis/storage/coveragejson/binding/Symbol.java   |  2 +-
 .../coveragejson/binding/TargetConcept.java|  2 +-
 .../storage/coveragejson/binding/TemporalRS.java   |  2 +-
 .../sis/storage/coveragejson/binding/TileSet.java  |  6 +++---
 .../storage/coveragejson/binding/TiledNdArray.java |  4 ++--
 .../sis/storage/coveragejson/binding/Unit.java |  2 +-
 .../storage/coveragejson/binding/VerticalCRS.java  |  2 +-
 .../coveragejson/CoverageJsonStoreTest.java| 13 -
 .../storage/coveragejson/binding/BindingTest.java  | 13 -
 42 files changed, 118 insertions(+), 101 deletions(-)



(sis) 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1

2023-10-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 e0f5cfa3ec8216015164da158bfe05792714fe77
Merge: b81aa21f91 53ac462e63
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 16:57:33 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1

 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |  2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../org/apache/sis/storage/geotiff/Writer.java |  4 ++--
 .../sis/storage/geotiff/writer/GeoEncoder.java |  9 +
 .../storage/geotiff/writer/ReformattedImage.java   |  3 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java |  7 ---
 .../apache/sis/storage/base/MetadataFetcher.java   |  8 +---
 .../sis/io/stream/HyperRectangleWriterTest.java|  6 --
 .../apache/sis/io/stream/UpdatableWriteTest.java   |  6 --
 .../storage/coveragejson/CoverageJsonStore.java| 22 +++---
 .../coveragejson/CoverageJsonStoreProvider.java|  8 
 .../sis/storage/coveragejson/CoverageResource.java | 22 --
 .../sis/storage/coveragejson/binding/Axe.java  |  4 ++--
 .../sis/storage/coveragejson/binding/Axes.java |  2 +-
 .../sis/storage/coveragejson/binding/Category.java |  2 +-
 .../coveragejson/binding/CategoryEncoding.java |  4 ++--
 .../sis/storage/coveragejson/binding/Coverage.java |  6 +++---
 .../coveragejson/binding/CoverageCollection.java   |  4 ++--
 .../storage/coveragejson/binding/Dictionary.java   |  4 ++--
 .../sis/storage/coveragejson/binding/Domain.java   |  4 ++--
 .../coveragejson/binding/GeographicCRS.java|  2 +-
 .../sis/storage/coveragejson/binding/I18N.java |  8 
 .../storage/coveragejson/binding/IdentifierRS.java |  2 +-
 .../sis/storage/coveragejson/binding/NdArray.java  |  4 ++--
 .../coveragejson/binding/ObservedProperty.java |  4 ++--
 .../storage/coveragejson/binding/Parameter.java|  2 +-
 .../coveragejson/binding/ParameterGroup.java   |  4 ++--
 .../storage/coveragejson/binding/Parameters.java   |  4 ++--
 .../storage/coveragejson/binding/ProjectedCRS.java |  2 +-
 .../sis/storage/coveragejson/binding/Ranges.java   |  4 ++--
 .../binding/ReferenceSystemConnection.java |  4 ++--
 .../sis/storage/coveragejson/binding/Symbol.java   |  2 +-
 .../coveragejson/binding/TargetConcept.java|  2 +-
 .../storage/coveragejson/binding/TemporalRS.java   |  2 +-
 .../sis/storage/coveragejson/binding/TileSet.java  |  6 +++---
 .../storage/coveragejson/binding/TiledNdArray.java |  4 ++--
 .../sis/storage/coveragejson/binding/Unit.java |  2 +-
 .../storage/coveragejson/binding/VerticalCRS.java  |  2 +-
 .../coveragejson/CoverageJsonStoreTest.java| 13 -
 .../storage/coveragejson/binding/BindingTest.java  | 13 -
 42 files changed, 118 insertions(+), 101 deletions(-)



(sis) branch geoapi-4.0 updated: Automatic reordering and branch-separation of import statements. This is done by the `org.apache.sis.buildtools.coding.ReorganizeImports` tool in buildSrc for putting

2023-10-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


The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
 new 53ac462e63 Automatic reordering and branch-separation of import 
statements. This is done by the 
`org.apache.sis.buildtools.coding.ReorganizeImports` tool in buildSrc for 
putting Java imports first, then Jakarta, then OpenGIS, and finally Apache SIS. 
The most important thing is that `ReorganizeImports` creates separated sections 
for imports that are not the same between the "geoapi-4.0", "geoapi-3.1" and 
"main" branches.
53ac462e63 is described below

commit 53ac462e63222bdd509df494f0eae06440bf2bce
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 16:46:51 2023 +0200

Automatic reordering and branch-separation of import statements.
This is done by the `org.apache.sis.buildtools.coding.ReorganizeImports` 
tool in buildSrc for putting Java imports first, then Jakarta, then OpenGIS, 
and finally Apache SIS.
The most important thing is that `ReorganizeImports` creates separated 
sections for imports that are not the same between the "geoapi-4.0", 
"geoapi-3.1" and "main" branches.
---
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  2 +-
 .../sis/metadata/PropertyConsistencyCheck.java |  2 +-
 .../sis/metadata/xml/SchemaComplianceTest.java |  2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../org/apache/sis/storage/geotiff/Writer.java |  4 ++--
 .../sis/storage/geotiff/writer/GeoEncoder.java |  9 +
 .../storage/geotiff/writer/ReformattedImage.java   |  3 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java |  7 ---
 .../apache/sis/storage/base/MetadataFetcher.java   |  8 +---
 .../sis/io/stream/HyperRectangleWriterTest.java|  6 --
 .../apache/sis/io/stream/UpdatableWriteTest.java   |  6 --
 .../storage/coveragejson/CoverageJsonStore.java| 22 +++---
 .../coveragejson/CoverageJsonStoreProvider.java|  8 
 .../sis/storage/coveragejson/CoverageResource.java | 22 --
 .../sis/storage/coveragejson/binding/Axe.java  |  4 ++--
 .../sis/storage/coveragejson/binding/Axes.java |  2 +-
 .../sis/storage/coveragejson/binding/Category.java |  2 +-
 .../coveragejson/binding/CategoryEncoding.java |  4 ++--
 .../sis/storage/coveragejson/binding/Coverage.java |  6 +++---
 .../coveragejson/binding/CoverageCollection.java   |  4 ++--
 .../storage/coveragejson/binding/Dictionary.java   |  4 ++--
 .../sis/storage/coveragejson/binding/Domain.java   |  4 ++--
 .../coveragejson/binding/GeographicCRS.java|  2 +-
 .../sis/storage/coveragejson/binding/I18N.java |  8 
 .../storage/coveragejson/binding/IdentifierRS.java |  2 +-
 .../sis/storage/coveragejson/binding/NdArray.java  |  4 ++--
 .../coveragejson/binding/ObservedProperty.java |  4 ++--
 .../storage/coveragejson/binding/Parameter.java|  2 +-
 .../coveragejson/binding/ParameterGroup.java   |  4 ++--
 .../storage/coveragejson/binding/Parameters.java   |  4 ++--
 .../storage/coveragejson/binding/ProjectedCRS.java |  2 +-
 .../sis/storage/coveragejson/binding/Ranges.java   |  4 ++--
 .../binding/ReferenceSystemConnection.java |  4 ++--
 .../sis/storage/coveragejson/binding/Symbol.java   |  2 +-
 .../coveragejson/binding/TargetConcept.java|  2 +-
 .../storage/coveragejson/binding/TemporalRS.java   |  2 +-
 .../sis/storage/coveragejson/binding/TileSet.java  |  6 +++---
 .../storage/coveragejson/binding/TiledNdArray.java |  4 ++--
 .../sis/storage/coveragejson/binding/Unit.java |  2 +-
 .../storage/coveragejson/binding/VerticalCRS.java  |  2 +-
 .../coveragejson/CoverageJsonStoreTest.java| 13 -
 .../storage/coveragejson/binding/BindingTest.java  | 13 -
 42 files changed, 118 insertions(+), 101 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/Wrapper.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/Wrapper.java
index 77f1837e40..4d1389dec7 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/Wrapper.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/Wrapper.java
@@ -52,11 +52,11 @@ import org.apache.sis.geometry.GeneralEnvelope;
 import org.apache.sis.geometry.wrapper.Geometries;
 import org.apache.sis.geometry.wrapper.GeometryType;
 import org.apache.sis.geometry.wrapper.GeometryWrapper;
-import org.apache.sis.util.collection.BackingStoreException;
 import org.apache.sis.util.UnconvertibleObjectException;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.util.Debug;
+import org.apache.sis.util.collection.Backing

(sis) branch main updated (7276317ed7 -> 9686f9d864)

2023-10-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 7276317ed7 Set version number to 1.5 for next release cycle.
 add 3858503ae4 Documentation and code updates in I/O in preparation for 
GeoTIFF writer.
 add 255a5b2bd7 `ChannelDataInput` implements `DataInput` for allowing 
`instanceof` checks against a public interface.
 add a5cb0d0568 `ChannelDataOutput` implements `DataOutput` for allowing 
`instanceof` checks against a public interface.
 add e45d945158 Add `HyperRectangleWriter` as an helper class for 
multi-dimensional grid coverage writers.
 add 4fe9373158 Add `UpdatableWrite` as an helper class for data store 
writers which need to update values after they have been written.
 add defbef6e4a Tune test utilities in preparation for the addition of 
GeoTIFF writer.
 add 8facc18164 First version of a TIFF writer (work initiated by Erwan 
Roussel). This initial version works, but with a limited amount of color models 
and sample models.
 add 0cdc177a1b Rename GeoKeys from GeoTIFF 1.0 to GeoTIFF 1.1 names. The 
keys related to units of measure are now handled in a separated class.
 add e97299fd67 Initial GeoKeys support.
 add 182326f448 Fix spurious warnings during the verification of map 
projection parameters.
 add a93258c0ba Give more informative names to some parameters.
 add 3762fd80fe Redesign the way that readers and writers co-exist in 
`DataStore` implementations: - `isWritable(…)` needs to distinguish between 
opening an existing file or creating a new one. - `setStreamPosition(long)` 
removed. It was misused in most places, causing probable bugs. - Allow creation 
of `ChannelDataOutput` from a `ChannelDataInput`, sharing same internal. - Add 
`synchronize(…)` for making input `ChannelData` consistent with output, or 
conversely.
 add e91f576e12 Refactor `ChannelImageOutputStream` as an implementation of 
`ImageOutputStream`. It allows us to test `ChannelData.yield(ChannelData)`.
 add 4c94f8269e First draft of GeoTIFF writer accessible from public API. 
For now we do that with a `GeoTiffStore.appen(…)` method.
 add 0c4e04b918 Bug fixes when an channel data input yield to the output, 
or conversely.
 add 49288e5777 feat(CoverageJSON): add simple coveragejson read/write 
support in incubator
 add 00bd021524 Fix the project configuration for the addition of 
CoverageJSON store.
 add 11339c7efa Superficial formatting of CoverageJSON incubator module.
 add 130695a20b Fix the way reading and writing of single bits are handled 
in `ChannelData` input/output classes.
 add 2f6557ee18 Remove the "..." characters in JSON files for making them 
valid.
 add 8043b8130f Rearrange the GeoTIFF internal classes in some subpackages 
in order to provide at least a partial separation between reader and writer 
classes.
 add b81aa21f91 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the 
addition of a "coveragejson" module and a first draft of GeoTIFF writer.
 new 9686f9d864 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/coverage/grid/j2d/ImageUtilities.java  |  18 +
 .../test/org/apache/sis/image/TiledImageMock.java  |  38 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |  25 +-
 .../referencing/operation/matrix/MatrixSIS.java|  36 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   9 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   5 +-
 .../apache/sis/storage/geotiff/DeferredEntry.java  |   2 +
 .../org/apache/sis/storage/geotiff/GeoKeys.java| 142 
 .../apache/sis/storage/geotiff/GeoTiffOption.java  |  60 ++
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 280 +--
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  26 +-
 .../storage/geotiff/{GeoTIFF.java => IOBase.java}  |  60 +-
 .../sis/storage/geotiff/ImageFileDirectory.java|  40 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |  21 +-
 .../org/apache/sis/storage/geotiff/Reader.java | 107 ++-
 .../org/apache/sis/storage/geotiff/Writer.java | 826 +
 .../geotiff/{internal => base}/Compression.java|   2 +-
 .../sis/storage/geotiff/{ => base}/GeoCodes.java   |  33 +-
 .../apache/sis/storage/geotiff/base/GeoKeys.java   | 126 
 .../geotiff/{internal => base}/Predictor.java  |   2 +-
 .../geotiff/{internal => base}/Resources.java  |  22 +-
 .../{internal => base}/Resources.properties|   4 +
 .../geotiff/{internal => base}/Resources_en.java   |   2 +-
 .../geotiff/{internal => base}/Resources_fr.java   |   2 +-
 .../{internal =>

(sis) 01/01: Merge branch 'geoapi-3.1'

2023-10-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 9686f9d864ed0cc4cb68ccfc1eb7245ab71a9e33
Merge: 7276317ed7 b81aa21f91
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 16:16:18 2023 +0200

Merge branch 'geoapi-3.1'

 .../sis/coverage/grid/j2d/ImageUtilities.java  |  18 +
 .../test/org/apache/sis/image/TiledImageMock.java  |  38 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |  25 +-
 .../referencing/operation/matrix/MatrixSIS.java|  36 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   9 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   5 +-
 .../apache/sis/storage/geotiff/DeferredEntry.java  |   2 +
 .../org/apache/sis/storage/geotiff/GeoKeys.java| 142 
 .../apache/sis/storage/geotiff/GeoTiffOption.java  |  60 ++
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 280 +--
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  26 +-
 .../storage/geotiff/{GeoTIFF.java => IOBase.java}  |  60 +-
 .../sis/storage/geotiff/ImageFileDirectory.java|  40 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |  21 +-
 .../org/apache/sis/storage/geotiff/Reader.java | 107 ++-
 .../org/apache/sis/storage/geotiff/Writer.java | 826 +
 .../geotiff/{internal => base}/Compression.java|   2 +-
 .../sis/storage/geotiff/{ => base}/GeoCodes.java   |  33 +-
 .../apache/sis/storage/geotiff/base/GeoKeys.java   | 126 
 .../geotiff/{internal => base}/Predictor.java  |   2 +-
 .../geotiff/{internal => base}/Resources.java  |  22 +-
 .../{internal => base}/Resources.properties|   4 +
 .../geotiff/{internal => base}/Resources_en.java   |   2 +-
 .../geotiff/{internal => base}/Resources_fr.java   |   2 +-
 .../{internal => base}/Resources_fr.properties |   4 +
 .../sis/storage/geotiff/{ => base}/Tags.java   |   8 +-
 .../apache/sis/storage/geotiff/base/UnitKey.java   | 186 +
 .../geotiff/{internal => base}/package-info.java   |   4 +-
 .../geotiff/inflater/CompressionChannel.java   |   2 +-
 .../sis/storage/geotiff/inflater/Inflater.java |   9 +-
 .../apache/sis/storage/geotiff/inflater/LZW.java   |   2 +-
 .../storage/geotiff/inflater/PredictorChannel.java |   2 +-
 .../apache/sis/storage/geotiff/package-info.java   |   2 +-
 .../storage/geotiff/{ => reader}/CRSBuilder.java   | 317 
 .../geotiff/{ => reader}/GeoKeysLoader.java|  36 +-
 .../geotiff/{ => reader}/GridGeometryBuilder.java  |  38 +-
 .../geotiff/{ => reader}/ImageMetadataBuilder.java |  46 +-
 .../storage/geotiff/{ => reader}/Localization.java |   2 +-
 .../geotiff/{ => reader}/ReversedBitsChannel.java  |  26 +-
 .../sis/storage/geotiff/{ => reader}/Type.java |   8 +-
 .../storage/geotiff/{ => reader}/XMLMetadata.java  |  39 +-
 .../geotiff/{internal => reader}/package-info.java |  10 +-
 .../sis/storage/geotiff/writer/GeoEncoder.java | 800 
 .../storage/geotiff/writer/ReformattedImage.java   | 158 
 .../sis/storage/geotiff/writer/TagValue.java   | 105 +++
 .../sis/storage/geotiff/writer/TileMatrix.java | 212 ++
 .../geotiff/{internal => writer}/package-info.java |  10 +-
 .../org/apache/sis/storage/geotiff/WriterTest.java | 479 
 .../{internal => base}/CompressionTest.java|   2 +-
 .../storage/geotiff/{ => base}/GeoCodesTest.java   |   2 +-
 .../storage/geotiff/{ => base}/GeoIdentifiers.java |   2 +-
 .../storage/geotiff/{ => base}/GeoKeysTest.java|  14 +-
 .../sis/storage/geotiff/{ => base}/TagsTest.java   |   2 +-
 .../geotiff/{ => reader}/CRSBuilderTest.java   |   2 +-
 .../sis/storage/geotiff/{ => reader}/TypeTest.java |   2 +-
 .../geotiff/{ => reader}/XMLMetadataTest.java  |   2 +-
 .../org/apache/sis/storage/gpx/StoreProvider.java  |   2 +-
 .../org.apache.sis.storage/main/module-info.java   |   4 +-
 .../main/org/apache/sis/io/stream/ChannelData.java | 285 ---
 .../org/apache/sis/io/stream/ChannelDataInput.java | 298 ++--
 .../apache/sis/io/stream/ChannelDataOutput.java| 407 +++---
 .../sis/io/stream/ChannelImageInputStream.java | 115 +--
 .../sis/io/stream/ChannelImageOutputStream.java| 223 +++---
 .../apache/sis/io/stream/HyperRectangleReader.java |   2 +-
 .../apache/sis/io/stream/HyperRectangleWriter.java | 301 
 .../main/org/apache/sis/io/stream/IOUtilities.java |  75 +-
 .../apache/sis/io/stream/InputStreamAdapter.java   |  58 +-
 .../main/org/apache/sis/io/stream/Markable.java|   2 +-
 .../apache/sis/io/stream/OutputStreamAdapter.java  |  11 +-
 .../main/org/apache/sis/io/stream/Region.java  |  38 +-
 .../org/apache/sis/io/stream/UpdatableWrite.java   | 352 +
 .../sis/storage/ReadOnlyStorageException.java  |   1 +
 .../org/apache/sis/storage/StorageConnector.java   | 138 ++

(sis) 01/02: Remove the "..." characters in JSON files for making them valid.

2023-10-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 2f6557ee18cf683528545fe8b755a28f92d1fee3
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 27 14:54:57 2023 +0200

Remove the "..." characters in JSON files for making them valid.
---
 .../sis/storage/coveragejson/binding/domaintype_multipoint.json | 4 ++--
 .../storage/coveragejson/binding/domaintype_multipointseries.json   | 4 ++--
 .../sis/storage/coveragejson/binding/domaintype_multipolygon.json   | 6 +++---
 .../storage/coveragejson/binding/domaintype_multipolygonseries.json | 6 +++---
 .../apache/sis/storage/coveragejson/binding/domaintype_point.json   | 6 +++---
 .../sis/storage/coveragejson/binding/domaintype_pointseries.json| 6 +++---
 .../apache/sis/storage/coveragejson/binding/domaintype_polygon.json | 6 +++---
 .../sis/storage/coveragejson/binding/domaintype_polygonseries.json  | 6 +++---
 .../apache/sis/storage/coveragejson/binding/domaintype_section.json | 6 +++---
 .../sis/storage/coveragejson/binding/domaintype_trajectory.json | 6 +++---
 .../storage/coveragejson/binding/domaintype_vertical_profile.json   | 6 +++---
 11 files changed, 31 insertions(+), 31 deletions(-)

diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipoint.json
 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipoint.json
index 47ca3264b5..e11c311afc 100644
--- 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipoint.json
+++ 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipoint.json
@@ -16,7 +16,7 @@
 }
   },
   "parameters" : {
-"temperature": {...}
+"temperature": {}
   },
   "ranges" : {
 "temperature" : {
@@ -24,7 +24,7 @@
   "dataType": "float",
   "axisNames": ["composite"],
   "shape": [2],
-  "values" : [...]
+  "values" : []
 }
   }
 }
\ No newline at end of file
diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipointseries.json
 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipointseries.json
index 298b8cfb1c..14c2afa1da 100644
--- 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipointseries.json
+++ 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipointseries.json
@@ -17,7 +17,7 @@
 }
   },
   "parameters" : {
-"temperature": {...}
+"temperature": {}
   },
   "ranges" : {
 "temperature" : {
@@ -25,7 +25,7 @@
   "dataType": "float",
   "axisNames": ["t", "composite"],
   "shape": [2, 3],
-  "values" : [...]
+  "values" : []
 }
   }
 }
\ No newline at end of file
diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipolygon.json
 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipolygon.json
index e24f503100..a4c190ed1e 100644
--- 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipolygon.json
+++ 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipolygon.json
@@ -15,10 +15,10 @@
   "z": { "values": [2] },
   "t": { "values": ["2008-01-01T04:00:00Z"] }
 },
-"referencing": [...]
+"referencing": []
   },
   "parameters" : {
-"temperature": {...}
+"temperature": {}
   },
   "ranges" : {
 "temperature" : {
@@ -26,7 +26,7 @@
   "dataType": "float",
   "axisNames": ["composite"],
   "shape": [2],
-  "values" : [...]
+  "values" : []
 }
   }
 }
\ No newline at end of file
diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipolygonseries.json
 
b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/domaintype_multipolygonseries.json
index a3ff18886f..58ba59ada9 100644
--- 
a/i

(sis) branch geoapi-3.1 updated (6008e5e18d -> b81aa21f91)

2023-10-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 6008e5e18d Merge branch 'geoapi-4.0' into geoapi-3.1
 add 3858503ae4 Documentation and code updates in I/O in preparation for 
GeoTIFF writer.
 add 255a5b2bd7 `ChannelDataInput` implements `DataInput` for allowing 
`instanceof` checks against a public interface.
 add a5cb0d0568 `ChannelDataOutput` implements `DataOutput` for allowing 
`instanceof` checks against a public interface.
 add e45d945158 Add `HyperRectangleWriter` as an helper class for 
multi-dimensional grid coverage writers.
 add 4fe9373158 Add `UpdatableWrite` as an helper class for data store 
writers which need to update values after they have been written.
 add defbef6e4a Tune test utilities in preparation for the addition of 
GeoTIFF writer.
 add 8facc18164 First version of a TIFF writer (work initiated by Erwan 
Roussel). This initial version works, but with a limited amount of color models 
and sample models.
 add 0cdc177a1b Rename GeoKeys from GeoTIFF 1.0 to GeoTIFF 1.1 names. The 
keys related to units of measure are now handled in a separated class.
 add e97299fd67 Initial GeoKeys support.
 add 182326f448 Fix spurious warnings during the verification of map 
projection parameters.
 add a93258c0ba Give more informative names to some parameters.
 add 3762fd80fe Redesign the way that readers and writers co-exist in 
`DataStore` implementations: - `isWritable(…)` needs to distinguish between 
opening an existing file or creating a new one. - `setStreamPosition(long)` 
removed. It was misused in most places, causing probable bugs. - Allow creation 
of `ChannelDataOutput` from a `ChannelDataInput`, sharing same internal. - Add 
`synchronize(…)` for making input `ChannelData` consistent with output, or 
conversely.
 add e91f576e12 Refactor `ChannelImageOutputStream` as an implementation of 
`ImageOutputStream`. It allows us to test `ChannelData.yield(ChannelData)`.
 add 4c94f8269e First draft of GeoTIFF writer accessible from public API. 
For now we do that with a `GeoTiffStore.appen(…)` method.
 add 0c4e04b918 Bug fixes when an channel data input yield to the output, 
or conversely.
 add 49288e5777 feat(CoverageJSON): add simple coveragejson read/write 
support in incubator
 add 00bd021524 Fix the project configuration for the addition of 
CoverageJSON store.
 add 11339c7efa Superficial formatting of CoverageJSON incubator module.
 add 130695a20b Fix the way reading and writing of single bits are handled 
in `ChannelData` input/output classes.
 add 2f6557ee18 Remove the "..." characters in JSON files for making them 
valid.
 add 8043b8130f Rearrange the GeoTIFF internal classes in some subpackages 
in order to provide at least a partial separation between reader and writer 
classes.
 new b81aa21f91 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the 
addition of a "coveragejson" module and a first draft of GeoTIFF writer.

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/coverage/grid/j2d/ImageUtilities.java  |  18 +
 .../test/org/apache/sis/image/TiledImageMock.java  |  38 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |  25 +-
 .../referencing/operation/matrix/MatrixSIS.java|  36 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   9 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   5 +-
 .../apache/sis/storage/geotiff/DeferredEntry.java  |   2 +
 .../org/apache/sis/storage/geotiff/GeoKeys.java| 142 
 .../apache/sis/storage/geotiff/GeoTiffOption.java  |  60 ++
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 280 +--
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  26 +-
 .../storage/geotiff/{GeoTIFF.java => IOBase.java}  |  60 +-
 .../sis/storage/geotiff/ImageFileDirectory.java|  40 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |  21 +-
 .../org/apache/sis/storage/geotiff/Reader.java | 107 ++-
 .../org/apache/sis/storage/geotiff/Writer.java | 826 +
 .../geotiff/{internal => base}/Compression.java|   2 +-
 .../sis/storage/geotiff/{ => base}/GeoCodes.java   |  33 +-
 .../apache/sis/storage/geotiff/base/GeoKeys.java   | 126 
 .../geotiff/{internal => base}/Predictor.java  |   2 +-
 .../geotiff/{internal => base}/Resources.java  |  22 +-
 .../{internal => base}/Resources.properties|   4 +
 .../geotiff/{internal => base}/Resources_en.java   |   2 +-
 .../geotiff/{internal => base}/Resources_fr.java   |   2 +-
 .../{internal => base}/Resources_fr.properties |   4 +
 .../

(sis) 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the addition of a "coveragejson" module and a first draft of GeoTIFF writer.

2023-10-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 b81aa21f9145f2d3c8dd869c54bd418e192e4591
Merge: 6008e5e18d 8043b8130f
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 28 15:55:24 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1.
Contains the addition of a "coveragejson" module and a first draft of 
GeoTIFF writer.

 .../sis/coverage/grid/j2d/ImageUtilities.java  |  18 +
 .../test/org/apache/sis/image/TiledImageMock.java  |  38 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |  25 +-
 .../referencing/operation/matrix/MatrixSIS.java|  36 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   9 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   5 +-
 .../apache/sis/storage/geotiff/DeferredEntry.java  |   2 +
 .../org/apache/sis/storage/geotiff/GeoKeys.java| 142 
 .../apache/sis/storage/geotiff/GeoTiffOption.java  |  60 ++
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 280 +--
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  26 +-
 .../storage/geotiff/{GeoTIFF.java => IOBase.java}  |  60 +-
 .../sis/storage/geotiff/ImageFileDirectory.java|  40 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |  21 +-
 .../org/apache/sis/storage/geotiff/Reader.java | 107 ++-
 .../org/apache/sis/storage/geotiff/Writer.java | 826 +
 .../geotiff/{internal => base}/Compression.java|   2 +-
 .../sis/storage/geotiff/{ => base}/GeoCodes.java   |  33 +-
 .../apache/sis/storage/geotiff/base/GeoKeys.java   | 126 
 .../geotiff/{internal => base}/Predictor.java  |   2 +-
 .../geotiff/{internal => base}/Resources.java  |  22 +-
 .../{internal => base}/Resources.properties|   4 +
 .../geotiff/{internal => base}/Resources_en.java   |   2 +-
 .../geotiff/{internal => base}/Resources_fr.java   |   2 +-
 .../{internal => base}/Resources_fr.properties |   4 +
 .../sis/storage/geotiff/{ => base}/Tags.java   |   8 +-
 .../apache/sis/storage/geotiff/base/UnitKey.java   | 186 +
 .../geotiff/{internal => base}/package-info.java   |   4 +-
 .../geotiff/inflater/CompressionChannel.java   |   2 +-
 .../sis/storage/geotiff/inflater/Inflater.java |   9 +-
 .../apache/sis/storage/geotiff/inflater/LZW.java   |   2 +-
 .../storage/geotiff/inflater/PredictorChannel.java |   2 +-
 .../apache/sis/storage/geotiff/package-info.java   |   2 +-
 .../storage/geotiff/{ => reader}/CRSBuilder.java   | 317 
 .../geotiff/{ => reader}/GeoKeysLoader.java|  36 +-
 .../geotiff/{ => reader}/GridGeometryBuilder.java  |  38 +-
 .../geotiff/{ => reader}/ImageMetadataBuilder.java |  46 +-
 .../storage/geotiff/{ => reader}/Localization.java |   2 +-
 .../geotiff/{ => reader}/ReversedBitsChannel.java  |  26 +-
 .../sis/storage/geotiff/{ => reader}/Type.java |   8 +-
 .../storage/geotiff/{ => reader}/XMLMetadata.java  |  39 +-
 .../geotiff/{internal => reader}/package-info.java |  10 +-
 .../sis/storage/geotiff/writer/GeoEncoder.java | 800 
 .../storage/geotiff/writer/ReformattedImage.java   | 158 
 .../sis/storage/geotiff/writer/TagValue.java   | 105 +++
 .../sis/storage/geotiff/writer/TileMatrix.java | 212 ++
 .../geotiff/{internal => writer}/package-info.java |  10 +-
 .../org/apache/sis/storage/geotiff/WriterTest.java | 479 
 .../{internal => base}/CompressionTest.java|   2 +-
 .../storage/geotiff/{ => base}/GeoCodesTest.java   |   2 +-
 .../storage/geotiff/{ => base}/GeoIdentifiers.java |   2 +-
 .../storage/geotiff/{ => base}/GeoKeysTest.java|  14 +-
 .../sis/storage/geotiff/{ => base}/TagsTest.java   |   2 +-
 .../geotiff/{ => reader}/CRSBuilderTest.java   |   2 +-
 .../sis/storage/geotiff/{ => reader}/TypeTest.java |   2 +-
 .../geotiff/{ => reader}/XMLMetadataTest.java  |   2 +-
 .../org/apache/sis/storage/gpx/StoreProvider.java  |   2 +-
 .../org.apache.sis.storage/main/module-info.java   |   4 +-
 .../main/org/apache/sis/io/stream/ChannelData.java | 285 ---
 .../org/apache/sis/io/stream/ChannelDataInput.java | 298 ++--
 .../apache/sis/io/stream/ChannelDataOutput.java| 407 +++---
 .../sis/io/stream/ChannelImageInputStream.java | 115 +--
 .../sis/io/stream/ChannelImageOutputStream.java| 223 +++---
 .../apache/sis/io/stream/HyperRectangleReader.java |   2 +-
 .../apache/sis/io/stream/HyperRectangleWriter.java | 301 
 .../main/org/apache/sis/io/stream/IOUtilities.java |  75 +-
 .../apache/sis/io/stream/InputStreamAdapter.java   |  58 +-
 .../main/org/apache/sis/io/stream/Markable.java|   2 +-
 .../apache/sis/io/stream/OutputStreamAdapter.java  |  11 +-
 .../main/org/apache/sis/io/stream/Region.java  |  38 +-
 .../org/apache/sis/io/stream/UpdatableWrite.java   | 352 

(sis) 02/02: Rearrange the GeoTIFF internal classes in some subpackages in order to provide at least a partial separation between reader and writer classes.

2023-10-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 8043b8130f1b8394fa951fe11d8d42b552b27458
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 27 15:00:19 2023 +0200

Rearrange the GeoTIFF internal classes in some subpackages
in order to provide at least a partial separation between
reader and writer classes.
---
 .../org/apache/sis/storage/geotiff/DataCube.java   |  7 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |  3 +-
 .../apache/sis/storage/geotiff/DeferredEntry.java  |  2 +
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 95 --
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  8 +-
 .../storage/geotiff/{GeoTIFF.java => IOBase.java}  | 52 +++-
 .../sis/storage/geotiff/ImageFileDirectory.java| 40 ++---
 .../apache/sis/storage/geotiff/NativeMetadata.java | 15 ++--
 .../org/apache/sis/storage/geotiff/Reader.java | 22 -
 .../org/apache/sis/storage/geotiff/Writer.java | 79 +-
 .../geotiff/{internal => base}/Compression.java|  2 +-
 .../sis/storage/geotiff/{ => base}/GeoCodes.java   | 33 +++-
 .../sis/storage/geotiff/{ => base}/GeoKeys.java| 19 +
 .../geotiff/{internal => base}/Predictor.java  |  2 +-
 .../geotiff/{internal => base}/Resources.java  |  2 +-
 .../{internal => base}/Resources.properties|  0
 .../geotiff/{internal => base}/Resources_en.java   |  2 +-
 .../geotiff/{internal => base}/Resources_fr.java   |  2 +-
 .../{internal => base}/Resources_fr.properties |  0
 .../sis/storage/geotiff/{ => base}/Tags.java   |  8 +-
 .../sis/storage/geotiff/{ => base}/UnitKey.java| 16 ++--
 .../geotiff/{internal => base}/package-info.java   |  4 +-
 .../geotiff/inflater/CompressionChannel.java   |  2 +-
 .../sis/storage/geotiff/inflater/Inflater.java |  6 +-
 .../apache/sis/storage/geotiff/inflater/LZW.java   |  2 +-
 .../storage/geotiff/inflater/PredictorChannel.java |  2 +-
 .../storage/geotiff/{ => reader}/CRSBuilder.java   | 50 
 .../geotiff/{ => reader}/GeoKeysLoader.java| 34 +++-
 .../geotiff/{ => reader}/GridGeometryBuilder.java  | 38 +
 .../geotiff/{ => reader}/ImageMetadataBuilder.java | 46 ---
 .../storage/geotiff/{ => reader}/Localization.java |  2 +-
 .../geotiff/{ => reader}/ReversedBitsChannel.java  |  9 +-
 .../sis/storage/geotiff/{ => reader}/Type.java |  8 +-
 .../storage/geotiff/{ => reader}/XMLMetadata.java  | 39 +
 .../geotiff/{internal => reader}/package-info.java | 10 ++-
 .../{GeoKeysWriter.java => writer/GeoEncoder.java} | 76 +
 .../geotiff/{ => writer}/ReformattedImage.java | 22 ++---
 .../{TagValueWriter.java => writer/TagValue.java}  | 52 ++--
 .../TileMatrix.java}   | 22 ++---
 .../geotiff/{internal => writer}/package-info.java | 10 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java | 11 +--
 .../{internal => base}/CompressionTest.java|  2 +-
 .../storage/geotiff/{ => base}/GeoCodesTest.java   |  2 +-
 .../storage/geotiff/{ => base}/GeoIdentifiers.java |  2 +-
 .../storage/geotiff/{ => base}/GeoKeysTest.java|  6 +-
 .../sis/storage/geotiff/{ => base}/TagsTest.java   |  2 +-
 .../geotiff/{ => reader}/CRSBuilderTest.java   |  2 +-
 .../sis/storage/geotiff/{ => reader}/TypeTest.java |  2 +-
 .../geotiff/{ => reader}/XMLMetadataTest.java  |  2 +-
 .../apache/sis/storage/base/MetadataFetcher.java   |  4 +-
 50 files changed, 485 insertions(+), 393 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
index eff8a80e3e..43980dd29e 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
@@ -28,9 +28,10 @@ import org.apache.sis.storage.DataStoreContentException;
 import org.apache.sis.storage.event.StoreListeners;
 import org.apache.sis.coverage.grid.GridCoverage;
 import org.apache.sis.coverage.grid.GridGeometry;
-import org.apache.sis.storage.geotiff.internal.Resources;
-import org.apache.sis.storage.geotiff.internal.Predictor;
-import org.apache.sis.storage.geotiff.internal.Compression;
+import org.apache.sis.storage.geotiff.base.Tags;
+import org.apache.sis.storage.geotiff.base.Resources;
+import org.apache.sis.storage.geotiff.base.Predictor;
+import org.apache.sis.storage.geotiff.base.Compression;
 import org.apache.sis.storage.base.TiledGridResource;
 import org.apache.sis.storage.base.ResourceOnFileSystem;
 import org.apache.sis.storage.base.StoreResource;
diff --git 

(sis) branch geoapi-4.0 updated (130695a20b -> 8043b8130f)

2023-10-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 130695a20b Fix the way reading and writing of single bits are handled 
in `ChannelData` input/output classes.
 new 2f6557ee18 Remove the "..." characters in JSON files for making them 
valid.
 new 8043b8130f Rearrange the GeoTIFF internal classes in some subpackages 
in order to provide at least a partial separation between reader and writer 
classes.

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/storage/geotiff/DataCube.java   |  7 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |  3 +-
 .../apache/sis/storage/geotiff/DeferredEntry.java  |  2 +
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 95 --
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  8 +-
 .../storage/geotiff/{GeoTIFF.java => IOBase.java}  | 52 +++-
 .../sis/storage/geotiff/ImageFileDirectory.java| 40 ++---
 .../apache/sis/storage/geotiff/NativeMetadata.java | 15 ++--
 .../org/apache/sis/storage/geotiff/Reader.java | 22 -
 .../org/apache/sis/storage/geotiff/Writer.java | 79 +-
 .../geotiff/{internal => base}/Compression.java|  2 +-
 .../sis/storage/geotiff/{ => base}/GeoCodes.java   | 33 +++-
 .../sis/storage/geotiff/{ => base}/GeoKeys.java| 19 +
 .../geotiff/{internal => base}/Predictor.java  |  2 +-
 .../geotiff/{internal => base}/Resources.java  |  2 +-
 .../{internal => base}/Resources.properties|  0
 .../sis/storage/geotiff/base}/Resources_en.java|  2 +-
 .../sis/storage/geotiff/base}/Resources_fr.java|  2 +-
 .../{internal => base}/Resources_fr.properties |  0
 .../sis/storage/geotiff/{ => base}/Tags.java   |  8 +-
 .../sis/storage/geotiff/{ => base}/UnitKey.java| 16 ++--
 .../sis/storage/geotiff/base}/package-info.java|  4 +-
 .../geotiff/inflater/CompressionChannel.java   |  2 +-
 .../sis/storage/geotiff/inflater/Inflater.java |  6 +-
 .../apache/sis/storage/geotiff/inflater/LZW.java   |  2 +-
 .../storage/geotiff/inflater/PredictorChannel.java |  2 +-
 .../sis/storage/geotiff/internal/Resources_en.java | 30 ---
 .../sis/storage/geotiff/internal/Resources_fr.java | 30 ---
 .../sis/storage/geotiff/internal/package-info.java | 28 ---
 .../storage/geotiff/{ => reader}/CRSBuilder.java   | 50 
 .../geotiff/{ => reader}/GeoKeysLoader.java| 34 +++-
 .../geotiff/{ => reader}/GridGeometryBuilder.java  | 38 +
 .../geotiff/{ => reader}/ImageMetadataBuilder.java | 46 ---
 .../storage/geotiff/{ => reader}/Localization.java |  2 +-
 .../geotiff/{ => reader}/ReversedBitsChannel.java  |  9 +-
 .../sis/storage/geotiff/{ => reader}/Type.java |  8 +-
 .../storage/geotiff/{ => reader}/XMLMetadata.java  | 39 +
 .../sis/storage/geotiff/reader}/package-info.java  | 10 ++-
 .../{GeoKeysWriter.java => writer/GeoEncoder.java} | 76 +
 .../geotiff/{ => writer}/ReformattedImage.java | 22 ++---
 .../{TagValueWriter.java => writer/TagValue.java}  | 52 ++--
 .../TileMatrix.java}   | 22 ++---
 .../sis/storage/geotiff/writer}/package-info.java  | 10 ++-
 .../org/apache/sis/storage/geotiff/WriterTest.java | 11 +--
 .../{internal => base}/CompressionTest.java|  2 +-
 .../storage/geotiff/{ => base}/GeoCodesTest.java   |  2 +-
 .../storage/geotiff/{ => base}/GeoIdentifiers.java |  2 +-
 .../storage/geotiff/{ => base}/GeoKeysTest.java|  6 +-
 .../sis/storage/geotiff/{ => base}/TagsTest.java   |  2 +-
 .../geotiff/{ => reader}/CRSBuilderTest.java   |  2 +-
 .../sis/storage/geotiff/{ => reader}/TypeTest.java |  2 +-
 .../geotiff/{ => reader}/XMLMetadataTest.java  |  2 +-
 .../apache/sis/storage/base/MetadataFetcher.java   |  4 +-
 .../binding/domaintype_multipoint.json |  4 +-
 .../binding/domaintype_multipointseries.json   |  4 +-
 .../binding/domaintype_multipolygon.json   |  6 +-
 .../binding/domaintype_multipolygonseries.json |  6 +-
 .../coveragejson/binding/domaintype_point.json |  6 +-
 .../binding/domaintype_pointseries.json|  6 +-
 .../coveragejson/binding/domaintype_polygon.json   |  6 +-
 .../binding/domaintype_polygonseries.json  |  6 +-
 .../coveragejson/binding/domaintype_section.json   |  6 +-
 .../binding/domaintype_trajectory.json |  6 +-
 .../binding/domaintype_vertical_profile.json   |  6 +-
 64 files changed, 516 insertions(+), 512 deletions(-)
 rename 
endorsed/src/org.apac

(sis) branch geoapi-4.0 updated: Fix the way reading and writing of single bits are handled in `ChannelData` input/output classes.

2023-10-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


The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
 new 130695a20b Fix the way reading and writing of single bits are handled 
in `ChannelData` input/output classes.
130695a20b is described below

commit 130695a20b77553514c68e1faa1f551234005dc4
Author: Martin Desruisseaux 
AuthorDate: Thu Oct 26 20:47:54 2023 +0200

Fix the way reading and writing of single bits are handled in `ChannelData` 
input/output classes.
---
 .../sis/storage/geotiff/ReversedBitsChannel.java   |   6 +-
 .../main/org/apache/sis/io/stream/ChannelData.java |  88 +++---
 .../org/apache/sis/io/stream/ChannelDataInput.java | 103 +
 .../apache/sis/io/stream/ChannelDataOutput.java|  81 +---
 .../sis/io/stream/ChannelImageInputStream.java |  26 +-
 .../sis/io/stream/ChannelImageOutputStream.java|  14 +--
 .../sis/io/stream/ChannelDataOutputTest.java   |  11 +--
 .../io/stream/ChannelImageOutputStreamTest.java|  12 +--
 .../io/stream/MemoryCacheImageOutputStream.java|  68 +-
 9 files changed, 270 insertions(+), 139 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
index 8d181cb727..f8dec2fd9a 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
@@ -63,10 +63,8 @@ final class ReversedBitsChannel implements 
ReadableByteChannel, SeekableByteChan
  * and because a new buffer is created for each strip or tile to read.
  */
 static ChannelDataInput wrap(final ChannelDataInput input) throws 
IOException {
-final var buffer  = 
ByteBuffer.allocate(2048).order(input.buffer.order());
-final var reverse = new ChannelDataInput(input.filename, new 
ReversedBitsChannel(input), buffer, true);
-input.yield(reverse);
-return reverse;
+final var buffer = 
ByteBuffer.allocate(2048).order(input.buffer.order());
+return new ChannelDataInput(input, new ReversedBitsChannel(input), 
buffer);
 }
 
 /**
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
index 60bece689e..d9da89481f 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
@@ -42,7 +42,7 @@ public abstract class ChannelData implements Markable {
  * assert (1 << BIT_OFFSET_SIZE) == Byte.SIZE;
  * }
  */
-private static final int BIT_OFFSET_SIZE = 3;
+static final int BIT_OFFSET_SIZE = 3;
 
 /**
  * A short identifier (typically a filename without path) used for 
formatting error message.
@@ -68,13 +68,18 @@ public abstract class ChannelData implements Markable {
 private long channelOffset;
 
 /**
- * The channel position where is located the {@link #buffer} value at 
index 0.
+ * The channel position where is located the {@link #buffer}.
  * This is initially zero and shall be incremented as below:
  *
  * 
  *   By {@link ByteBuffer#position()} every time {@link 
ByteBuffer#compact()} is invoked.
  *   By {@link ByteBuffer#limit()}every time {@link 
ByteBuffer#clear()}   is invoked.
  * 
+ *
+ * Subclass-dependent interpretation
+ * The value depends on whether the buffer is used before or after 
transfer from/to the channel.
+ * For {@link ChannelDataOutput}, the value is the channel position of 
buffer position 0.
+ * For {@link ChannelDataInput},  the value is the channel position of 
buffer limit.
  */
 long bufferOffset;
 
@@ -83,9 +88,16 @@ public abstract class ChannelData implements Markable {
  * and the remaining of the {@code long} value is the stream position 
where the bit
  * offset is valid.
  *
+ * Subclass-dependent interpretation
+ * Which byte contains the bits depends on whether this {@code 
ChannelData} is an input or an output.
+ * For {@link ChannelDataOutput}, the bits are stored in the byte before 
the current buffer position.
+ * For {@link ChannelDataInput},  the bits are stored in the byte at the 
current buffer position.
+ *
  * @see #getBitOffset()
+ * @see #setBitOffset(int)
+ * @see #skipRemainingBits()
  */
-private long bitPosition;
+long bitPosition;
 
 /**
  * The most recent mark, or {@code null} if none.
@@ -

(sis) branch geoapi-4.0 updated (49288e5777 -> 11339c7efa)

2023-10-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 49288e5777 feat(CoverageJSON): add simple coveragejson read/write 
support in incubator
 new 00bd021524 Fix the project configuration for the addition of 
CoverageJSON store.
 new 11339c7efa Superficial formatting of CoverageJSON incubator module.

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.storage/main/module-info.java   | 10 
 .../main/module-info.java  | 29 ++
 .../storage/coveragejson/CoverageJsonStore.java|  1 +
 .../coveragejson/CoverageJsonStoreProvider.java|  5 
 .../sis/storage/coveragejson/CoverageResource.java |  5 ++--
 .../sis/storage/coveragejson/binding/Axe.java  | 19 +-
 .../sis/storage/coveragejson/binding/Axes.java |  5 
 .../sis/storage/coveragejson/binding/Category.java | 12 +++--
 .../coveragejson/binding/CategoryEncoding.java |  9 ++-
 .../sis/storage/coveragejson/binding/Coverage.java | 18 +-
 .../coveragejson/binding/CoverageCollection.java   | 15 ++-
 .../coveragejson/binding/CoverageJsonObject.java   |  5 +++-
 .../storage/coveragejson/binding/Dictionary.java   | 16 +++-
 .../sis/storage/coveragejson/binding/Domain.java   | 11 +++-
 .../coveragejson/binding/GeographicCRS.java|  9 ++-
 .../sis/storage/coveragejson/binding/I18N.java |  8 +-
 .../storage/coveragejson/binding/IdentifierRS.java | 15 +--
 .../storage/coveragejson/binding/Identifiers.java  |  4 ++-
 .../sis/storage/coveragejson/binding/NdArray.java  | 12 +
 .../coveragejson/binding/ObservedProperty.java | 12 ++---
 .../storage/coveragejson/binding/Parameter.java| 18 --
 .../coveragejson/binding/ParameterGroup.java   | 14 ++-
 .../storage/coveragejson/binding/Parameters.java   |  9 ++-
 .../storage/coveragejson/binding/ProjectedCRS.java |  9 ++-
 .../sis/storage/coveragejson/binding/Ranges.java   |  9 ++-
 .../binding/ReferenceSystemConnection.java |  9 ++-
 .../sis/storage/coveragejson/binding/Symbol.java   |  7 +-
 .../coveragejson/binding/TargetConcept.java|  5 
 .../storage/coveragejson/binding/TemporalRS.java   |  9 ++-
 .../sis/storage/coveragejson/binding/TileSet.java  |  8 +-
 .../storage/coveragejson/binding/TiledNdArray.java | 13 +-
 .../sis/storage/coveragejson/binding/Unit.java |  8 +-
 .../storage/coveragejson/binding/VerticalCRS.java  |  9 ++-
 .../coveragejson/binding}/package-info.java|  6 +++--
 .../sis/storage/coveragejson}/package-info.java|  6 +++--
 .../coveragejson/CoverageJsonStoreTest.java| 14 ---
 .../storage/coveragejson/binding/BindingTest.java  |  5 +++-
 .../sis/storage/coveragejson/binding/LICENSE.md|  5 
 .../storage/coveragejson/binding/package-info.java | 28 -
 netbeans-project/ivy.xml   |  1 +
 netbeans-project/nbproject/project.properties  |  1 +
 settings.gradle.kts|  2 +-
 42 files changed, 325 insertions(+), 90 deletions(-)
 copy incubator/src/{org.apache.sis.webapp/main/org/apache/sis/services => 
org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/binding}/package-info.java
 (88%)
 copy incubator/src/{org.apache.sis.webapp/main/org/apache/sis/services => 
org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson}/package-info.java
 (88%)
 create mode 100644 
incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/LICENSE.md
 delete mode 100644 
incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/binding/package-info.java



(sis) 01/02: Fix the project configuration for the addition of CoverageJSON store.

2023-10-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 00bd0215240e624746adcc59bc38cd5bccb41eae
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 27 14:06:54 2023 +0200

Fix the project configuration for the addition of CoverageJSON store.
---
 .../org.apache.sis.storage/main/module-info.java   | 10 
 .../main/module-info.java  | 29 ++
 .../sis/storage/coveragejson/CoverageResource.java |  5 ++--
 .../storage/coveragejson/binding/package-info.java |  7 +-
 .../sis/storage/coveragejson}/package-info.java| 11 +++-
 .../sis/storage/coveragejson/binding/LICENSE.md|  5 
 netbeans-project/ivy.xml   |  1 +
 netbeans-project/nbproject/project.properties  |  1 +
 settings.gradle.kts|  2 +-
 9 files changed, 44 insertions(+), 27 deletions(-)

diff --git a/endorsed/src/org.apache.sis.storage/main/module-info.java 
b/endorsed/src/org.apache.sis.storage/main/module-info.java
index e5b206051e..adf86a6b61 100644
--- a/endorsed/src/org.apache.sis.storage/main/module-info.java
+++ b/endorsed/src/org.apache.sis.storage/main/module-info.java
@@ -20,7 +20,7 @@
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.4
+ * @version 1.5
  * @since   0.3
  */
 module org.apache.sis.storage {
@@ -53,20 +53,20 @@ module org.apache.sis.storage {
 org.apache.sis.storage.netcdf,
 org.apache.sis.storage.geotiff,
 org.apache.sis.storage.earthobservation,
+org.apache.sis.storage.coveragejson,// In the "incubator" 
sub-project.
 org.apache.sis.util,// For the "About" 
command.
 org.apache.sis.console,
 org.apache.sis.openoffice,
-org.apache.sis.gui, // In the "optional" 
sub-project.
-org.apache.sis.storage.coveragejson;// In the "incubator"
+org.apache.sis.gui; // In the "optional" 
sub-project.
 
 exports org.apache.sis.io.stream to
 org.apache.sis.storage.xml,
 org.apache.sis.storage.sql,
 org.apache.sis.storage.netcdf,
 org.apache.sis.storage.geotiff,
+org.apache.sis.storage.coveragejson,// In the "incubator" 
sub-project.
 org.apache.sis.cloud.aws,
-org.apache.sis.gui, // In the "optional" 
sub-project.
-org.apache.sis.storage.coveragejson;// In the "incubator"
+org.apache.sis.gui; // In the "optional" 
sub-project.
 
 exports org.apache.sis.storage.xml to
 org.apache.sis.storage.xml,
diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/main/module-info.java 
b/incubator/src/org.apache.sis.storage.coveragejson/main/module-info.java
index 2daabe4da5..4005e4cdf9 100644
--- a/incubator/src/org.apache.sis.storage.coveragejson/main/module-info.java
+++ b/incubator/src/org.apache.sis.storage.coveragejson/main/module-info.java
@@ -18,18 +18,37 @@
 /**
  * Coverage-json store.
  *
+ * @todo Consider renaming as {@code org.apache.sis.storage.json.coverage} in 
order to group all JSON formats
+ *   in a single root. Also rename package names accordingly. Having the 
exact format name "coveragejson"
+ *   in module/package name is redundant with {@code CoverageJsonStore} 
class name. Furthermore the
+ *   "Coverage-json" description appears right after module name in 
Javadoc. Having a single "json"
+ *   root allow Javadoc to detect more easily the related modules and 
organize them accordingly.
+ *
  * @author  Johann Sorel (Geomatys)
  */
 module org.apache.sis.storage.coveragejson {
+// Dependencies used in public API.
+requires transitive org.apache.sis.referencing;
 requires transitive org.apache.sis.storage;
-requires transitive jakarta.json.bind;
-requires transitive jakarta.json;
-requires transitive org.eclipse.yasson;
+
+// Dependencies internal to the implementation.
+requires jakarta.json;
+requires jakarta.json.bind;
+
+// Temporary dependency used by BindingTest class. TODO: remove that 
dependency.
+requires org.eclipse.yasson;
 
 provides org.apache.sis.storage.DataStoreProvider
-with org.apache.sis.storage.coveragejson.CoverageJsonStoreProvider;
+with org.apache.sis.storage.coveragejson.CoverageJsonStoreProvider;
 
 exports org.apache.sis.storage.coveragejson;
-//should not be exposed but is needed for yasson to find classes and 
methods.
+
+/*
+ * TODO
+ * Following should be a qualified export to 

(sis) 02/02: Superficial formatting of CoverageJSON incubator module.

2023-10-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 11339c7efa40235808ffaed6476b42650f274d4c
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 27 14:17:38 2023 +0200

Superficial formatting of CoverageJSON incubator module.
---
 .../sis/storage/coveragejson/CoverageJsonStore.java   |  1 +
 .../coveragejson/CoverageJsonStoreProvider.java   |  5 +
 .../apache/sis/storage/coveragejson/binding/Axe.java  | 19 ++-
 .../apache/sis/storage/coveragejson/binding/Axes.java |  5 +
 .../sis/storage/coveragejson/binding/Category.java| 12 ++--
 .../coveragejson/binding/CategoryEncoding.java|  9 -
 .../sis/storage/coveragejson/binding/Coverage.java| 18 +-
 .../coveragejson/binding/CoverageCollection.java  | 15 ++-
 .../coveragejson/binding/CoverageJsonObject.java  |  5 -
 .../sis/storage/coveragejson/binding/Dictionary.java  | 16 ++--
 .../sis/storage/coveragejson/binding/Domain.java  | 11 ++-
 .../storage/coveragejson/binding/GeographicCRS.java   |  9 -
 .../apache/sis/storage/coveragejson/binding/I18N.java |  8 +++-
 .../storage/coveragejson/binding/IdentifierRS.java| 15 +--
 .../sis/storage/coveragejson/binding/Identifiers.java |  4 +++-
 .../sis/storage/coveragejson/binding/NdArray.java | 12 
 .../coveragejson/binding/ObservedProperty.java| 12 +---
 .../sis/storage/coveragejson/binding/Parameter.java   | 18 --
 .../storage/coveragejson/binding/ParameterGroup.java  | 14 +-
 .../sis/storage/coveragejson/binding/Parameters.java  |  9 -
 .../storage/coveragejson/binding/ProjectedCRS.java|  9 -
 .../sis/storage/coveragejson/binding/Ranges.java  |  9 -
 .../binding/ReferenceSystemConnection.java|  9 -
 .../sis/storage/coveragejson/binding/Symbol.java  |  7 ++-
 .../storage/coveragejson/binding/TargetConcept.java   |  5 +
 .../sis/storage/coveragejson/binding/TemporalRS.java  |  9 -
 .../sis/storage/coveragejson/binding/TileSet.java |  8 +++-
 .../storage/coveragejson/binding/TiledNdArray.java| 13 -
 .../apache/sis/storage/coveragejson/binding/Unit.java |  8 +++-
 .../sis/storage/coveragejson/binding/VerticalCRS.java |  9 -
 .../storage/coveragejson/CoverageJsonStoreTest.java   | 14 +-
 .../sis/storage/coveragejson/binding/BindingTest.java |  5 -
 32 files changed, 277 insertions(+), 45 deletions(-)

diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStore.java
 
b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStore.java
index 61ce1c9c48..07eb67bbd0 100644
--- 
a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStore.java
+++ 
b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStore.java
@@ -48,6 +48,7 @@ import org.apache.sis.storage.WritableAggregate;
 import org.opengis.metadata.Metadata;
 import org.opengis.parameter.ParameterValueGroup;
 
+
 /**
  * A data store backed by Coverage-JSON files.
  *
diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java
 
b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java
index cce719fc29..ab272fed38 100644
--- 
a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java
+++ 
b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java
@@ -31,6 +31,7 @@ import org.apache.sis.storage.StorageConnector;
 import org.apache.sis.util.Version;
 import org.opengis.parameter.ParameterDescriptorGroup;
 
+
 /**
  * The provider of {@link CoverageJsonStore} instances. Given a {@link 
StorageConnector} input,
  * this class tries to instantiate a {@code CoverageJsonStore}.
@@ -48,6 +49,7 @@ import org.opengis.parameter.ParameterDescriptorGroup;
 public class CoverageJsonStoreProvider extends DataStoreProvider {
 
 public static final String NAME = "CoverageJSON";
+
 /**
  * The MIME type for Coverage-JSON files.
  */
@@ -65,6 +67,9 @@ public class CoverageJsonStoreProvider extends 
DataStoreProvider {
  */
 private static final ParameterDescriptorGroup OPEN_DESCRIPTOR = 
URIDataStore.Provider.descriptor(NAME);
 
+public CoverageJsonStoreProvider() {
+}
+
 @Override
 public String getShortName() {
 return NAME;
diff --git 
a/incubator/src/org.apache.sis.storage.coveragejson/main/

[sis-site] branch asf-site updated (275fc8aa -> bdf55413)

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

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


from 275fc8aa Merge branch 'asf-staging' into asf-site.
 add bb4d725e Regenerate the "supported formats" page.
 new bdf55413 Merge branch 'asf-staging' into asf-site

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:
 formats.html | 14 ++
 index.xml|  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)



[sis-site] 01/01: Merge branch 'asf-staging' into asf-site

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

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

commit bdf554139e83093f643bef3056fd51a7bece21b4
Merge: 275fc8aa bb4d725e
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 25 18:38:18 2023 +0200

Merge branch 'asf-staging' into asf-site

 formats.html | 14 ++
 index.xml|  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)



[sis-site] branch asf-staging updated: Regenerate the "supported formats" page.

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

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


The following commit(s) were added to refs/heads/asf-staging by this push:
 new bb4d725e Regenerate the "supported formats" page.
bb4d725e is described below

commit bb4d725e86c82c3475b965e00ada1092857f392b
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 25 18:37:08 2023 +0200

Regenerate the "supported formats" page.
---
 formats.html | 14 ++
 index.xml|  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/formats.html b/formats.html
index 3a555d25..914ed02b 100644
--- a/formats.html
+++ b/formats.html
@@ -115,58 +115,72 @@ in which case the root resource will be 
Aggregate.
   
 Format
 Capability
+Module
 Type of resource
   
 CSV
 Read
+org.apache.sis.storage
 FeatureSet
   
 ESRI ASCII Grid
 Read/write
+org.apache.sis.storage
 GridCoverageResource
   
 ESRI BIL/BIQ/BSQ
 Read
+org.apache.sis.storage
 GridCoverageResource
   
 Folder
 Read/write
+org.apache.sis.storage
 Aggregate, FeatureSet, 
GridCoverageResource
   
 (Big) GeoTIFF
 Read
+org.apache.sis.storage.geotiff
 Aggregate, GridCoverageResource
   
 GML (CRS only)
 Read/write⁽¹⁾
+org.apache.sis.referencing
 Resource
   
 GPX
 Read/write
+org.apache.sis.storage.xml
 FeatureSet
   
 ISO 19115 XML
 Read/write⁽¹⁾
+org.apache.sis.metadata
 Resource
   
 Landsat
 Read
+org.apache.sis.storage.earthobservation
 Aggregate, GridCoverageResource
   
 NetCDF
 Read
+org.apache.sis.storage.netcdf
 Aggregate, FeatureSet, 
GridCoverageResource
   
 SQL⁽²⁾
 Read
+org.apache.sis.storage.sql
 Aggregate, FeatureSet
   
 WKT (CRS only)
 Read/write⁽¹⁾
+org.apache.sis.referencing
 Resource
   
 World File
 Read/write
+org.apache.sis.storage
 GridCoverageResource, sometimes Aggregate
   
 
diff --git a/index.xml b/index.xml
index cbd3790f..57cb05fd 100644
--- a/index.xml
+++ b/index.xml
@@ -75,7 +75,7 @@ import java.awt.Shape; import 
org.apache.sis.referencing.CommonCRS; import org.<
 
   https://sis.apache.org/formats.html
   Apache SIS can read data from the formats listed below. 
Some formats are supported in read-only mode, others in read/write modes. Data 
may be structured as vectors or rasters, which in Apache SIS are mapped to the 
FeatureSet and GridCoverageResource interfaces respectively. Some formats can 
contain an arbitrary number of feature types or rasters, in which case the root 
resource will be Aggregate.
-Format Capability Type of resource CSV Read FeatureSet ESRI ASCII Grid 
Read/write GridCoverageResource ESRI BIL/BIQ/BSQ Read GridCoverageResource 
Folder Read/write Aggregate, FeatureSet, GridCoverageResource (Big) GeoTIFF 
Read Aggregate, GridCoverageResource GML (CRS only) Read/write⁽¹⁾ Resource GPX 
Read/write FeatureSet ISO 19115 XML Read/write⁽¹⁾ Resource Landsat Read 
Aggregate, GridCoverageResource NetCDF Read Aggregate, FeatureSet, 
GridCoverageResource SQL⁽²⁾ Read Aggregate, FeatureS [...]
+Format Capability Module Type of resource CSV Read org.
 
 
 



[sis-site] branch main updated: Add a column saying which module provides each data format.

2023-10-25 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 88b18f0a Add a column saying which module provides each data format.
88b18f0a is described below

commit 88b18f0a598d920f11059f3257ade101f0b43743
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 25 18:34:35 2023 +0200

Add a column saying which module provides each data format.
---
 content/formats.md | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/content/formats.md b/content/formats.md
index ac1cafbd..f91f1aaa 100644
--- a/content/formats.md
+++ b/content/formats.md
@@ -13,58 +13,72 @@ in which case the root resource will be `Aggregate`.
   
 Format
 Capability
+Module
 Type of resource
   
 {{% CSV %}}
 Read
+org.apache.sis.storage
 FeatureSet
   
 ESRI ASCII Grid
 Read/write
+org.apache.sis.storage
 GridCoverageResource
   
 ESRI BIL/BIQ/BSQ
 Read
+org.apache.sis.storage
 GridCoverageResource
   
 Folder
 Read/write
+org.apache.sis.storage
 Aggregate, FeatureSet, 
GridCoverageResource
   
 (Big) GeoTIFF
 Read
+org.apache.sis.storage.geotiff
 Aggregate, GridCoverageResource
   
 {{% GML %}} ({{% CRS %}} only)
 Read/write⁽¹⁾
+org.apache.sis.referencing
 Resource
   
 {{% GPX %}}
 Read/write
+org.apache.sis.storage.xml
 FeatureSet
   
 {{% ISO %}} 19115 {{% XML %}}
 Read/write⁽¹⁾
+org.apache.sis.metadata
 Resource
   
 Landsat
 Read
+org.apache.sis.storage.earthobservation
 Aggregate, GridCoverageResource
   
 NetCDF
 Read
+org.apache.sis.storage.netcdf
 Aggregate, FeatureSet, 
GridCoverageResource
   
 {{% SQL %}}⁽²⁾
 Read
+org.apache.sis.storage.sql
 Aggregate, FeatureSet
   
 {{% WKT %}} ({{% CRS %}} only)
 Read/write⁽¹⁾
+org.apache.sis.referencing
 Resource
   
 World File
 Read/write
+org.apache.sis.storage
 GridCoverageResource, sometimes Aggregate
   
 



[sis] branch geoapi-4.0 updated: Bug fixes when an channel data input yield to the output, or conversely.

2023-10-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 0c4e04b918 Bug fixes when an channel data input yield to the output, 
or conversely.
0c4e04b918 is described below

commit 0c4e04b91877bdd0fdb40a8a221808a4510f862e
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 25 13:25:02 2023 +0200

Bug fixes when an channel data input yield to the output, or conversely.
---
 .../main/org/apache/sis/storage/geotiff/Reader.java|  3 ++-
 .../main/org/apache/sis/io/stream/ChannelData.java | 12 
 .../main/org/apache/sis/io/stream/ChannelDataInput.java| 14 +-
 .../main/org/apache/sis/io/stream/ChannelDataOutput.java   |  8 
 .../apache/sis/io/stream/ChannelImageOutputStreamTest.java | 11 +--
 5 files changed, 36 insertions(+), 12 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Reader.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Reader.java
index 7a70c4a1cc..4901c84c7d 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Reader.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Reader.java
@@ -491,8 +491,9 @@ final class Reader extends GeoTIFF {
 if (getImage(Integer.MAX_VALUE) == null && endOfFile) {
 nextIFD = position;
 endOfFile = false;
+} else {
+throw new InternalDataStoreException(); // Should never happen.
 }
-throw new InternalDataStoreException(); // Should never happen.
 }
 
 /**
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
index 3e67483dc9..60bece689e 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
@@ -448,6 +448,8 @@ public abstract class ChannelData implements Markable {
 takeOver.bufferOffset  = bufferOffset;
 takeOver.channelOffset = channelOffset;
 takeOver.bitPosition   = bitPosition;
+takeOver.mark  = mark;
+mark = null;
 }
 
 /**
@@ -505,6 +507,16 @@ public abstract class ChannelData implements Markable {
 return Math.addExact(channelOffset, position);
 }
 
+/**
+ * Translates the buffer by the given amount of bytes.
+ * Callers should subtract the same amount from the buffer position.
+ *
+ * @param  count  number of bytes to add to {@link #bufferOffset}.
+ */
+final void moveBufferForward(final int count) {
+bufferOffset = Math.addExact(bufferOffset, count);
+}
+
 /**
  * Invoked when an operation between the channel and the buffer 
transferred no byte. Note that this is unrelated
  * to end-of-file, in which case {@link 
java.nio.channels.ReadableByteChannel#read(ByteBuffer)} returns -1.
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
index 7480b27156..2431168752 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
@@ -182,7 +182,7 @@ public class ChannelDataInput extends ChannelData 
implements DataInput {
 if (buffer.hasRemaining()) {
 return true;
 }
-bufferOffset += buffer.limit();
+moveBufferForward(buffer.limit());
 buffer.clear();
 int c = channel.read(buffer);
 while (c == 0) {
@@ -206,7 +206,7 @@ public class ChannelDataInput extends ChannelData 
implements DataInput {
 assert n >= 0 && n <= buffer.capacity() : n;
 n -= buffer.remaining();
 if (n > 0) {
-bufferOffset += buffer.position();
+moveBufferForward(buffer.position());
 buffer.compact();
 do {
 final int c = channel.read(buffer);
@@ -671,7 +671,7 @@ public class ChannelDataInput extends ChannelData 
implements DataInput {
 // Buffer position must be a multiple of the data size.
 // If not, fix that by shifting the content to index 0.
 if ((buffer.position() & ((1 << dataSizeShift) - 1)) != 0) {
-bufferOffset += buffer.position();
+moveBufferForward(buffer.position());
 buffer.compact().flip();
 }

[sis] 01/03: Redesign the way that readers and writers co-exist in `DataStore` implementations: - `isWritable(…)` needs to distinguish between opening an existing file or creating a new one. - `setStr

2023-10-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 3762fd80fe3177d3070e0b601a6387fc85e6b78d
Author: Martin Desruisseaux 
AuthorDate: Sun Oct 22 15:34:50 2023 +0200

Redesign the way that readers and writers co-exist in `DataStore` 
implementations:
- `isWritable(…)` needs to distinguish between opening an existing file or 
creating a new one.
- `setStreamPosition(long)` removed. It was misused in most places, causing 
probable bugs.
- Allow creation of `ChannelDataOutput` from a `ChannelDataInput`, sharing 
same internal.
- Add `synchronize(…)` for making input `ChannelData` consistent with 
output, or conversely.
---
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   2 +-
 .../sis/storage/geotiff/ReversedBitsChannel.java   |  19 +-
 .../org/apache/sis/storage/geotiff/Writer.java |   2 +-
 .../sis/storage/geotiff/inflater/Inflater.java |   3 +-
 .../org/apache/sis/storage/gpx/StoreProvider.java  |   2 +-
 .../main/org/apache/sis/io/stream/ChannelData.java | 235 +++--
 .../org/apache/sis/io/stream/ChannelDataInput.java |  86 +---
 .../apache/sis/io/stream/ChannelDataOutput.java| 191 -
 .../main/org/apache/sis/io/stream/Markable.java|   2 +-
 .../org/apache/sis/io/stream/UpdatableWrite.java   |  39 +++-
 .../org/apache/sis/storage/StorageConnector.java   |  25 ++-
 .../org/apache/sis/storage/base/URIDataStore.java  |  26 ++-
 .../sis/storage/esri/AsciiGridStoreProvider.java   |   2 +-
 .../org/apache/sis/storage/image/FormatFinder.java |   2 +-
 .../storage/internal/WritableResourceSupport.java  |   1 -
 .../main/org/apache/sis/storage/package-info.java  |   2 +-
 .../io/stream/ChannelImageOutputStreamTest.java|   2 +-
 17 files changed, 457 insertions(+), 184 deletions(-)

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 cd0d520035..4b8fa1f835 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
@@ -224,7 +224,7 @@ public class GeoTiffStore extends DataStore implements 
Aggregate {
 location   = connector.getStorageAs(URI.class);
 path   = connector.getStorageAs(Path.class);
 try {
-if (URIDataStore.Provider.isWritable(connector)) {
+if (URIDataStore.Provider.isWritable(connector, true)) {
 ChannelDataOutput output = 
connector.commit(ChannelDataOutput.class, Constants.GEOTIFF);
 writer = new Writer(this, output, 
connector.getOption(GeoTiffOption.OPTION_KEY));
 } else {
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
index 394d10adf0..8d181cb727 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReversedBitsChannel.java
@@ -63,11 +63,10 @@ final class ReversedBitsChannel implements 
ReadableByteChannel, SeekableByteChan
  * and because a new buffer is created for each strip or tile to read.
  */
 static ChannelDataInput wrap(final ChannelDataInput input) throws 
IOException {
-final ChannelDataInput output = new ChannelDataInput(
-input.filename, new ReversedBitsChannel(input),
-
ByteBuffer.allocate(2048).order(input.buffer.order()).limit(0), true);
-output.setStreamPosition(input.getStreamPosition());
-return output;
+final var buffer  = 
ByteBuffer.allocate(2048).order(input.buffer.order());
+final var reverse = new ChannelDataInput(input.filename, new 
ReversedBitsChannel(input), buffer, true);
+input.yield(reverse);
+return reverse;
 }
 
 /**
@@ -75,11 +74,9 @@ final class ReversedBitsChannel implements 
ReadableByteChannel, SeekableByteChan
  */
 @Override
 public long size() throws IOException {
-if (input.channel instanceof SeekableByteChannel) {
-return ((SeekableByteChannel) input.channel).size();
-} else {
-throw unsupported("size");
-}
+final long size = input.length();
+if (size >= 0) return size;
+throw unsupported("size");
 }
 
 /**
@@ -95,7 +92,7 @@ final class ReversedBitsChannel implements 
ReadableByteChannel, SeekableByteChan
  */
 @Override
 public SeekableByteChannel position(final lon

[sis] branch geoapi-4.0 updated (a93258c0ba -> 4c94f8269e)

2023-10-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 a93258c0ba Give more informative names to some parameters.
 new 3762fd80fe Redesign the way that readers and writers co-exist in 
`DataStore` implementations: - `isWritable(…)` needs to distinguish between 
opening an existing file or creating a new one. - `setStreamPosition(long)` 
removed. It was misused in most places, causing probable bugs. - Allow creation 
of `ChannelDataOutput` from a `ChannelDataInput`, sharing same internal. - Add 
`synchronize(…)` for making input `ChannelData` consistent with output, or 
conversely.
 new e91f576e12 Refactor `ChannelImageOutputStream` as an implementation of 
`ImageOutputStream`. It allows us to test `ChannelData.yield(ChannelData)`.
 new 4c94f8269e First draft of GeoTIFF writer accessible from public API. 
For now we do that with a `GeoTiffStore.appen(…)` method.

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:
 .../org/apache/sis/storage/geotiff/DataCube.java   |   2 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   2 -
 .../org/apache/sis/storage/geotiff/GeoTIFF.java|   4 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 157 --
 .../apache/sis/storage/geotiff/NativeMetadata.java |   6 +-
 .../org/apache/sis/storage/geotiff/Reader.java |  76 +++--
 .../sis/storage/geotiff/ReformattedImage.java  |  13 +
 .../sis/storage/geotiff/ReversedBitsChannel.java   |  19 +-
 .../sis/storage/geotiff/TileMatrixWriter.java  |  16 +-
 .../org/apache/sis/storage/geotiff/Writer.java | 118 +--
 .../sis/storage/geotiff/inflater/Inflater.java |   3 +-
 .../org/apache/sis/storage/geotiff/WriterTest.java |   7 +-
 .../org/apache/sis/storage/gpx/StoreProvider.java  |   2 +-
 .../main/org/apache/sis/io/stream/ChannelData.java | 235 ++
 .../org/apache/sis/io/stream/ChannelDataInput.java |  86 --
 .../apache/sis/io/stream/ChannelDataOutput.java| 191 
 .../sis/io/stream/ChannelImageInputStream.java |  21 +-
 .../sis/io/stream/ChannelImageOutputStream.java| 186 +--
 .../main/org/apache/sis/io/stream/IOUtilities.java |  75 ++---
 .../main/org/apache/sis/io/stream/Markable.java|   2 +-
 .../apache/sis/io/stream/OutputStreamAdapter.java  |  11 +-
 .../org/apache/sis/io/stream/UpdatableWrite.java   |  39 ++-
 .../sis/storage/ReadOnlyStorageException.java  |   1 +
 .../org/apache/sis/storage/StorageConnector.java   |  25 +-
 ...ception.java => WriteOnlyStorageException.java} |  27 +-
 .../org/apache/sis/storage/base/URIDataStore.java  |  26 +-
 .../sis/storage/esri/AsciiGridStoreProvider.java   |   2 +-
 .../org/apache/sis/storage/image/FormatFinder.java |   2 +-
 .../storage/internal/WritableResourceSupport.java  |   1 -
 .../main/org/apache/sis/storage/package-info.java  |   2 +-
 .../sis/io/stream/ChannelDataOutputTest.java   | 340 ++---
 .../apache/sis/io/stream/ChannelDataTestCase.java  |  53 +++-
 .../sis/io/stream/ChannelImageInputStreamTest.java |  97 --
 .../io/stream/ChannelImageOutputStreamTest.java| 254 ---
 .../main/org/apache/sis/util/resources/Errors.java |   5 +
 .../apache/sis/util/resources/Errors.properties|   1 +
 .../apache/sis/util/resources/Errors_fr.properties |   1 +
 37 files changed, 1439 insertions(+), 669 deletions(-)
 copy 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/{UnsupportedQueryException.java
 => WriteOnlyStorageException.java} (66%)



[sis] 03/03: First draft of GeoTIFF writer accessible from public API. For now we do that with a `GeoTiffStore.appen(…)` method.

2023-10-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 4c94f8269e60aad551c00bd4e2130b5206422395
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 25 04:51:21 2023 +0200

First draft of GeoTIFF writer accessible from public API.
For now we do that with a `GeoTiffStore.appen(…)` method.
---
 .../org/apache/sis/storage/geotiff/DataCube.java   |   2 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   2 -
 .../org/apache/sis/storage/geotiff/GeoTIFF.java|   4 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   | 155 ++---
 .../apache/sis/storage/geotiff/NativeMetadata.java |   6 +-
 .../org/apache/sis/storage/geotiff/Reader.java |  76 +++---
 .../sis/storage/geotiff/ReformattedImage.java  |  13 ++
 .../sis/storage/geotiff/TileMatrixWriter.java  |  16 ++-
 .../org/apache/sis/storage/geotiff/Writer.java | 116 +++
 .../org/apache/sis/storage/geotiff/WriterTest.java |   7 +-
 .../sis/storage/ReadOnlyStorageException.java  |   1 +
 ...ception.java => WriteOnlyStorageException.java} |  30 ++--
 .../main/org/apache/sis/util/resources/Errors.java |   5 +
 .../apache/sis/util/resources/Errors.properties|   1 +
 .../apache/sis/util/resources/Errors_fr.properties |   1 +
 15 files changed, 333 insertions(+), 102 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
index 007de175b1..eff8a80e3e 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataCube.java
@@ -246,7 +246,7 @@ abstract class DataCube extends TiledGridResource 
implements ResourceOnFileSyste
 coverage = preload(coverage);
 }
 } catch (RuntimeException e) {
-throw canNotRead(reader.input.filename, domain, e);
+throw canNotRead(filename(), domain, e);
 }
 logReadOperation(reader.store.path, coverage.getGridGeometry(), 
startTime);
 return coverage;
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataSubset.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataSubset.java
index 673946ef07..def938762b 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataSubset.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/DataSubset.java
@@ -46,7 +46,6 @@ import org.apache.sis.storage.geotiff.internal.Resources;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.math.Vector;
 
-import static java.lang.Math.addExact;
 import static java.lang.Math.subtractExact;
 import static java.lang.Math.multiplyExact;
 import static java.lang.Math.multiplyFull;
@@ -386,7 +385,6 @@ class DataSubset extends TiledGridCoverage implements 
Localized {
 boolean isEmpty = true;
 for (int b=0; b getOptions();
+public abstract Set getOptions();
 
 /**
  * Returns the resources to use for formatting error messages.
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 4b8fa1f835..e6ef201639 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
@@ -27,6 +27,7 @@ import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.nio.file.StandardOpenOption;
+import java.awt.image.RenderedImage;
 import org.opengis.util.NameSpace;
 import org.opengis.util.NameFactory;
 import org.opengis.util.GenericName;
@@ -41,23 +42,28 @@ import org.apache.sis.storage.DataStoreProvider;
 import org.apache.sis.storage.StorageConnector;
 import org.apache.sis.storage.DataStoreException;
 import org.apache.sis.storage.DataStoreClosedException;
+import org.apache.sis.storage.ReadOnlyStorageException;
+import org.apache.sis.storage.WriteOnlyStorageException;
 import org.apache.sis.storage.IllegalNameException;
+import org.apache.sis.storage.base.MetadataBuilder;
+import org.apache.sis.storage.base.StoreUtilities;
+import org.apache.sis.storage.base.URIDataStore;
 import org.apache.sis.storage.event.StoreEvent;
 import org.apache.sis.storage.event.StoreListener;
 import org.apache.sis.storage.event.StoreListeners;
 import org.apache.sis.storage.event.WarningEvent;
+imp

[sis] 02/03: Refactor `ChannelImageOutputStream` as an implementation of `ImageOutputStream`. It allows us to test `ChannelData.yield(ChannelData)`.

2023-10-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 e91f576e12fd2aa70c26b29966d4c5d7e2c99d0d
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 25 04:54:12 2023 +0200

Refactor `ChannelImageOutputStream` as an implementation of 
`ImageOutputStream`.
It allows us to test `ChannelData.yield(ChannelData)`.
---
 .../sis/io/stream/ChannelImageInputStream.java |  21 +-
 .../sis/io/stream/ChannelImageOutputStream.java| 186 +--
 .../main/org/apache/sis/io/stream/IOUtilities.java |  75 ++---
 .../apache/sis/io/stream/OutputStreamAdapter.java  |  11 +-
 .../sis/io/stream/ChannelDataOutputTest.java   | 340 ++---
 .../apache/sis/io/stream/ChannelDataTestCase.java  |  53 +++-
 .../sis/io/stream/ChannelImageInputStreamTest.java |  97 --
 .../io/stream/ChannelImageOutputStreamTest.java| 254 ---
 8 files changed, 649 insertions(+), 388 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageInputStream.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageInputStream.java
index 04eeaead32..9426cb2caa 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageInputStream.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageInputStream.java
@@ -167,7 +167,8 @@ public class ChannelImageInputStream extends 
ChannelDataInput implements ImageIn
 /**
  * Reads up to {@code length} bytes from the stream, and modifies the 
supplied
  * {@code IIOByteBuffer} to indicate the byte array, offset, and length 
where
- * the data may be found.
+ * the data may be found. This method may reference the internal buffer, 
thus
+ * avoiding a copy.
  *
  * @param  destthe buffer to be written to.
  * @param  length  the maximum number of bytes to read.
@@ -175,10 +176,22 @@ public class ChannelImageInputStream extends 
ChannelDataInput implements ImageIn
  */
 @Override
 public final void readBytes(final IIOByteBuffer dest, int length) throws 
IOException {
-final byte[] data = new byte[length];
-length = read(data);
+clearBitOffset();
+final byte[] data;
+final int offset;
+if (buffer.hasArray()) {
+ensureBufferContains(1);
+data   = buffer.array();
+offset = buffer.position();
+length = Math.min(buffer.remaining(), length);
+buffer.position(offset + length);
+} else {
+data   = new byte[length];
+length = read(data);
+offset = 0;
+}
 dest.setData(data);
-dest.setOffset(0);
+dest.setOffset(offset);
 dest.setLength(length);
 }
 
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageOutputStream.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageOutputStream.java
index a46152ca96..037b81ee80 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageOutputStream.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageOutputStream.java
@@ -16,63 +16,191 @@
  */
 package org.apache.sis.io.stream;
 
-import java.io.Closeable;
-import java.io.DataOutput;
 import java.io.IOException;
+import java.io.OutputStream;
 import java.nio.ByteBuffer;
-import java.nio.channels.WritableByteChannel;
+import java.nio.ByteOrder;
+import java.nio.channels.ByteChannel;
+import javax.imageio.stream.IIOByteBuffer;
 import javax.imageio.stream.ImageOutputStream;
 
 
 /**
- * Adds the missing methods in {@code ChannelDataOutput} for implementing the 
{@code DataOutput} interface.
- * Current implementation does not yet implements the {@code 
ImageOutputStream} sub-interface, but a future
- * implementation may do so.
+ * An {@code ImageOutputStream} backed by {@code ChannelDataInput} and {@code 
ChannelDataOutput}.
+ * Contrarily to most other I/O frameworks in the standard JDK, {@code 
ImageOutputStream} is read/write.
  *
- * We do not implement {@link ImageOutputStream} yet because the latter 
inherits all read operations from
- * {@code ImageInputStream}, while the {@code org.apache.sis.storage.base} 
package keeps the concerns
- * separated. Despite that, the name of this {@code ChannelImageOutputStream} 
anticipates a future version
- * which would implement the image I/O interface.
- *
- * This class is a place-holder for future development.
+ * @todo Not yet used in {@link org.apache.sis.storage.StorageConnector}.
  *
  * @author  Rémi Maréchal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  */
-public class ChannelImageOutputStream extends ChannelDataOutput implements 
DataOutput, Closeable {
+@SuppressWarnings("deprec

[sis-site] 01/01: Merge branch 'asf-staging' into asf-site.

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

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

commit 275fc8aa9a784484aa53b0d174f44e277dcb0895
Merge: 905533d0 c8f51174
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 18 22:42:24 2023 +0200

Merge branch 'asf-staging' into asf-site.

 DOAP.rdf| 9 -
 en/sitemap.xml  | 2 +-
 standards.html  | 7 ++-
 templates/release-announce.html | 4 ++--
 4 files changed, 17 insertions(+), 5 deletions(-)



[sis-site] branch asf-site updated (905533d0 -> 275fc8aa)

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

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


from 905533d0 Merge branch 'asf-staging' into asf-site
 add c8f51174 Update web site with COG added in the list of supported 
standards.
 new 275fc8aa Merge branch 'asf-staging' into asf-site.

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:
 DOAP.rdf| 9 -
 en/sitemap.xml  | 2 +-
 standards.html  | 7 ++-
 templates/release-announce.html | 4 ++--
 4 files changed, 17 insertions(+), 5 deletions(-)



[sis-site] branch asf-staging updated: Update web site with COG added in the list of supported standards.

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

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


The following commit(s) were added to refs/heads/asf-staging by this push:
 new c8f51174 Update web site with COG added in the list of supported 
standards.
c8f51174 is described below

commit c8f511743edea1c92d6b1cd5df636c8f27b149a2
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 18 22:41:21 2023 +0200

Update web site with COG added in the list of supported standards.
---
 DOAP.rdf| 9 -
 en/sitemap.xml  | 2 +-
 standards.html  | 7 ++-
 templates/release-announce.html | 4 ++--
 4 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/DOAP.rdf b/DOAP.rdf
index 724377b6..00b56c49 100644
--- a/DOAP.rdf
+++ b/DOAP.rdf
@@ -157,7 +157,14 @@
   
 OGC GeoTIFF standard
 Open Geospatial Consortium
-OGC 19-008r4
+http://www.opengis.net/doc/IS/GeoTIFF/1.1
+  
+
+
+  
+OGC Cloud Optimized GeoTIFF Standard
+Open Geospatial Consortium
+http://www.opengis.net/doc/is/COG/1.0
   
 
 
diff --git a/en/sitemap.xml b/en/sitemap.xml
index 25d41cf1..af5ab012 100644
--- a/en/sitemap.xml
+++ b/en/sitemap.xml
@@ -148,7 +148,7 @@
 2023-10-02T23:31:58+02:00
   
 https://sis.apache.org/standards.html
-2023-09-30T17:48:07+02:00
+2023-10-18T22:37:15+02:00
   
 https://sis.apache.org/
 2023-10-03T18:22:46+02:00
diff --git a/standards.html b/standards.html
index ed153caf..d46ea8b0 100644
--- a/standards.html
+++ b/standards.html
@@ -192,9 +192,14 @@ Some standards are implemented partially, others almost 
fully.
 Grid Coverage
   
 
-http://docs.opengeospatial.org/is/19-008r4/19-008r4.html;>OGC 
19-008
+http://www.opengis.net/doc/IS/GeoTIFF/1.1;>OGC 19-008
 
 GeoTIFF format
+  
+
+http://www.opengis.net/doc/is/COG/1.0;>OGC 21-026
+
+Cloud Optimized GeoTIF
   
 
 https://portal.ogc.org/files/?artifact_id=43734;>OGC 
10-092
diff --git a/templates/release-announce.html b/templates/release-announce.html
index 96fd50b8..92e9424e 100644
--- a/templates/release-announce.html
+++ b/templates/release-announce.html
@@ -17,7 +17,7 @@
 
   Apache SIS is a 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.
+  along with methods to manipulate those data structures, such as map 
projections.
   The library is an implementation of GeoAPI 3.0 interfaces
   and can be used for desktop or server applications.
   A JavaFX application is provided for demonstration purposes.
@@ -25,7 +25,7 @@
   Some Apache SIS features are:
 
 
-  Read netCDF-3, GeoTIFF (including BigTIFF) and Moving Feature CSV 
data formats
+  Read netCDF-3, Cloud Optimized GeoTIFF (including BigTIFF) and 
Moving Feature CSV data formats
   Read/write GPX, ASCII Grid, World File, ISO 19115-3 metadata and 
legacy ISO 19139 compliant XML documents
   Referencing by coordinates (ISO 19111) or by identifiers (ISO 
19112)
 Well Known Text (WKT) version 1 and 2 (ISO 19162)



[sis-site] branch main updated: Add the newly released http://www.opengis.net/doc/is/COG/1.0 in the list of standards supported by SIS.

2023-10-18 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 d478474a Add the newly released http://www.opengis.net/doc/is/COG/1.0 
in the list of standards supported by SIS.
d478474a is described below

commit d478474adb529f7e56c95d47f375de342373e155
Author: Martin Desruisseaux 
AuthorDate: Wed Oct 18 22:37:15 2023 +0200

Add the newly released http://www.opengis.net/doc/is/COG/1.0 in the list of 
standards supported by SIS.


https://www.ogc.org/press-release/cloud-optimized-geotiff-cog-published-as-official-ogc-standard/
---
 content/standards.md   | 7 ++-
 static/DOAP.rdf| 9 -
 static/templates/release-announce.html | 4 ++--
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/content/standards.md b/content/standards.md
index f7560001..c0c047bc 100644
--- a/content/standards.md
+++ b/content/standards.md
@@ -90,9 +90,14 @@ Some standards are implemented partially, others almost 
fully.
 Grid Coverage
   
 
-http://docs.opengeospatial.org/is/19-008r4/19-008r4.html;>OGC 
19-008
+http://www.opengis.net/doc/IS/GeoTIFF/1.1;>OGC 19-008
 
 GeoTIFF format
+  
+
+http://www.opengis.net/doc/is/COG/1.0;>OGC 21-026
+
+Cloud Optimized GeoTIF
   
 
 https://portal.ogc.org/files/?artifact_id=43734;>OGC 
10-092
diff --git a/static/DOAP.rdf b/static/DOAP.rdf
index 724377b6..00b56c49 100644
--- a/static/DOAP.rdf
+++ b/static/DOAP.rdf
@@ -157,7 +157,14 @@
   
 OGC GeoTIFF standard
 Open Geospatial Consortium
-OGC 19-008r4
+http://www.opengis.net/doc/IS/GeoTIFF/1.1
+  
+
+
+  
+OGC Cloud Optimized GeoTIFF Standard
+Open Geospatial Consortium
+http://www.opengis.net/doc/is/COG/1.0
   
 
 
diff --git a/static/templates/release-announce.html 
b/static/templates/release-announce.html
index 96fd50b8..92e9424e 100644
--- a/static/templates/release-announce.html
+++ b/static/templates/release-announce.html
@@ -17,7 +17,7 @@
 
   Apache SIS is a 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.
+  along with methods to manipulate those data structures, such as map 
projections.
   The library is an implementation of GeoAPI 3.0 interfaces
   and can be used for desktop or server applications.
   A JavaFX application is provided for demonstration purposes.
@@ -25,7 +25,7 @@
   Some Apache SIS features are:
 
 
-  Read netCDF-3, GeoTIFF (including BigTIFF) and Moving Feature CSV 
data formats
+  Read netCDF-3, Cloud Optimized GeoTIFF (including BigTIFF) and 
Moving Feature CSV data formats
   Read/write GPX, ASCII Grid, World File, ISO 19115-3 metadata and 
legacy ISO 19139 compliant XML documents
   Referencing by coordinates (ISO 19111) or by identifiers (ISO 
19112)
 Well Known Text (WKT) version 1 and 2 (ISO 19162)



[sis] 01/05: First version of a TIFF writer (work initiated by Erwan Roussel). This initial version works, but with a limited amount of color models and sample models.

2023-10-16 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 8facc18164725ed86aeba392fc59dc79e6ed6dac
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 16 20:04:55 2023 +0200

First version of a TIFF writer (work initiated by Erwan Roussel).
This initial version works, but with a limited amount of color models and 
sample models.

https://issues.apache.org/jira/browse/SIS-589
---
 .../sis/coverage/grid/j2d/ImageUtilities.java  |  18 +
 .../org/apache/sis/storage/geotiff/GeoTIFF.java|   6 +
 .../apache/sis/storage/geotiff/GeoTiffOption.java  |  60 ++
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  78 ++-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  18 +-
 .../org/apache/sis/storage/geotiff/Reader.java |  10 +
 .../sis/storage/geotiff/ReformattedImage.java  | 143 
 .../apache/sis/storage/geotiff/TagValueWriter.java |  69 ++
 .../sis/storage/geotiff/TileMatrixWriter.java  | 204 ++
 .../org/apache/sis/storage/geotiff/Writer.java | 740 +
 .../apache/sis/storage/geotiff/package-info.java   |   2 +-
 .../org/apache/sis/storage/geotiff/WriterTest.java | 441 
 .../apache/sis/storage/base/MetadataFetcher.java   | 339 ++
 .../org/apache/sis/util/internal/Numerics.java |   6 +
 14 files changed, 2121 insertions(+), 13 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ImageUtilities.java
 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ImageUtilities.java
index 69d1a5ee85..f7f96ae301 100644
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ImageUtilities.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ImageUtilities.java
@@ -115,6 +115,22 @@ public final class ImageUtilities extends Static {
 ((long) low) + aoi.height) - aoi.y);
 }
 
+/**
+ * Returns whether the given image has an alpha channel.
+ *
+ * @param  image  the image or {@code null}.
+ * @return whether the image has an alpha channel.
+ *
+ * @see #getTransparencyDescription(ColorModel)
+ */
+public static boolean hasAlpha(final RenderedImage image) {
+if (image != null) {
+final ColorModel cm = image.getColorModel();
+if (cm != null) return cm.hasAlpha();
+}
+return false;
+}
+
 /**
  * Returns the number of bands in the given image, or 0 if the image or 
its sample model is null.
  *
@@ -242,6 +258,8 @@ public final class ImageUtilities extends Static {
  *
  * @param  cm  the color model from which to get the transparency, or 
{@code null}.
  * @return a {@link Resources.Keys} value for the transparency, or 0 if 
unknown.
+ *
+ * @see #hasAlpha(RenderedImage)
  */
 public static short getTransparencyDescription(final ColorModel cm) {
 if (cm != null) {
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTIFF.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTIFF.java
index 9d0ee1e76b..11d3caba35 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTIFF.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTIFF.java
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.storage.geotiff;
 
+import java.util.Set;
 import java.util.Locale;
 import java.util.TimeZone;
 import java.io.Closeable;
@@ -76,6 +77,11 @@ abstract class GeoTIFF implements Closeable {
 this.store = store;
 }
 
+/**
+ * {@return the options (BigTIFF, COG…) used by this reader or writer}.
+ */
+abstract Set getOptions();
+
 /**
  * Returns the resources to use for formatting error messages.
  */
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffOption.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffOption.java
new file mode 100644
index 00..9d74388a74
--- /dev/null
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffOption.java
@@ -0,0 +1,60 @@
+/*
+ * 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
+ * distrib

[sis] 03/05: Initial GeoKeys support.

2023-10-16 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 e97299fd6765b136a4dae4d4c438fd2a7238a526
Author: Martin Desruisseaux 
AuthorDate: Thu Sep 21 18:35:37 2023 +0200

Initial GeoKeys support.

https://issues.apache.org/jira/browse/SIS-589
---
 .../apache/sis/referencing/IdentifiedObjects.java  |   2 +
 .../org/apache/sis/storage/geotiff/GeoKeys.java|  13 +
 .../apache/sis/storage/geotiff/GeoKeysWriter.java  | 790 +
 .../org/apache/sis/storage/geotiff/Writer.java |  53 +-
 .../sis/storage/geotiff/internal/Resources.java|  20 +
 .../storage/geotiff/internal/Resources.properties  |   4 +
 .../geotiff/internal/Resources_fr.properties   |   4 +
 .../apache/sis/storage/geotiff/GeoKeysTest.java|  10 +
 .../org/apache/sis/storage/geotiff/WriterTest.java |  50 +-
 .../apache/sis/storage/base/MetadataBuilder.java   |   6 +-
 .../apache/sis/storage/base/MetadataFetcher.java   |  56 ++
 .../main/org/apache/sis/util/resources/Errors.java |   5 +
 .../apache/sis/util/resources/Errors.properties|   1 +
 .../apache/sis/util/resources/Errors_fr.properties |   1 +
 14 files changed, 994 insertions(+), 21 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
index d4b50835d8..db3442e7c3 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
@@ -35,6 +35,7 @@ import 
org.opengis.referencing.operation.ConcatenatedOperation;
 import org.apache.sis.util.Static;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.OptionalCandidate;
 import org.apache.sis.util.logging.Logging;
 import org.apache.sis.xml.IdentifierSpace;
 import org.apache.sis.util.internal.Strings;
@@ -556,6 +557,7 @@ public final class IdentifiedObjects extends Static {
  *
  * @since 0.7
  */
+@OptionalCandidate
 public static Integer lookupEPSG(final IdentifiedObject object) throws 
FactoryException {
 Integer code = null;
 if (object != null) {
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeys.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeys.java
index 2740943ba1..2762793adc 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeys.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeys.java
@@ -105,6 +105,19 @@ final class GeoKeys {
 /** For user-defined CRS.  */ public static final short VerticalDatum  
= 4098;
 /** For vertical axis. */ public static final short VerticalUnits  
= 4099;
 
+/**
+ * Number of keys. Because keys cannot be repeated, this is the maximal
+ * number of entries that {@link GeoKeysWriter#keyDirectory} can contain.
+ * This value is verified by the {@code GeoKeysTest.verifyNumKeys()}.
+ */
+static final int NUM_KEYS = 46;
+
+/**
+ * Number of parameters that are of type {@code double}.
+ * This is the maximal length of {@link GeoKeysWriter#doubleParams}.
+ */
+static final int NUM_DOUBLES = 25;
+
 /**
  * Returns the name of the given key. Implementation of this method is 
inefficient,
  * but it should rarely be invoked (mostly for formatting error messages).
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeysWriter.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeysWriter.java
new file mode 100644
index 00..38f00f0067
--- /dev/null
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeysWriter.java
@@ -0,0 +1,790 @@
+/*
+ * 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 Li

[sis] 04/05: Fix spurious warnings during the verification of map projection parameters.

2023-10-16 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 182326f448bca9937b40b15517d074f1842f481c
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 16 05:42:45 2023 +0200

Fix spurious warnings during the verification of map projection parameters.
---
 .../apache/sis/referencing/IdentifiedObjects.java  |  23 ++--
 .../org/apache/sis/storage/geotiff/CRSBuilder.java | 116 -
 2 files changed, 80 insertions(+), 59 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
index db3442e7c3..8bbd779010 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/IdentifiedObjects.java
@@ -174,6 +174,7 @@ public final class IdentifiedObjects extends Static {
  *
  * @see AbstractIdentifiedObject#getName()
  */
+@OptionalCandidate
 public static String getName(final IdentifiedObject object, final Citation 
authority) {
 return getName(object, authority, null);
 }
@@ -255,6 +256,7 @@ public final class IdentifiedObjects extends Static {
  *
  * @see AbstractIdentifiedObject#getIdentifier()
  */
+@OptionalCandidate
 public static Identifier getIdentifier(final IdentifiedObject object, 
final Citation authority) {
 if (object != null) {
 String cs = null;
@@ -297,19 +299,16 @@ public final class IdentifiedObjects extends Static {
  * @see #lookupURN(IdentifiedObject, Citation)
  */
 public static String getIdentifierOrName(final IdentifiedObject object) {
-if (object != null) {
-for (final Identifier id : nonNull(object.getIdentifiers())) {
-final String code = toString(id);
-if (code != null) { // 
Paranoiac check.
-return code;
-}
-}
-final String name = toString(object.getName());
-if (name != null) { // 
Paranoiac check.
-return name;
+if (object == null) {
+return null;
+}
+for (final Identifier id : nonNull(object.getIdentifiers())) {
+final String code = toString(id);
+if (code != null) { // Paranoiac 
check.
+return code;
 }
 }
-return null;
+return toString(object.getName());
 }
 
 /**
@@ -336,6 +335,7 @@ public final class IdentifiedObjects extends Static {
  *
  * @since 1.0
  */
+@OptionalCandidate
 public static String getSimpleNameOrIdentifier(final IdentifiedObject 
object) {
 if (object != null) {
 Identifier identifier = object.getName();
@@ -449,6 +449,7 @@ public final class IdentifiedObjects extends Static {
  *
  * @since 0.7
  */
+@OptionalCandidate
 public static String lookupURN(final IdentifiedObject object, final 
Citation authority) throws FactoryException {
 if (object == null) {
 return null;
diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
index c8cc438544..e3643d7088 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
@@ -36,6 +36,8 @@ import javax.measure.quantity.Angle;
 import javax.measure.quantity.Length;
 import org.opengis.metadata.Identifier;
 import org.opengis.metadata.spatial.CellGeometry;
+import org.opengis.parameter.GeneralParameterDescriptor;
+import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.parameter.ParameterNotFoundException;
 import org.opengis.referencing.IdentifiedObject;
@@ -56,30 +58,31 @@ import org.opengis.referencing.operation.Conversion;
 import org.opengis.referencing.operation.CoordinateOperation;
 import org.opengis.referencing.operation.OperationMethod;
 import org.opengis.util.FactoryException;
-import org.apache.sis.storage.geotiff.internal.Resources;
+import org.apache.sis.parameter.Parameters;
 import org.apache.sis.referencing.CommonCRS;
 import org.apache.sis.referencing.IdentifiedObjects;
+import org.apache.sis.referencing.cs.AxesConvention;
+import org.apache.sis.referencing.cs.CoordinateSystems;
+import org.apache.sis.referencing.crs.DefaultProjectedCRS;
+import org.apache.sis.referencing.crs.DefaultGeographicCRS

[sis] branch geoapi-4.0 updated (defbef6e4a -> a93258c0ba)

2023-10-16 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 defbef6e4a Tune test utilities in preparation for the addition of 
GeoTIFF writer.
 new 8facc18164 First version of a TIFF writer (work initiated by Erwan 
Roussel). This initial version works, but with a limited amount of color models 
and sample models.
 new 0cdc177a1b Rename GeoKeys from GeoTIFF 1.0 to GeoTIFF 1.1 names. The 
keys related to units of measure are now handled in a separated class.
 new e97299fd67 Initial GeoKeys support.
 new 182326f448 Fix spurious warnings during the verification of map 
projection parameters.
 new a93258c0ba Give more informative names to some parameters.

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:
 .../sis/coverage/grid/j2d/ImageUtilities.java  |  18 +
 .../apache/sis/referencing/IdentifiedObjects.java  |  25 +-
 .../referencing/operation/matrix/MatrixSIS.java|  36 +-
 .../org/apache/sis/storage/geotiff/CRSBuilder.java | 269 ---
 .../org/apache/sis/storage/geotiff/GeoKeys.java| 153 ++--
 .../apache/sis/storage/geotiff/GeoKeysLoader.java  |   4 +-
 .../apache/sis/storage/geotiff/GeoKeysWriter.java  | 790 +
 .../org/apache/sis/storage/geotiff/GeoTIFF.java|   6 +
 .../apache/sis/storage/geotiff/GeoTiffOption.java  |  60 ++
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  78 +-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |  18 +-
 .../org/apache/sis/storage/geotiff/Reader.java |  10 +
 .../sis/storage/geotiff/ReformattedImage.java  | 143 
 .../apache/sis/storage/geotiff/TagValueWriter.java |  69 ++
 .../sis/storage/geotiff/TileMatrixWriter.java  | 204 ++
 .../org/apache/sis/storage/geotiff/UnitKey.java| 186 +
 .../org/apache/sis/storage/geotiff/Writer.java | 765 
 .../sis/storage/geotiff/internal/Resources.java|  20 +
 .../storage/geotiff/internal/Resources.properties  |   4 +
 .../geotiff/internal/Resources_fr.properties   |   4 +
 .../apache/sis/storage/geotiff/package-info.java   |   2 +-
 .../apache/sis/storage/geotiff/GeoKeysTest.java|  12 +-
 .../org/apache/sis/storage/geotiff/WriterTest.java | 483 +
 .../apache/sis/storage/base/MetadataBuilder.java   |   6 +-
 .../apache/sis/storage/base/MetadataFetcher.java   | 395 +++
 .../org/apache/sis/util/internal/Numerics.java |   6 +
 .../main/org/apache/sis/util/resources/Errors.java |   5 +
 .../apache/sis/util/resources/Errors.properties|   1 +
 .../apache/sis/util/resources/Errors_fr.properties |   1 +
 29 files changed, 3534 insertions(+), 239 deletions(-)
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoKeysWriter.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffOption.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/ReformattedImage.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/TagValueWriter.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/TileMatrixWriter.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/UnitKey.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Writer.java
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/WriterTest.java
 create mode 100644 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataFetcher.java



[sis] 05/05: Give more informative names to some parameters.

2023-10-16 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 a93258c0ba5e319497c3ce17d2e45b933900e178
Author: Martin Desruisseaux 
AuthorDate: Mon Oct 16 22:33:36 2023 +0200

Give more informative names to some parameters.
---
 .../referencing/operation/matrix/MatrixSIS.java| 36 +++---
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
index fc69495556..777601507b 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/MatrixSIS.java
@@ -308,17 +308,17 @@ public abstract class MatrixSIS implements Matrix, 
LenientComparable, Cloneable,
  * Sets this matrix to the values of another matrix.
  * The given matrix must have the same size.
  *
- * @param  matrix  the matrix to copy.
+ * @param  source  the matrix to copy.
  * @throws MismatchedMatrixSizeException if the given matrix has a 
different size than this matrix.
  *
  * @since 0.7
  */
-public void setMatrix(final Matrix matrix) throws 
MismatchedMatrixSizeException {
-ArgumentChecks.ensureNonNull("matrix", matrix);
+public void setMatrix(final Matrix source) throws 
MismatchedMatrixSizeException {
+ArgumentChecks.ensureNonNull("source", source);
 final int numRow = getNumRow();
 final int numCol = getNumCol();
-ensureSizeMatch(numRow, numCol, matrix);
-setElements(matrix, 0, 0, 0, 0, numRow, numCol);
+ensureSizeMatch(numRow, numCol, source);
+setElements(source, 0, 0, 0, 0, numRow, numCol);
 }
 
 /**
@@ -512,23 +512,23 @@ public abstract class MatrixSIS implements Matrix, 
LenientComparable, Cloneable,
 
 /**
  * Returns a new matrix which is the result of multiplying this matrix 
with the specified one.
- * In other words, returns {@code this} × {@code matrix}.
+ * In other words, returns {@code this} × {@code other}.
  *
  * Relationship with coordinate operations
- * In the context of coordinate operations, {@code Matrix.multiply(other)} 
is equivalent to
+ * In the context of coordinate operations, {@code other.multiply(other)} 
is equivalent to
  * {@linkplain AffineTransform#concatenate 
AffineTransform.concatenate}(other):
  * first transforms by the {@code other} transform and then transform the 
result by {@code this} transform.
  *
- * @param  matrix  the matrix to multiply to this matrix.
- * @return the result of {@code this} × {@code matrix}.
+ * @param  other  the matrix to multiply to this matrix.
+ * @return the result of {@code this} × {@code other}.
  * @throws MismatchedMatrixSizeException if the number of rows in the 
given matrix is not equals to the
  * number of columns in this matrix.
  */
-public MatrixSIS multiply(final Matrix matrix) throws 
MismatchedMatrixSizeException {
-final int nc = matrix.getNumCol();
-ensureNumRowMatch(getNumCol(), matrix.getNumRow(), nc);
+public MatrixSIS multiply(final Matrix other) throws 
MismatchedMatrixSizeException {
+final int nc = other.getNumCol();
+ensureNumRowMatch(getNumCol(), other.getNumRow(), nc);
 final GeneralMatrix result = GeneralMatrix.create(getNumRow(), nc, 
false);
-result.setToProduct(this, matrix);
+result.setToProduct(this, other);
 return result;
 }
 
@@ -615,18 +615,18 @@ public abstract class MatrixSIS implements Matrix, 
LenientComparable, Cloneable,
 }
 
 /**
- * Returns the value of U which solves {@code this} × 
U = {@code matrix}.
+ * Returns the value of U which solves {@code this} × 
U = {@code target}.
  * This is equivalent to first computing the inverse of {@code this}, then 
multiplying the result
  * by the given matrix.
  *
- * @param  matrix  the matrix to solve.
- * @return the U matrix that satisfies {@code this} × 
U = {@code matrix}.
+ * @param  target  the matrix to solve.
+ * @return the U matrix that satisfies {@code this} × 
U = {@code target}.
  * @throws MismatchedMatrixSizeException if the number of rows in the 
given matrix is not equals
  * to the number of columns in this matrix.
  * @throws NoninvertibleMatrixException if this matrix is not invertible.
  */
-public MatrixSIS solve(final Matrix matrix) throws 
MismatchedMatrixSizeException, NoninvertibleMatrixException {
-return Solver.solve(this, matrix);
+public MatrixSIS solve(final M

[sis] 02/05: Rename GeoKeys from GeoTIFF 1.0 to GeoTIFF 1.1 names. The keys related to units of measure are now handled in a separated class.

2023-10-16 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 0cdc177a1bb1569263bd668afa7b6cb7811c95e9
Author: Martin Desruisseaux 
AuthorDate: Wed Sep 20 16:59:30 2023 +0200

Rename GeoKeys from GeoTIFF 1.0 to GeoTIFF 1.1 names.
The keys related to units of measure are now handled in a separated class.
---
 .../org/apache/sis/storage/geotiff/CRSBuilder.java | 169 +++
 .../org/apache/sis/storage/geotiff/GeoKeys.java| 152 -
 .../apache/sis/storage/geotiff/GeoKeysLoader.java  |   4 +-
 .../org/apache/sis/storage/geotiff/UnitKey.java| 186 +
 .../apache/sis/storage/geotiff/GeoKeysTest.java|   2 +-
 5 files changed, 353 insertions(+), 160 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
index c99a30f41a..c8cc438544 100644
--- 
a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
+++ 
b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/CRSBuilder.java
@@ -97,9 +97,9 @@ import static 
org.apache.sis.util.Utilities.equalsIgnoreMetadata;
 final class CRSBuilder extends ReferencingFactoryContainer {
 /**
  * Index where to store the name of the geodetic CRS, the datum, the 
ellipsoid and the prime meridian.
- * The GeoTIFF specification has only one key, {@link 
GeoKeys#GeogCitation}, for the geographic CRS and
- * its components. But some GeoTIFF files encode the names of all 
components in the value associated to
- * that key, as in the following example:
+ * The GeoTIFF specification has only one key, {@link 
GeoKeys#GeodeticCitation}, for the geographic CRS
+ * and its components. But some GeoTIFF files encode the names of all 
components in the value associated
+ * to that key, as in the following example:
  *
  * 
  *   GCS Name = wgs84|Datum = unknown|Ellipsoid = WGS_1984|Primem = 
Greenwich|
@@ -111,7 +111,7 @@ final class CRSBuilder extends ReferencingFactoryContainer {
 // PRIMEM must be first and GCRS must be last.
 
 /**
- * Keys that may be used in the value associated to {@link 
GeoKeys#GeogCitation}.
+ * Keys that may be used in the value associated to {@link 
GeoKeys#GeodeticCitation}.
  * For each element in this array at index {@code i}, the {@code i/2} 
value is equal to the
  * {@code DATUM}, {@code ELLIPSOID} or {@code PRIMEM} constant for the 
corresponding type.
  */
@@ -503,7 +503,7 @@ final class CRSBuilder extends ReferencingFactoryContainer {
  * At this point we finished copying all GeoTIFF keys in the `geoKeys` 
map. Before to create the CRS,
  * store a few metadata. The first one is an ASCII reference to 
published documentation on the overall
  * configuration of the GeoTIFF file. In practice it seems to be often 
the projected CRS name, despite
- * GeoKeys.PCSCitation being already for that purpose.
+ * GeoKeys.ProjectedCitation being already for that purpose.
  */
 description = getAsString(GeoKeys.Citation);
 int code = getAsInteger(GeoKeys.RasterType);
@@ -531,7 +531,7 @@ final class CRSBuilder extends ReferencingFactoryContainer {
 final VerticalCRS vertical = createVerticalCRS();
 if (vertical != null) {
 if (crs == null) {
-missingValue(GeoKeys.GeographicType);
+missingValue(GeoKeys.GeodeticCRS);
 } else {
 crs = 
getCRSFactory().createCompoundCRS(Map.of(IdentifiedObject.NAME_KEY, 
crs.getName()), crs, vertical);
 }
@@ -605,26 +605,49 @@ final class CRSBuilder extends 
ReferencingFactoryContainer {
 return (EllipsoidalCS) CoordinateSystems.replaceAngularUnit(cs, unit);
 }
 
+/**
+ * Shortcut for {@code createUnit(…)} when the unit is angular.
+ * If no unit is specified, the default is degrees.
+ *
+ * @param  key  key of the unit to fetch.
+ * @return the unit of measurement associated to the given key, or the 
default value.
+ */
+private Unit createAngularUnit(final UnitKey key) throws 
FactoryException {
+return createUnit(key, Angle.class, Units.DEGREE);
+}
+
+/**
+ * Shortcut for {@code createUnit(…)} when the unit is linear.
+ * If no unit is specified, the default is metre.
+ *
+ * @param  key  key of the unit to fetch.
+ * @return the unit of measurement associated to the given key, or the 
default value.
+ */
+private Unit createLinearUnit(final UnitKey key) throws 
FactoryException {
+return createUnit(key, Length.class, Units.METRE);
+}
+
 /**
  * Creates

svn commit: r1912969 - /sis/data/non-free/sis-embedded-data/pom.xml

2023-10-14 Thread desruisseaux
Author: desruisseaux
Date: Sat Oct 14 15:16:09 2023
New Revision: 1912969

URL: http://svn.apache.org/viewvc?rev=1912969=rev
Log:
Remove automatic name manifest entry. It is not needed anymore since the module 
has a module-info file.

Modified:
sis/data/non-free/sis-embedded-data/pom.xml

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=1912969=1912968=1912969=diff
==
--- sis/data/non-free/sis-embedded-data/pom.xml (original)
+++ sis/data/non-free/sis-embedded-data/pom.xml Sat Oct 14 15:16:09 2023
@@ -138,14 +138,6 @@ Provides non-free data, including the EP
   
 **/Generator*
   
-  
-  
-
-  
-org.apache.sis.referencing.database
-  
-
-  
 
   
 




[sis-site] branch main updated: Fix an error in the version of Glassfish dependency. Also fix more minor errors in release management guide.

2023-10-12 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 191a5800 Fix an error in the version of Glassfish dependency. Also fix 
more minor errors in release management guide.
191a5800 is described below

commit 191a580099a6bb8362d0a9f7ded8aabb45927729
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 13 00:29:13 2023 +0200

Fix an error in the version of Glassfish dependency.
Also fix more minor errors in release management guide.
---
 content/developer-guide/introduction/Installation.html | 2 +-
 content/downloads.md   | 2 +-
 content/release-management.md  | 9 ++---
 3 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/content/developer-guide/introduction/Installation.html 
b/content/developer-guide/introduction/Installation.html
index d34e6f77..6749122c 100644
--- a/content/developer-guide/introduction/Installation.html
+++ b/content/developer-guide/introduction/Installation.html
@@ -72,7 +72,7 @@
   dependency
 groupIdorg.glassfish.jaxb/groupId
 artifactIdjaxb-runtime/artifactId
-version2.3.6/version
+version4.0.3/version
 scoperuntime/scope
   /dependency
 
diff --git a/content/downloads.md b/content/downloads.md
index d517cdf7..74b9f6c2 100644
--- a/content/downloads.md
+++ b/content/downloads.md
@@ -125,7 +125,7 @@ Below are examples of declarations in a `pom.xml` file for 
building a project wi
   
 org.glassfish.jaxb
 jaxb-runtime
-2.3.6
+4.0.3
 runtime
   
 
diff --git a/content/release-management.md b/content/release-management.md
index 5fec8d67..859c 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -47,7 +47,6 @@ provided that all relative paths in this page are adjusted 
accordingly.
 │  │  └─ $NEW_VERSION
 │  │ └─ RC$RELEASE_CANDIDATE
 │  └─ test
-│ ├─ integration
 │ └─ maven
 └─ site
├─ asf-site
@@ -827,13 +826,9 @@ svn delete 
https://dist.apache.org/repos/dist/release/sis/$OLD_VERSION \
 
 On the `main` branch:
 
-* Update the version numbers in all `pom.xml` files.
+* Search for all occurrences of `SNAPSHOT` and update the version number.
 * Edit the value of the `MAJOR_VERSION` or `MINOR_VERSION` constant in the
-  `core/sis-utility/src/main/java/org/apache/sis/internal/system/Modules.java` 
file.
-
-Then on the development branch:
-
-* Edit the version number in the 
`application/sis-javafx/src/main/artifact/README` file.
+  `endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java` 
file.
 
 
 ## Delete old artifacts on Maven snapshot repository{#nexus-clean}



[sis-site] branch asf-site updated (cf66df92 -> 905533d0)

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

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


from cf66df92 Merge branch 'asf-staging' into asf-site.
 add 438d998f Fix erroneous version number of Glassfish dependency.
 new 905533d0 Merge branch 'asf-staging' into asf-site

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:
 downloads.html  | 2 +-
 en/sitemap.xml  | 4 ++--
 release-management.html | 9 ++---
 3 files changed, 5 insertions(+), 10 deletions(-)



[sis-site] 01/01: Merge branch 'asf-staging' into asf-site

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

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

commit 905533d06b33abb839ff79b54d7fedd7464c07f0
Merge: cf66df92 438d998f
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 13 00:33:46 2023 +0200

Merge branch 'asf-staging' into asf-site

 downloads.html  | 2 +-
 en/sitemap.xml  | 4 ++--
 release-management.html | 9 ++---
 3 files changed, 5 insertions(+), 10 deletions(-)



[sis-site] branch asf-staging updated: Fix erroneous version number of Glassfish dependency.

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

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


The following commit(s) were added to refs/heads/asf-staging by this push:
 new 438d998f Fix erroneous version number of Glassfish dependency.
438d998f is described below

commit 438d998f1d3e43c50686cbfbc20f91d3bb83
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 13 00:32:20 2023 +0200

Fix erroneous version number of Glassfish dependency.
---
 downloads.html  | 2 +-
 en/sitemap.xml  | 4 ++--
 release-management.html | 9 ++---
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/downloads.html b/downloads.html
index f85f017f..c4415467 100644
--- a/downloads.html
+++ b/downloads.html
@@ -200,7 +200,7 @@ Below are examples of declarations in a 
pom.xml file for building a
   dependency
 groupIdorg.glassfish.jaxb/groupId
 artifactIdjaxb-runtime/artifactId
-version2.3.6/version
+version4.0.3/version
 scoperuntime/scope
   /dependency
 /dependencies
diff --git a/en/sitemap.xml b/en/sitemap.xml
index 169330b4..25d41cf1 100644
--- a/en/sitemap.xml
+++ b/en/sitemap.xml
@@ -3,7 +3,7 @@
   xmlns:xhtml="http://www.w3.org/1999/xhtml;>
   
 https://sis.apache.org/downloads.html
-2023-10-03T18:22:46+02:00
+2023-10-13T00:29:13+02:00
   
 https://sis.apache.org/team-list.html
 2022-12-08T22:07:22+01:00
@@ -100,7 +100,7 @@
 2022-12-08T22:07:22+01:00
   
 https://sis.apache.org/release-management.html
-2023-10-07T16:05:00+02:00
+2023-10-13T00:29:13+02:00
   
 https://sis.apache.org/release-notes.html
 2023-10-02T17:36:51+02:00
diff --git a/release-management.html b/release-management.html
index 64db8496..391423f9 100644
--- a/release-management.html
+++ b/release-management.html
@@ -201,7 +201,6 @@ provided that all relative paths in this page are adjusted 
accordingly.
 │  │  └─ $NEW_VERSION
 │  │ └─ 
RC$RELEASE_CANDIDATE
 │  └─ test
-│ ├─ integration
 │ └─ maven
 └─ site
├─ asf-site
@@ -753,13 +752,9 @@ and the message format must be RAW text only (no 
HTML).
 Update main branch for the next development cycle   
 On the main branch:
 
-Update the version numbers in all pom.xml files.
+Search for all occurrences of SNAPSHOT and update the version 
number.
 Edit the value of the MAJOR_VERSION or 
MINOR_VERSION constant in the
-core/sis-utility/src/main/java/org/apache/sis/internal/system/Modules.java
 file.
-
-Then on the development branch:
-
-Edit the version number in the 
application/sis-javafx/src/main/artifact/README file.
+endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java
 file.
 
 Delete old artifacts on Maven snapshot repository   
 Login in the https://repository.apache.org/index.html;>Nexus 
repository.



[sis-site] 01/01: Merge branch 'asf-staging' into asf-site.

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

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

commit cf66df9281bc93834b3d1895e45e7c885ba52d96
Merge: 3a836900 930adf19
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 13 00:24:41 2023 +0200

Merge branch 'asf-staging' into asf-site.

 DOAP.rdf   |   5 +
 build.html | 244 --
 code-patterns.html |   2 +-
 coding-conventions.html|  62 +-
 command-line.html  |  10 +-
 contributor.html   |   2 +-
 downloads.html |  82 +-
 en/sitemap.xml |  75 +-
 epsg.html  |  26 +-
 faq.html   |   2 +-
 formats.html   |   4 +-
 fr/index.html  |   2 +-
 fr/index.xml   |   2 +-
 howto.html |   2 +-
 howto/crs_equality.html|   2 +-
 howto/datalake_to_datacube.html|   4 +-
 howto/envelopes_in_different_crs.html  |   2 +-
 howto/export_metadata_to_xml.html  |   2 +-
 howto/geodetic_paths.html  |   2 +-
 howto/geographic_bounding_box.html |   2 +-
 howto/index.xml|  24 +-
 howto/instantiate_utm_projection.html  |   2 +-
 howto/lookup_crs_urn.html  |   2 +-
 howto/parallel_computation.html|   2 +-
 howto/parse_and_format_mgrs_codes.html |   2 +-
 howto/raster_values_at_geographic_coordinates.html |   2 +-
 howto/raster_values_at_pixel_coordinates.html  |   2 +-
 howto/rasters_bigger_than_memory.html  |   2 +-
 howto/read_geotiff.html|   5 +-
 howto/read_netcdf.html |   5 +-
 howto/resample_raster.html |   2 +-
 howto/transform_coordinates.html   |   2 +-
 howto/transform_envelopes.html |   4 +-
 howto/write_raster.html|  37 +-
 index.html |  19 +-
 index.xml  | 219 +++--
 javafx.html|   6 +-
 mail-lists.html|   2 +-
 release-management-setup.html  | 276 ---
 release-management.html| 664 +--
 release-notes.html |   8 +-
 release-notes/0.1.html |   2 +-
 release-notes/0.2.html |   2 +-
 release-notes/0.3.html |   2 +-
 release-notes/0.4.html |   2 +-
 release-notes/0.5.html |   2 +-
 release-notes/0.6.html |   2 +-
 release-notes/0.7.html |   4 +-
 release-notes/0.8.html |   2 +-
 release-notes/1.0.html |   2 +-
 release-notes/1.1.html |   4 +-
 release-notes/1.2.html |   2 +-
 release-notes/1.3.html |   6 +-
 release-notes/{1.2.html => 1.4.html}   | 102 ++-
 release-notes/Modularization.html  | 891 +
 release-notes/index.xml|  66 +-
 sitemap.xml|   2 +-
 source.html| 100 ++-
 standards.html |   4 +-
 syntax.css |   7 +-
 tables/CoordinateOperationMethods.html |  14 +-
 tables/CoordinateReferenceSystems.html |   2 +-
 team-list.html |   2 +-
 63 files changed, 1891 insertions(+), 1152 deletions(-)



[sis-site] branch asf-site updated (3a836900 -> cf66df92)

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

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


from 3a836900 Merge branch 'asf-staging' into asf-site.
 add 930adf19 Staging repository for the 1.4 release.
 new cf66df92 Merge branch 'asf-staging' into asf-site.

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:
 DOAP.rdf   |   5 +
 build.html | 244 --
 code-patterns.html |   2 +-
 coding-conventions.html|  62 +-
 command-line.html  |  10 +-
 contributor.html   |   2 +-
 downloads.html |  82 +-
 en/sitemap.xml |  75 +-
 epsg.html  |  26 +-
 faq.html   |   2 +-
 formats.html   |   4 +-
 fr/index.html  |   2 +-
 fr/index.xml   |   2 +-
 howto.html |   2 +-
 howto/crs_equality.html|   2 +-
 howto/datalake_to_datacube.html|   4 +-
 howto/envelopes_in_different_crs.html  |   2 +-
 howto/export_metadata_to_xml.html  |   2 +-
 howto/geodetic_paths.html  |   2 +-
 howto/geographic_bounding_box.html |   2 +-
 howto/index.xml|  24 +-
 howto/instantiate_utm_projection.html  |   2 +-
 howto/lookup_crs_urn.html  |   2 +-
 howto/parallel_computation.html|   2 +-
 howto/parse_and_format_mgrs_codes.html |   2 +-
 howto/raster_values_at_geographic_coordinates.html |   2 +-
 howto/raster_values_at_pixel_coordinates.html  |   2 +-
 howto/rasters_bigger_than_memory.html  |   2 +-
 howto/read_geotiff.html|   5 +-
 howto/read_netcdf.html |   5 +-
 howto/resample_raster.html |   2 +-
 howto/transform_coordinates.html   |   2 +-
 howto/transform_envelopes.html |   4 +-
 howto/write_raster.html|  37 +-
 index.html |  19 +-
 index.xml  | 219 +++--
 javafx.html|   6 +-
 mail-lists.html|   2 +-
 release-management-setup.html  | 276 ---
 release-management.html| 664 +--
 release-notes.html |   8 +-
 release-notes/0.1.html |   2 +-
 release-notes/0.2.html |   2 +-
 release-notes/0.3.html |   2 +-
 release-notes/0.4.html |   2 +-
 release-notes/0.5.html |   2 +-
 release-notes/0.6.html |   2 +-
 release-notes/0.7.html |   4 +-
 release-notes/0.8.html |   2 +-
 release-notes/1.0.html |   2 +-
 release-notes/1.1.html |   4 +-
 release-notes/1.2.html |   2 +-
 release-notes/1.3.html |   6 +-
 release-notes/{1.2.html => 1.4.html}   | 102 ++-
 release-notes/Modularization.html  | 891 +
 release-notes/index.xml|  66 +-
 sitemap.xml|   2 +-
 source.html| 100 ++-
 standards.html |   4 +-
 syntax.css |   7 +-
 tables/CoordinateOperationMethods.html |  14 +-
 tables/CoordinateReferenceSystems.html |   2 +-
 team-list.html |   2 +-
 63 files changed, 1891 insertions(+), 1152 deletions(-)
 delete mode 100644 build.html
 delete mode 100644 release-management-setup.html
 copy release-notes/{1.2.html => 1.4.html} (52%)
 create mode 100644 release-notes/Modularization.html



[sis] branch main updated: Set version number to 1.5 for next release cycle.

2023-10-12 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 7276317ed7 Set version number to 1.5 for next release cycle.
7276317ed7 is described below

commit 7276317ed7e929a670f6165d6977d5aabdfc82bf
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 7 17:36:28 2023 +0200

Set version number to 1.5 for next release cycle.
---
 endorsed/build.gradle.kts   | 2 +-
 endorsed/src/org.apache.sis.openoffice/bundle/README.md | 2 +-
 .../test/org/apache/sis/referencing/factory/sql/epsg/README.md  | 2 +-
 .../src/org.apache.sis.util/main/org/apache/sis/system/Modules.java | 2 +-
 incubator/build.gradle.kts  | 2 +-
 optional/build.gradle.kts   | 2 +-
 parent/pom.xml  | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index ca7aa0308d..09483d0fe9 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 group = "org.apache.sis"
-version = "1.4-SNAPSHOT"
+version = "1.5-SNAPSHOT"
 
 /*
  * "org.apache.sis.buildtools" is a custom Gradle plugin for building a 
project with Module Source Hierarchy
diff --git a/endorsed/src/org.apache.sis.openoffice/bundle/README.md 
b/endorsed/src/org.apache.sis.openoffice/bundle/README.md
index ebdcfa6a12..84cd4dc2a9 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.4-SNAPSHOT.oxt --log-file log.txt
+unopkg add apache-sis-1.5-SNAPSHOT.oxt --log-file log.txt
 scalc -env:RTL_LOGFILE=log.txt
 ```
 
diff --git 
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
index f7945afcd7..5238e5710c 100644
--- 
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 @@ 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-1.4-SNAPSHOT.jar:$CLASSPATH
+export 
CLASSPATH=$PWD/target/binaries/sis-referencing-1.5-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 --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java
index e148e9dfd4..5f4c76b615 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java
@@ -116,7 +116,7 @@ public final class Modules {
  *
  * @see org.apache.sis.util.Version
  */
-public static final int MINOR_VERSION = 4;
+public static final int MINOR_VERSION = 5;
 
 /**
  * The prefix of all classnames in Apache SIS, including a trailing dot.
diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 0724c5f5f4..0a1a1bd5c2 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 group = "org.apache.sis"
-version = "1.4-SNAPSHOT"
+version = "1.5-SNAPSHOT"
 
 /*
  * "org.apache.sis.buildtools" is a custom Gradle plugin for building a 
project with Module Source Hierarchy.
diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts
index c7d02a5e1e..27d145361b 100644
--- a/optional/build.gradle.kts
+++ b/optional/build.gradle.kts
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 group = "org.apache.sis"
-version = "1.4-SNAPSHOT"
+version = "1.5-SNAPSHOT"
 
 val pathToFX = System.getenv("PATH_TO_FX")
 if (pathToFX == null) {
diff --git a/parent/pom.xml b/parent/pom.xml
index 7d8dfa94e9..9b3f339cfc 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -38,7 +38,7 @@
== -->
   org.apache.sis
   parent
-  1.4-SNAPSHOT
+  1.5-SNAPSHOT
   pom
 
   Apache SIS



[sis] tag 1.4-RC1 deleted (was 6f5b664363)

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

desruisseaux pushed a change to tag 1.4-RC1
in repository https://gitbox.apache.org/repos/asf/sis.git


*** WARNING: tag 1.4-RC1 was deleted! ***

 was 6f5b664363 Set the version number to 1.4.

The revisions that were on this tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



[sis] tag 1.4 created (now 6f5b664363)

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

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


  at 6f5b664363 (commit)
No new revisions were added by this update.



svn commit: r64502 - /dev/sis/1.4/

2023-10-12 Thread desruisseaux
Author: desruisseaux
Date: Thu Oct 12 16:04:59 2023
New Revision: 64502

Log:
Delete SIS 1.4 staging repository after release.

Removed:
dev/sis/1.4/



svn commit: r64501 - /dev/sis/1.4/RC1/ /release/sis/1.4/

2023-10-12 Thread desruisseaux
Author: desruisseaux
Date: Thu Oct 12 16:04:15 2023
New Revision: 64501

Log:
Committing SIS Source and Binary Release Candidate 1 for SIS-1.4.

Added:
release/sis/1.4/
  - copied from r64500, dev/sis/1.4/RC1/
Removed:
dev/sis/1.4/RC1/



svn commit: r1912922 - /sis/release-test/integration/

2023-10-12 Thread desruisseaux
Author: desruisseaux
Date: Thu Oct 12 15:47:22 2023
New Revision: 1912922

URL: http://svn.apache.org/viewvc?rev=1912922=rev
Log:
Remove the integration tests because Apache SIS code repository no longer 
contains `TestSuite` classes.
The removed project also contained a Proj4 - Apache SIS comparator, which is 
removed as a side effect.
If we want those comparisons, we would need to redo them with PROJ-JNI.

Removed:
sis/release-test/integration/



[sis] 06/06: Tune test utilities in preparation for the addition of GeoTIFF writer.

2023-10-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 defbef6e4a7ec537e96598eb3b9139f28dd7d173
Author: Martin Desruisseaux 
AuthorDate: Mon Sep 18 16:20:08 2023 +0200

Tune test utilities in preparation for the addition of GeoTIFF writer.
---
 .../test/org/apache/sis/image/TiledImageMock.java  | 38 +
 .../org/apache/sis/io/stream/ByteArrayChannel.java | 49 ++
 2 files changed, 71 insertions(+), 16 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/TiledImageMock.java
 
b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/TiledImageMock.java
index 9426fc852d..e5a0031733 100644
--- 
a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/TiledImageMock.java
+++ 
b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/TiledImageMock.java
@@ -41,7 +41,7 @@ import org.apache.sis.coverage.grid.j2d.WritableTiledImage;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.util.internal.Numerics;
 
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 
 /**
@@ -180,7 +180,19 @@ public final class TiledImageMock extends PlanarImage 
implements WritableRendere
 }
 
 /**
- * Returns a gray scale color model if the data type is byte, or {@code 
null} otherwise.
+ * Sets the color model. This method can be invoked at most once.
+ *
+ * @param  cm  the color model to use.
+ */
+public synchronized void setColorModel(final ColorModel cm) {
+assertNull(colorModel, "Already initialized.");
+assertTrue(cm.isCompatibleSampleModel(sampleModel));
+colorModel = cm;
+}
+
+/**
+ * Returns the color model.
+ * The default value is a gray scale color model if the data type is byte, 
or {@code null} otherwise.
  * More color models may be supported in future versions if there is a 
need for them.
  */
 @Override
@@ -269,6 +281,14 @@ public final class TiledImageMock extends PlanarImage 
implements WritableRendere
  StrictMath.floorDiv(oy, tileHeight) + minTileY, 
true).setSample(x, y, b, value);
 }
 
+/**
+ * Initializes the sample values of all all bands in all tiles to testing 
values.
+ * The sample value pattern is described by {@link 
#initializeAllTiles(int[], int)}.
+ */
+public void initializeAllTiles() {
+initializeAllTiles(ArraysExt.range(0, sampleModel.getNumBands()), 0);
+}
+
 /**
  * Initializes the sample values of all tiles to testing values.
  * The sample values will be 4 digits numbers of the form "BTYX" where:
@@ -369,7 +389,7 @@ public final class TiledImageMock extends PlanarImage 
implements WritableRendere
  */
 @Override
 public synchronized Raster getTile(final int tileX, final int tileY) {
-assertFalse("isTileAcquired", isTileAcquired);  // See 
javadoc.
+assertFalse(isTileAcquired, "isTileAcquired");  // See 
javadoc.
 return tile(tileX, tileY, false);
 }
 
@@ -378,7 +398,7 @@ public final class TiledImageMock extends PlanarImage 
implements WritableRendere
  */
 @Override
 public synchronized WritableRaster getWritableTile(final int tileX, final 
int tileY) {
-assertFalse("isTileAcquired", isTileAcquired);
+assertFalse(isTileAcquired, "isTileAcquired");
 final WritableRaster raster = tile(tileX, tileY, true);
 isTileAcquired = true;
 acquiredTileX  = tileX;
@@ -420,9 +440,9 @@ public final class TiledImageMock extends PlanarImage 
implements WritableRendere
  */
 @Override
 public synchronized void releaseWritableTile(final int tileX, final int 
tileY) {
-assertTrue("isTileAcquired", isTileAcquired);
-assertEquals("tileX", acquiredTileX, tileX);
-assertEquals("tileY", acquiredTileY, tileY);
+assertTrue(isTileAcquired, "isTileAcquired");
+assertEquals(acquiredTileX, tileX, "tileX");
+assertEquals(acquiredTileY, tileY, "tileY");
 isTileAcquired = false;
 }
 
@@ -476,8 +496,8 @@ public final class TiledImageMock extends PlanarImage 
implements WritableRendere
 final int minY = r.getMinY();
 final int tx = ImageUtilities.pixelToTileX(this, minX);
 final int ty = ImageUtilities.pixelToTileY(this, minY);
-assertEquals("Unsupported operation.", tx, 
ImageUtilities.pixelToTileX(this, minX + r.getWidth()  - 1));
-assertEquals("Unsupported operation.", ty, 
ImageUtilities.pixelToTileX(this, minY + r.getHeight() - 1));
+assertEquals(tx, ImageUtilities.pixelToTileX(this, minX + r.getWidth() 
 - 1), "Unsupported operation.

[sis] branch geoapi-4.0 updated (a2820288ee -> defbef6e4a)

2023-10-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 a2820288ee Modify the structure of the binary bundle for avoiding to 
have undesired applications on the module-path.
 new 3858503ae4 Documentation and code updates in I/O in preparation for 
GeoTIFF writer.
 new 255a5b2bd7 `ChannelDataInput` implements `DataInput` for allowing 
`instanceof` checks against a public interface.
 new a5cb0d0568 `ChannelDataOutput` implements `DataOutput` for allowing 
`instanceof` checks against a public interface.
 new e45d945158 Add `HyperRectangleWriter` as an helper class for 
multi-dimensional grid coverage writers.
 new 4fe9373158 Add `UpdatableWrite` as an helper class for data store 
writers which need to update values after they have been written.
 new defbef6e4a Tune test utilities in preparation for the addition of 
GeoTIFF writer.

The 6 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/image/TiledImageMock.java  |  38 ++-
 .../org/apache/sis/io/stream/ChannelDataInput.java | 125 +++-
 .../apache/sis/io/stream/ChannelDataOutput.java| 201 ++---
 .../sis/io/stream/ChannelImageInputStream.java |  70 +
 .../sis/io/stream/ChannelImageOutputStream.java|  85 +-
 .../apache/sis/io/stream/HyperRectangleReader.java |   2 +-
 .../apache/sis/io/stream/HyperRectangleWriter.java | 301 +++
 .../apache/sis/io/stream/InputStreamAdapter.java   |  58 +++-
 .../main/org/apache/sis/io/stream/Region.java  |  38 ++-
 .../org/apache/sis/io/stream/UpdatableWrite.java   | 323 +
 .../org/apache/sis/storage/StorageConnector.java   | 113 ---
 .../org/apache/sis/storage/base/URIDataStore.java  |   7 +-
 .../org/apache/sis/io/stream/ByteArrayChannel.java |  49 +++-
 .../sis/io/stream/ChannelDataOutputTest.java   |  91 ++
 .../io/stream/ChannelImageOutputStreamTest.java|  18 +-
 .../sis/io/stream/HyperRectangleWriterTest.java| 206 +
 .../apache/sis/io/stream/UpdatableWriteTest.java   | 145 +
 .../apache/sis/storage/StorageConnectorTest.java   |  10 +-
 18 files changed, 1501 insertions(+), 379 deletions(-)
 create mode 100644 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/HyperRectangleWriter.java
 create mode 100644 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/UpdatableWrite.java
 create mode 100644 
endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/HyperRectangleWriterTest.java
 create mode 100644 
endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/UpdatableWriteTest.java



[sis] 02/06: `ChannelDataInput` implements `DataInput` for allowing `instanceof` checks against a public interface.

2023-10-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 255a5b2bd73bcf4873d78a677eed30140f843e6d
Author: Martin Desruisseaux 
AuthorDate: Sun Sep 17 14:51:39 2023 +0200

`ChannelDataInput` implements `DataInput` for allowing `instanceof` checks 
against a public interface.
---
 .../org/apache/sis/io/stream/ChannelDataInput.java | 125 +++--
 .../sis/io/stream/ChannelImageInputStream.java |  70 +---
 .../apache/sis/io/stream/InputStreamAdapter.java   |  58 +-
 .../org/apache/sis/storage/StorageConnector.java   |  99 
 .../apache/sis/storage/StorageConnectorTest.java   |  10 +-
 5 files changed, 227 insertions(+), 135 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
index 5f0c4c5c9e..a7aa272888 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
@@ -16,10 +16,13 @@
  */
 package org.apache.sis.io.stream;
 
+import java.io.DataInput;
+import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.EOFException;
 import java.nio.Buffer;
 import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 import java.nio.CharBuffer;
 import java.nio.ShortBuffer;
 import java.nio.IntBuffer;
@@ -51,17 +54,14 @@ import static 
org.apache.sis.util.ArgumentChecks.ensureBetween;
  * Since this class is only a helper tool, it does not "own" the channel 
and consequently does not provide
  * {@code close()} method. It is users responsibility to close the channel 
after usage.
  *
- * Relationship with {@code DataInput}
- * This class API is compatibly with the {@link java.io.DataInput} interface, 
so subclasses can implement that
- * interface if they wish. This class does not implement {@code DataInput} 
itself because it is not needed for
- * SIS purposes, and because {@code DataInput} has undesirable methods ({@code 
readLine()} and {@code readUTF()}).
- * However, the {@link ChannelImageInputStream} class implements the {@code 
DataInput} interface, together with
- * the {@link javax.imageio.stream.ImageInputStream} one, mostly for 
situations when inter-operability with
- * {@link javax.imageio} is needed.
+ * Relationship with {@code ChannelImageInputStream}
+ * This class API is compatible with the {@link 
javax.imageio.stream.ImageInputStream} interface, so subclasses
+ * can implement that interface if they wish. This is done by {@link 
ChannelImageInputStream} for situations
+ * when inter-operability with {@link javax.imageio} is needed.
  *
  * @author  Martin Desruisseaux (Geomatys)
  */
-public class ChannelDataInput extends ChannelData {
+public class ChannelDataInput extends ChannelData implements DataInput {
 /**
  * Minimum number of bytes to skip in the {@code seek(long)} operation.
  * If there is less bytes to skip, then it is not worth to do a seek
@@ -173,7 +173,7 @@ public class ChannelDataInput extends ChannelData {
 
 /**
  * Returns {@code true} if the buffer or the channel has at least one byte 
remaining.
- * If the {@linkplain #buffer buffer} has no remaining bytes, then this 
method will attempts
+ * If the {@linkplain #buffer buffer} has no remaining bytes, then this 
method will attempt
  * to read at least one byte from the {@linkplain #channel}. If no bytes 
can be read because
  * the channel has reached the end of stream, then this method returns 
{@code false}.
  *
@@ -244,10 +244,10 @@ public class ChannelDataInput extends ChannelData {
 }
 
 /**
- * Pushes back the last processed byte. This is used when a call to {@code 
readBit()} did not
- * used every bits in a byte, or when {@code readLine()} checked for the 
Windows-style of EOL.
+ * Pushes back the last processed byte. This is used when a call to {@link 
#readBits(int)} did not
+ * used every bits in a byte, or when {@link #readLine()} checked for the 
Windows-style of EOL.
  */
-final void pushBack() {
+private void pushBack() {
 buffer.position(buffer.position() - 1);
 }
 
@@ -257,6 +257,8 @@ public class ChannelDataInput extends ChannelData {
  *
  * @return the value of the next bit from the stream.
  * @throws IOException if an error occurred while reading (including EOF).
+ *
+ * @see #readBoolean()
  */
 public final int readBit() throws IOException {
 ensureBufferContains(Byte.BYTES);
@@ -297,6 +299,26 @@ public class ChannelDataInput extends ChannelData {
 return value;
 }
 
+/**
+ * Reads a byte from the stream and returns {@code true} if it is nonzero, 
{@code false}

[sis] 01/06: Documentation and code updates in I/O in preparation for GeoTIFF writer.

2023-10-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 3858503ae455572140d13cf99f21bc1bdd3747cf
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 16 11:04:01 2023 +0200

Documentation and code updates in I/O in preparation for GeoTIFF writer.
---
 .../apache/sis/io/stream/ChannelDataOutput.java| 87 ++
 .../apache/sis/io/stream/HyperRectangleReader.java |  2 +-
 .../main/org/apache/sis/io/stream/Region.java  | 38 +++---
 .../org/apache/sis/storage/base/URIDataStore.java  |  7 +-
 4 files changed, 86 insertions(+), 48 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
index ea8c18fff7..31e17058bb 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
@@ -436,6 +436,12 @@ public class ChannelDataOutput extends ChannelData 
implements Flushable {
  * in order to avoid duplicating almost identical code many times.
  */
 private abstract class ArrayWriter {
+/**
+ * Creates a new writer.
+ */
+ArrayWriter() {
+}
+
 /**
  * Creates a new buffer of the type required by the array to write.
  * This method is guaranteed to be invoked exactly once.
@@ -459,11 +465,11 @@ public class ChannelDataOutput extends ChannelData 
implements Flushable {
 }
 
 /**
- * Writes {@code length} characters from the array to the stream.
+ * Writes {@code length} elements from the array to the stream.
  *
  * @param  dataSize  the size of the Java primitive type which is the 
element of the array.
  * @param  offsetthe starting position within {@code src} to write.
- * @param  lengththe number of characters to write.
+ * @param  lengththe number of elements to write.
  * @throws IOException if an error occurred while writing the stream.
  */
 final void writeFully(final int dataSize, int offset, int length) 
throws IOException {
@@ -580,17 +586,51 @@ public class ChannelDataOutput extends ChannelData 
implements Flushable {
 }
 
 /**
- * Fills the buffer with the zero values from its position up to the limit.
- * After this method call, the position is undetermined and shall be set to
- * a new value by the caller.
+ * Repeats the same byte many times.
+ * This method can be used for filling a region of the output stream.
+ *
+ * @param  count  number of bytes to write.
+ * @param  value  the byte to repeat the given amount of times.
  */
-private void clear() {
-if (buffer.hasArray()) {
-final int offset = buffer.arrayOffset();
-Arrays.fill(buffer.array(), offset + buffer.position(), offset + 
buffer.limit(), (byte) 0);
-} else {
-while (buffer.hasRemaining()) {
-buffer.put((byte) 0);
+public final void repeat(long count, final byte value) throws IOException {
+clearBitOffset();
+if (count > 0) {
+/*
+ * Fill the buffer with the specified value. The filling is done 
only once,
+ * even if the number of bytes to write is greater than the buffer 
capacity.
+ * We can do that because the same buffer content can be reused 
during each
+ * `WritableByteChannel.write(ByteBuffer)` call.
+ */
+long n = Math.min(count, buffer.capacity());
+ensureBufferAccepts((int) n);
+if (buffer.hasArray()) {
+final int offset = buffer.arrayOffset();
+final int lower  = buffer.position();
+final int upper  = lower + (int) n;
+Arrays.fill(buffer.array(), offset + lower, offset + upper, 
value);
+buffer.position(upper);
+} else {
+for (int i = (int) n; --i >= 0;) {
+buffer.put(value);
+}
+}
+/*
+ * If the number of bytes to write is greater than the capacity, 
we need to flush the buffer.
+ * Not necessarily fully however, because maybe there is not so 
much extra bytes to write.
+ */
+if ((count -= n) > 0) { // What 
remains, not counting what we put in the buffer.
+assert buffer.position() == buffer.capacity();  // Because 
of `ensureBufferAccepts(capacity)`.
+int c;
+do {
+c = channel.write(buffer.rewind());
+bufferOf

[sis] 03/06: `ChannelDataOutput` implements `DataOutput` for allowing `instanceof` checks against a public interface.

2023-10-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 a5cb0d05680cd62201d58669e8460b1b6d1d6595
Author: Martin Desruisseaux 
AuthorDate: Sun Sep 17 16:32:14 2023 +0200

`ChannelDataOutput` implements `DataOutput` for allowing `instanceof` 
checks against a public interface.
---
 .../apache/sis/io/stream/ChannelDataOutput.java| 114 +++--
 .../sis/io/stream/ChannelImageOutputStream.java|  85 +--
 .../org/apache/sis/storage/StorageConnector.java   |  14 +--
 .../sis/io/stream/ChannelDataOutputTest.java   |  91 +---
 .../io/stream/ChannelImageOutputStreamTest.java|  18 +---
 5 files changed, 142 insertions(+), 180 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
index 31e17058bb..ccf2e6701e 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
@@ -17,10 +17,12 @@
 package org.apache.sis.io.stream;
 
 import java.util.Arrays;
+import java.io.DataOutput;
 import java.io.Flushable;
 import java.io.IOException;
 import java.nio.Buffer;
 import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 import java.nio.CharBuffer;
 import java.nio.DoubleBuffer;
 import java.nio.FloatBuffer;
@@ -29,6 +31,7 @@ import java.nio.LongBuffer;
 import java.nio.ShortBuffer;
 import java.nio.channels.SeekableByteChannel;
 import java.nio.channels.WritableByteChannel;
+import java.nio.charset.StandardCharsets;
 import org.apache.sis.util.internal.Numerics;
 import org.apache.sis.storage.internal.Resources;
 
@@ -50,18 +53,15 @@ import static 
org.apache.sis.util.ArgumentChecks.ensureBetween;
  * Since this class is only a helper tool, it does not "own" the channel 
and consequently does not provide
  * {@code close()} method. It is users responsibility to close the channel 
after usage.
  *
- * Relationship with {@code DataOutput}
- * This class API is compatibly with the {@link java.io.DataOutput} interface, 
so subclasses can implement that
- * interface if they wish. This class does not implement {@code DataOutput} 
itself because it is not needed for
- * SIS purposes.
- * However, the {@link ChannelImageOutputStream} class implements the {@code 
DataOutput} interface, together with
- * the {@link javax.imageio.stream.ImageOutputStream} one, mostly for 
situations when inter-operability with
- * {@link javax.imageio} is needed.
+ * Relationship with {@code ImageOutputStream}
+ * This class API is compatibly with the {@link 
javax.imageio.stream.ImageOutputStream} interface, so subclasses
+ * can implement that interface if they wish. This class does not implement 
{@code ImageOutputStream} because it
+ * is not needed for SIS purposes.
  *
  * @author  Rémi Maréchal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  */
-public class ChannelDataOutput extends ChannelData implements Flushable {
+public class ChannelDataOutput extends ChannelData implements DataOutput, 
Flushable {
 /**
  * The channel where data are written.
  * This is supplied at construction time.
@@ -151,6 +151,8 @@ public class ChannelDataOutput extends ChannelData 
implements Flushable {
  *
  * @param  bit  the bit to write (rightmost bit).
  * @throws IOException if an error occurred while creating the data output.
+ *
+ * @see #writeBoolean(boolean)
  */
 public final void writeBit(final int bit) throws IOException {
 writeBits(bit, 1);
@@ -207,6 +209,38 @@ public class ChannelDataOutput extends ChannelData 
implements Flushable {
 }
 }
 
+/**
+ * Writes boolean value (8 bits) into the steam. This method delegates to 
{@linkplain #writeByte(int)}.
+ * If boolean {@code v} is {@code true} the byte value 1 is written 
whereas if boolean is {@code false}
+ * zero is written.
+ *
+ * For writing a single bit, see {@link #writeBit(int)} instead.
+ *
+ * @param  v  boolean to be written.
+ * @throws IOException if some I/O exception occurs during writing.
+ *
+ * @see #writeBit(int)
+ */
+@Override
+public final void writeBoolean(final boolean v) throws IOException {
+writeByte(v ? 1 : 0);
+}
+
+/**
+ * Writes a single byte to the stream at the current position.
+ * The 24 high-order bits of {@code v} are ignored.
+ *
+ * @param  v  an integer whose lower 8 bits are to be written.
+ * @throws IOException if some I/O exception occurs during writing.
+ *
+ * @deprecated Prefer {@link #writeByte(int)} for readability.
+ */
+@Override
+@Deprecated
+public final void write(final int v) throws I

[sis] 05/06: Add `UpdatableWrite` as an helper class for data store writers which need to update values after they have been written.

2023-10-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 4fe9373158928221702a29aac51e9cc11a92452e
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 16 16:36:46 2023 +0200

Add `UpdatableWrite` as an helper class for data store writers which need 
to update values after they have been written.
---
 .../org/apache/sis/io/stream/UpdatableWrite.java   | 323 +
 .../apache/sis/io/stream/UpdatableWriteTest.java   | 145 +
 2 files changed, 468 insertions(+)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/UpdatableWrite.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/UpdatableWrite.java
new file mode 100644
index 00..22416314be
--- /dev/null
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/UpdatableWrite.java
@@ -0,0 +1,323 @@
+/*
+ * 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.io.stream;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.OptionalLong;
+import org.apache.sis.util.resources.Errors;
+import org.apache.sis.util.collection.CheckedContainer;
+
+
+/**
+ * Placeholder for a primitive value which is written now but can be modified 
later.
+ * A typical usage of this class is when the next value to write in the output 
stream is the length of something,
+ * but that length is not yet known because it depends on how many bytes will 
be emitted by the next operations.
+ * That length may be hard to predict when it is the result of a compression.
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ *
+ * @paramtype of value to write.
+ */
+public abstract class UpdatableWrite implements CheckedContainer {
+/**
+ * The stream position where the updatable value has been written.
+ * This is the position where the value will be rewritten if it needs to 
be updated.
+ *
+ * @see ChannelDataOutput#getStreamPosition()
+ */
+public final long position;
+
+/**
+ * Prepares a new updatable value.
+ *
+ * @param  position  stream where to write the value.
+ */
+private UpdatableWrite(final ChannelDataOutput output) {
+position = output.getStreamPosition();
+}
+
+/**
+ * Creates a pseudo-updatable associated to no value.
+ * This variant can be used when the caller only want to record the 
position, with no write operation.
+ *
+ * @param  output  stream where to write the value.
+ * @param  value   the unsigned short value to write.
+ * @return handler for modifying the value later.
+ * @throws IOException if an error occurred while writing the value.
+ */
+public static UpdatableWrite of(final ChannelDataOutput output) {
+return new OfVoid(output);
+}
+
+/**
+ * Creates an updatable unsigned short value.
+ *
+ * @param  output  stream where to write the value.
+ * @param  value   the unsigned short value to write.
+ * @return handler for modifying the value later.
+ * @throws IOException if an error occurred while writing the value.
+ */
+public static UpdatableWrite of(final ChannelDataOutput output, 
final short value) throws IOException {
+final var dw = new OfShort(output, value);
+dw.write(output);
+return dw;
+}
+
+/**
+ * Creates an updatable unsigned integer value.
+ *
+ * @param  output  stream where to write the value.
+ * @param  value   the unsigned integer value to write.
+ * @return handler for modifying the value later.
+ * @throws IOException if an error occurred while writing the value.
+ */
+public static UpdatableWrite of(final ChannelDataOutput output, 
final int value) throws IOException {
+final var dw = new OfInt(output, value);
+dw.write(output);
+return dw;
+}
+
+/**
+ * Creates an updatable long value.
+ *
+ * @param  output  stream where to write the value.
+ * @param  value   the value to write.
+ * @return handler for modifying the value later.
+ *

[sis] 04/06: Add `HyperRectangleWriter` as an helper class for multi-dimensional grid coverage writers.

2023-10-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 e45d94515849b665770ac89d82e8bca2d3f01493
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 16 14:51:04 2023 +0200

Add `HyperRectangleWriter` as an helper class for multi-dimensional grid 
coverage writers.
---
 .../apache/sis/io/stream/HyperRectangleWriter.java | 301 +
 .../sis/io/stream/HyperRectangleWriterTest.java| 206 ++
 2 files changed, 507 insertions(+)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/HyperRectangleWriter.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/HyperRectangleWriter.java
new file mode 100644
index 00..961007a995
--- /dev/null
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/HyperRectangleWriter.java
@@ -0,0 +1,301 @@
+/*
+ * 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.io.stream;
+
+import java.io.IOException;
+import java.awt.Rectangle;
+import java.awt.image.DataBuffer;
+import java.awt.image.SampleModel;
+import java.awt.image.ComponentSampleModel;
+import java.awt.image.MultiPixelPackedSampleModel;
+import java.awt.image.SinglePixelPackedSampleModel;
+import org.apache.sis.util.ArraysExt;
+
+
+/**
+ * Helper methods for writing a rectangular area, a cube or a hyper-cube in a 
channel.
+ * A rectangular area is usually a tile, and consequently should be relatively 
small.
+ * The same instance can be reused when the shape of source arrays and the 
shape of
+ * the region to write do not change, which is typically the case when writing 
tiles.
+ * This class is thread-safe if writing in different output channels.
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ */
+public final class HyperRectangleWriter {
+/**
+ * Index of the first value to use in the array given to write methods.
+ */
+private final int startAt;
+
+/**
+ * Number of elements that can be written in a single I/O operation.
+ */
+private final int contiguousDataLength;
+
+/**
+ * Number of elements to write in each dimension after the contiguous 
dimensions, in reverse order.
+ * For an image, it may be an array of length 2 with the height and width 
of the destination region,
+ * in that order. However it may be an array of length 1 with only the 
height, or an empty array
+ * if some chunks of data can be written in a single I/O operation.
+ *
+ * Values in this array are decremented by 1.
+ */
+private final int[] remaining;
+
+/**
+ * Value by which to increment the flat array index for moving to the next 
value.
+ * The array length and the element order is the same as in {@link 
#remaining}.
+ */
+private final int[] strides;
+
+/**
+ * Creates a new writer for data of a shape specified by the given region.
+ * The region also specifies the subset to write.
+ *
+ * @param  output  where to write data.
+ * @param  region  size of the source hyper-rectangle and region to write.
+ * @throws ArithmeticException if the region is too large.
+ */
+public HyperRectangleWriter(final Region region) {
+startAt  = Math.toIntExact(region.startAt);
+int cdd  = region.contiguousDataDimension();
+contiguousDataLength = region.targetLength(cdd);
+final int d  = region.getDimension() - cdd;
+remaining= new int[d];
+strides  = new int[d];
+for (int i=d; --i>=0; cdd++) {
+if ((remaining[i] = region.getTargetSize(cdd) - 1) < 0 ||
+  (strides[i] = Math.toIntExact(region.getSkip(cdd) + 
contiguousDataLength)) == 0)
+{
+/*
+ * Should have been verified as of Region constructor contract.
+ * Check again as a safety against never-ending loops.
+ */
+throw new AssertionError(region);
+}
+}
+}
+
+/**
+ * Creates a new writer for raster d

[sis] tag 1.4-RC1 created (now 6f5b664363)

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

desruisseaux pushed a change to tag 1.4-RC1
in repository https://gitbox.apache.org/repos/asf/sis.git


  at 6f5b664363 (commit)
This tag includes the following new commits:

 new 9cc3d31096 Remove non-released files: - Incubator modules. - Style 
classes (they should have been in the incubator group). - Configuration files 
for ASF.
 new 6f5b664363 Set the version number to 1.4.

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.




[sis] 02/02: Set the version number to 1.4.

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

desruisseaux pushed a commit to tag 1.4-RC1
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 6f5b66436319de9fcb1e7b748e3058b9418e803a
Author: Martin Desruisseaux 
AuthorDate: Sat Sep 30 16:06:42 2023 +0200

Set the version number to 1.4.
---
 endorsed/build.gradle.kts   | 2 +-
 endorsed/src/org.apache.sis.openoffice/bundle/README.md | 2 +-
 .../test/org/apache/sis/referencing/factory/sql/epsg/README.md  | 2 +-
 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java  | 2 +-
 optional/build.gradle.kts   | 2 +-
 parent/pom.xml  | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts
index ca7aa0308d..aac7fcc855 100644
--- a/endorsed/build.gradle.kts
+++ b/endorsed/build.gradle.kts
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 group = "org.apache.sis"
-version = "1.4-SNAPSHOT"
+version = "1.4"
 
 /*
  * "org.apache.sis.buildtools" is a custom Gradle plugin for building a 
project with Module Source Hierarchy
diff --git a/endorsed/src/org.apache.sis.openoffice/bundle/README.md 
b/endorsed/src/org.apache.sis.openoffice/bundle/README.md
index ebdcfa6a12..1351b41d8b 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.4-SNAPSHOT.oxt --log-file log.txt
+unopkg add apache-sis-1.4.oxt --log-file log.txt
 scalc -env:RTL_LOGFILE=log.txt
 ```
 
diff --git 
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
index f7945afcd7..46712e1536 100644
--- 
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 @@ 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-1.4-SNAPSHOT.jar:$CLASSPATH
+export CLASSPATH=$PWD/target/binaries/sis-referencing-1.4.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 --git 
a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java 
b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java
index 82f6640912..54c14170eb 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java
@@ -58,7 +58,7 @@ public class Version implements CharSequence, 
Comparable, Serializable
 /**
  * The version of this Apache SIS distribution.
  */
-public static final Version SIS = new Version(MAJOR_VERSION + "." + 
MINOR_VERSION + "-SNAPSHOT");
+public static final Version SIS = new Version(MAJOR_VERSION + "." + 
MINOR_VERSION);
 
 /**
  * A few commonly used version numbers. This list is based on SIS needs, 
e.g. in {@code DataStore} implementations.
diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts
index c7d02a5e1e..5125b2a8bf 100644
--- a/optional/build.gradle.kts
+++ b/optional/build.gradle.kts
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 group = "org.apache.sis"
-version = "1.4-SNAPSHOT"
+version = "1.4"
 
 val pathToFX = System.getenv("PATH_TO_FX")
 if (pathToFX == null) {
diff --git a/parent/pom.xml b/parent/pom.xml
index 7d8dfa94e9..755a231df2 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -38,7 +38,7 @@
== -->
   org.apache.sis
   parent
-  1.4-SNAPSHOT
+  1.4
   pom
 
   Apache SIS



[sis-site] 02/02: Prepare documentation for the 1.4 release.

2023-10-07 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 0f8f3e93410e74319b143e1e42428941c870baff
Author: Martin Desruisseaux 
AuthorDate: Sat Oct 7 16:05:00 2023 +0200

Prepare documentation for the 1.4 release.
---
 content/release-management.md | 13 +++--
 static/DOAP.rdf   |  5 +
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index 6674ae5c..5fec8d67 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -622,12 +622,12 @@ wget 
https://sis.apache.org/examples/coordinates/CanadianCities.csv
 
 Go to the test Maven project.
 Open the root `pom.xml` file and set the `` number to the SIS release 
to be tested.
-Then go to the `` declaration of the first `` and replace 
value by the URL
+Then go to the `` declaration of ` each block and replace 
value by the URL
 of the temporary Maven repository created by Nexus.
 Usually, only the 3 last digits need to be updated.
 
 {{< highlight bash >}}
-cd $SIS_RC_DIR/../releases/tests/maven
+cd $SIS_RC_DIR/../release/test/maven
 # Edit  in pom.xml before to continue.
 mvn compile
 svn commit -m "Test project for SIS $NEW_VERSION-RC$RELEASE_CANDIDATE"
@@ -637,6 +637,7 @@ Clear the local Maven repository in order to force 
downloads from the Nexus repo
 This will also verify the checksums.
 
 {{< highlight bash >}}
+rm -r $SIS_DATA/*
 rm -r ~/.m2/repository/org/apache/sis
 mvn package --show-version --strict-checksums
 {{< / highlight >}}
@@ -668,7 +669,7 @@ wget 
https://dist.apache.org/repos/dist/dev/sis/$NEW_VERSION/RC$RELEASE_CANDIDAT
 # Test
 gpg --verify apache-sis-$NEW_VERSION-src.zip.asc
 unzip apache-sis-$NEW_VERSION-src.zip
-cd sis-$NEW_VERSION
+cd apache-sis-$NEW_VERSION-src
 gradle assemble
 {{< / highlight >}}
 
@@ -682,8 +683,8 @@ gpg --verify apache-sis-$NEW_VERSION-bin.zip.asc
 unzip apache-sis-$NEW_VERSION-bin.zip
 cd apache-sis-$NEW_VERSION
 unset SIS_DATA
-bin/sis about --verbose
-bin/sis crs 
https://github.com/apache/sis/raw/main/core/sis-referencing/src/test/resources/org/apache/sis/referencing/crs/ProjectedCRS.xml
 --format WKT
+./bin/sis about --verbose
+./bin/sis crs 
https://raw.githubusercontent.com/apache/sis/main/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/crs/ProjectedCRS.xml
 --format WKT
 {{< / highlight >}}
 
 
@@ -694,7 +695,7 @@ Add a new `` block for the new release with the 
estimated release date.
 
 Update the following files (e.g. the release date in `index.md`):
 
-* `content/index.md`
+* `content/_index.md`
 * `content/command-line.md`
 * `content/epsg.md` for EPSG dataset version
 * `content/download.md` for SIS version and JAXB dependency
diff --git a/static/DOAP.rdf b/static/DOAP.rdf
index 7a369ea3..724377b6 100644
--- a/static/DOAP.rdf
+++ b/static/DOAP.rdf
@@ -161,6 +161,11 @@
   
 
 
+  
+Apache SIS 1.4 — Java 11 and JPMS
+2023-10-10
+1.4
+  
   
 Apache SIS 1.3 — data quality
 2022-12-25



[sis-site] 01/02: Update the "test release candidate" section of release management page.

2023-10-07 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 aa1471870262b42411ecbda168b897808ad1a726
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 14:57:47 2023 +0200

Update the "test release candidate" section of release management page.
---
 content/release-management.md | 277 +-
 1 file changed, 110 insertions(+), 167 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index 6ac4fab4..6674ae5c 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -161,7 +161,7 @@ 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
+## Gradle configuration{#gradle-config}
 
 Edit the `~/.gradle/gradle.properties` file, making sure that the following 
properties are present:
 
@@ -173,7 +173,7 @@ asfNexusPassword=
 {{< / highlight >}}
 
 
-## Maven configuration
+## Maven configuration{#maven-config}
 
 Edit the `~/.m2/setting.xml` file, making sure that the following fragments 
are present.
 Note that the [password can be 
enctypted](https://maven.apache.org/guides/mini/guide-encryption.html).
@@ -191,7 +191,7 @@ Note that the [password can be 
enctypted](https://maven.apache.org/guides/mini/g
 {{< / highlight >}}
 
 
-# Configure{#configure}
+# Specific release configuration{#release-config}
 
 For all instructions in this page, `$OLD_VERSION` and `$NEW_VERSION` stand for 
the version
 number of the previous and the new release respectively, and 
`$RELEASE_CANDIDATE` stands for
@@ -209,7 +209,7 @@ Make sure that the code signing key is the defauly key 
declared in `~/.gnupg/gpg
 during the Maven deployment phase.
 
 
-# Review project status before branching{#prepare-source}
+# Review project status before branching{#prereview}
 
 Replace the `$OLD_VERSION` number by `$NEW_VERSION` in the values of following 
properties on the development branch:
 
@@ -455,10 +455,11 @@ git commit --message "Update javadoc for SIS 
$NEW_VERSION."
 
 ## Publish Maven artifacts{#publish-artifacts}
 
-This section publish artifacts to the staging repository.
+This section publishes artifacts to the staging repository.
+If there is any issue with the deployment, the staging repository can easily 
be dropped and recreated.
 
 
-### Stage the parent POM
+### Stage the parent POM{#publish-parent}
 
 Execute the following:
 
@@ -467,11 +468,18 @@ cd $SIS_RC_DIR/parent
 mvn clean install deploy --activate-profiles apache-release
 {{< / highlight >}}
 
-Connect to the [Nexus repository][repository], select the staging repository,
-navigate to the `parent` sub-directory, and delete all 
`parent-*-source-release.zip` files.
+Connect to the [Nexus repository][repository].
+The artifacts can be found under _Build Promotion_ → _Staging repositories_,
+and searching for `org.apache.sis` in the _Repository_ column.
+Delete all 
`org/apache/sis/parent/$NEW_VERSION/parent-$NEW_VERSION-source-release.zip.*` 
files on the Nexus repository.
+They should not be there - source release will be deployed on another 
repository later.
+Then close this staging repository by clicking the checkbox for the open 
staging repositories
+(`org.apache.sis-`) and press _Close_ in the menu bar.
+In the description field, specify _"Apache SIS parent POM"_.
+Keep the window open, we will need it again later.
 
 
-### Stage the project arfifacts
+### Stage the project arfifacts{#publish-main}
 
 Build the project and publish in the Maven local repository.
 The `org.apache.sis.releaseVersion` property will cause Javadoc to be 
generated for earch artifact
@@ -483,18 +491,37 @@ git status  # Make sure that everything is clean.
 gradle clean
 gradle test --system-prop org.apache.sis.test.extensive=true
 gradle assemble
+mv --interactive optional/build/bundle/apache-sis-$NEW_VERSION.zip 
$DIST_DIR/apache-sis-$NEW_VERSION-bin.zip
+
 rm endorsed/build/docs/*# For forcing a rerun.
+rm optional/build/docs/*
+cd optional/build/libs/
+ln ../../../endorsed/build/libs/*.jar .
+ln $PATH_TO_FX/*.jar .
+cd -
 gradle assemble --system-prop org.apache.sis.releaseVersion=$NEW_VERSION
+find -name "org.apache.sis.*-javadoc.jar" -exec zip -d '{}' errors.log \;
 gradle publishToMavenLocal --system-prop 
org.apache.sis.releaseVersion=$NEW_VERSION
 
+# Check that the Javadoc archives do not have a size close to zero.
 ll ~/.m2/repository/org/apache/sis/core/sis-referencing/$NEW_VERSION
+ll ~/.m2/repository/org/apache/sis/application/sis-javafx/$NEW_VERSION
 find ~/.m2/repository/org/apache/sis -name "sis-*-$NEW_VERSION-*.asc" -exec 
gpg --verify '{}' \;
 
 gradle publish --system-prop org.apache.sis.releaseVersion=$NEW_VERSION

[sis-site] branch main updated (78d55766 -> 0f8f3e93)

2023-10-07 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 78d55766 Add instruction about Maven deployment (for the parent POM).
 new aa147187 Update the "test release candidate" section of release 
management page.
 new 0f8f3e93 Prepare documentation for the 1.4 release.

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/release-management.md | 288 +-
 static/DOAP.rdf   |   5 +
 2 files changed, 121 insertions(+), 172 deletions(-)



svn commit: r64391 - in /dev/sis/1.4: ./ RC1/

2023-10-07 Thread desruisseaux
Author: desruisseaux
Date: Sat Oct  7 13:43:24 2023
New Revision: 64391

Log:
SIS 1.4 release candidate 1

Added:
dev/sis/1.4/
dev/sis/1.4/RC1/
dev/sis/1.4/RC1/HEADER.html
  - copied unchanged from r64351, release/sis/1.3/HEADER.html
dev/sis/1.4/RC1/apache-sis-1.4-bin.zip   (with props)
dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.asc   (with props)
dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.sha512
dev/sis/1.4/RC1/apache-sis-1.4-doc.zip   (with props)
dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.asc   (with props)
dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.sha512
dev/sis/1.4/RC1/apache-sis-1.4-src.zip   (with props)
dev/sis/1.4/RC1/apache-sis-1.4-src.zip.asc   (with props)
dev/sis/1.4/RC1/apache-sis-1.4-src.zip.sha512

Added: dev/sis/1.4/RC1/apache-sis-1.4-bin.zip
==
Binary file - no diff available.

Propchange: dev/sis/1.4/RC1/apache-sis-1.4-bin.zip
--
svn:mime-type = application/zip

Added: dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.asc
==
Binary file - no diff available.

Propchange: dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.asc
--
svn:mime-type = application/pgp-signature

Added: dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.sha512
==
--- dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.sha512 (added)
+++ dev/sis/1.4/RC1/apache-sis-1.4-bin.zip.sha512 Sat Oct  7 13:43:24 2023
@@ -0,0 +1 @@
+8fb123ed24aa57860de308924668a8282a6461b340f4ec623d06c0e8e97b573f3ae6adf56142926bf17cd46a154631b1ad0039486b201dcdcf75f526bbf8db63
  apache-sis-1.4-bin.zip

Added: dev/sis/1.4/RC1/apache-sis-1.4-doc.zip
==
Binary file - no diff available.

Propchange: dev/sis/1.4/RC1/apache-sis-1.4-doc.zip
--
svn:mime-type = application/zip

Added: dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.asc
==
Binary file - no diff available.

Propchange: dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.asc
--
svn:mime-type = application/pgp-signature

Added: dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.sha512
==
--- dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.sha512 (added)
+++ dev/sis/1.4/RC1/apache-sis-1.4-doc.zip.sha512 Sat Oct  7 13:43:24 2023
@@ -0,0 +1 @@
+88950966ba0f201d64b25debb964751fc76a06a5242a03f7e9aa2e349e61d2e037f83d29c389a1cec26a66ee5331a6170966e7f39cb807a69a21663458347d69
  apache-sis-1.4-doc.zip

Added: dev/sis/1.4/RC1/apache-sis-1.4-src.zip
==
Binary file - no diff available.

Propchange: dev/sis/1.4/RC1/apache-sis-1.4-src.zip
--
svn:mime-type = application/zip

Added: dev/sis/1.4/RC1/apache-sis-1.4-src.zip.asc
==
Binary file - no diff available.

Propchange: dev/sis/1.4/RC1/apache-sis-1.4-src.zip.asc
--
svn:mime-type = application/pgp-signature

Added: dev/sis/1.4/RC1/apache-sis-1.4-src.zip.sha512
==
--- dev/sis/1.4/RC1/apache-sis-1.4-src.zip.sha512 (added)
+++ dev/sis/1.4/RC1/apache-sis-1.4-src.zip.sha512 Sat Oct  7 13:43:24 2023
@@ -0,0 +1 @@
+dfbee400fe61ba42a2c2f7d6b8a5fbf13a67a832fc051f99f4fe4bae79e34dc555060a3ffddbd23ee8b869555a265ec5269b28d9cbdcf63e6ddb215259590151
  apache-sis-1.4-src.zip




svn commit: r1912784 - in /sis/release-test/maven: pom.xml src/main/java/org/apache/sis/test/referencing/CoordinateOperationComparator.java src/test/java/org/apache/sis/test/SelfConsistencyTest.java

2023-10-07 Thread desruisseaux
Author: desruisseaux
Date: Sat Oct  7 13:38:53 2023
New Revision: 1912784

URL: http://svn.apache.org/viewvc?rev=1912784=rev
Log:
Test project for SIS 1.4-RC1

Modified:
sis/release-test/maven/pom.xml

sis/release-test/maven/src/main/java/org/apache/sis/test/referencing/CoordinateOperationComparator.java

sis/release-test/maven/src/test/java/org/apache/sis/test/SelfConsistencyTest.java

Modified: sis/release-test/maven/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/release-test/maven/pom.xml?rev=1912784=1912783=1912784=diff
==
--- sis/release-test/maven/pom.xml (original)
+++ sis/release-test/maven/pom.xml Sat Oct  7 13:38:53 2023
@@ -27,14 +27,14 @@
 
   org.apache.sis.test
   maven
-  1.4-SNAPSHOT
+  1.4
   jar
 
   Test of Maven dependencies
   https://sis.apache.org
   
-Test the Apache SIS release candidate on the staging repository.
-Testers need to edit the URL of the 'sis.staging' repository below.
+Test the Apache SIS release candidate on the staging repositories.
+Testers need to edit the URL of each 'sis.staging' repository below.
 The URL is given by the release manager when a release candidate is
 submitted. Typically, only the three last digits need to be updated.
 
@@ -48,6 +48,8 @@
 ${project.version}
 ${project.version}  
 UTF-8
+17
+17
   
 
   
@@ -58,9 +60,19 @@
 
   
 
-  sis.staging
-  SIS staging repository
-  
https://repository.apache.org/content/repositories/orgapachesis-1039
+  sis.staging.parent
+  SIS staging repository of Parent POM
+  
https://repository.apache.org/content/repositories/orgapachesis-1043
+
+
+  sis.staging.main
+  SIS staging repository of main artifacts
+  
https://repository.apache.org/content/repositories/orgapachesis-1049
+
+
+  sis.staging.non-free
+  SIS staging repository of non-free resources
+  
https://repository.apache.org/content/repositories/orgapachesis-1050
 
 
   UCAR
@@ -69,19 +81,6 @@
 
   
 
-  
-  
-
-  
-org.apache.sis
-parent
-${sis.version}
-pom
-import
-  
-
-  
-
   
 
   org.apache.sis.core
@@ -139,14 +138,25 @@
   ${sis.version}
 
 
+  org.apache.sis.profiles
+  sis-french-profile
+  ${sis.version}
+
+
+  org.apache.sis.profiles
+  sis-japan-profile
+  ${sis.version}
+
+
   org.apache.sis.non-free
   sis-epsg
   ${sis-nonfree.version}
   runtime
 
 
-  edu.ucar
-  cdm-core
+  org.apache.sis.non-free
+  sis-embedded-data
+  ${sis-nonfree.version}
   runtime
 
 
@@ -154,59 +164,10 @@
   sis-console
   ${sis.version}
 
-
-
-
-  junit
-  junit
-
-
-  org.opengis
-  geoapi-conformance
-
-
-  org.glassfish.jaxb
-  jaxb-runtime
-  test
-
-
-  org.slf4j
-  slf4j-jdk14
-  test
-
-
-  org.apache.derby
-  derby
-  test
-
-
-  org.apache.derby
-  derbytools
-  test
-
-
-  org.hsqldb
-  hsqldb
-  test
-
-
-  gov.nist.math
-  jama
-  test
-
-
-  org.locationtech.jts
-  jts-core
-  true
-
-
-  com.esri.geometry
-  esri-geometry-api
-  test
-
 
-  net.sf.geographiclib
-  GeographicLib-Java
+  org.junit.jupiter
+  junit-jupiter
+  5.10.0
   test
 
   
@@ -216,12 +177,12 @@
 
   
 maven-compiler-plugin
-3.10.1
+3.11.0
   
   
 org.apache.maven.plugins
 maven-surefire-plugin
-3.0.0-M7
+3.1.2
 
   
 

Modified: 
sis/release-test/maven/src/main/java/org/apache/sis/test/referencing/CoordinateOperationComparator.java
URL: 
http://svn.apache.org/viewvc/sis/release-test/maven/src/main/java/org/apache/sis/test/referencing/CoordinateOperationComparator.java?rev=1912784=1912783=1912784=diff
==
--- 
sis/release-test/maven/src/main/java/org/apache/sis/test/referencing/CoordinateOperationComparator.java
 [UTF-8] (original)
+++ 
sis/release-test/maven/src/main/java/org/apache/sis/test/referencing/CoordinateOperationComparator.java
 [UTF-8] Sat Oct  7 13:38:53 2023
@@ -36,9 +36,9 @@ import org.apache.sis.referencing.CRS;
 import org.apache.sis.referencing.IdentifiedObjects;
 import org.apache.sis.referencing.crs.AbstractCRS;
 import org.apache.sis.referencing.cs.AxesConvention;
-import org.apache.sis.internal.metadata.ReferencingServices;
-import org.apache.sis.internal.util.StandardDateFormat;
-import org.apache.sis.internal.referencing.Formulas;
+import org.apache.sis.metadata.internal.ReferencingServices;
+import org.apache.sis.util.internal.StandardDateFormat;
+import

[sis] branch geoapi-4.0 updated (a24a7b212f -> a2820288ee)

2023-10-06 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 a24a7b212f Add qualified exports needed by the "non-free" optional 
modules for EPSG data.
 add a2820288ee Modify the structure of the binary bundle for avoiding to 
have undesired applications on the module-path.

No new revisions were added by this update.

Summary of changes:
 .../apache/sis/buildtools/gradle/Assembler.java| 74 --
 .../org.apache.sis.storage/main/module-info.java   |  1 +
 optional/src/org.apache.sis.gui/bundle/bin/sis |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sis.bat |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |  2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat|  2 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  | 10 ++-
 .../src/org.apache.sis.gui/bundle/lib/app/README   |  2 +
 8 files changed, 70 insertions(+), 27 deletions(-)
 create mode 100644 optional/src/org.apache.sis.gui/bundle/lib/app/README



[sis] branch geoapi-3.1 updated (d4fc457a24 -> 6008e5e18d)

2023-10-06 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 d4fc457a24 Merge branch 'geoapi-4.0' into geoapi-3.1
 add a2820288ee Modify the structure of the binary bundle for avoiding to 
have undesired applications on the module-path.
 add 6008e5e18d Merge branch 'geoapi-4.0' into geoapi-3.1

No new revisions were added by this update.

Summary of changes:
 .../apache/sis/buildtools/gradle/Assembler.java| 74 --
 .../org.apache.sis.storage/main/module-info.java   |  1 +
 optional/src/org.apache.sis.gui/bundle/bin/sis |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sis.bat |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |  2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat|  2 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  | 10 ++-
 .../src/org.apache.sis.gui/bundle/lib/app/README   |  2 +
 8 files changed, 70 insertions(+), 27 deletions(-)
 create mode 100644 optional/src/org.apache.sis.gui/bundle/lib/app/README



[sis] 01/03: Modify the structure of the binary bundle for avoiding to have undesired applications on the module-path.

2023-10-06 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 a2820288eeda7922d479b6529c1c7fc4bd9d2baa
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 20:47:43 2023 +0200

Modify the structure of the binary bundle for avoiding to have undesired 
applications on the module-path.
---
 .../apache/sis/buildtools/gradle/Assembler.java| 74 --
 .../org.apache.sis.storage/main/module-info.java   |  1 +
 optional/src/org.apache.sis.gui/bundle/bin/sis |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sis.bat |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |  2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat|  2 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  | 10 ++-
 .../src/org.apache.sis.gui/bundle/lib/app/README   |  2 +
 8 files changed, 70 insertions(+), 27 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 70966519fb..55f5f2af8f 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
@@ -16,8 +16,9 @@
  */
 package org.apache.sis.buildtools.gradle;
 
+import java.util.Set;
 import java.io.File;
-import java.io.FilenameFilter;
+import java.io.FileFilter;
 import java.io.FileNotFoundException;
 import java.io.UncheckedIOException;
 import java.io.IOException;
@@ -35,13 +36,13 @@ import 
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
  *   the content of the endorsed/build/libs and 
optional/build/libs directories.
  * 
  *
- * Assemblies are created only for module having an {@code bundle} 
sub-directory.
- * The module is hard-coded for now (a future version could perform a search 
if desired).
+ * Assemblies are created only for the module having a {@code bundle} 
sub-directory in source code.
+ * That module is hard-coded for now (a future version could perform a search 
if desired).
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Quentin Bialota (Geomatys)
  */
-final class Assembler extends ZipWriter.Apache implements FilenameFilter {
+final class Assembler extends ZipWriter.Apache implements FileFilter {
 /**
  * The module on which to apply this task.
  */
@@ -54,6 +55,40 @@ final class Assembler extends ZipWriter.Apache implements 
FilenameFilter {
  */
 private static final String LIB_DIRECTORY = "lib/";
 
+/**
+ * Subdirectory of {@link #LIB_DIRECTORY} where to put applications.
+ * We keep them in a separated directory because we need to put only
+ * one of them in the module-path.
+ */
+private static final String APP_DIRECTORY = "app/";
+
+/**
+ * Modules to put in the {@link #APP_DIRECTORY} directory.
+ */
+private static final Set APPLICATIONS = Set.of(MODULE, 
"org.apache.sis.console");
+
+/**
+ * Modules to exclude from the {@link #LIB_DIRECTORY}, not counting 
applications.
+ */
+private static final Set EXCLUDES = Set.of(
+"org.apache.sis.profile.japan", // For avoiding UCAR 
dependencies.
+"org.apache.sis.cloud.aws");// For avoiding UCAR 
dependencies.
+
+/**
+ * Suffix of JAR files. This is the part to remove from filenames for 
getting the module names.
+ */
+private static final String JAR_SUFFIX = ".jar";
+
+/**
+ * Whether this task is in the process of copying the application JAR 
files.
+ */
+private boolean isCopyingApplication;
+
+/**
+ * Whether the copy operation shall include dependencies.
+ */
+private boolean includeDependencies;
+
 /**
  * Creates an helper object for creating the assembly.
  *
@@ -78,10 +113,14 @@ final class Assembler extends ZipWriter.Apache implements 
FilenameFilter {
 String filename = FINALNAME_PREFIX + project.getVersion();
 target = new File(target, filename + ".zip");
 filename += '/';
+final String libDir = filename + LIB_DIRECTORY;
 try (ZipArchiveOutputStream out = new 
ZipArchiveOutputStream(target)) {
 final var c = new Assembler(project, out);
 c.writeDirectory(sourceDirectory, null, filename);
-c.copyCompiledJARs(filename + LIB_DIRECTORY);
+c.isCopyingApplication = false;
+c.copyCompiledJARs(libDir);
+c.isCopyingApplication = true;
+c.copyCompiledJARs(libDir + APP_DIRECTORY);
 }
 } catch (IOException e) {
 throw new UncheckedIOException(e);
@@ -95,7 +134,9 @@ fin

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

2023-10-06 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 6008e5e18d484c93b2ee7b32a79aa23a4fca3719
Merge: d4fc457a24 a2820288ee
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 20:49:00 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1

 .../apache/sis/buildtools/gradle/Assembler.java| 74 --
 .../org.apache.sis.storage/main/module-info.java   |  1 +
 optional/src/org.apache.sis.gui/bundle/bin/sis |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sis.bat |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |  2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat|  2 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  | 10 ++-
 .../src/org.apache.sis.gui/bundle/lib/app/README   |  2 +
 8 files changed, 70 insertions(+), 27 deletions(-)



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

2023-10-06 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 27a4ac4fede2909b96eee4e6973d6beaac8a179f
Merge: 2596723a0b 6008e5e18d
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 20:50:51 2023 +0200

Merge branch 'geoapi-3.1'

 .../apache/sis/buildtools/gradle/Assembler.java| 74 --
 .../org.apache.sis.storage/main/module-info.java   |  1 +
 optional/src/org.apache.sis.gui/bundle/bin/sis |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sis.bat |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |  2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat|  2 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  | 10 ++-
 .../src/org.apache.sis.gui/bundle/lib/app/README   |  2 +
 8 files changed, 70 insertions(+), 27 deletions(-)



[sis] branch main updated (2596723a0b -> 27a4ac4fed)

2023-10-06 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 2596723a0b Merge branch 'geoapi-3.1'
 new a2820288ee Modify the structure of the binary bundle for avoiding to 
have undesired applications on the module-path.
 new 6008e5e18d Merge branch 'geoapi-4.0' into geoapi-3.1
 new 27a4ac4fed Merge branch 'geoapi-3.1'

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/Assembler.java| 74 --
 .../org.apache.sis.storage/main/module-info.java   |  1 +
 optional/src/org.apache.sis.gui/bundle/bin/sis |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sis.bat |  3 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |  2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat|  2 +-
 optional/src/org.apache.sis.gui/bundle/lib/README  | 10 ++-
 .../src/org.apache.sis.gui/bundle/lib/app/README   |  2 +
 8 files changed, 70 insertions(+), 27 deletions(-)
 create mode 100644 optional/src/org.apache.sis.gui/bundle/lib/app/README



svn commit: r1912778 - /sis/data/non-free/sis-embedded-data/pom.xml

2023-10-06 Thread desruisseaux
Author: desruisseaux
Date: Fri Oct  6 19:58:59 2023
New Revision: 1912778

URL: http://svn.apache.org/viewvc?rev=1912778=rev
Log:
Send Derby logging file to target directory.

Modified:
sis/data/non-free/sis-embedded-data/pom.xml

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=1912778=1912777=1912778=diff
==
--- sis/data/non-free/sis-embedded-data/pom.xml (original)
+++ sis/data/non-free/sis-embedded-data/pom.xml Fri Oct  6 19:58:59 2023
@@ -157,6 +157,12 @@ Provides non-free data, including the EP
   
 
   
+  
+
+  derby.stream.error.file
+  ${project.build.directory}/derby.log
+
+  
 
   
 




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

2023-10-06 Thread desruisseaux
Author: desruisseaux
Date: Fri Oct  6 08:10:38 2023
New Revision: 1912767

URL: http://svn.apache.org/viewvc?rev=1912767=rev
Log:
Enable JPMS on `sis-embedded-data`, using a naming trick for allowing Derby to 
access the database.

Added:
sis/data/non-free/sis-embedded-data/src/main/java/module-info.java
  - copied, changed from r1912766, 
sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak
Removed:
sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak
Modified:

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

Copied: sis/data/non-free/sis-embedded-data/src/main/java/module-info.java 
(from r1912766, 
sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak)
URL: 
http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/src/main/java/module-info.java?p2=sis/data/non-free/sis-embedded-data/src/main/java/module-info.java=sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak=1912766=1912767=1912767=diff
==
--- sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak (original)
+++ sis/data/non-free/sis-embedded-data/src/main/java/module-info.java Fri Oct  
6 08:10:38 2023
@@ -1,5 +1,3 @@
-TODO: Not yet working, as Derby seems to not find the database anymore.
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with

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=1912767=1912766=1912767=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] Fri Oct  6 08:10:38 2023
@@ -125,7 +125,7 @@ public class EmbeddedResources extends I
 verifyAuthority(authority);
 final EmbeddedDataSource ds = new EmbeddedDataSource();
 ds.setDataSourceName(Initializer.DATABASE);
-ds.setDatabaseName("classpath:SIS_DATA/Databases/" + 
Initializer.DATABASE);
+ds.setDatabaseName("classpath:SIS_DATA/Databases/" + 
Generator.EMBEDDED_DATABASE);
 return ds;
 }
 

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=1912767=1912766=1912767=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] Fri Oct  6 08:10:38 2023
@@ -62,6 +62,14 @@ import org.apache.sis.referencing.factor
  */
 final class Generator {
 /**
+ * Returns the name of the database embedded in the JAR file.
+ * It must be an invalid package name, because otherwise the Java Platform 
Module System (JPMS) enforces
+ * encapsulation in the same way as non-exported packages, which makes the 
database inaccessible to Derby.
+ * This naming trick is part of JPMS specification, so it should be 
reliable.
+ */
+static final String EMBEDDED_DATABASE = "spatial-metadata";
+
+/**
  * Generates the embedded resources in the {@code target/classes} 
directory.
  * See class Javadoc for more information.
  *
@@ -101,7 +109,7 @@ final class Generator {
 
 /**
  * Provides connection to "SpatialMetadata" database. The connection URL 
will reference the
- * {@code SIS_DATA/Databases/SpatialMetadata} directory in the Maven 
{@code target/classes} directory.
+ * {@code SIS_DATA/Databases/spatial-metadata} directory in the Maven 
{@code target/classes} directory.
  */
 private final EmbeddedDataSource dataSource;
 
@@ -136,7 +144,7 @@ final class Generator {
 target = Files.createDirectory(target.resolve(Paths.get("Databases")));
 dataSource = new EmbeddedDataSource();
 dataSource.setDataSourceName(Initializer.DATABASE);
-
dataSource.setDatabaseName(target.resolve(Initializer.DATABASE).toString());
+
dataSource.setDatab

[sis-site] branch main updated: Add instruction about Maven deployment (for the parent POM).

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 78d55766 Add instruction about Maven deployment (for the parent POM).
78d55766 is described below

commit 78d557662ebeb692678dfd460c9b1993522918ef
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 02:13:34 2023 +0200

Add instruction about Maven deployment (for the parent POM).
---
 content/release-management.md | 30 --
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/content/release-management.md b/content/release-management.md
index 0e261a64..6ac4fab4 100644
--- a/content/release-management.md
+++ b/content/release-management.md
@@ -173,6 +173,24 @@ asfNexusPassword=
 {{< / highlight >}}
 
 
+## Maven configuration
+
+Edit the `~/.m2/setting.xml` file, making sure that the following fragments 
are present.
+Note that the [password can be 
enctypted](https://maven.apache.org/guides/mini/guide-encryption.html).
+
+{{< highlight xml >}}
+
+  
+
+  apache.releases.https
+  login for uploding to Maven Central
+  password for uploading to Maven Central
+
+  
+
+{{< / highlight >}}
+
+
 # Configure{#configure}
 
 For all instructions in this page, `$OLD_VERSION` and `$NEW_VERSION` stand for 
the version
@@ -439,15 +457,19 @@ git commit --message "Update javadoc for SIS 
$NEW_VERSION."
 
 This section publish artifacts to the staging repository.
 
+
 ### Stage the parent POM
 
 Execute the following:
 
 {{< highlight bash >}}
 cd $SIS_RC_DIR/parent
-mvn install deploy
+mvn clean install deploy --activate-profiles apache-release
 {{< / highlight >}}
 
+Connect to the [Nexus repository][repository], select the staging repository,
+navigate to the `parent` sub-directory, and delete all 
`parent-*-source-release.zip` files.
+
 
 ### Stage the project arfifacts
 
@@ -461,13 +483,17 @@ git status  # Make sure that everything is clean.
 gradle clean
 gradle test --system-prop org.apache.sis.test.extensive=true
 gradle assemble
-gradle assemble --system-prop org.apache.sis.releaseVersion=$NEW_VERSION 
--rerun
+rm endorsed/build/docs/*# For forcing a rerun.
+gradle assemble --system-prop org.apache.sis.releaseVersion=$NEW_VERSION
 gradle publishToMavenLocal --system-prop 
org.apache.sis.releaseVersion=$NEW_VERSION
 
 ll ~/.m2/repository/org/apache/sis/core/sis-referencing/$NEW_VERSION
 find ~/.m2/repository/org/apache/sis -name "sis-*-$NEW_VERSION-*.asc" -exec 
gpg --verify '{}' \;
+
+gradle publish --system-prop org.apache.sis.releaseVersion=$NEW_VERSION
 {{< / highlight >}}
 
+
 ### Stage the non-free resources{#maven-nonfree}
 
 Go to the directory that contains a checkout of 
`https://svn.apache.org/repos/asf/sis/data/non-free/sis-epsg`.



[sis] branch main updated (2ce512f85a -> 2596723a0b)

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 2ce512f85a Fix more Javadoc errors.
 add 7e10eef9d5 Fixes to the build plugin based on release experience.
 add 0c022f2f1f Define Maven repositories for snapshots and release 
deployments.
 add a24a7b212f Add qualified exports needed by the "non-free" optional 
modules for EPSG data.
 add d4fc457a24 Merge branch 'geoapi-4.0' into geoapi-3.1
 new 2596723a0b 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/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 +
 .../src/org.apache.sis.metadata/main/module-info.java   |  3 ++-
 endorsed/src/org.apache.sis.util/main/module-info.java  | 11 ---
 incubator/build.gradle.kts  | 17 +
 optional/build.gradle.kts   | 17 +
 settings.gradle.kts |  1 +
 10 files changed, 70 insertions(+), 10 deletions(-)



[sis] 01/01: 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 2596723a0ba2b246587bfacfc93cd9cc8997a8f5
Merge: 2ce512f85a d4fc457a24
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 02:10:17 2023 +0200

Merge branch 'geoapi-3.1'

 .../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 +
 .../src/org.apache.sis.metadata/main/module-info.java   |  3 ++-
 endorsed/src/org.apache.sis.util/main/module-info.java  | 11 ---
 incubator/build.gradle.kts  | 17 +
 optional/build.gradle.kts   | 17 +
 settings.gradle.kts |  1 +
 10 files changed, 70 insertions(+), 10 deletions(-)

diff --cc 
buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java
index 6d2f01949d,1e89ccf257..24e358113c
--- 
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,8 +69,8 @@@ final class ModularJavadoc extends Conv
   "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;,
+ "https://openjfx.io/javadoc/21/;,
  "http://unitsofmeasurement.github.io/unit-api/site/apidocs;);
  /*
   * Taglet defined in this `buildSrc` sub-project.
diff --cc settings.gradle.kts
index f5dd152e4a,71a8d48fc6..b35086ca0c
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@@ -38,7 -39,9 +38,8 @@@ dependencyResolutionManagement 
   */
  repositories {
  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] branch geoapi-3.1 updated (2730c89d63 -> d4fc457a24)

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 2730c89d63 Merge branch 'geoapi-4.0' into geoapi-3.1
 add 7e10eef9d5 Fixes to the build plugin based on release experience.
 add 0c022f2f1f Define Maven repositories for snapshots and release 
deployments.
 add a24a7b212f Add qualified exports needed by the "non-free" optional 
modules for EPSG data.
 new d4fc457a24 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/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 +
 .../src/org.apache.sis.metadata/main/module-info.java   |  3 ++-
 endorsed/src/org.apache.sis.util/main/module-info.java  | 11 ---
 incubator/build.gradle.kts  | 17 +
 optional/build.gradle.kts   | 17 +
 settings.gradle.kts |  1 +
 10 files changed, 70 insertions(+), 10 deletions(-)



[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 d4fc457a24f10d906d2ef8f34267730d895e60e7
Merge: 2730c89d63 a24a7b212f
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 02:04:50 2023 +0200

Merge branch 'geoapi-4.0' into geoapi-3.1

 .../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 +
 .../src/org.apache.sis.metadata/main/module-info.java   |  3 ++-
 endorsed/src/org.apache.sis.util/main/module-info.java  | 11 ---
 incubator/build.gradle.kts  | 17 +
 optional/build.gradle.kts   | 17 +
 settings.gradle.kts |  1 +
 10 files changed, 70 insertions(+), 10 deletions(-)




[sis] branch geoapi-4.0 updated: Add qualified exports needed by the "non-free" optional modules for EPSG data.

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 a24a7b212f Add qualified exports needed by the "non-free" optional 
modules for EPSG data.
a24a7b212f is described below

commit a24a7b212fae60c4257b54be0d3da15b3f57dc56
Author: Martin Desruisseaux 
AuthorDate: Fri Oct 6 02:03:32 2023 +0200

Add qualified exports needed by the "non-free" optional modules for EPSG 
data.
---
 endorsed/src/org.apache.sis.metadata/main/module-info.java |  3 ++-
 endorsed/src/org.apache.sis.util/main/module-info.java | 11 ---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/endorsed/src/org.apache.sis.metadata/main/module-info.java 
b/endorsed/src/org.apache.sis.metadata/main/module-info.java
index d9a14d16c5..6975678255 100644
--- a/endorsed/src/org.apache.sis.metadata/main/module-info.java
+++ b/endorsed/src/org.apache.sis.metadata/main/module-info.java
@@ -149,7 +149,8 @@ module org.apache.sis.metadata {
 
 exports org.apache.sis.metadata.sql.util to
 org.apache.sis.referencing,
-org.apache.sis.storage.sql;
+org.apache.sis.storage.sql,
+org.apache.sis.referencing.database;
 
 exports org.apache.sis.metadata.simple to
 org.apache.sis.referencing,
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 34ebd8ec24..60dfbff8cd 100644
--- a/endorsed/src/org.apache.sis.util/main/module-info.java
+++ b/endorsed/src/org.apache.sis.util/main/module-info.java
@@ -112,7 +112,9 @@ module org.apache.sis.util {
 org.apache.sis.cloud.aws,
 org.apache.sis.console,
 org.apache.sis.openoffice,
-org.apache.sis.gui; // In the "optional" 
sub-project.
+org.apache.sis.gui, // In the "optional" 
sub-project.
+org.apache.sis.referencing.epsg,
+org.apache.sis.referencing.database;
 
 exports org.apache.sis.util.internal to
 org.apache.sis.metadata,
@@ -129,7 +131,9 @@ module org.apache.sis.util {
 org.apache.sis.portrayal,
 org.apache.sis.cloud.aws,
 org.apache.sis.console,
-org.apache.sis.gui; // In the "optional" 
sub-project.
+org.apache.sis.gui, // In the "optional" 
sub-project.
+org.apache.sis.referencing.epsg,
+org.apache.sis.referencing.database;
 
 exports org.apache.sis.pending.temporal to
 org.apache.sis.metadata;
@@ -155,7 +159,8 @@ module org.apache.sis.util {
 org.apache.sis.portrayal,
 org.apache.sis.console,
 org.apache.sis.webapp,  // In the "incubator" 
sub-project.
-org.apache.sis.gui; // In the "optional" 
sub-project.
+org.apache.sis.gui, // In the "optional" 
sub-project.
+org.apache.sis.referencing.database;
 
 exports org.apache.sis.pending.jdk to
 org.apache.sis.feature,



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

2023-10-05 Thread desruisseaux
Author: desruisseaux
Date: Thu Oct  5 23:59:42 2023
New Revision: 1912761

URL: http://svn.apache.org/viewvc?rev=1912761=rev
Log:
Add `module-info.java` files.

Added:
sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak
sis/data/non-free/sis-epsg/src/main/java/module-info.java
Modified:
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/main/java/org/apache/sis/resources/embedded/package-info.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/package-info.java

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

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=1912761=1912760=1912761=diff
==
--- sis/data/non-free/sis-embedded-data/pom.xml (original)
+++ sis/data/non-free/sis-embedded-data/pom.xml Thu Oct  5 23:59:42 2023
@@ -136,7 +136,7 @@ Provides non-free data, including the EP
 maven-jar-plugin
 
   
-**/Generator*
+**/Generator*
   
   
   

Added: sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak
URL: 
http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak?rev=1912761=auto
==
--- sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak (added)
+++ sis/data/non-free/sis-embedded-data/src/main/java/module-info.bak Thu Oct  
5 23:59:42 2023
@@ -0,0 +1,29 @@
+TODO: Not yet working, as Derby seems to not find the database anymore.
+
+/*
+ * 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.
+ */
+module org.apache.sis.referencing.database {
+requires transitive org.opengis.geoapi;
+requires transitive org.apache.sis.referencing;
+requiresorg.apache.derby.tools;
+
+exports org.apache.sis.resources.embedded;
+
+uses org.apache.sis.setup.InstallationResources;
+provides org.apache.sis.setup.InstallationResources
+with org.apache.sis.resources.embedded.EmbeddedResources;
+}

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=1912761=1912760=1912761=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:59:42 2023
@@ -36,7 +36,7 @@ import org.apache.sis.util.resources.Err
  * which should be accepted by users before the EPSG dataset can be installed.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.4
  * @since   0.8
  *
  * @see https://www.epsg.org/;>https://www.epsg.org/

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=1912761=1912760=1912761=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

[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

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