sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1773010 [5/8] - in /sis/branches/JDK7: ./ application/sis-console/src/main/artifact/ application/sis-openoffice/src/main/unopkg/ core/sis-build-helper/src/main/javadoc/ core/sis-feature/src/main/java/org/apache/sis/feature/ core/sis-featur...
Date Wed, 07 Dec 2016 04:14:47 GMT
Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ConformalProjectionTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ConformalProjectionTest.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ConformalProjectionTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ConformalProjectionTest.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -68,8 +68,8 @@ public final strictfp class ConformalPro
         assertEquals("Inverse 0 m",      0, PI/2 - 2*atan(exp(0)),            TOLERANCE);
         assertEquals("Forward 90°S",     NEGATIVE_INFINITY, log(tan(0)),      TOLERANCE);
         assertEquals("Forward (90+ε)°S", NaN,  log(tan(-nextUp(0))),          TOLERANCE);
-        assertEquals("Inverse -∞",       PI/2, atan(exp(-NEGATIVE_INFINITY)), TOLERANCE);
-        assertEquals("Inverse -∞ appr.", PI/2, atan(exp(LN_INFINITY + 1)),    TOLERANCE);
+        assertEquals("Inverse −∞",       PI/2, atan(exp(-NEGATIVE_INFINITY)), TOLERANCE);
+        assertEquals("Inverse −∞ appr.", PI/2, atan(exp(LN_INFINITY + 1)),    TOLERANCE);
         /*
          * tan(PI/2) do not produces positive infinity as we would expect, because there is no
          * exact representation of PI in base 2.  Experiments show that we get some high value
@@ -261,8 +261,8 @@ public final strictfp class ConformalPro
         assertEquals("φ( 0)  =  90°",  PI/2,   φ(0),                 tolerance);
         assertEquals("φ(-ε)  →  90°",  PI/2,   φ(-MIN_VALUE),        tolerance);
         assertEquals("φ(-1)  = 180°",  PI,     φ(-1),                tolerance);
-        assertEquals("φ(-∞)  = 270°",  PI*1.5, φ(-MAX_VALUE),        tolerance);
-        assertEquals("φ(-∞)  = 270°",  PI*1.5, φ(NEGATIVE_INFINITY), tolerance);
+        assertEquals("φ(−∞)  = 270°",  PI*1.5, φ(-MAX_VALUE),        tolerance);
+        assertEquals("φ(−∞)  = 270°",  PI*1.5, φ(NEGATIVE_INFINITY), tolerance);
         /*
          * Using t(φ) as a reference.
          */

Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/EquirectangularTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/EquirectangularTest.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/EquirectangularTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/EquirectangularTest.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -71,11 +71,16 @@ public final strictfp class Equirectangu
                 "PARAM_MT[“Equirectangular”,\n" +
                 "  PARAMETER[“semi_major”, 6371007.0],\n" +
                 "  PARAMETER[“semi_minor”, 6371007.0]]");
-
+        /*
+         * MathTransforms are not defined in WKT 2, so the following WKTs do not exist in standards.
+         * Since the semi-major and semi-minor parameters do not have EPSG codes, the ID[…] elements
+         * below show whatever identifier come first for each parameter (currently GeoTIFF identifiers,
+         * but the authority may change in any future SIS version).
+         */
         ReferencingAssert.assertWktEquals(Convention.WKT2,
                 "PARAM_MT[“Equidistant Cylindrical (Spherical)”,\n" +
-                "  PARAMETER[“semi_major”, 6371007.0, LENGTHUNIT[“metre”, 1]],\n" +
-                "  PARAMETER[“semi_minor”, 6371007.0, LENGTHUNIT[“metre”, 1]]]", transform);
+                "  PARAMETER[“semi_major”, 6371007.0, LENGTHUNIT[“metre”, 1], ID[“GeoTIFF”, 2057]],\n" +
+                "  PARAMETER[“semi_minor”, 6371007.0, LENGTHUNIT[“metre”, 1], ID[“GeoTIFF”, 2058]]]", transform);
 
         ReferencingAssert.assertWktEquals(Convention.WKT2_SIMPLIFIED,
                 "Param_MT[“Equidistant Cylindrical (Spherical)”,\n" +

Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -135,7 +135,7 @@ public final strictfp class LambertConic
         assertEquals ("Inverse +1",     0, inverseTransform(+1),   NORMALIZED_TOLERANCE);
         assertEquals ("Inverse -1",     0, inverseTransform(-1),   NORMALIZED_TOLERANCE);
         assertEquals ("Inverse +∞", +PI/2, inverseTransform(INF),  NORMALIZED_TOLERANCE);
-        assertEquals ("Inverse -∞", +PI/2, inverseTransform(-INF), NORMALIZED_TOLERANCE);
+        assertEquals ("Inverse −∞", +PI/2, inverseTransform(-INF), NORMALIZED_TOLERANCE);
 
         // Like the north case, but with sign inversed.
         createNormalizedProjection(((LambertConicConformal) transform).eccentricity != 0, -40);
@@ -154,7 +154,7 @@ public final strictfp class LambertConic
         assertEquals ("Not a number", NaN, inverseTransform(NaN),  NORMALIZED_TOLERANCE);
         assertEquals ("Inverse 0",  -PI/2, inverseTransform( 0),   NORMALIZED_TOLERANCE);
         assertEquals ("Inverse +∞", +PI/2, inverseTransform(INF),  NORMALIZED_TOLERANCE);
-        assertEquals ("Inverse -∞", +PI/2, inverseTransform(-INF), NORMALIZED_TOLERANCE);
+        assertEquals ("Inverse −∞", +PI/2, inverseTransform(-INF), NORMALIZED_TOLERANCE);
     }
 
     /**

Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/MercatorTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/MercatorTest.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/MercatorTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/MercatorTest.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -150,8 +150,8 @@ public final strictfp class MercatorTest
         assertEquals ("Inverse 0 m",      0,     inverseTransform(0),                  tolerance);
         assertEquals ("Inverse +∞",       +PI/2, inverseTransform(POSITIVE_INFINITY),  tolerance);
         assertEquals ("Inverse +∞ appr.", +PI/2, inverseTransform(LN_INFINITY + 1),    tolerance);
-        assertEquals ("Inverse -∞",       -PI/2, inverseTransform(NEGATIVE_INFINITY),  tolerance);
-        assertEquals ("Inverse -∞ appr.", -PI/2, inverseTransform(-(LN_INFINITY + 1)), tolerance);
+        assertEquals ("Inverse −∞",       -PI/2, inverseTransform(NEGATIVE_INFINITY),  tolerance);
+        assertEquals ("Inverse −∞ appr.", -PI/2, inverseTransform(-(LN_INFINITY + 1)), tolerance);
     }
 
     /**

Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -121,7 +121,7 @@ public abstract strictfp class MathTrans
      * {@link org.opengis.test.ImplementationDetails#configuration(Factory[])} in order to decide
      * which tests should be enabled.
      *
-     * @param factories The factories to be used by the test.
+     * @param factories  the factories to be used by the test.
      */
     protected MathTransformTestCase(final Factory... factories) {
         super(factories);
@@ -161,10 +161,10 @@ public abstract strictfp class MathTrans
      * The SIS implementation ensures that longitude values are contained in the ±180° range,
      * applying 360° shifts if needed.
      *
-     * @param expected The expected ordinate value provided by the test case.
-     * @param actual   The ordinate value computed by the {@linkplain #transform transform} being tested.
-     * @param mode     Indicates if the coordinates being compared are the result of a direct
-     *                 or inverse transform, or if strict equality is requested.
+     * @param  expected  the expected ordinate value provided by the test case.
+     * @param  actual    the ordinate value computed by the {@linkplain #transform transform} being tested.
+     * @param  mode      indicates if the coordinates being compared are the result of a direct
+     *                   or inverse transform, or if strict equality is requested.
      */
     @Override
     protected final void normalize(final DirectPosition expected, final DirectPosition actual, final CalculationType mode) {
@@ -179,7 +179,7 @@ public abstract strictfp class MathTrans
      * Returns a name for the current math transform. This method is used only for reporting errors.
      * This information is not reliable for the actual tests as the names may not be stable.
      *
-     * @return A name for the current math transform.
+     * @return a name for the current math transform.
      */
     @Debug
     private String getName() {
@@ -231,8 +231,8 @@ public abstract strictfp class MathTrans
      *
      * <p>This method verifies also the consistency of {@code MathTransform.transform(…)} method variants.</p>
      *
-     * @param  coordinates The coordinate points to transform.
-     * @param  expected The expect result of the transformation, or
+     * @param  coordinates  the coordinate points to transform.
+     * @param  expected     the expect result of the transformation, or
      *         {@code null} if {@code coordinates} is expected to be null.
      * @throws TransformException if the transformation failed.
      */
@@ -286,9 +286,9 @@ public abstract strictfp class MathTrans
      * This method does not {@linkplain #validate() validate} the transform; it is caller responsibility
      * to validate if desired.
      *
-     * @param  domain The domain of the numbers to be generated.
-     * @param  randomSeed The seed for the random number generator, or 0 for choosing a random seed.
-     * @throws TransformException If a conversion, transformation or derivative failed.
+     * @param  domain      the domain of the numbers to be generated.
+     * @param  randomSeed  the seed for the random number generator, or 0 for choosing a random seed.
+     * @throws TransformException if a conversion, transformation or derivative failed.
      *
      * @since 0.6
      */
@@ -315,9 +315,9 @@ public abstract strictfp class MathTrans
     /**
      * Generates random numbers that can be used for the current transform.
      *
-     * @param  domain  The domain of the numbers to be generated.
-     * @param  propNaN Approximative percentage of NaN values as a fraction between 0 and 1, or 0 if none.
-     * @return Random  coordinates in the given domain.
+     * @param  domain   the domain of the numbers to be generated.
+     * @param  propNaN  approximative percentage of NaN values as a fraction between 0 and 1, or 0 if none.
+     * @return random coordinates in the given domain.
      */
     final double[] generateRandomCoordinates(final CoordinateDomain domain, final float propNaN) {
         assertNotNull("The 'transform' field shall be assigned a value.", transform);
@@ -336,11 +336,11 @@ public abstract strictfp class MathTrans
      * This method can check the descriptor separately, for easier isolation of mismatch in case of failure.
      *
      * @param descriptor
-     *          The expected parameter descriptor, or {@code null} for bypassing this check.
+     *          the expected parameter descriptor, or {@code null} for bypassing this check.
      *          The descriptor is required to be strictly the same instance, since Apache SIS
      *          implementation returns constant values.
      * @param values
-     *          The expected parameter values, or {@code null} for bypassing this check.
+     *          the expected parameter values, or {@code null} for bypassing this check.
      *          Floating points values are compared in the units of the expected value,
      *          tolerating a difference up to the {@linkplain #tolerance(double) tolerance threshold}.
      */
@@ -359,8 +359,9 @@ public abstract strictfp class MathTrans
 
     /**
      * Asserts that the current {@linkplain #transform transform} produces the given WKT.
+     * This method uses the WKT 1 format, since {@code MathTransform}s are not defined in WKT 2.
      *
-     * @param expected The expected WKT.
+     * @param  expected  the expected WKT.
      *
      * @see #printInternalWKT()
      */
@@ -371,8 +372,9 @@ public abstract strictfp class MathTrans
 
     /**
      * Asserts that the current {@linkplain #transform transform} produces a WKT matching the given regular expression.
+     * This method uses the WKT 1 format, since {@code MathTransform}s are not defined in WKT 2.
      *
-     * @param expected A regular expression for the expected WKT.
+     * @param  expected  a regular expression for the expected WKT.
      *
      * @see #printInternalWKT()
      *
@@ -386,7 +388,7 @@ public abstract strictfp class MathTrans
     /**
      * Asserts that the current {@linkplain #transform transform} produces the given internal WKT.
      *
-     * @param expected The expected internal WKT.
+     * @param  expected  the expected internal WKT.
      *
      * @since 0.7
      */
@@ -399,7 +401,7 @@ public abstract strictfp class MathTrans
      * Asserts that the current {@linkplain #transform transform} produces an internal WKT
      * matching the given regular expression.
      *
-     * @param expected A regular expression for the expected internal WKT.
+     * @param  expected  a regular expression for the expected internal WKT.
      *
      * @since 0.7
      */

Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -347,12 +347,17 @@ public strictfp class MetadataTest exten
             final DefaultDistribution distributionInfo = new DefaultDistribution();
             distributor.setRole(Role.DISTRIBUTOR);
             distributionInfo.setDistributors(singleton(new DefaultDistributor(distributor)));
-            distributionInfo.setDistributionFormats(singleton(new DefaultFormat(
-                    new Anchor(URI.create("SDN:L241:1:MEDATLAS"), "MEDATLAS ASCII"), "1.0")));
+
+            final DefaultFormat format = new DefaultFormat();
+            final DefaultCitation specification = new DefaultCitation();
+            specification.setAlternateTitles(singleton(new Anchor(URI.create("SDN:L241:1:MEDATLAS"), "MEDATLAS ASCII")));
+            specification.setEdition(new SimpleInternationalString("1.0"));
+            format.setFormatSpecificationCitation(specification);
+            distributionInfo.setDistributionFormats(singleton(format));
+
             final DefaultDigitalTransferOptions transfer = new DefaultDigitalTransferOptions();
             transfer.setTransferSize(2.431640625);
-            final DefaultOnlineResource onlines = new DefaultOnlineResource(URI.create(
-                    "http://www.ifremer.fr/data/something"));
+            final DefaultOnlineResource onlines = new DefaultOnlineResource(URI.create("http://www.ifremer.fr/data/something"));
             onlines.setDescription(new SimpleInternationalString("CTDF02"));
             onlines.setFunction(OnLineFunction.DOWNLOAD);
             onlines.setProtocol("http");

Modified: sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -216,6 +216,7 @@ import org.junit.BeforeClass;
     org.apache.sis.referencing.factory.sql.EPSGDataFormatterTest.class,
     org.apache.sis.referencing.EPSGFactoryFallbackTest.class,
     org.apache.sis.referencing.AuthorityFactoriesTest.class,
+    org.apache.sis.referencing.cs.CodesTest.class,
     org.apache.sis.referencing.CRSTest.class,
 
     // Coordinate operation finders are last, since they need everything else.

Propchange: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
------------------------------------------------------------------------------
--- svn:mime-type (original)
+++ svn:mime-type Wed Dec  7 04:14:44 2016
@@ -1 +1 @@
-text/html
+text/html;charset=UTF-8

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jdk8/JDK8.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jdk8/JDK8.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jdk8/JDK8.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jdk8/JDK8.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -63,6 +63,27 @@ public final class JDK8 {
     }
 
     /**
+     * Formats the given elements as a list.
+     *
+     * @param  delimiter  the characters to insert between each elements.
+     * @param  elements   the elements to format.
+     * @return the given elements formatted as a list.
+     *
+     * @since 0.8
+     */
+    public static String join(final CharSequence delimiter, final CharSequence... elements) {
+        final StringBuffer buffer = new StringBuffer();
+        for (final CharSequence cs : elements) {
+            if (buffer.length() != 0) {
+                buffer.append(delimiter);
+            }
+            buffer.append(cs);
+        }
+        return buffer.toString();
+    }
+
+
+    /**
      * Compares two numbers as unsigned long.
      *
      * @param  x  first unsigned value.

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -190,7 +190,7 @@ public class SimpleIdentifiedObject impl
      * If name is a critical component of this object, then it shall be compared by the subclass.
      * This behavior is consistent with {@link org.apache.sis.referencing.AbstractIdentifiedObject}.
      *
-     * @param  object  the object to compare with this reference system.
+     * @param  object  the object to compare with this identified object.
      * @param  mode    the strictness level of the comparison.
      * @return {@code true} if both objects are equal.
      */

Propchange: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleMetadata.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleMetadata.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DefaultFactories.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DefaultFactories.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DefaultFactories.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DefaultFactories.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -67,9 +67,9 @@ public final class DefaultFactories exte
     /**
      * Returns {@code true} if the default factory of the given type is the given instance.
      *
-     * @param  <T>  The interface type.
-     * @param  type The interface type.
-     * @param  factory The factory implementation to test.
+     * @param  <T>      the interface type.
+     * @param  type     the interface type.
+     * @param  factory  the factory implementation to test.
      * @return {@code true} if the given factory implementation is the default instance.
      */
     public static synchronized <T> boolean isDefaultInstance(final Class<T> type, final T factory) {
@@ -81,9 +81,9 @@ public final class DefaultFactories exte
      * This method gives preference to Apache SIS implementation of factories if present.
      * This is a temporary mechanism while we are waiting for a real dependency injection mechanism.
      *
-     * @param  <T>  The interface type.
-     * @param  type The interface type.
-     * @return A factory implementing the given interface, or {@code null} if none.
+     * @param  <T>   the interface type.
+     * @param  type  the interface type.
+     * @return a factory implementing the given interface, or {@code null} if none.
      */
     public static synchronized <T> T forClass(final Class<T> type) {
         T factory = type.cast(FACTORIES.get(type));
@@ -124,9 +124,9 @@ public final class DefaultFactories exte
      * Returns a factory which is guaranteed to be present. If the factory is not found,
      * this will be considered a configuration error (corrupted JAR files of incorrect classpath).
      *
-     * @param  <T>  The interface type.
-     * @param  type The interface type.
-     * @return A factory implementing the given interface.
+     * @param  <T>   the interface type.
+     * @param  type  the interface type.
+     * @return a factory implementing the given interface.
      *
      * @since 0.6
      */
@@ -143,11 +143,11 @@ public final class DefaultFactories exte
      * Returns a factory of the given type, making sure that it is an implementation of the given class.
      * Use this method only when we know that Apache SIS registers only one implementation of a given service.
      *
-     * @param  <T>  The interface type.
-     * @param  <I>  The requested implementation class.
-     * @param  type The interface type.
-     * @param  impl The requested implementation class.
-     * @return A factory implementing the given interface.
+     * @param  <T>   the interface type.
+     * @param  <I>   the requested implementation class.
+     * @param  type  the interface type.
+     * @param  impl  the requested implementation class.
+     * @return a factory implementing the given interface.
      *
      * @since 0.6
      */
@@ -165,9 +165,9 @@ public final class DefaultFactories exte
      * The default is the current thread {@linkplain Thread#getContextClassLoader() context class loader},
      * provided that it can access at least the Apache SIS stores.
      *
-     * @param  <T> The compile-time value of {@code service} argument.
-     * @param  service The interface or abstract class representing the service.
-     * @return A new service loader for the given service type.
+     * @param  <T>      the compile-time value of {@code service} argument.
+     * @param  service  the interface or abstract class representing the service.
+     * @return a new service loader for the given service type.
      *
      * @since 0.8
      */
@@ -196,7 +196,7 @@ public final class DefaultFactories exte
      * <p>The intend of this method is to ensure that {@link ServiceLoader#load(Class)} will find the
      * Apache SIS services even in an environment that defined an unsuitable context class loader.</p>
      *
-     * @return The context class loader if suitable, or another class loader otherwise.
+     * @return the context class loader if suitable, or another class loader otherwise.
      * @throws SecurityException if this method is not allowed to get the current thread
      *         context class loader or one of its parent.
      *

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedExecutor.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedExecutor.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedExecutor.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedExecutor.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -64,7 +64,7 @@ public final class DelayedExecutor exten
      * The task must completes quickly, because we will typically use only one thread for all submitted tasks.
      * Completion of the task shall not be critical, since the JVM is allowed to shutdown before task completion.
      *
-     * @param task The task to schedule for later execution.
+     * @param  task  the task to schedule for later execution.
      */
     public static void schedule(final DelayedRunnable task) {
         QUEUE.add(task);

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedRunnable.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedRunnable.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedRunnable.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DelayedRunnable.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -53,7 +53,7 @@ public abstract class DelayedRunnable im
      * It is user's responsibility to add the {@link System#nanoTime()} value
      * to the delay he wants to wait.
      *
-     * @param timestamp Time of execution of this task, in nanoseconds relative to {@link System#nanoTime()}.
+     * @param timestamp  time of execution of this task, in nanoseconds relative to {@link System#nanoTime()}.
      */
     protected DelayedRunnable(final long timestamp) {
         this.timestamp = timestamp;
@@ -74,7 +74,7 @@ public abstract class DelayedRunnable im
      * This restriction should be okay since the {@link DelayedExecutor} queue
      * accepts only {@code DelayedRunnable} instances.
      *
-     * @param other The other delayed object to compare with this delayed task.
+     * @param  other  the other delayed object to compare with this delayed task.
      * @return -1 if the other task should happen before this one, +1 if it should happen after, or 0.
      */
     @Override
@@ -111,8 +111,8 @@ public abstract class DelayedRunnable im
         /**
          * Returns the delay, which is fixed to 0 in every cases.
          *
-         * @param  unit The unit of the value to return (ignored).
-         * @return The delay, which is fixed to 0.
+         * @param  unit  the unit of the value to return (ignored).
+         * @return the delay, which is fixed to 0.
          */
         @Override
         public final long getDelay(final TimeUnit unit) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Semaphores.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Semaphores.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Semaphores.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Semaphores.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -84,7 +84,7 @@ public final class Semaphores {
     /**
      * Returns {@code true} if the given flag is set.
      *
-     * @param flag One of {@link #CONVERSION_AND_CRS}, {@link #ENCLOSED_IN_OPERATION} or other constants.
+     * @param  flag  one of {@link #CONVERSION_AND_CRS}, {@link #ENCLOSED_IN_OPERATION} or other constants.
      * @return {@code true} if the given flag is set.
      */
     public static boolean query(final byte flag) {
@@ -95,7 +95,7 @@ public final class Semaphores {
     /**
      * Sets the given flag.
      *
-     * @param flag One of {@link #CONVERSION_AND_CRS}, {@link #ENCLOSED_IN_OPERATION} or other constants.
+     * @param  flag  one of {@link #CONVERSION_AND_CRS}, {@link #ENCLOSED_IN_OPERATION} or other constants.
      * @return {@code true} if the given flag was already set.
      */
     public static boolean queryAndSet(final byte flag) {
@@ -112,7 +112,7 @@ public final class Semaphores {
     /**
      * Clears the given flag.
      *
-     * @param flag One of {@link #CONVERSION_AND_CRS}, {@link #ENCLOSED_IN_OPERATION} or other constants.
+     * @param flag  one of {@link #CONVERSION_AND_CRS}, {@link #ENCLOSED_IN_OPERATION} or other constants.
      */
     public static void clear(final byte flag) {
         final Semaphores s = FLAGS.get();

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Threads.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Threads.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Threads.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/Threads.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -21,9 +21,9 @@ import org.apache.sis.util.logging.Loggi
 
 
 /**
- * Utilities methods for threads. This class declares in a single place every {@link ThreadGroup}
- * used in SIS. Their intend is to bring some order in debugger informations, by grouping the
- * threads created by SIS together under the same parent tree node.
+ * Utilities methods for threads. This class declares in a single place every {@link ThreadGroup} used in SIS.
+ * Their intend is to bring some order in debugger informations, by grouping the threads created by SIS together
+ * under the same parent tree node.
  *
  * <div class="section">Note on dependencies</div>
  * This class shall not depend on {@link ReferenceQueueConsumer} or {@link DelayedExecutor},
@@ -93,9 +93,9 @@ final class Threads extends Static {
      * <p><strong>This method is for internal use by Apache SIS shutdown hooks only.</strong>
      * Users should never invoke this method explicitely.</p>
      *
-     * @param  stopWaitingAt A {@link System#nanoTime()} value telling when to stop waiting.
+     * @param  stopWaitingAt  a {@link System#nanoTime()} value telling when to stop waiting.
      *         This is used for preventing shutdown process to block an indefinite amount of time.
-     * @throws InterruptedException If an other thread invoked {@link Thread#interrupt()} while
+     * @throws InterruptedException if an other thread invoked {@link Thread#interrupt()} while
      *         we were waiting for the daemon threads to die.
      */
     static synchronized void shutdown(final long stopWaitingAt) throws InterruptedException {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/Constants.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/Constants.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/Constants.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/Constants.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -204,6 +204,12 @@ public final class Constants extends Sta
     public static final short EPSG_GREENWICH = 8901;
 
     /**
+     * The EPSG code for the two-dimensional Cartesian coordinate system with axes in metres.
+     * Cartesian 2D CS. Axes: easting, northing (E,N). Orientations: east, north. UoM: m.
+     */
+    public static final short EPSG_PROJECTED_CS = 4400;
+
+    /**
      * EPSG code of "WGS 84 / Arctic Polar Stereographic" projection.
      * Latitude of standard parallel is 71°N. All other parameters are zero.
      */

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/EmptySortedSet.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/EmptySortedSet.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/EmptySortedSet.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/EmptySortedSet.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -29,9 +29,9 @@ import java.util.SortedSet;
 /**
  * An immutable, serializable empty sorted set.
  * This class exists only on the JDK7 branch, not on the JDK8 branch,
- * since an equivalent method has been added to the JDK.</div>
+ * since an equivalent method has been added to the JDK.
  *
- * @param  <E> Type of elements in the collection.
+ * @param  <E>  type of elements in the collection.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -18,15 +18,13 @@ package org.apache.sis.internal.util;
 
 import java.util.List;
 import java.util.Arrays;
+import java.util.Objects;
 import java.util.Iterator;
 import java.util.ServiceLoader;
 import java.util.NoSuchElementException;
 import org.apache.sis.util.Workaround;
 import org.apache.sis.internal.system.DefaultFactories;
 
-// Branch-specific imports
-import java.util.Objects;
-
 
 /**
  * An immutable set built from an iterator, which will be filled only when needed.
@@ -58,9 +56,8 @@ public class LazySet<E> extends SetOfUnk
     private final Class<E> service;
 
     /**
-     * The iterator to use for filling this set, or {@code null} if the iteration did not started yet
-     * or is finished. Those two cases can be distinguished by looking whether the {@link #cachedElements}
-     * array is null or not.
+     * The iterator to use for filling this set, or {@code null} if the iteration did not started yet or is finished.
+     * Those two cases can be distinguished by looking whether the {@link #cachedElements} array is null or not.
      *
      * @see #sourceIterator()
      */
@@ -82,11 +79,10 @@ public class LazySet<E> extends SetOfUnk
     private int numCached;
 
     /**
-     * Constructs a set to be filled by the elements from the specified source. Iteration will starts
-     * only when first needed, and at most one iteration will be performed (unless {@link #reload()}
-     * is invoked).
+     * Constructs a set to be filled by the elements from the specified source. Iteration will start only when
+     * first needed, and at most one iteration will be performed (unless {@link #reload()} is invoked).
      *
-     * @param  service  the type of service to request with {@link ServiceLoader}, or {@code null} if unknown.
+     * @param  service  the type of service to request with {@link ServiceLoader}.
      */
     public LazySet(final Class<E> service) {
         Objects.requireNonNull(service);
@@ -139,7 +135,7 @@ public class LazySet<E> extends SetOfUnk
      */
     @SuppressWarnings("unchecked")
     private boolean createCache() {
-        cachedElements = initialValues();   // No need to clone.
+        cachedElements = initialValues();                   // No need to clone.
         if (cachedElements != null) {
             numCached = cachedElements.length;
             if (numCached != 0) {
@@ -229,6 +225,7 @@ public class LazySet<E> extends SetOfUnk
      * negative index and for skipped elements.</p>
      */
     final boolean exists(final int index) {
+        assert index <= numCached : index;
         return (index < numCached) || canPullMore();
     }
 
@@ -239,6 +236,8 @@ public class LazySet<E> extends SetOfUnk
      * @return the element at the requested index.
      */
     final E get(final int index) {
+        assert numCached <= cachedElements.length : numCached;
+        assert index <= numCached : index;
         if (index >= numCached) {
             if (canPullMore()) {
                 cache(sourceIterator.next());

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySynchronizedIterator.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySynchronizedIterator.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySynchronizedIterator.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySynchronizedIterator.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -58,7 +58,7 @@ public final class LazySynchronizedItera
      * Creates a new iterator over all elements returned by the given providers.
      * Null elements in the given array will be ignored.
      *
-     * @param providers The providers of iterators. This array is <strong>not</strong> cloned.
+     * @param  providers  the providers of iterators. This array is <strong>not</strong> cloned.
      */
     public LazySynchronizedIterator(final Iterable<? extends E>[] providers) {
         this.providers = providers;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Fraction.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Fraction.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Fraction.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Fraction.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -209,7 +209,7 @@ public final class Fraction extends Numb
      * Returns the simplified result of dividing this fraction by the given fraction.
      *
      * @param  other  the fraction by which to divide this fraction.
-     * @return the simplified result of {@code this} ÷ {@code other}.
+     * @return the simplified result of {@code this} ∕ {@code other}.
      * @throws ArithmeticException if the result overflows.
      */
     public Fraction divide(final Fraction other) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/ConventionalUnit.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -391,7 +391,7 @@ final class ConventionalUnit<Q extends Q
      * Returns the quotient of this unit with the one specified.
      *
      * @param  divisor  the unit divisor.
-     * @return {@code this} ÷ {@code divisor}
+     * @return {@code this} ∕ {@code divisor}
      */
     @Override
     public Unit<?> divide(final Unit<?> divisor) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/RangeFormat.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/RangeFormat.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/RangeFormat.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/RangeFormat.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -589,7 +589,7 @@ public class RangeFormat extends Format
             int startPosition = toAppendTo.length();
             if (value == null) {
                 switch (field) {
-                    case MIN_VALUE_FIELD: toAppendTo.append(minusSign);             // Fall through
+                    case MIN_VALUE_FIELD: toAppendTo.append(minusSign != '-' ? minusSign : '−');    // Fall through
                     case MAX_VALUE_FIELD: toAppendTo.append(infinity); break;
                 }
             } else {
@@ -770,9 +770,8 @@ public class RangeFormat extends Format
     {
         final int length = source.length();
         /*
-         * Skip leading whitespace and find the first non-blank character.  It is usually
-         * an opening bracket, except if minimal and maximal values are the same in which
-         * case the brackets may be omitted.
+         * Skip leading whitespace and find the first non-blank character. It is usually an opening bracket,
+         * except if minimal and maximal values are the same in which case the brackets may be omitted.
          */
         int index, c;
         for (index = pos.getIndex(); ; index += Character.charCount(c)) {
@@ -787,9 +786,8 @@ public class RangeFormat extends Format
         final boolean isMinIncluded, isMaxIncluded;
         if (!isOpen(c)) {
             /*
-             * No bracket, or curly bracket. We have eigher an empty range (as in "{}")
-             * or a single value for the range. The braces are optional for single value.
-             * In other words, this block parses all of the following cases:
+             * No bracket, or curly bracket. We have eigher an empty range (as in "{}") or a single value for the range.
+             * The braces are optional for single value. In other words, this block parses all of the following cases:
              *
              *  - {}
              *  - {value}
@@ -838,13 +836,12 @@ public class RangeFormat extends Format
             }
         } else {
             /*
-             * We found an opening bracket. Skip the whitespaces. If the next
-             * character is a closing bracket, then we have an empty range.
-             * The later case is an extension to the standard format, since
-             * empty ranges are usually represented by {} instead than [].
+             * We found an opening bracket. Skip the whitespaces. If the next character is a closing bracket,
+             * then we have an empty range. The later case is an extension to the standard format since empty
+             * ranges are usually represented by {} instead than [].
              */
             isMinIncluded = (c == openInclusive);
-            do { // Skip whitespaces.
+            do {                                            // Skip whitespaces.
                 index += Character.charCount(c);
                 if (index >= length) {
                     pos.setErrorIndex(length);
@@ -859,16 +856,16 @@ public class RangeFormat extends Format
                 index += Character.charCount(c);
             } else {
                 /*
-                 * At this point, we have determined that the range is non-empty and there
-                 * is at least one value to parse. First, parse the minimal value. If we
-                 * fail to parse, check if it was the infinity value (note that infinity
-                 * should have been parsed successfully if the format is DecimalFormat).
+                 * At this point, we have determined that the range is non-empty and there is at least one value to parse.
+                 * First, parse the minimal value. If we fail to parse, check if it was the infinity value. Note that "-∞"
+                 * and "∞" should have been parsed successfully if the format is DecimalFormat, but not necessarily "−∞".
+                 * The difference is in the character used for the minus sign (ASCII hyphen versus Unicode minus sign).
                  */
                 pos.setIndex(index);
                 int savedIndex = index;
                 Object value = elementFormat.parseObject(source, pos);
                 if (value == null) {
-                    if (c == minusSign) {
+                    if (c == minusSign || c == '−') {
                         index += Character.charCount(c);
                     }
                     if (!source.regionMatches(index, infinity, 0, infinity.length())) {
@@ -879,11 +876,10 @@ public class RangeFormat extends Format
                 pos.setErrorIndex(savedIndex);              // In case of failure during the conversion.
                 minValue = convert(value);
                 /*
-                 * Parsing of minimal value succeed and its type is valid. Now look for the
-                 * separator. If it is not present, then assume that we have a single value
-                 * for the range. The default RangeFormat implementation does not format
-                 * brackets in such case (see the "No bracket" case above), but we make the
-                 * parser tolerant to the case where the brackets are present.
+                 * Parsing of 'minValue' succeed and its type is valid. Now look for the separator. If it is not present,
+                 * then assume that we have a single value for the range. The default RangeFormat implementation does not
+                 * format brackets in such case (see the "No bracket" case above), but we make the parser tolerant to the
+                 * case where the brackets are present.
                  */
                 for (index = pos.getIndex(); ; index += Character.charCount(c)) {
                     if (index >= length) {
@@ -904,6 +900,10 @@ public class RangeFormat extends Format
                         c = source.codePointAt(index);
                         if (!Character.isWhitespace(c)) break;
                     }
+                    /*
+                     * Now parse the maximum value. A special case is applied for infinity value
+                     * in a similar way than we did for the minimal value.
+                     */
                     pos.setIndex(index);
                     value = elementFormat.parseObject(source, pos);
                     if (value == null) {
@@ -915,9 +915,8 @@ public class RangeFormat extends Format
                     pos.setErrorIndex(index);               // In case of failure during the conversion.
                     maxValue = convert(value);
                     /*
-                     * Skip one last time the whitespaces. The check for the closing bracket
-                     * (which is mandatory) is performed outside the "if" block since it is
-                     * common to the two "if ... else" cases.
+                     * Skip one last time the whitespaces. The check for the closing bracket (which is mandatory)
+                     * is performed outside the "if" block since it is common to the two "if ... else" cases.
                      */
                     for (index = pos.getIndex(); ; index += Character.charCount(c)) {
                         if (index >= length) {
@@ -972,8 +971,8 @@ public class RangeFormat extends Format
                 min  = Numbers.cast(min, type);
                 max  = Numbers.cast(max, type);
             }
-            if (min.doubleValue() == Double.NEGATIVE_INFINITY) min = null;
-            if (max.doubleValue() == Double.POSITIVE_INFINITY) max = null;
+            if (min != null && min.doubleValue() == Double.NEGATIVE_INFINITY) min = null;
+            if (max != null && max.doubleValue() == Double.POSITIVE_INFINITY) max = null;
             if (unit != null) {
                 final MeasurementRange<?> range = new MeasurementRange(type, min, isMinIncluded, max, isMaxIncluded, unit);
                 return range;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/SystemUnit.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/SystemUnit.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/SystemUnit.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/SystemUnit.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -399,7 +399,7 @@ final class SystemUnit<Q extends Quantit
      * Returns the quotient of this unit with the one specified.
      *
      * @param  divisor  the unit divisor.
-     * @return {@code this} ÷ {@code divisor}
+     * @return {@code this} ∕ {@code divisor}
      */
     @Override
     public Unit<?> divide(final Unit<?> divisor) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -296,7 +296,7 @@ public class UnitFormat extends Format i
     /**
      * Creates a new format for the given locale.
      *
-     * @param   locale  the locale to use for parsing and formatting units.
+     * @param  locale  the locale to use for parsing and formatting units.
      */
     public UnitFormat(final Locale locale) {
         ArgumentChecks.ensureNonNull("locale", locale);
@@ -857,6 +857,7 @@ public class UnitFormat extends Format i
                 case '⋅': // Fallthrough
                 case '×': next = MULTIPLY; break;
                 case '÷':
+                case '⁄': // Fraction slash
                 case '/':
                 case '∕': next = DIVIDE; break;
                 default:  continue;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -22,8 +22,9 @@ import javax.measure.UnitConverter;
 import javax.measure.format.ParserException;
 import javax.measure.Quantity;
 import javax.measure.quantity.*;
-import javax.measure.quantity.Angle;            // Because of name collision with Angle in this SIS package.
-import org.opengis.geometry.DirectPosition;     // For javadoc
+import javax.measure.quantity.Angle;                // Because of name collision with Angle in this SIS package.
+import org.opengis.geometry.DirectPosition;         // For javadoc
+import org.opengis.referencing.cs.AxisDirection;    // For javadoc
 
 import org.apache.sis.util.Static;
 import org.apache.sis.util.Workaround;
@@ -86,7 +87,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI units:</td>         <td style="word-spacing:1em"><u>{@code NANOMETRE}</u>, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -104,7 +105,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, <u>{@code MILLIMETRE}</u>, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -120,7 +121,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, <u>{@code CENTIMETRE}</u>, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -136,7 +137,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <u><b>{@code METRE}</b></u>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -152,7 +153,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, <u>{@code KILOMETRE}</u>.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr>
      * </table></div>
      *
@@ -174,7 +175,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, <u>{@code NAUTICAL_MILE}</u>.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, <u>{@code NAUTICAL_MILE}</u>.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr>
      * </table></div>
      *
@@ -194,7 +195,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, <u>{@code STATUTE_MILE}</u>, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, <u>{@code STATUTE_MILE}</u>, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr>
      * </table></div>
      *
@@ -211,7 +212,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, <u>{@code US_SURVEY_FOOT}</u>, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, <u>{@code US_SURVEY_FOOT}</u>, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -220,6 +221,22 @@ public final class Units extends Static
     public static final Unit<Length> US_SURVEY_FOOT;
 
     /**
+     * Unit of measurement defined as 0.3047972654 metres.
+     * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
+     * the unlocalized name is “Clarke’s foot” and the identifier is EPSG:9005.
+     *
+     * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
+     * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
+     *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, <u>{@code CLARKE_FOOT}</u>, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
+     * </table></div>
+     *
+     * @since 0.8
+     */
+    public static final Unit<Length> CLARKE_FOOT;
+
+    /**
      * Unit of measurement defined as exactly 0.3048 metres (1 ft).
      * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE},
      * the unlocalized name is “foot” and the identifier is EPSG:9002.
@@ -227,7 +244,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, <u>{@code FOOT}</u>, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, <u>{@code FOOT}</u>, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -243,7 +260,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, <u>{@code INCH}</u>, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, <u>{@code INCH}</u>, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -260,7 +277,7 @@ public final class Units extends Static
      * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p>
      * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25">
      *   <tr><td>SI length units:</td>  <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr>
-     *   <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code POINT}</u>, {@link #INCH}, {@link #FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
+     *   <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code POINT}</u>, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr>
      *   <tr><td>Derived units:</td>    <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr>
      * </table></div>
      *
@@ -1078,7 +1095,7 @@ public final class Units extends Static
         /*
          * All Unit<Length>.
          */
-        m.related(6);
+        m.related(7);
         METRE          = m;
         NANOMETRE      = add(m, nano,                                     "nm",    UnitRegistry.SI,       (short) 0);
         MILLIMETRE     = add(m, milli,                                    "mm",    UnitRegistry.SI,       (short) 1025);
@@ -1086,7 +1103,8 @@ public final class Units extends Static
         KILOMETRE      = add(m, kilo,                                     "km",    UnitRegistry.SI,       (short) 9036);
         NAUTICAL_MILE  = add(m, LinearConverter.scale(   1852,        1), "M",     UnitRegistry.OTHER,    (short) 9030);
         STATUTE_MILE   = add(m, LinearConverter.scale(1609344,      100), "mi",    UnitRegistry.IMPERIAL, (short) 9093);
-        US_SURVEY_FOOT = add(m, LinearConverter.scale(   1200,     3937), "ft_US", UnitRegistry.OTHER,    (short) 9003);
+        US_SURVEY_FOOT = add(m, LinearConverter.scale(   1200,     3937), "ftUS",  UnitRegistry.OTHER,    (short) 9003);
+        CLARKE_FOOT    = add(m, LinearConverter.scale(3047972654d, 1E10), "ftCla", UnitRegistry.OTHER,    (short) 9005);
         FOOT           = add(m, LinearConverter.scale(   3048,    10000), "ft",    UnitRegistry.IMPERIAL, (short) 9002);
         INCH           = add(m, LinearConverter.scale(    254,    10000), "in",    UnitRegistry.IMPERIAL, (short) 0);
         POINT          = add(m, LinearConverter.scale( 996264, 72000000), "pt",    UnitRegistry.OTHER,    (short) 0);
@@ -1681,6 +1699,8 @@ public final class Units extends Static
      * @return the EPSG code of the given units, or {@code null} if unknown.
      *
      * @since 0.4
+     *
+     * @see org.apache.sis.referencing.cs.CoordinateSystems#getEpsgCode(Unit, AxisDirection...)
      */
     public static Integer getEpsgCode(Unit<?> unit, final boolean inAxis) {
         if (unit != null) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -403,7 +403,7 @@ next:       for (final Class<?> candidat
      *         at least one non-null element.
      */
     public static Class<?> findSpecializedClass(final Iterable<?> objects) {
-        final Set<Class<?>> types = getClasses(objects);
+        final Set<Class<?>> types = (Set<Class<?>>) getClasses(objects);
         types.remove(null);
         /*
          * Removes every classes in the types collection which are assignable from an other
@@ -455,7 +455,7 @@ next:       for (final Class<?> candidat
      *         given collection does not contain at least one non-null element.
      */
     public static Class<?> findCommonClass(final Iterable<?> objects) {
-        final Set<Class<?>> types = getClasses(objects);
+        final Set<Class<?>> types = (Set<Class<?>>) getClasses(objects);
         types.remove(null);
         return common(types);
     }

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Deprecable.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Deprecable.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Deprecable.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Deprecable.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -60,9 +60,8 @@ public interface Deprecable {
      *
      * <div class="note"><b>Example:</b> "superseded by code XYZ".</div>
      *
-     * @return Comments about this instance, or {@code null} if none. Shall be the
-     *         reason for deprecation or the alternative to use if this instance
-     *         {@linkplain #isDeprecated() is deprecated}.
+     * @return comments about this instance, or {@code null} if none. Shall be the reason for deprecation
+     *         or the alternative to use if this instance {@linkplain #isDeprecated() is deprecated}.
      */
     InternationalString getRemarks();
 }

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Utilities.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Utilities.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Utilities.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/Utilities.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -22,10 +22,8 @@ import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Map;
 import java.util.Set;
-import org.apache.sis.util.collection.CheckedContainer;
-
-// Branch-dependent imports
 import java.util.Objects;
+import org.apache.sis.util.collection.CheckedContainer;
 
 
 /**
@@ -69,8 +67,8 @@ public final class Utilities extends Sta
      *     return deepEquals(object1, object2, ComparisonMode.IGNORE_METADATA);
      * }
      *
-     * @param  object1 The first object to compare (may be null).
-     * @param  object2 The second object to compare (may be null).
+     * @param  object1  the first object to compare (may be null).
+     * @param  object2  the second object to compare (may be null).
      * @return {@code true} if both objects are equal, ignoring metadata.
      *
      * @see #deepEquals(Object, Object, ComparisonMode)
@@ -103,8 +101,8 @@ public final class Utilities extends Sta
      *     return deepEquals(object1, object2, ComparisonMode.APPROXIMATIVE);
      * }
      *
-     * @param  object1 The first object to compare (may be null).
-     * @param  object2 The second object to compare (may be null).
+     * @param  object1  the first object to compare (may be null).
+     * @param  object2  the second object to compare (may be null).
      * @return {@code true} if both objects are approximatively equal.
      *
      * @see #deepEquals(Object, Object, ComparisonMode)
@@ -123,9 +121,9 @@ public final class Utilities extends Sta
      *
      * <p>If both arguments are arrays or collections, then the elements are compared recursively.</p>
      *
-     * @param  object1 The first object to compare, or {@code null}.
-     * @param  object2 The second object to compare, or {@code null}.
-     * @param  mode    The strictness level of the comparison.
+     * @param  object1  the first object to compare, or {@code null}.
+     * @param  object2  the second object to compare, or {@code null}.
+     * @param  mode     the strictness level of the comparison.
      * @return {@code true} if both objects are equal for the given level of strictness.
      *
      * @see #equalsIgnoreMetadata(Object, Object)
@@ -285,9 +283,9 @@ public final class Utilities extends Sta
     /**
      * Returns an assertion error message for mismatched types.
      *
-     * @param  expected The expected type.
-     * @param  actual The actual object (not its type).
-     * @return The error message to use in assertions.
+     * @param  expected  the expected type.
+     * @param  actual  the actual object (not its type).
+     * @return the error message to use in assertions.
      */
     private static String mismatchedType(final Class<?> expected, final Object actual) {
         return "Expected " + expected + " but got " + actual.getClass();
@@ -324,8 +322,8 @@ public final class Utilities extends Sta
      * exactly as {@code Object}, not as some subtype like {@code Object[]}, {@code String} or
      * {@code float[]}. In the later cases, use the appropriate {@link Arrays} method instead.
      *
-     * @param object The object to compute hash code. May be {@code null}.
-     * @return The hash code of the given object.
+     * @param  object  the object to compute hash code. May be {@code null}.
+     * @return the hash code of the given object.
      */
     public static int deepHashCode(final Object object) {
         if (object == null) {
@@ -359,8 +357,8 @@ public final class Utilities extends Sta
      * exactly as {@code Object}, not as some subtype like {@code Object[]}, {@code Number} or
      * {@code float[]}. In the later cases, use the appropriate {@link Arrays} method instead.
      *
-     * @param object The object to format as a string. May be {@code null}.
-     * @return A string representation of the given object.
+     * @param  object  the object to format as a string. May be {@code null}.
+     * @return a string representation of the given object.
      */
     public static String deepToString(final Object object) {
         if (object instanceof Object[])  return Arrays.deepToString((Object[]) object);

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -21,10 +21,10 @@ import java.sql.SQLException;
 
 
 /**
- * Thrown to indicate that an operation could not complete because of a failure in the backing
- * store (a file or a database). This exception is thrown by collection implementations that are
- * not allowed to throw checked exceptions. This exception usually has an {@link IOException} or
- * a {@link SQLException} as its {@linkplain #getCause() cause}.
+ * Thrown to indicate that an operation could not complete because of a failure in the backing store
+ * (a file or a database). This exception is thrown by implementations of API (collection, streams,
+ * <i>etc.</i> that are not allowed to throw checked exceptions.
+ * This exception usually has an {@link IOException} or a {@link SQLException} as its {@linkplain #getCause() cause}.
  *
  * <p>This method provides a {@link #unwrapOrRethrow(Class)} convenience method which can be used
  * for re-throwing the cause as in the example below. This allows client code to behave as if a

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/iso/Types.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/iso/Types.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/iso/Types.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/iso/Types.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -139,8 +139,8 @@ public final class Types extends Static
      * annotations are not inherited). If no annotation is found, then this method does not fallback
      * on the Java name since, as the name implies, this method is about standard names.
      *
-     * @param  type The GeoAPI interface or code list from which to get the ISO name, or {@code null}.
-     * @return The ISO name for the given type, or {@code null} if none or if the given type is {@code null}.
+     * @param  type  the GeoAPI interface or code list from which to get the ISO name, or {@code null}.
+     * @return the ISO name for the given type, or {@code null} if none or if the given type is {@code null}.
      *
      * @see #forStandardName(String)
      */
@@ -710,7 +710,7 @@ public final class Types extends Static
         boolean isSorted = false;
         if (properties instanceof SortedMap<?,?>) {
             final SortedMap<String,?> sorted = (SortedMap<String,?>) properties;
-            if (sorted.comparator() == null) { // We want natural ordering.
+            if (sorted.comparator() == null) {                                      // We want natural ordering.
                 properties = sorted.tailMap(prefix);
                 isSorted = true;
             }
@@ -726,10 +726,10 @@ public final class Types extends Static
         for (final Map.Entry<String,?> entry : properties.entrySet()) {
             final String key = entry.getKey();
             if (key == null) {
-                continue; // Tolerance for Map that accept null keys.
+                continue;                       // Tolerance for Map that accept null keys.
             }
             if (!key.startsWith(prefix)) {
-                if (isSorted) break; // If the map is sorted, there is no need to check next entries.
+                if (isSorted) break;            // If the map is sorted, there is no need to check next entries.
                 continue;
             }
             final Locale locale;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -46,11 +46,11 @@ import org.apache.sis.util.resources.Err
  * on the part of the caller. Subclasses should make sure that any overridden methods remain safe to call
  * from multiple threads.
  *
- * @param <S> The type of the source of warnings.
+ * @param  <S>  the type of the source of warnings.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3
- * @version 0.4
+ * @version 0.8
  * @module
  *
  * @see WarningListener
@@ -79,7 +79,7 @@ public class WarningListeners<S> impleme
 
     /**
      * Creates a new instance with initially no listener.
-     * Warnings will be logger to the given logger, unless at least one listener is registered.
+     * Warnings will be logger to the logger, unless at least one listener is registered.
      *
      * @param source  the declared source of warnings. This is not necessarily the real source,
      *                but this is the source that the implementor wants to declare as public API.
@@ -90,6 +90,22 @@ public class WarningListeners<S> impleme
     }
 
     /**
+     * Creates a new instance initialized with the same listeners than the given instance.
+     *
+     * @param source  the declared source of warnings. This is not necessarily the real source,
+     *                but this is the source that the implementor wants to declare as public API.
+     * @param other   the existing instance from which to copy the listeners, or {@code null} if none.
+     *
+     * @since 0.8
+     */
+    public WarningListeners(final S source, final WarningListeners<? super S> other) {
+        this(source);
+        if (other != null) {
+            listeners = other.listeners;
+        }
+    }
+
+    /**
      * The locale to use for formatting warning messages, or {@code null} for the default locale.
      * If the {@code source} object given to the constructor implements the {@link Localized} interface,
      * then this method delegates to its {@code getLocale()} method. Otherwise this method returns {@code null}.

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] Wed Dec  7 04:14:44 2016
@@ -166,7 +166,7 @@ public final class Errors extends Indexe
         public static final short ClosedReader_1 = 19;
 
         /**
-         * Database error while creating a ‘{0}’ object for code “{1}”.
+         * Database error while creating a ‘{0}’ object for the “{1}” identifier.
          */
         public static final short DatabaseError_2 = 20;
 
@@ -670,6 +670,11 @@ public final class Errors extends Indexe
         public static final short RecordAlreadyDefined_2 = 116;
 
         /**
+         * No record found in “{0}” table for “{1}” key.
+         */
+        public static final short RecordNotFound_2 = 164;
+
+        /**
          * Recursive call while creating an object for the “{0}” key.
          */
         public static final short RecursiveCreateCallForKey_1 = 117;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties?rev=1773010&r1=1773009&r2=1773010&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] Wed Dec  7 04:14:44 2016
@@ -44,7 +44,7 @@ CircularReference                 = Circ
 ClassNotFinal_1                   = Class \u2018{0}\u2019 is not final.
 CloneNotSupported_1               = Can not clone an object of type \u2018{0}\u2019.
 ClosedReader_1                    = This {0} reader is closed.
-DatabaseError_2                   = Database error while creating a \u2018{0}\u2019 object for code \u201c{1}\u201d.
+DatabaseError_2                   = Database error while creating a \u2018{0}\u2019 object for the \u201c{1}\u201d identifier.
 DeadThread_1                      = Thread \u201c{0}\u201d is dead.
 DisposedInstanceOf_1              = This instance of \u2018{0}\u2019 has been disposed.
 DuplicatedElement_1               = Element \u201c{0}\u201d is duplicated.
@@ -145,6 +145,7 @@ OddArrayLength_1                  = Arra
 OutsideDomainOfValidity           = Coordinate is outside the domain of validity.
 PropertyNotFound_2                = No property named \u201c{1}\u201d has been found in \u201c{0}\u201d.
 RecordAlreadyDefined_2            = Record \u201c{1}\u201d is already defined in schema \u201c{0}\u201d.
+RecordNotFound_2                  = No record found in \u201c{0}\u201d table for \u201c{1}\u201d key.
 RecursiveCreateCallForKey_1       = Recursive call while creating an object for the \u201c{0}\u201d key.
 RequireDecimalSeparator           = A decimal separator is required.
 StalledThread_1                   = Thread \u201c{0}\u201d seems stalled.



Mime
View raw message