sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject [sis] 02/03: Gives more details when à `MathTransform` does not have the expected number of dimensions.
Date Fri, 11 Dec 2020 17:37:29 GMT
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 3f89ebd09ea59b655c89b2cbdba5939b15b3293c
Author: Martin Desruisseaux <martin.desruisseaux@geomatys.com>
AuthorDate: Fri Dec 11 12:19:16 2020 +0100

    Gives more details when à `MathTransform` does not have the expected number of dimensions.
---
 .../java/org/apache/sis/gui/map/StatusBar.java     | 18 ++++--------
 .../apache/sis/internal/referencing/Resources.java |  8 +-----
 .../sis/internal/referencing/Resources.properties  |  1 -
 .../internal/referencing/Resources_fr.properties   |  1 -
 .../sis/referencing/crs/AbstractDerivedCRS.java    | 22 +++------------
 .../operation/AbstractCoordinateOperation.java     |  6 ++--
 .../operation/builder/LocalizationGridBuilder.java |  8 +++---
 .../operation/builder/ProjectedTransformTry.java   |  6 ++--
 .../operation/transform/MathTransforms.java        |  1 +
 .../transform/SpecializableTransform.java          | 17 +----------
 .../operation/transform/TransformAdapter2D.java    |  6 ----
 .../java/org/apache/sis/util/ArgumentChecks.java   | 33 ++++++++++++++++++++++
 .../java/org/apache/sis/util/resources/Errors.java |  6 ++++
 .../apache/sis/util/resources/Errors.properties    |  1 +
 .../apache/sis/util/resources/Errors_fr.properties |  1 +
 15 files changed, 64 insertions(+), 71 deletions(-)

diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/map/StatusBar.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/map/StatusBar.java
index a640b73..cafecaa 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/map/StatusBar.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/map/StatusBar.java
@@ -969,19 +969,11 @@ public class StatusBar extends Widget implements EventHandler<MouseEvent>
{
         @Override public void set(final MathTransform newValue) {
             ArgumentChecks.ensureNonNull("newValue", newValue);
             final MathTransform oldValue = get();
-            int expected = oldValue.getSourceDimensions();
-            int actual   = newValue.getSourceDimensions();
-            if (expected == actual) {
-                expected = oldValue.getTargetDimensions();
-                actual   = newValue.getTargetDimensions();
-                if (expected == actual) {
-                    super.set(newValue);
-                    updateLocalToPositionCRS();
-                    return;
-                }
-            }
-            throw new MismatchedDimensionException(Errors.format(
-                    Errors.Keys.MismatchedDimension_3, "newValue", expected, actual));
+            ArgumentChecks.ensureDimensionsMatch("newValue",
+                    oldValue.getSourceDimensions(),
+                    oldValue.getTargetDimensions(), newValue);
+            super.set(newValue);
+            updateLocalToPositionCRS();
         }
     }
 
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.java
b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.java
index 5571276..1d1710e 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.java
@@ -340,12 +340,6 @@ public final class Resources extends IndexedResourceBundle {
         public static final short MismatchedPrimeMeridian_2 = 36;
 
         /**
-         * The transform has {2} {0,choice,0#source|1#target} dimension{2,choice,1#|2#s},
while {1} was
-         * expected.
-         */
-        public static final short MismatchedTransformDimension_3 = 37;
-
-        /**
          * Despite its name, this parameter is effectively “{0}”.
          */
         public static final short MisnamedParameter_1 = 38;
@@ -353,7 +347,7 @@ public final class Resources extends IndexedResourceBundle {
         /**
          * Missing or empty “ID[…]” element for “{0}”.
          */
-        public static final short MissingAuthorityCode_1 = 99;
+        public static final short MissingAuthorityCode_1 = 37;
 
         /**
          * No authority was specified for code “{0}”. The expected syntax is “AUTHORITY:CODE”.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.properties
b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.properties
index 7432bcc..7e356ce 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.properties
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.properties
@@ -85,7 +85,6 @@ IncompatibleDatum_2               = Datum of \u201c{1}\u201d shall be \u201c{0}\
 LatitudesAreOpposite_2            = Latitudes {0} and {1} are opposite.
 MismatchedParameterDescriptor_1   = Mismatched descriptor for \u201c{0}\u201d parameter.
 MismatchedPrimeMeridian_2         = Expected the \u201c{0}\u201d prime meridian but found
\u201c{1}\u201d.
-MismatchedTransformDimension_3    = The transform has {2} {0,choice,0#source|1#target} dimension{2,choice,1#|2#s},
while {1} was expected.
 MissingAuthority_1                = No authority was specified for code \u201c{0}\u201d.
The expected syntax is \u201cAUTHORITY:CODE\u201d.
 MissingAuthorityCode_1            = Missing or empty \u201cID[\u2026]\u201d element for \u201c{0}\u201d.
 MissingInterpolationOrdinates     = Not enough dimension in \u2018MathTransform\u2019 input
or output coordinates for the interpolation points.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources_fr.properties
b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources_fr.properties
index 3672c41..e789f0e 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources_fr.properties
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources_fr.properties
@@ -90,7 +90,6 @@ IncompatibleDatum_2               = Le r\u00e9f\u00e9rentiel de \u00ab\u202f{1}\
 LatitudesAreOpposite_2            = Les latitudes {0} et {1} sont oppos\u00e9es.
 MismatchedParameterDescriptor_1   = Le descripteur du param\u00e8tre \u00ab\u202f{0}\u202f\u00bb
ne correspond pas.
 MismatchedPrimeMeridian_2         = Le m\u00e9ridien d\u2019origine \u00ab\u202f{0}\u202f\u00bb
\u00e9tait attendu, mais \u00ab\u202f{1}\u202f\u00bb a \u00e9t\u00e9 trouv\u00e9.
-MismatchedTransformDimension_3    = La {0,choice,0#source|1#destination} de la transformation
a {2} dimension{2,choice,1#|2#s}, alors qu\u2019on en attendait {1}.
 MissingAuthority_1                = Aucune autorit\u00e9 n\u2019a \u00e9t\u00e9 sp\u00e9cifi\u00e9e
pour le code \u00ab\u202f{0}\u202f\u00bb. Le format attendu est \u00ab\u202fAUTORIT\u00c9:CODE\u202f\u00bb.
 MissingAuthorityCode_1            = L\u2019\u00e9l\u00e9ment \u00ab\u202fID[\u2026]\u202f\u00bb
est manquant ou vide pour \u00ab\u202f{0}\u202f\u00bb.
 MissingInterpolationOrdinates     = La dimension des coordonn\u00e9es en entr\u00e9 ou en
sortie du \u2018MathTransform\u2019 n\u2019est pas suffisante pour contenir les points d\u2019interpolation.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
index d8a1d2b..6824cfc 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
@@ -37,7 +37,6 @@ import org.opengis.geometry.MismatchedDimensionException;
 import org.apache.sis.referencing.operation.DefaultConversion;
 import org.apache.sis.internal.jaxb.referencing.CC_Conversion;
 import org.apache.sis.internal.referencing.ReferencingFactoryContainer;
-import org.apache.sis.internal.referencing.Resources;
 import org.apache.sis.internal.metadata.MetadataUtilities;
 import org.apache.sis.internal.system.DefaultFactories;
 import org.apache.sis.internal.system.Semaphores;
@@ -106,23 +105,10 @@ abstract class AbstractDerivedCRS<C extends Conversion> extends
AbstractCRS impl
         super(properties, derivedCS);
         ArgumentChecks.ensureNonNull("baseCRS", baseCRS);
         ArgumentChecks.ensureNonNull("conversion", conversion);
-        final MathTransform baseToDerived = conversion.getMathTransform();
-        if (baseToDerived != null) {
-check:      for (int i=0; ; i++) {
-                final CoordinateSystem cs;
-                final int actual;
-                switch (i) {
-                    case 0:  actual = baseToDerived.getSourceDimensions(); cs = baseCRS.getCoordinateSystem();
break;
-                    case 1:  actual = baseToDerived.getTargetDimensions(); cs = derivedCS;
break;
-                    default: break check;
-                }
-                final int expected = cs.getDimension();
-                if (actual != expected) {
-                    throw new MismatchedDimensionException(Resources.format(
-                            Resources.Keys.MismatchedTransformDimension_3, i, expected, actual));
-                }
-            }
-        }
+        ArgumentChecks.ensureDimensionsMatch("baseToDerived",
+                baseCRS.getCoordinateSystem().getDimension(),
+                derivedCS.getDimension(),
+                conversion.getMathTransform());
         conversionFromBase = createConversionFromBase(properties, baseCRS, conversion);
     }
 
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
index a8edbed..3e1fa65 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
@@ -52,6 +52,7 @@ import org.apache.sis.util.ComparisonMode;
 import org.apache.sis.util.collection.Containers;
 import org.apache.sis.util.UnsupportedImplementationException;
 import org.apache.sis.util.logging.Logging;
+import org.apache.sis.util.resources.Errors;
 import org.apache.sis.parameter.Parameterized;
 import org.apache.sis.metadata.iso.citation.Citations;
 import org.apache.sis.referencing.cs.CoordinateSystems;
@@ -380,8 +381,9 @@ check:      for (int isTarget=0; ; isTarget++) {        // 0 == source
check; 1
                     expected += interpDim;
                 }
                 if (crs != null && actual != expected) {
-                    throw new IllegalArgumentException(Resources.forProperties(properties).getString(
-                            Resources.Keys.MismatchedTransformDimension_3, isTarget, expected,
actual));
+                    throw new IllegalArgumentException(Errors.getResources(properties).getString(
+                            Errors.Keys.MismatchedTransformDimension_4, super.getName().getCode(),
+                            isTarget, expected, actual));
                 }
             }
         }
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
index 189d9d7..41e228d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
@@ -236,8 +236,8 @@ public class LocalizationGridBuilder extends TransformBuilder {
                     return;
                 }
             }
-            throw new IllegalArgumentException(Resources.format(
-                    Resources.Keys.MismatchedTransformDimension_3, 0, SOURCE_DIMENSION, n));
+            throw new IllegalArgumentException(Errors.format(Errors.Keys.MismatchedTransformDimension_4,
+                                               "localizations", 0, SOURCE_DIMENSION, n));
         }
     }
 
@@ -380,8 +380,8 @@ public class LocalizationGridBuilder extends TransformBuilder {
                 return;
             }
         }
-        throw new MismatchedDimensionException(Resources.format(
-                Resources.Keys.MismatchedTransformDimension_3, isTarget, SOURCE_DIMENSION,
dim));
+        throw new MismatchedDimensionException(Errors.format(Errors.Keys.MismatchedTransformDimension_4,
+                                               "sourceToGrid", isTarget, SOURCE_DIMENSION,
dim));
     }
 
     /**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
index 0ae88c1..ff43ea8 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
@@ -24,11 +24,11 @@ import org.opengis.geometry.MismatchedDimensionException;
 import org.opengis.referencing.operation.MathTransform;
 import org.opengis.referencing.operation.TransformException;
 import org.apache.sis.referencing.operation.matrix.MatrixSIS;
-import org.apache.sis.internal.referencing.Resources;
 import org.apache.sis.io.TableAppender;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.util.Exceptions;
 import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.resources.Vocabulary;
 import org.apache.sis.referencing.operation.matrix.Matrices;
 import org.apache.sis.referencing.operation.transform.MathTransforms;
@@ -145,8 +145,8 @@ final class ProjectedTransformTry implements Comparable<ProjectedTransformTry>
{
                 side = 1;
             }
         }
-        throw new MismatchedDimensionException(Resources.format(
-                Resources.Keys.MismatchedTransformDimension_3, side, expectedDimension, actual));
+        throw new MismatchedDimensionException(Errors.format(
+                Errors.Keys.MismatchedTransformDimension_4, name, side, expectedDimension,
actual));
     }
 
     /**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
index 425051d..89f8877 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransforms.java
@@ -543,6 +543,7 @@ public final class MathTransforms extends Static {
         if (transform == null || transform instanceof MathTransform2D) {
             return (MathTransform2D) transform;
         } else {
+            ArgumentChecks.ensureDimensionsMatch("transform", 2, 2, transform);
             return new TransformAdapter2D(transform);
         }
     }
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
index 47b58bf..b04cd17 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/SpecializableTransform.java
@@ -24,13 +24,11 @@ import java.util.Collections;
 import java.io.Serializable;
 import org.opengis.geometry.Envelope;
 import org.opengis.geometry.DirectPosition;
-import org.opengis.geometry.MismatchedDimensionException;
 import org.opengis.referencing.operation.Matrix;
 import org.opengis.referencing.operation.MathTransform;
 import org.opengis.referencing.operation.TransformException;
 import org.opengis.referencing.operation.NoninvertibleTransformException;
 import org.apache.sis.internal.referencing.DirectPositionView;
-import org.apache.sis.internal.referencing.Resources;
 import org.apache.sis.internal.referencing.RTreeNode;
 import org.apache.sis.io.wkt.Formatter;
 import org.apache.sis.util.ArgumentChecks;
@@ -158,8 +156,7 @@ class SpecializableTransform extends AbstractMathTransform implements
Serializab
         final int targetDim = global.getTargetDimensions();
         for (final Map.Entry<Envelope,MathTransform> entry : specializations.entrySet())
{
             MathTransform tr = entry.getValue();
-            ensureDimensionMatches(0, sourceDim, tr.getSourceDimensions());
-            ensureDimensionMatches(1, targetDim, tr.getTargetDimensions());
+            ArgumentChecks.ensureDimensionsMatch("specializations", sourceDim, targetDim,
tr);
             /*
              * If the given MathTransform is another SpecializableTransform, then instead
of storing nested
              * SpecializableTransforms we will store directly the specializations that it
contains. It will
@@ -192,18 +189,6 @@ class SpecializableTransform extends AbstractMathTransform implements
Serializab
     }
 
     /**
-     * Helper method for verifying transform dimension consistency.
-     *
-     * @param  type  0 if verifying source dimension, or 1 if verifying target dimension.
-     */
-    private static void ensureDimensionMatches(final int type, final int expected, final
int actual) {
-        if (expected != actual) {
-            throw new MismatchedDimensionException(Resources.format(
-                    Resources.Keys.MismatchedTransformDimension_3, type, expected, actual));
-        }
-    }
-
-    /**
      * Returns the {@link SubArea} instances at the root of this class. This is the {@link
#domains} node,
      * unless that node is a synthetic node created by {@link RTreeNode} when it needs to
contain more than
      * one children.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
index 67a82fe..a742f32 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/TransformAdapter2D.java
@@ -18,14 +18,12 @@ package org.apache.sis.referencing.operation.transform;
 
 import java.io.Serializable;
 import org.opengis.geometry.DirectPosition;
-import org.opengis.geometry.MismatchedDimensionException;
 import org.opengis.referencing.operation.Matrix;
 import org.opengis.referencing.operation.MathTransform;
 import org.opengis.referencing.operation.MathTransform2D;
 import org.opengis.referencing.operation.TransformException;
 import org.opengis.referencing.operation.NoninvertibleTransformException;
 import org.apache.sis.geometry.DirectPosition2D;
-import org.apache.sis.util.resources.Errors;
 
 
 /**
@@ -57,10 +55,6 @@ final class TransformAdapter2D extends AbstractMathTransform2D implements
Serial
      */
     TransformAdapter2D(final MathTransform impl) {
         this.impl = impl;
-        int dim;
-        if ((dim = impl.getSourceDimensions()) != 2 || (dim = impl.getTargetDimensions())
!= 2) {
-            throw new MismatchedDimensionException(Errors.format(Errors.Keys.MismatchedDimension_3,
"transform", 2, dim));
-        }
     }
 
     /** Transforms a single point and opportunistically compute its derivative. */
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java b/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java
index 7e75aad..020424b 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java
@@ -21,6 +21,7 @@ import java.util.BitSet;
 import java.util.Collection;
 import org.opengis.referencing.cs.CoordinateSystem;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.operation.MathTransform;
 import org.opengis.geometry.Envelope;
 import org.opengis.geometry.DirectPosition;
 import org.opengis.geometry.MismatchedDimensionException;
@@ -833,4 +834,36 @@ public final class ArgumentChecks extends Static {
             }
         }
     }
+
+    /**
+     * Ensures that the given transform, if non-null, has the expected number of source and
target dimensions.
+     * This method does nothing if the given transform is null.
+     *
+     * @param  name            the name of the argument to be checked. Used only if an exception
is thrown.
+     * @param  expectedSource  the expected number of source dimensions.
+     * @param  expectedTarget  the expected number of target dimensions.
+     * @param  transform       the transform to check for its dimension, or {@code null}.
+     * @throws MismatchedDimensionException if the given transform is non-null and does
+     *         not have the expected number of dimensions.
+     *
+     * @since 1.1
+     */
+    public static void ensureDimensionsMatch(final String name, int expectedSource, final
int expectedTarget,
+                                             final MathTransform transform) throws MismatchedDimensionException
+    {
+        if (transform != null) {
+            int side = 0;
+            int dimension = transform.getSourceDimensions();
+            if (dimension == expectedSource) {
+                dimension = transform.getTargetDimensions();
+                if (dimension == expectedTarget) {
+                    return;
+                }
+                expectedSource = expectedTarget;
+                side = 1;
+            }
+            throw new MismatchedDimensionException(Errors.format(Errors.Keys.MismatchedTransformDimension_4,
+                                                                 name, side, expectedSource,
dimension));
+        }
+    }
 }
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java b/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
index e4f8d2a..ff395a8 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
@@ -543,6 +543,12 @@ public final class Errors extends IndexedResourceBundle {
         public static final short MismatchedMatrixSize_4 = 83;
 
         /**
+         * The “{0}” transform has {3} {1,choice,0#source|1#target} dimension{3,choice,1#|2#s},
while
+         * {2} was expected.
+         */
+        public static final short MismatchedTransformDimension_4 = 190;
+
+        /**
          * Missing a ‘{1}’ character in “{0}” element.
          */
         public static final short MissingCharacterInElement_2 = 84;
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
b/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
index 60c69a8..a48e955 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
@@ -119,6 +119,7 @@ MismatchedDimension_3             = Argument \u2018{0}\u2019 has {2} dimension{2
 MismatchedDimensionForCRS_3       = The \u201c{0}\u201d coordinate reference system has {1}
dimension{1,choice,1#|2#s}, but the given geometry is {2}-dimensional.
 MismatchedGridGeometry_2          = The grid geometry must be the same for \u201c{0}\u201d
and \u201c{1}\u201d.
 MismatchedMatrixSize_4            = Mismatched matrix sizes: expected {0}\u00d7{1} but got
{2}\u00d7{3}.
+MismatchedTransformDimension_4    = The \u201c{0}\u201d transform has {3} {1,choice,0#source|1#target}
dimension{3,choice,1#|2#s}, while {2} was expected.
 MissingCharacterInElement_2       = Missing a \u2018{1}\u2019 character in \u201c{0}\u201d
element.
 MissingComponentInElement_2       = Missing a \u201c{1}\u201d component in \u201c{0}\u201d.
 MissingJAXBContext                = JAXB context has not been specified.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
b/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
index a2971da..bdc1ca8 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
@@ -116,6 +116,7 @@ MismatchedDimension_3             = L\u2019argument \u2018{0}\u2019 a
{2} dimens
 MismatchedDimensionForCRS_3       = Le syst\u00e8me de r\u00e9f\u00e9rence des coordonn\u00e9es
\u00ab\u202f{0}\u202f\u00bb a {1} dimension{1,choice,1#|2#s}, mais la g\u00e9om\u00e9trie
donn\u00e9e en a {2}.
 MismatchedGridGeometry_2          = La g\u00e9om\u00e9trie de la grille doit \u00eatre la
m\u00eame pour \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{1}\u202f\u00bb.
 MismatchedMatrixSize_4            = Une matrice de taille de {0}\u00d7{1} \u00e9tait attendue
mais la matrice donn\u00e9e est de taille {2}\u00d7{3}.
+MismatchedTransformDimension_4    = La {1,choice,0#source|1#destination} de la transformation
\u00ab\u202f{0}\u202f\u00bb a {3} dimension{3,choice,1#|2#s}, alors qu\u2019on en attendait
{2}.
 MissingCharacterInElement_2       = Un caract\u00e8re \u2018{1}\u2019 est manquant dans l\u2019\u00e9l\u00e9ment
\u00ab\u202f{0}\u202f\u00bb.
 MissingComponentInElement_2       = Il manque une composante \u00ab\u202f{1}\u202f\u00bb
dans l\u2019\u00e9l\u00e9ment \u00ab\u202f{0}\u202f\u00bb.
 MissingJAXBContext                = Le contexte JAXB n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9.


Mime
View raw message