sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1569932 [5/5] - in /sis/trunk: ./ core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ core/sis-metadata/src/main/java/org/apache/sis/io/ core/sis-metadata/src/main/java/org/apache/sis/metadata/ core/sis-metadata/src/main/java...
Date Wed, 19 Feb 2014 21:41:02 GMT
Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -17,6 +17,7 @@
 package org.apache.sis.util.resources;
 
 import java.net.URL;
+import java.util.Map;
 import java.util.Locale;
 import java.util.MissingResourceException;
 import org.opengis.util.InternationalString;
@@ -124,6 +125,11 @@ public final class Errors extends Indexe
         public static final short CanNotSetPropertyValue_1 = 11;
 
         /**
+         * Circular reference.
+         */
+        public static final short CircularReference = 52;
+
+        /**
          * Class ‘{0}’ is not final.
          */
         public static final short ClassNotFinal_1 = 12;
@@ -256,6 +262,11 @@ public final class Errors extends Indexe
         public static final short IllegalMemberType_2 = 37;
 
         /**
+         * This operation can not be applied to values of class ‘{0}’.
+         */
+        public static final short IllegalOperationForValueClass_1 = 141;
+
+        /**
          * Option ‘{0}’ can not take the “{1}” value.
          */
         public static final short IllegalOptionValue_2 = 38;
@@ -266,7 +277,23 @@ public final class Errors extends Indexe
         public static final short IllegalOrdinateRange_3 = 39;
 
         /**
-         * Property ‘{0}’ does not accept instances of ‘{1}’.
+         * Parameter “{0}” can not be of type ‘{1}’.
+         */
+        public static final short IllegalParameterType_2 = 143;
+
+        /**
+         * Parameter “{0}” does not accept values of ‘{2}’ type. Expected an instance of ‘{1}’ or
+         * derived type.
+         */
+        public static final short IllegalParameterValueClass_3 = 138;
+
+        /**
+         * Parameter “{0}” can not take the “{1}” value.
+         */
+        public static final short IllegalParameterValue_2 = 144;
+
+        /**
+         * Property “{0}” does not accept instances of ‘{1}’.
          */
         public static final short IllegalPropertyClass_2 = 40;
 
@@ -296,6 +323,11 @@ public final class Errors extends Indexe
         public static final short IncompatiblePropertyValue_1 = 45;
 
         /**
+         * Unit “{0}” is incompatible with current value.
+         */
+        public static final short IncompatibleUnit_1 = 140;
+
+        /**
          * Units “{0}” and “{1}” are incompatible.
          */
         public static final short IncompatibleUnits_2 = 46;
@@ -326,11 +358,6 @@ public final class Errors extends Indexe
         public static final short InfiniteArgumentValue_1 = 51;
 
         /**
-         * Infinite recursivity.
-         */
-        public static final short InfiniteRecursivity = 52;
-
-        /**
          * Argument ‘{0}’ shall contain at least {1} elements. A number of {2} is insufficient.
          */
         public static final short InsufficientArgumentSize_3 = 53;
@@ -386,12 +413,17 @@ public final class Errors extends Indexe
         public static final short MissingSchemeInURI = 62;
 
         /**
-         * Missing value for option “{0}”.
+         * Missing value for “{0}” option.
          */
         public static final short MissingValueForOption_1 = 63;
 
         /**
-         * Missing value for property “{0}”.
+         * Missing value for “{0}” parameter.
+         */
+        public static final short MissingValueForParameter_1 = 142;
+
+        /**
+         * Missing value for “{0}” property.
          */
         public static final short MissingValueForProperty_1 = 64;
 
@@ -611,6 +643,11 @@ public final class Errors extends Indexe
         public static final short TooManyArguments_2 = 105;
 
         /**
+         * Tree depth exceeds the maximum.
+         */
+        public static final short TreeDepthExceedsMaximum = 145;
+
+        /**
          * Ordering between “{0}” and “{1}” elements is undefined.
          */
         public static final short UndefinedOrderingForElements_2 = 106;
@@ -641,6 +678,11 @@ public final class Errors extends Indexe
         public static final short UnexpectedFileFormat_2 = 111;
 
         /**
+         * Parameter “{0}” has no unit.
+         */
+        public static final short UnitlessParameter_1 = 139;
+
+        /**
          * Authority “{0}” is unknown.
          */
         public static final short UnknownAuthority_1 = 136;
@@ -786,6 +828,21 @@ public final class Errors extends Indexe
     }
 
     /**
+     * Returns resources in the locale specified in the given property map. This convenience method looks
+     * for the {@link #LOCALE_KEY} entry. If the given map is null, or contains no entry for the locale key,
+     * or the value is not an instance of {@link Locale}, then this method fallback on the default locale.
+     *
+     * @param  properties The map of properties, or {@code null} if none.
+     * @return Resources in the given locale.
+     * @throws MissingResourceException if resources can't be found.
+     *
+     * @since 0.4
+     */
+    public static Errors getResources(final Map<?,?> properties) throws MissingResourceException {
+        return getResources(getLocale(properties));
+    }
+
+    /**
      * Gets a string for the given key from this resource bundle or one of its parents.
      *
      * @param  key The key for the desired string.
@@ -793,7 +850,7 @@ public final class Errors extends Indexe
      * @throws MissingResourceException If no object for the given key can be found.
      */
     public static String format(final short key) throws MissingResourceException {
-        return getResources(null).getString(key);
+        return getResources((Locale) null).getString(key);
     }
 
     /**
@@ -808,7 +865,7 @@ public final class Errors extends Indexe
     public static String format(final short  key,
                                 final Object arg0) throws MissingResourceException
     {
-        return getResources(null).getString(key, arg0);
+        return getResources((Locale) null).getString(key, arg0);
     }
 
     /**
@@ -825,7 +882,7 @@ public final class Errors extends Indexe
                                 final Object arg0,
                                 final Object arg1) throws MissingResourceException
     {
-        return getResources(null).getString(key, arg0, arg1);
+        return getResources((Locale) null).getString(key, arg0, arg1);
     }
 
     /**
@@ -844,7 +901,7 @@ public final class Errors extends Indexe
                                 final Object arg1,
                                 final Object arg2) throws MissingResourceException
     {
-        return getResources(null).getString(key, arg0, arg1, arg2);
+        return getResources((Locale) null).getString(key, arg0, arg1, arg2);
     }
 
     /**
@@ -865,7 +922,7 @@ public final class Errors extends Indexe
                                 final Object arg2,
                                 final Object arg3) throws MissingResourceException
     {
-        return getResources(null).getString(key, arg0, arg1, arg2, arg3);
+        return getResources((Locale) null).getString(key, arg0, arg1, arg2, arg3);
     }
 
     /**

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] Wed Feb 19 21:40:59 2014
@@ -36,6 +36,7 @@ CanNotParseFile_2                 = Can 
 CanNotRead_1                      = Can not read \u201c{0}\u201d.
 CanNotRepresentInFormat_2         = Can not represent \u201c{1}\u201d in the {0} format.
 CanNotSetPropertyValue_1          = Can not set a value for property \u201c{0}\u201d.
+CircularReference                 = Circular reference.
 ClassNotFinal_1                   = Class \u2018{0}\u2019 is not final.
 CloneNotSupported_1               = Can not clone an object of type \u2018{0}\u2019.
 ColinearAxisDirections_2          = Axis directions {0} and {1} are colinear.
@@ -56,19 +57,24 @@ IllegalArgumentClass_3            = Argu
 IllegalArgumentField_4            = Argument \u2018{0}\u2019 can not take the \u201c{1}\u201d value, because the \u2018{2}\u2019 field can not take the \u201c{3}\u201d value.
 IllegalArgumentValue_2            = Argument \u2018{0}\u2019 can not take the \u201c{1}\u201d value.
 IllegalAxisDirection_2            = Coordinate system of class \u2018{0}\u2019 can not have axis in the {1} direction.
-IllegalOptionValue_2              = Option \u2018{0}\u2019 can not take the \u201c{1}\u201d value.
 IllegalBitsPattern_1              = Illegal bits pattern: {0}.
 IllegalClass_2                    = Class \u2018{1}\u2019 is illegal. It must be \u2018{0}\u2019 or a derived class.
 IllegalFormatPatternForClass_2    = The \u201c{1}\u201d pattern can not be applied to formating of objects of type \u2018{0}\u2019.
 IllegalLanguageCode_1             = The \u201c{0}\u201d language is not recognized.
 IllegalMemberType_2               = Member \u201c{0}\u201d can not be associated to type \u201c{1}\u201d.
+IllegalOperationForValueClass_1   = This operation can not be applied to values of class \u2018{0}\u2019.
+IllegalOptionValue_2              = Option \u2018{0}\u2019 can not take the \u201c{1}\u201d value.
 IllegalOrdinateRange_3            = The [{0} \u2026 {1}] range of ordinate values is not valid for the \u201c{2}\u201d axis.
-IllegalPropertyClass_2            = Property \u2018{0}\u2019 does not accept instances of \u2018{1}\u2019.
+IllegalParameterType_2            = Parameter \u201c{0}\u201d can not be of type \u2018{1}\u2019.
+IllegalParameterValue_2           = Parameter \u201c{0}\u201d can not take the \u201c{1}\u201d value.
+IllegalParameterValueClass_3      = Parameter \u201c{0}\u201d does not accept values of \u2018{2}\u2019 type. Expected an instance of \u2018{1}\u2019 or derived type.
+IllegalPropertyClass_2            = Property \u201c{0}\u201d does not accept instances of \u2018{1}\u2019.
 IllegalRange_2                    = Range [{0} \u2026 {1}] is not valid.
 IllegalUnicodeCodePoint_2         = Value {1} for \u201c{0}\u201d is not a valid Unicode code point.
 IllegalUnitFor_2                  = Unit of measurement \u201c{1}\u201d is not valid for \u201c{0}\u201d values.
 IncompatibleCoordinateSystemTypes = Incompatible coordinate system types.
 IncompatiblePropertyValue_1       = Property \u201c{0}\u201d has an incompatible value.
+IncompatibleUnit_1                = Unit \u201c{0}\u201d is incompatible with current value.
 IncompatibleUnits_2               = Units \u201c{0}\u201d and \u201c{1}\u201d are incompatible.
 InconsistentAttribute_2           = Value \u201c{1}\u201d of attribute \u2018{0}\u2019 is inconsistent with other attributes.
 InconsistentTableColumns          = Inconsistent table columns.
@@ -76,7 +82,6 @@ IdentifierAlreadyBound_1          = Iden
 IndexOutOfBounds_1                = Index {0} is out of bounds.
 IndicesOutOfBounds_2              = Indices ({0}, {1}) are out of bounds.
 InfiniteArgumentValue_1           = Argument \u2018{0}\u2019 can not take an infinite value.
-InfiniteRecursivity               = Infinite recursivity.
 InsufficientArgumentSize_3        = Argument \u2018{0}\u2019 shall contain at least {1} elements. A number of {2} is insufficient.
 KeyCollision_1                    = A different value is already associated to the \u201c{0}\u201d key.
 MandatoryAttribute_2              = Attribute \u201c{0}\u201d is mandatory for an object of type \u2018{1}\u2019.
@@ -88,8 +93,9 @@ MismatchedMatrixSize_4            = Mism
 MissingAuthority_1                = No authority was specified for code \u201c{0}\u201d. The expected syntax is \u201cAUTHORITY:CODE\u201d.
 MissingRequiredModule_1           = This operation requires the \u201c{0}\u201d module.
 MissingSchemeInURI                = Missing scheme in URI.
-MissingValueForOption_1           = Missing value for option \u201c{0}\u201d.
-MissingValueForProperty_1         = Missing value for property \u201c{0}\u201d.
+MissingValueForOption_1           = Missing value for \u201c{0}\u201d option.
+MissingValueForParameter_1        = Missing value for \u201c{0}\u201d parameter.
+MissingValueForProperty_1         = Missing value for \u201c{0}\u201d property.
 MissingValueInColumn_1            = Missing value in the \u201c{0}\u201d column.
 MutuallyExclusiveOptions_2        = Options \u201c{0}\u201d and \u201c{1}\u201d are mutually exclusive.
 NegativeArgument_2                = Argument \u2018{0}\u2019 shall not be negative. The given value was {1}.
@@ -134,12 +140,14 @@ StalledThread_1                   = Thre
 StreamIsForwardOnly_1             = Can not move backward in the \u201c{0}\u201d stream.
 TooFewArguments_2                 = Expected at least {0} argument{0,choice,1#|2#s}, but got {1}.
 TooManyArguments_2                = Expected at most {0} argument{0,choice,1#|2#s}, but got {1}.
+TreeDepthExceedsMaximum           = Tree depth exceeds the maximum.
 UndefinedOrderingForElements_2    = Ordering between \u201c{0}\u201d and \u201c{1}\u201d elements is undefined.
 UnexpectedArrayLength_2           = Expected an array of length {0}, but got {1}.
 UnexpectedChange_1                = Unexpected change in \u2018{0}\u2019.
 UnexpectedEndOfFile_1             = Unexpected end of file while reading \u201c{0}\u201d.
 UnexpectedEndOfString_1           = More characters were expected at the end of \u201c{0}\u201d.
 UnexpectedFileFormat_2            = File \u201c{1}\u201d seems to be encoded in an other format than {0}.
+UnitlessParameter_1               = Parameter \u201c{0}\u201d has no unit.
 UnknownAuthority_1                = Authority \u201c{0}\u201d is unknown.
 UnknownAxisDirection_1            = Axis direction \u201c{0}\u201d is unknown.
 UnknownCommand_1                  = Command \u201c{0}\u201d is not recognized.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties [ISO-8859-1] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties [ISO-8859-1] Wed Feb 19 21:40:59 2014
@@ -26,6 +26,7 @@ CanNotParseFile_2                 = Ne p
 CanNotRead_1                      = Ne peut pas lire \u00ab\u202f{0}\u202f\u00bb.
 CanNotRepresentInFormat_2         = Ne peut pas repr\u00e9senter \u00ab\u202f{1}\u202f\u00bb dans le format {0}.
 CanNotSetPropertyValue_1          = Ne peut pas d\u00e9finir une valeur pour la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb.
+CircularReference                 = R\u00e9f\u00e9rence circulaire.
 ClassNotFinal_1                   = La classe \u2018{0}\u2019 n\u2019est pas finale.
 CloneNotSupported_1               = Un objet de type \u2018{0}\u2019 ne peut pas \u00eatre clon\u00e9.
 ColinearAxisDirections_2          = Les directions d\u2019axes {0} et {1} sont colin\u00e9aires.
@@ -46,19 +47,24 @@ IllegalArgumentClass_3            = L\u2
 IllegalArgumentField_4            = L\u2019argument \u2018{0}\u2019 n\u2019accepte pas la valeur \u00ab\u202f{1}\u202f\u00bb parce que le champs \u2018{2}\u2019 ne peut pas prendre la valeur \u00ab\u202f{3}\u202f\u00bb.
 IllegalArgumentValue_2            = L\u2019argument \u2018{0}\u2019 n\u2019accepte pas la valeur \u00ab\u202f{1}\u202f\u00bb.
 IllegalAxisDirection_2            = Les syst\u00e8mes de coordonn\u00e9es de classe \u2018{0}\u2019 ne peuvent pas avoir d\u2019axe dans la direction \u00ab\u202f{1}\u202f\u00bb.
-IllegalOptionValue_2              = L\u2019option \u2018{0}\u2019 n\u2019accepte pas la valeur \u00ab\u202f{1}\u202f\u00bb.
 IllegalBitsPattern_1              = Pattern de bits invalide: {0}.
 IllegalClass_2                    = La classe \u2018{1}\u2019 est ill\u00e9gale. Il doit s\u2019agir d\u2019une classe \u2018{0}\u2019 ou d\u00e9riv\u00e9e.
 IllegalFormatPatternForClass_2    = Le mod\u00e8le \u00ab\u202f{1}\u202f\u00bb ne peut pas \u00eatre appliqu\u00e9 au formatage d\u2019objets de type \u2018{0}\u2019.
 IllegalLanguageCode_1             = Le code de langue \u00ab\u202f{0}\u202f\u00bb n\u2019est pas reconnu.
 IllegalMemberType_2               = Le membre \u00ab\u202f{0}\u202f\u00bb ne peut pas \u00eatre associ\u00e9 au type \u00ab\u202f{1}\u202f\u00bb.
+IllegalOperationForValueClass_1   = Cette op\u00e9ration ne peut pas s\u2019appliquer aux valeurs de classe \u2018{0}\u2019.
+IllegalOptionValue_2              = L\u2019option \u2018{0}\u2019 n\u2019accepte pas la valeur \u00ab\u202f{1}\u202f\u00bb.
 IllegalOrdinateRange_3            = La plage de valeurs de coordonn\u00e9es [{0} \u2026 {1}] n\u2019est pas valide pour l\u2019axe \u00ab\u202f{2}\u202f\u00bb.
-IllegalPropertyClass_2            = La propri\u00e9t\u00e9 \u2018{0}\u2019 n\u2019accepte pas les valeurs de type \u2018{1}\u2019.
+IllegalParameterType_2            = Le param\u00e8tre \u00ab\u202f{0}\u202f\u00bb ne peut pas \u00eatre du type \u2018{1}\u2019.
+IllegalParameterValue_2           = Le param\u00e8tre \u00ab\u202f{0}\u202f\u00bb n\u2019accepte pas la valeur \u00ab\u202f{1}\u202f\u00bb.
+IllegalParameterValueClass_3      = Le param\u00e8tre \u00ab\u202f{0}\u202f\u00bb n\u2019accepte pas les valeurs de type \u2018{2}\u2019. Une instance de \u2018{1}\u2019 ou d\u2019un type d\u00e9riv\u00e9 \u00e9tait attendue.
+IllegalPropertyClass_2            = La propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb n\u2019accepte pas les valeurs de type \u2018{1}\u2019.
 IllegalRange_2                    = La plage [{0} \u2026 {1}] n\u2019est pas valide.
 IllegalUnicodeCodePoint_2         = La valeur {1} de \u00ab\u202f{0}\u202f\u00bb n\u2019est pas un code Unicode valide.
 IllegalUnitFor_2                  = L\u2019unit\u00e9 de mesure \u00ab\u202f{1}\u202f\u00bb n\u2019est pas valide pour les valeurs de \u00ab\u202f{0}\u202f\u00bb.
 IncompatibleCoordinateSystemTypes = Types de syst\u00e8mes de coordonn\u00e9es incompatibles.
 IncompatiblePropertyValue_1       = La valeur de la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb n\u2019est pas compatible.
+IncompatibleUnit_1                = L\u2019unit\u00e9 \u00ab\u202f{0}\u202f\u00bb n\u2019est pas compatible avec la valeur actuelle.
 IncompatibleUnits_2               = Les unit\u00e9s \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{1}\u202f\u00bb ne sont pas compatibles.
 InconsistentAttribute_2           = La valeur \u00ab\u202f{1}\u202f\u00bb de l\u2019attribut \u2018{0}\u2019 n\u2019est pas coh\u00e9rente avec celles des autres attributs.
 InconsistentTableColumns          = Les colonnes des tables ne sont pas coh\u00e9rentes.
@@ -66,7 +72,6 @@ IdentifierAlreadyBound_1          = L\u2
 IndexOutOfBounds_1                = L\u2019index {0} est en dehors des limites permises.
 IndicesOutOfBounds_2              = Les index ({0}, {1}) sont en dehors des limites permises.
 InfiniteArgumentValue_1           = L\u2019argument \u2018{0}\u2019 ne peut pas prendre une valeur infinie.
-InfiniteRecursivity               = R\u00e9cursivit\u00e9 infinie.
 InsufficientArgumentSize_3        = L\u2019argument \u2018{0}\u2019 doit contenir au moins {1} \u00e9l\u00e9ments. Un nombre de {2} est insuffisant.
 KeyCollision_1                    = Une valeur diff\u00e9rente est d\u00e9j\u00e0 associ\u00e9e \u00e0 la cl\u00e9 \u00ab\u202f{0}\u202f\u00bb.
 MandatoryAttribute_2              = L\u2019attribut \u00ab\u202f{0}\u202f\u00bb est obligatoire pour un objet de type \u2018{1}\u2019.
@@ -79,6 +84,7 @@ MissingAuthority_1                = Aucu
 MissingRequiredModule_1           = Cette op\u00e9ration requiert le module \u00ab\u202f{0}\u202f\u00bb.
 MissingSchemeInURI                = Il manque le sch\u00e9ma d\u2019URI.
 MissingValueForOption_1           = Aucune valeur n\u2019a \u00e9t\u00e9 d\u00e9finie pour l\u2019option \u00ab\u202f{0}\u202f\u00bb.
+MissingValueForParameter_1        = Aucune valeur n\u2019a \u00e9t\u00e9 d\u00e9finie pour le param\u00e8tre \u00ab\u202f{0}\u202f\u00bb.
 MissingValueForProperty_1         = Aucune valeur n\u2019a \u00e9t\u00e9 d\u00e9finie pour la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb.
 MissingValueInColumn_1            = Il manque une valeur dans la colonne \u00ab\u202f{0}\u202f\u00bb.
 MutuallyExclusiveOptions_2        = Les options \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{1}\u202f\u00bb sont mutuellement exclusives.
@@ -123,12 +129,14 @@ StalledThread_1                   = La t
 StreamIsForwardOnly_1             = Ne peut pas reculer dans le flux de donn\u00e9es \u00ab\u202f{0}\u202f\u00bb.
 TooFewArguments_2                 = Au moins {0} argument{0,choice,1# \u00e9tait attendu|2#s \u00e9taient attendus}, mais seulement {1} {1,choice,1#a \u00e9t\u00e9 sp\u00e9cifi\u00e9|2#ont \u00e9t\u00e9 sp\u00e9cifi\u00e9s}.
 TooManyArguments_2                = Au plus {0} argument{0,choice,1# \u00e9tait attendu|2#s \u00e9taient attendus}, mais {1} {1,choice,1#a \u00e9t\u00e9 sp\u00e9cifi\u00e9|2#ont \u00e9t\u00e9 sp\u00e9cifi\u00e9s}.
+TreeDepthExceedsMaximum           = La profondeur de l\u2019arbre exc\u00e8de le maximum.
 UndefinedOrderingForElements_2    = L\u2019ordre entre les \u00e9l\u00e9ments \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{1}\u202f\u00bb n\u2019est pas d\u00e9fini.
 UnexpectedArrayLength_2           = Un tableau de longueur {0} \u00e9tait attendu, mais le tableau re\u00e7u est de longueur {1}.
 UnexpectedChange_1                = Changement inattendu dans \u2018{0}\u2019.
 UnexpectedEndOfFile_1             = Fin de fichier inattendue lors de la lecture de \u00ab\u202f{0}\u202f\u00bb.
 UnexpectedEndOfString_1           = D\u2019autres caract\u00e8res \u00e9taient attendus \u00e0 la fin du texte \u00ab\u202f{0}\u202f\u00bb.
 UnexpectedFileFormat_2            = Le fichier \u00ab\u202f{1}\u202f\u00bb semble \u00eatre encod\u00e9 dans un autre format que {0}.
+UnitlessParameter_1               = Le param\u00e8tre \u201c{0}\u201d n\u2019a pas d\u2019unit\u00e9.
 UnknownAuthority_1                = L\u2019autorit\u00e9 \u00ab\u202f{0}\u202f\u00bb n\u2019est pas reconnue.
 UnknownAxisDirection_1            = La direction d\u2019axe \u00ab\u202f{0}\u202f\u00bb n\u2019est pas reconnue.
 UnknownCommand_1                  = La commande \u00ab\u202f{0}\u202f\u00bb n\u2019est pas reconnue.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -21,6 +21,7 @@ import java.io.BufferedInputStream;
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.text.MessageFormat;
+import java.util.Map;
 import java.util.Enumeration;
 import java.util.Locale;
 import java.util.MissingResourceException;
@@ -74,6 +75,14 @@ import org.apache.sis.internal.jdk7.JDK7
  */
 public class IndexedResourceBundle extends ResourceBundle implements Localized {
     /**
+     * Key used in properties map for localizing some aspects of the operation being executed.
+     * The {@code getResources(Map<?,?>)} methods defined in some sub-classes will look for this property.
+     *
+     * @see org.apache.sis.referencing.AbstractIdentifiedObject#LOCALE_KEY
+     */
+    public static final String LOCALE_KEY = "locale";
+
+    /**
      * Maximum string length for text inserted into another text. This parameter is used by
      * {@link #summarize}. Resource strings are never cut to this length. However, text replacing
      * {@code "{0}"} in a string like {@code "Parameter name is {0}"} will be cut to this length.
@@ -668,6 +677,25 @@ public class IndexedResourceBundle exten
     }
 
     /**
+     * Returns the locale specified in the given map, or {@code null} if none.
+     * Value of unexpected type are ignored.
+     *
+     * @param  properties The map of properties, or {@code null} if none.
+     * @return The locale found in the given map, or {@code null} if none.
+     *
+     * @since 0.4
+     */
+    static Locale getLocale(final Map<?,?> properties) {
+        if (properties != null) {
+            final Object candidate = properties.get(LOCALE_KEY);
+            if (candidate instanceof Locale) {
+                return (Locale) candidate;
+            }
+        }
+        return null;
+    }
+
+    /**
      * Returns a string representation of this object.
      * This method is for debugging purposes only.
      *

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/xml/NilInternationalString.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/xml/NilInternationalString.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/xml/NilInternationalString.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/xml/NilInternationalString.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -18,7 +18,6 @@ package org.apache.sis.xml;
 
 import java.util.Locale;
 import java.io.Serializable;
-import java.io.ObjectStreamException;
 import org.opengis.util.InternationalString;
 import org.apache.sis.util.resources.Errors;
 
@@ -117,7 +116,7 @@ final class NilInternationalString imple
     /**
      * Invoked on deserialization for replacing the deserialized instance by the unique instance.
      */
-    private Object readResolve() throws ObjectStreamException {
+    private Object readResolve() {
         return reason.createNilObject(InternationalString.class);
     }
 }

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/converter/ConverterRegistryTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -58,7 +58,7 @@ public final strictfp class ConverterReg
      * All converters registered in a test case. Only the converter type and properties
      * will be verified; no conversion or serialization shall be attempted.
      */
-    private Deque<ObjectConverter<?,?>> converters = new ArrayDeque<ObjectConverter<?,?>>();
+    private final Deque<ObjectConverter<?,?>> converters = new ArrayDeque<ObjectConverter<?,?>>();
 
     /**
      * Registers a converter to test.

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/simple/SimpleReferenceIdentifierTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/simple/SimpleReferenceIdentifierTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/simple/SimpleReferenceIdentifierTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/simple/SimpleReferenceIdentifierTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -49,9 +49,9 @@ public final strictfp class SimpleRefere
     @Test
     public void testToWKT() {
         final SimpleCitation authority = new SimpleCitation("EPSG");
-        assertEquals("AUTHORITY[\"EPSG\",\"4326\"]", new SimpleReferenceIdentifier(authority, "4326").toWKT());
-        assertEquals("AUTHORITY[\"EPSG\",null]",     new SimpleReferenceIdentifier(authority,  null ).toWKT());
-        assertEquals("AUTHORITY[null,\"4326\"]",     new SimpleReferenceIdentifier(null,      "4326").toWKT());
-        assertEquals("AUTHORITY[null,null]",         new SimpleReferenceIdentifier(null,       null ).toWKT());
+        assertEquals("ID[\"EPSG\", \"4326\"]", new SimpleReferenceIdentifier(authority, "4326").toWKT());
+        assertEquals("ID[\"EPSG\", null]",     new SimpleReferenceIdentifier(authority,  null ).toWKT());
+        assertEquals("ID[null, \"4326\"]",     new SimpleReferenceIdentifier(null,      "4326").toWKT());
+        assertEquals("ID[null, null]",         new SimpleReferenceIdentifier(null,       null ).toWKT());
     }
 }

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/test/AssertTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/test/AssertTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/test/AssertTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/test/AssertTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -36,8 +36,22 @@ public final strictfp class AssertTest e
      */
     @Test
     public void testAssertEqualsMultilines() {
+        // Without trailing spaces.
         assertMultilinesEquals("Line 1\nLine 2\r\nLine 3\n\rLine 5",
                                "Line 1\rLine 2\nLine 3\n\nLine 5");
+
+        // With different trailing spaces.
+        assertMultilinesEquals("Line 1\nLine 2\r\nLine 3\n\rLine 5",
+                               "Line 1\rLine 2\nLine 3\n\nLine 5  ");
+
+        // With different leading spaces.
+        try {
+            assertMultilinesEquals("Line 1\nLine 2\r\nLine 3\n\rLine 5",
+                                   "Line 1\rLine 2\n  Line 3\n\nLine 5");
+            fail("Lines are not equal.");
+        } catch (AssertionError e) {
+            assertTrue(e.getMessage().startsWith("Line[2]"));
+        }
     }
 
     /**

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/util/NumericsTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/util/NumericsTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/util/NumericsTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/internal/util/NumericsTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -39,6 +39,34 @@ import static org.junit.Assert.*;
  */
 public final strictfp class NumericsTest extends TestCase {
     /**
+     * Tests the {@link Numerics#cached(Object)} method.
+     */
+    @Test
+    public void testCached() {
+        Double value;
+        assertEquals(value = Double.valueOf(   0), Numerics.cached(value));
+        assertEquals(value = Double.valueOf(   1), Numerics.cached(value));
+        assertEquals(value = Double.valueOf(  -1), Numerics.cached(value));
+        assertEquals(value = Double.valueOf(  10), Numerics.cached(value));
+        assertEquals(value = Double.valueOf(-150), Numerics.cached(value));
+        assertEquals(value = Double.valueOf( NaN), Numerics.cached(value));
+    }
+
+    /**
+     * Tests the {@link Numerics#valueOf(double)} method.
+     */
+    @Test
+    public void testValueOf() {
+        double value;
+        assertEquals(Double.valueOf(value =    0), Numerics.valueOf(value));
+        assertEquals(Double.valueOf(value =    1), Numerics.valueOf(value));
+        assertEquals(Double.valueOf(value =   -1), Numerics.valueOf(value));
+        assertEquals(Double.valueOf(value =   10), Numerics.valueOf(value));
+        assertEquals(Double.valueOf(value = -150), Numerics.valueOf(value));
+        assertEquals(Double.valueOf(value =  NaN), Numerics.valueOf(value));
+    }
+
+    /**
      * Tests the {@link Numerics#epsilonEqual(double, double)} method.
      */
     @Test

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/AppenderTestCase.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/AppenderTestCase.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/AppenderTestCase.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/AppenderTestCase.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -25,7 +25,7 @@ import static org.apache.sis.test.Assert
 
 
 /**
- * Base class for the testing {@code *Appender} implementation.
+ * Base class for the testing of {@code *Appender} implementation.
  * This is public because JUnit requires it, but should be considered as an implementation details.
  *
  * @author  Martin Desruisseaux (Geomatys)

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/TableAppenderTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/TableAppenderTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/TableAppenderTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/io/TableAppenderTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -27,7 +27,7 @@ import org.apache.sis.internal.jdk7.JDK7
 
 
 /**
- * Tests the {@link TableAppender} implementations.
+ * Tests {@link TableAppender} implementation.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-3.00)

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsFormatTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsFormatTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsFormatTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsFormatTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -25,7 +25,7 @@ import static org.apache.sis.test.Assert
 
 
 /**
- * Tests {@link StatisticsFormat}.
+ * Tests the {@link StatisticsFormat} class.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-3.00)

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/math/StatisticsTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -28,7 +28,7 @@ import static org.apache.sis.test.Assert
 
 
 /**
- * Tests {@link Statistics}.
+ * Tests the {@link Statistics} class.
  *
  * <p>This class uses {@link Random} numbers generator with hard-coded seeds. We do not allow
  * random seeds because the tests invoke the {@link Random#nextGaussian()} method, then check

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/measure/SexagesimalConverterTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/measure/SexagesimalConverterTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/measure/SexagesimalConverterTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/measure/SexagesimalConverterTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -28,7 +28,7 @@ import static org.apache.sis.test.Assert
 
 
 /**
- * Test {@link SexagesimalConverter}
+ * Test the {@link SexagesimalConverter} class.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-2.5)

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -100,29 +100,45 @@ public strictfp class Assert extends Geo
 
     /**
      * Asserts that two strings are equal, ignoring the differences in EOL characters.
-     * The comparisons is performed one a line-by-line basis. For each line, leading
-     * and trailing spaces are ignored in order to make the comparison independent of
-     * indentation.
+     * The comparisons is performed one a line-by-line basis. For each line, trailing
+     * spaces (but not leading spaces) are ignored.
      *
      * @param expected The expected string.
      * @param actual   The actual string.
      */
     public static void assertMultilinesEquals(final CharSequence expected, final CharSequence actual) {
-        assertArrayEquals(CharSequences.split(expected, '\n'), CharSequences.split(actual, '\n'));
+        assertMultilinesEquals(null, expected, actual);
     }
 
     /**
      * Asserts that two strings are equal, ignoring the differences in EOL characters.
-     * The comparisons is performed one a line-by-line basis. For each line, leading
-     * and trailing spaces are ignored in order to make the comparison independent of
-     * indentation.
+     * The comparisons is performed one a line-by-line basis. For each line, trailing
+     * spaces (but not leading spaces) are ignored.
      *
      * @param message  The message to print in case of failure, or {@code null} if none.
      * @param expected The expected string.
      * @param actual   The actual string.
      */
     public static void assertMultilinesEquals(final String message, final CharSequence expected, final CharSequence actual) {
-        assertArrayEquals(message, CharSequences.split(expected, '\n'), CharSequences.split(actual, '\n'));
+        final CharSequence[] expectedLines = CharSequences.splitOnEOL(expected);
+        final CharSequence[] actualLines   = CharSequences.splitOnEOL(actual);
+        final int length = Math.min(expectedLines.length, actualLines.length);
+        final StringBuilder buffer = new StringBuilder(message != null ? message : "Line").append('[');
+        final int base = buffer.length();
+        for (int i=0; i<length; i++) {
+            CharSequence e = expectedLines[i];
+            CharSequence a = actualLines[i];
+            e = e.subSequence(0, CharSequences.skipTrailingWhitespaces(e, 0, e.length()));
+            a = a.subSequence(0, CharSequences.skipTrailingWhitespaces(a, 0, a.length()));
+            assertEquals(buffer.append(i).append(']').toString(), e, a);
+            buffer.setLength(base);
+        }
+        if (expectedLines.length > actualLines.length) {
+            fail(buffer.append(length).append("] missing line: ").append(expectedLines[length]).toString());
+        }
+        if (expectedLines.length < actualLines.length) {
+            fail(buffer.append(length).append("] extraneous line: ").append(actualLines[length]).toString());
+        }
     }
 
     /**

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/TestStep.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/TestStep.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/TestStep.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/test/TestStep.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -25,11 +25,12 @@ import java.lang.annotation.RetentionPol
 
 /**
  * A test method producing an object to be used by another test method.
- * Such methods are annotated with this {@code TestStep} annotation instead than the
- * JUnit {@link org.junit.Test} one. However in current implementation, those methods
- * must be explicitely invoked from another method. This is because JUnit 4 does not
- * support tests chaining, so this annotation is currently used only for documentation
- * purpose.
+ *
+ * <p>If this annotation was supported, we would annotate some methods with the {@code TestStep} annotation
+ * instead than the JUnit {@link org.junit.Test} one. However in current implementation, this functionality
+ * is not supported and the test step methods must be explicitely invoked from another method. Consequently
+ * this annotation is currently used only for documentation purpose, in case a future JUnit version would
+ * support tests chaining.</p>
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/CharSequencesTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/CharSequencesTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/CharSequencesTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/CharSequencesTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -29,7 +29,7 @@ import static org.apache.sis.util.CharSe
 
 
 /**
- * Tests {@link CharSequences} methods.
+ * Tests the {@link CharSequences} methods.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Johann Sorel (Geomatys)

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/StringBuildersTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/StringBuildersTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/StringBuildersTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/StringBuildersTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -24,7 +24,7 @@ import static org.apache.sis.util.String
 
 
 /**
- * Tests {@link StringBuilders} methods.
+ * Tests the {@link StringBuilders} methods.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Johann Sorel (Geomatys)

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -34,7 +34,7 @@ import static org.opengis.referencing.cs
 
 
 /**
- * Test the {@link CodeListSet} implementation.
+ * Tests the {@link CodeListSet} implementation.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/DefaultTreeTableTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/DefaultTreeTableTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/DefaultTreeTableTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/collection/DefaultTreeTableTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -50,7 +50,7 @@ public final strictfp class DefaultTreeT
      *         after this one.
      */
     @TestStep
-    private static DefaultTreeTable testTableCreation() {
+    public static DefaultTreeTable testTableCreation() {
         final DefaultTreeTable table = new DefaultTreeTable(NAME, TYPE);
         assertEquals("Number of columns:",      2,                  table.columnIndices.size());
         assertEquals("Index of first column:",  Integer.valueOf(0), table.columnIndices.get(NAME));
@@ -71,7 +71,7 @@ public final strictfp class DefaultTreeT
      * @return The root node produced by this method.
      */
     @TestStep
-    private static DefaultTreeTable.Node testNodeCreation(final DefaultTreeTable table) {
+    public static DefaultTreeTable.Node testNodeCreation(final DefaultTreeTable table) {
         /*
          * Create a root node with an initially empty list of children.
          */
@@ -114,7 +114,7 @@ public final strictfp class DefaultTreeT
      * @param root The root node where to move children.
      */
     @TestStep
-    private static void testNodeDisplacement(final TreeTable.Node root) {
+    public static void testNodeDisplacement(final TreeTable.Node root) {
         final Collection<TreeTable.Node> rootChildren, nodeChildren;
         final TreeTable.Node node1 = getSingleton(rootChildren = root .getChildren());
         final TreeTable.Node node2 = getSingleton(nodeChildren = node1.getChildren());
@@ -142,10 +142,11 @@ public final strictfp class DefaultTreeT
      * <p>This method is part of a chain.
      * The previous method is {@link #testNodeDisplacement(TreeTable.Node)}.</p>
      *
+     * @param  table The table to clone.
      * @throws CloneNotSupportedException Should never happen.
      */
     @TestStep
-    private void testClone(final DefaultTreeTable table) throws CloneNotSupportedException {
+    public static void testClone(final DefaultTreeTable table) throws CloneNotSupportedException {
         final TreeTable newTable = table.clone();
         assertNotSame("clone", table, newTable);
         assertEquals("newTable.equals(table)", table, newTable);
@@ -159,9 +160,11 @@ public final strictfp class DefaultTreeT
      *
      * <p>This method is part of a chain.
      * The previous method is {@link #testNodeDisplacement(TreeTable.Node)}.</p>
+     *
+     * @param table The table to serialize.
      */
     @TestStep
-    private void testSerialization(final TreeTable table) {
+    public static void testSerialization(final TreeTable table) {
         final TreeTable newTable = assertSerializedEquals(table);
         getChildrenList(newTable).get(1).setValue(NAME, "New name");
         assertFalse("newTable.equals(table)", newTable.equals(table));

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/logging/MonolineFormatterTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/logging/MonolineFormatterTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/logging/MonolineFormatterTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/util/logging/MonolineFormatterTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -58,10 +58,19 @@ public final strictfp class MonolineForm
      * The given string shall use tabulation before each line of the message.
      */
     private static String localize(final Level level, final String expected) {
-        final String label = level.getLocalizedName();
-        CharSequence text = CharSequences.replace(expected, level.getName(), label);
-        text = CharSequences.replace(text, "\t", CharSequences.spaces(MonolineFormatter.levelWidth(null) - label.length()));
-        return text.toString();
+        final String levelToReplace = level.getName();
+        final String levelLocalized = level.getLocalizedName();
+        assertTrue(expected, expected.startsWith(levelToReplace));
+        final int margin = MonolineFormatter.levelWidth(null);
+        final StringBuilder buffer = new StringBuilder(expected.length() + 40)
+                .append(levelLocalized)
+                .append(CharSequences.spaces(margin - levelLocalized.length()))
+                .append(expected, levelToReplace.length() + 1, expected.length()); // +1 is for skipping '\t'.
+        final String spaces = CharSequences.spaces(margin).toString();
+        for (int i=margin; (i=buffer.indexOf("\n\t", i)) >= 0; i += margin) {
+            buffer.replace(++i, i+1, spaces); // Replace only tabulation, leave new line.
+        }
+        return buffer.toString();
     }
 
     /**
@@ -74,8 +83,8 @@ public final strictfp class MonolineForm
         final String formatted = formatter.format(record);
         assertMultilinesEquals(localize(Level.INFO,
                 "INFO\t First line\n" +
-                "    \t   Indented line\n" +
-                "    \t Last line\n"), formatted);
+                    "\t   Indented line\n" +
+                    "\t Last line\n"), formatted);
     }
 
     /**
@@ -94,9 +103,9 @@ public final strictfp class MonolineForm
         String formatted = formatter.format(record);
         assertMultilinesEquals(localize(Level.WARNING,
                 "WARNING\t An exception occured.\n" +
-                "       \t   Caused by: java.lang.Exception\n" +
-                "       \t     at org.apache.sis.NonExistent.foo(NonExistent.java:10)\n" +
-                "       \t     at org.junit.WhoKnows.main(WhoKnows.java:20)\n"), formatted);
+                       "\t Caused by: java.lang.Exception\n" +
+                       "\t     at org.apache.sis.NonExistent.foo(NonExistent.java:10)\n" +
+                       "\t     at org.junit.WhoKnows.main(WhoKnows.java:20)\n"), formatted);
         /*
          * Remove the message and try again.
          */
@@ -104,7 +113,7 @@ public final strictfp class MonolineForm
         formatted = formatter.format(record);
         assertMultilinesEquals(localize(Level.WARNING,
                 "WARNING\t java.lang.Exception\n" +
-                "       \t     at org.apache.sis.NonExistent.foo(NonExistent.java:10)\n" +
-                "       \t     at org.junit.WhoKnows.main(WhoKnows.java:20)\n"), formatted);
+                       "\t     at org.apache.sis.NonExistent.foo(NonExistent.java:10)\n" +
+                       "\t     at org.junit.WhoKnows.main(WhoKnows.java:20)\n"), formatted);
     }
 }

Modified: sis/trunk/core/sis-utility/src/test/java/org/apache/sis/xml/ValueConverterTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/test/java/org/apache/sis/xml/ValueConverterTest.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/test/java/org/apache/sis/xml/ValueConverterTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/test/java/org/apache/sis/xml/ValueConverterTest.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -24,7 +24,7 @@ import static org.apache.sis.test.Assert
 
 
 /**
- * Tests {@link ValueConverter}.
+ * Tests the {@link ValueConverter} class.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4

Modified: sis/trunk/pom.xml
URL: http://svn.apache.org/viewvc/sis/trunk/pom.xml?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/pom.xml (original)
+++ sis/trunk/pom.xml Wed Feb 19 21:40:59 2014
@@ -671,7 +671,7 @@ Apache SIS is a free software, Java lang
             </group>
             <group>
               <title>Referencing</title>
-              <packages>org.apache.sis.referencing*:org.apache.sis.parameter*:org.apache.sis.io.wkt</packages>
+              <packages>org.apache.sis.referencing*:org.apache.sis.parameter*</packages>
             </group>
             <group>
               <title>Metadata</title>
@@ -679,7 +679,7 @@ Apache SIS is a free software, Java lang
             </group>
             <group>
               <title>Utilities</title>
-              <packages>org.apache.sis.math*:org.apache.sis.measure*:org.apache.sis.util*:org.apache.sis.io:org.apache.sis.xml*:org.apache.sis.setup*</packages>
+              <packages>org.apache.sis.math*:org.apache.sis.measure*:org.apache.sis.util*:org.apache.sis.io*:org.apache.sis.xml*:org.apache.sis.setup*</packages>
             </group>
             <group>
               <title>Profiles</title>

Modified: sis/trunk/src/main/javadoc/stylesheet.css
URL: http://svn.apache.org/viewvc/sis/trunk/src/main/javadoc/stylesheet.css?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/src/main/javadoc/stylesheet.css (original)
+++ sis/trunk/src/main/javadoc/stylesheet.css Wed Feb 19 21:40:59 2014
@@ -64,6 +64,7 @@ table.compact {
   border-spacing: 0pt;
   padding:        0pt;
   line-height:    1em;
+  text-align:     left;
 }
 
 table.compact tr td {
@@ -71,6 +72,7 @@ table.compact tr td {
   padding-bottom: 0pt;
   padding-right:  3pt;
   padding-left:   3pt;
+  vertical-align: text-top;
 }
 
 table.compact tr td.onright {

Modified: sis/trunk/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java
URL: http://svn.apache.org/viewvc/sis/trunk/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java [UTF-8] (original)
+++ sis/trunk/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -22,7 +22,6 @@ package org.apache.sis.storage.netcdf;
  * the compiled file of this class should have no dependency to the UCAR packages.
  */
 import java.io.Serializable;
-import ucar.nc2.Group;
 import ucar.nc2.NetcdfFile;
 import ucar.nc2.VariableSimpleIF;
 import ucar.nc2.constants.CF;

Modified: sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java
URL: http://svn.apache.org/viewvc/sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java [UTF-8] (original)
+++ sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -85,7 +85,7 @@ final class DataStoreRegistry {
      * The {@code storage} argument can be any of the following types:
      *
      * <ul>
-     *   <li>A {@link java.nio.file.Path} or a {@link java.io.File} for a file or a directory.</li>
+     *   <li>A {@link java.io.File} for a file or a directory.</li>
      *   <li>A {@link java.net.URI} or a {@link java.net.URL} to a distant resource.</li>
      *   <li>A {@link java.lang.CharSequence} interpreted as a filename or a URL.</li>
      *   <li>A {@link java.nio.channels.Channel}, {@link java.io.DataInput}, {@link java.io.InputStream} or {@link java.io.Reader}.</li>

Modified: sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStores.java
URL: http://svn.apache.org/viewvc/sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStores.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStores.java [UTF-8] (original)
+++ sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStores.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -93,7 +93,7 @@ public final class DataStores extends St
      * The {@code storage} argument can be any of the following types:
      *
      * <ul>
-     *   <li>A {@link java.nio.file.Path} or a {@link java.io.File} for a file or a directory.</li>
+     *   <li>A {@link java.io.File} for a file or a directory.</li>
      *   <li>A {@link java.net.URI} or a {@link java.net.URL} to a distant resource.</li>
      *   <li>A {@link java.lang.CharSequence} interpreted as a filename or a URL.</li>
      *   <li>A {@link java.nio.channels.Channel}, {@link java.io.DataInput}, {@link java.io.InputStream} or {@link java.io.Reader}.</li>

Modified: sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/ProbeResult.java
URL: http://svn.apache.org/viewvc/sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/ProbeResult.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/ProbeResult.java [UTF-8] (original)
+++ sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/ProbeResult.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -17,7 +17,6 @@
 package org.apache.sis.storage;
 
 import java.io.Serializable;
-import java.io.ObjectStreamException;
 import org.apache.sis.util.Debug;
 import org.apache.sis.util.Version;
 import org.apache.sis.internal.util.Utilities;
@@ -287,7 +286,7 @@ public class ProbeResult implements Seri
          * okay if all comparisons are performed by the {@code equals} method instead
          * than the {@code ==} operator.
          */
-        Object readResolve() throws ObjectStreamException {
+        Object readResolve() {
             try {
                 return ProbeResult.class.getField(name).get(null);
             } catch (Exception e) { // ReflectiveOperationException on the JDK7 branch.

Modified: sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java
URL: http://svn.apache.org/viewvc/sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java?rev=1569932&r1=1569931&r2=1569932&view=diff
==============================================================================
--- sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java [UTF-8] (original)
+++ sis/trunk/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java [UTF-8] Wed Feb 19 21:40:59 2014
@@ -54,7 +54,7 @@ import org.apache.sis.internal.jdk7.JDK7
  * {@code StorageConnector} wraps an input {@link Object}, which can be any of the following types:
  *
  * <ul>
- *   <li>A {@link java.nio.file.Path} or a {@link java.io.File} for a file or a directory.</li>
+ *   <li>A {@link java.io.File} for a file or a directory.</li>
  *   <li>A {@link java.net.URI} or a {@link java.net.URL} to a distant resource.</li>
  *   <li>A {@link CharSequence} interpreted as a filename or a URL.</li>
  *   <li>A {@link java.nio.channels.Channel}, {@link DataInput}, {@link InputStream} or {@link Reader}.</li>
@@ -227,8 +227,8 @@ public class StorageConnector implements
      * the following choices based on the type of the {@linkplain #getStorage() storage} object:
      *
      * <ul>
-     *   <li>For {@link java.nio.file.Path}, {@link java.io.File}, {@link java.net.URI} or {@link java.net.URL}
-     *       instances, this method uses dedicated API like {@link java.nio.file.Path#getFileName()}.</li>
+     *   <li>For {@link java.io.File}, {@link java.net.URI} or {@link java.net.URL}
+     *       instances, this method uses dedicated API.</li>
      *   <li>For {@link CharSequence} instances, this method gets a string representation of the storage object
      *       and returns the part after the last {@code '/'} character or platform-dependent name separator.</li>
      *   <li>For instances of unknown type, this method builds a string representation using the class name.
@@ -252,7 +252,7 @@ public class StorageConnector implements
      * the following choices based on the type of the {@linkplain #getStorage() storage} object:
      *
      * <ul>
-     *   <li>For {@link java.nio.file.Path}, {@link java.io.File}, {@link java.net.URI}, {@link java.net.URL} or
+     *   <li>For {@link java.io.File}, {@link java.net.URI}, {@link java.net.URL} or
      *       {@link CharSequence} instances, this method returns the string after the last {@code '.'} character
      *       in the filename, provided that the {@code '.'} is not the first filename character. This may be an
      *       empty string if the filename has no extension, but never {@code null}.</li>
@@ -276,7 +276,7 @@ public class StorageConnector implements
      * <ul>
      *   <li>{@link String}:
      *     <ul>
-     *       <li>If the {@linkplain #getStorage() storage} object is an instance of the {@link java.nio.file.Path},
+     *       <li>If the {@linkplain #getStorage() storage} object is an instance of the
      *           {@link java.io.File}, {@link java.net.URL}, {@link java.net.URI} or {@link CharSequence} types,
      *           returns the string representation of their path.</li>
      *
@@ -297,7 +297,7 @@ public class StorageConnector implements
      *           (including the {@link ImageInputStream} and {@link javax.imageio.stream.ImageOutputStream} types),
      *           then it is returned unchanged.</li>
      *
-     *       <li>Otherwise if the input is an instance of {@link java.nio.file.Path}, {@link java.io.File},
+     *       <li>Otherwise if the input is an instance of {@link java.io.File},
      *           {@link java.net.URI}, {@link java.net.URL}, {@link CharSequence}, {@link InputStream} or
      *           {@link java.nio.channels.ReadableByteChannel}, then an {@link ImageInputStream} backed by a
      *           {@link ByteBuffer} is created when first needed and returned.</li>



Mime
View raw message