sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1554743 [2/4] - in /sis/trunk: ./ core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/code/ core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gml/ core/sis-metadata/src/main/java/org/apache/sis/metadata/ core/sis-metada...
Date Thu, 02 Jan 2014 06:08:50 GMT
Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -56,6 +56,14 @@ public class DefaultTimeCS extends Abstr
     private static final long serialVersionUID = 5222911412381303989L;
 
     /**
+     * Constructs a new coordinate system in which every attributes are set to a null or empty value.
+     * <strong>This is not a valid object.</strong> This constructor is strictly reserved to JAXB,
+     * which will assign values to the fields using reflexion.
+     */
+    private DefaultTimeCS() {
+    }
+
+    /**
      * Constructs a coordinate system from a set of properties.
      * The properties map is given unchanged to the
      * {@linkplain AbstractCS#AbstractCS(Map,CoordinateSystemAxis[]) super-class constructor}.

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -43,6 +43,14 @@ public class DefaultUserDefinedCS extend
     private static final long serialVersionUID = -4904091898305706316L;
 
     /**
+     * Constructs a new coordinate system in which every attributes are set to a null or empty value.
+     * <strong>This is not a valid object.</strong> This constructor is strictly reserved to JAXB,
+     * which will assign values to the fields using reflexion.
+     */
+    private DefaultUserDefinedCS() {
+    }
+
+    /**
      * Constructs a two-dimensional coordinate system from a set of properties.
      * The properties map is given unchanged to the
      * {@linkplain AbstractCS#AbstractCS(Map,CoordinateSystemAxis[]) super-class constructor}.

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -68,6 +68,14 @@ public class DefaultVerticalCS extends A
     private static final long serialVersionUID = 1201155778896630499L;
 
     /**
+     * Constructs a new coordinate system in which every attributes are set to a null or empty value.
+     * <strong>This is not a valid object.</strong> This constructor is strictly reserved to JAXB,
+     * which will assign values to the fields using reflexion.
+     */
+    private DefaultVerticalCS() {
+    }
+
+    /**
      * Constructs a coordinate system from a set of properties.
      * The properties map is given unchanged to the
      * {@linkplain AbstractCS#AbstractCS(Map,CoordinateSystemAxis[]) super-class constructor}.

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -66,10 +66,13 @@ import org.apache.sis.internal.jdk7.Obje
  * @see org.apache.sis.referencing.cs.AbstractCS
  * @see org.apache.sis.referencing.crs.AbstractCRS
  */
-@XmlType(name="AbstractDatumType")
+@XmlType(name = "AbstractDatumType")
 @XmlSeeAlso({
     DefaultGeodeticDatum.class,
-    DefaultVerticalDatum.class
+    DefaultVerticalDatum.class,
+    DefaultTemporalDatum.class,
+    DefaultEngineeringDatum.class,
+    DefaultImageDatum.class
 })
 public class AbstractDatum extends AbstractIdentifiedObject implements Datum {
     /**

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -364,6 +364,9 @@ public class DefaultEllipsoid extends Ab
                 inverseFlattening = semiMajorAxis / (semiMajorAxis - semiMinorAxis);
             }
         }
+        if (unit == null) {
+            Measure.missingUOM(DefaultEllipsoid.class, "semiMajorAxis");
+        }
     }
 
     /**
@@ -529,11 +532,7 @@ public class DefaultEllipsoid extends Ab
                     ensureStrictlyPositive("inverseFlattening", inverseFlattening = value);
                 } else if (semiMinorAxis == 0) {
                     ensureStrictlyPositive("semiMinorAxis", semiMinorAxis = value);
-                    if (unit == null) {
-                        unit = measure.getUnit(Length.class);
-                    } else {
-                        harmonizeAxisUnits(measure.unit);
-                    }
+                    harmonizeAxisUnits(measure.getUnit(Length.class));
                 }
                 if (semiMajorAxis != 0) {
                     afterUnmarshal();
@@ -550,8 +549,10 @@ public class DefaultEllipsoid extends Ab
      * @throws ConversionException If semi-major and semi-minor axes use inconsistent units
      *         and we can not convert from one to the other.
      */
-    private void harmonizeAxisUnits(final Unit<?> uom) throws ConversionException {
-        if (uom != null && uom != unit) {
+    private void harmonizeAxisUnits(final Unit<Length> uom) throws ConversionException {
+        if (unit == null) {
+            unit = uom;
+        } else if (uom != null && uom != unit) {
             semiMinorAxis = uom.getConverterToAny(unit).convert(semiMinorAxis);
         }
     }

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -105,7 +105,7 @@ import org.apache.sis.internal.jdk7.Obje
  *
  * {@section Immutability and thread safety}
  * This class is immutable and thus thread-safe if the property <em>values</em> (not necessarily the map itself),
- * the {@link Ellipsoid} and the {@link PrimeMeridian} given to the constructor are also immutable. Unless otherwise
+ * the {@link Ellipsoid} and the {@link PrimeMeridian} given to the constructor are also immutable. Unless otherwise
  * noted in the javadoc, this condition holds if all components were created using only SIS factories and static
  * constants.
  *

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -18,6 +18,7 @@ package org.apache.sis.referencing.datum
 
 import java.util.Map;
 import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import org.opengis.util.GenericName;
 import org.opengis.util.InternationalString;
@@ -59,6 +60,7 @@ public class DefaultImageDatum extends A
     /**
      * Specification of the way the image grid is associated with the image data attributes.
      */
+    @XmlElement(required = true)
     private final PixelInCell pixelInCell;
 
     /**

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -243,6 +243,18 @@ public class DefaultPrimeMeridian extend
     private void setGreenwichMeasure(final Measure measure) {
         greenwichLongitude = measure.value;
         angularUnit = measure.getUnit(Angle.class);
+        if (angularUnit == null) {
+            /*
+             * Missing unit: if the Greenwich longitude is zero, any angular unit gives the same result
+             * (assuming that the missing unit was not applying an offset), so we can select a default.
+             * If the Greenwich longitude is not zero, we can not guess. Our object will be invalid.
+             */
+            if (greenwichLongitude == 0) {
+                angularUnit = NonSI.DEGREE_ANGLE;
+            } else {
+                Measure.missingUOM(DefaultPrimeMeridian.class, "setGreenwichMeasure");
+            }
+        }
     }
 
     /**

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java Thu Jan  2 06:08:48 2014
@@ -19,11 +19,14 @@ package org.apache.sis.referencing.datum
 import java.util.Date;
 import java.util.Map;
 import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import org.opengis.util.GenericName;
 import org.opengis.util.InternationalString;
 import org.opengis.referencing.ReferenceIdentifier;
 import org.opengis.referencing.datum.TemporalDatum;
+import org.apache.sis.internal.jaxb.gml.UniversalTimeAdapter;
 import org.apache.sis.internal.metadata.MetadataUtilities;
 import org.apache.sis.util.ComparisonMode;
 
@@ -83,8 +86,10 @@ public class DefaultTemporalDatum extend
      * The date and time origin of this temporal datum, or {@link Long#MIN_VALUE} if none.
      * This information is mandatory, but SIS is tolerant to missing value is case a XML
      * fragment was incomplete.
+     *
+     * <p>Consider this field as final. It is non-final only for the need of XML unmarshalling.</p>
      */
-    private final long origin;
+    private long origin;
 
     /**
      * Constructs a new datum in which every attributes are set to a null value.
@@ -194,11 +199,20 @@ public class DefaultTemporalDatum extend
      * @return The date and time origin of this temporal datum.
      */
     @Override
+    @XmlElement(name = "origin")
+    @XmlJavaTypeAdapter(UniversalTimeAdapter.class)
     public Date getOrigin() {
         return MetadataUtilities.toDate(origin);
     }
 
     /**
+     * Invoked by JAXB only at unmarshalling time.
+     */
+    private void setOrigin(final Date value) {
+        origin = MetadataUtilities.toMilliseconds(value);
+    }
+
+    /**
      * Compares this temporal datum with the specified object for equality.
      *
      * @param  object The object to compare to {@code this}.

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/package-info.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/package-info.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/package-info.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/package-info.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -28,9 +28,12 @@
  * or to platforms (mobile or not)
  * ({@linkplain org.apache.sis.referencing.datum.DefaultEngineeringDatum engineering},
  *  {@linkplain org.apache.sis.referencing.datum.DefaultImageDatum image}).
- * Some worthy methods defined in this package are:</p>
+ * Some of those SIS subclasses provide additional methods that are not part of OGC/ISO specifications:</p>
  * <ul>
+ *   <li>{@link org.apache.sis.referencing.datum.DefaultEllipsoid#getAuthalicRadius()}</li>
+ *   <li>{@link org.apache.sis.referencing.datum.DefaultEllipsoid#getEccentricity()}</li>
  *   <li>{@link org.apache.sis.referencing.datum.DefaultEllipsoid#orthodromicDistance(double, double, double, double)}</li>
+ *   <li>{@link org.apache.sis.referencing.datum.DefaultGeodeticDatum#getBursaWolfParameters()}</li>
  *   <li>{@link org.apache.sis.referencing.datum.DefaultGeodeticDatum#getPositionVectorTransformation
  *       DefaultGeodeticDatum.getPositionVectorTransformation(GeodeticDatum, Extent)}</li>
  * </ul>
@@ -42,6 +45,7 @@
  * @module
  */
 @XmlSchema(elementFormDefault = XmlNsForm.QUALIFIED, namespace = Namespaces.GML, xmlns = {
+    @XmlNs(prefix = "gml", namespaceURI = Namespaces.GML),
     @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
     @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
     @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
@@ -52,6 +56,7 @@
     @XmlJavaTypeAdapter(CD_Ellipsoid.class),
     @XmlJavaTypeAdapter(CD_PrimeMeridian.class),
     @XmlJavaTypeAdapter(CD_VerticalDatumType.class),
+    @XmlJavaTypeAdapter(CD_PixelInCell.class),
     @XmlJavaTypeAdapter(StringAdapter.class),
     @XmlJavaTypeAdapter(InternationalStringConverter.class),
     @XmlJavaTypeAdapter(DateAdapter.class),

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/GeneralMatrix.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -87,7 +87,7 @@ class GeneralMatrix extends MatrixSIS {
      * @param numRow Number of rows.
      * @param numCol Number of columns.
      * @param setToIdentity {@code true} for initializing the matrix to the identity matrix,
-     *        or {@code false} for leaving it initialized to zero.
+     *        or {@code false} for leaving it initialized to zero.
      * @param precision 1 for normal precision, or 2 for extended precision.
      *        No other value is allowed (this is not verified).
      */
@@ -294,7 +294,7 @@ class GeneralMatrix extends MatrixSIS {
      * The array will have twice the normal length. See {@link #elements} for more discussion.
      *
      * <p>This method may return a direct reference to the internal array. <strong>Do not modify.</strong>,
-     * unless the {@code copy} argument is {@code true}.</p>
+     * unless the {@code copy} argument is {@code true}.</p>
      *
      * @param copy If {@code true}, then the returned array is guaranteed to be a copy, never the internal array.
      */

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/NonSquareMatrix.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/NonSquareMatrix.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/NonSquareMatrix.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/NonSquareMatrix.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -44,7 +44,7 @@ final class NonSquareMatrix extends Gene
      * @param numRow Number of rows.
      * @param numCol Number of columns.
      * @param setToIdentity {@code true} for initializing the matrix to the identity matrix,
-     *        or {@code false} for leaving it initialized to zero.
+     *        or {@code false} for leaving it initialized to zero.
      * @param precision 1 for normal precision, or 2 for extended precision.
      */
     NonSquareMatrix(final int numRow, final int numCol, final boolean setToIdentity, final int precision) {

Modified: sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java (original)
+++ sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java Thu Jan  2 06:08:48 2014
@@ -36,7 +36,7 @@
  * then <cite>affine transforms</cite> between those CRS can be represented by 4×4 matrices,
  * and the <cite>derivatives</cite> of those transforms can be represented by 3×3 matrices.
  * Since the user know the matrices size, (s)he can use the specific implementation and read or write
- * directly the <var>m</var><sub><var>row</var> <var>column</var></sub> field.</p>
+ * directly the <var>m</var><sub><var>row</var> <var>column</var></sub> field.</p>
  *
  * <p><b>Example:</b> in the two dimensional case, an affine transform from a map projection (units in metres)
  * to the screen (units in pixels) can be performed by the following matrix multiplication:</p>

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/FormatterTest.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -16,12 +16,14 @@
  */
 package org.apache.sis.io.wkt;
 
+import org.opengis.referencing.operation.Matrix;
+import org.apache.sis.referencing.operation.matrix.Matrix4;
 import org.apache.sis.internal.util.X364;
 import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
+import static org.apache.sis.referencing.Assert.*;
 
 
 /**
@@ -42,4 +44,22 @@ public final strictfp class FormatterTes
         assertEquals("FOREGROUND_DEFAULT", X364.FOREGROUND_DEFAULT.sequence(), Formatter.FOREGROUND_DEFAULT);
         assertEquals("BACKGROUND_DEFAULT", X364.BACKGROUND_DEFAULT.sequence(), Formatter.BACKGROUND_DEFAULT);
     }
+
+    /**
+     * Tests {@link Formatter#append(Matrix)}.
+     */
+    @Test
+    public void testAppendMatrix() {
+        final Formatter formatter = new Formatter();
+        formatter.append(new Matrix4(1, 0, 4, 0,
+                                    -2, 1, 0, 0,
+                                     0, 0, 1, 7,
+                                     0, 0, 0, 1));
+        assertWktEquals(
+                "PARAMETER[“num_row”, 4],\n"    +
+                "PARAMETER[“num_col”, 4],\n"    +
+                "PARAMETER[“elt_0_2”, 4.0],\n"  +
+                "PARAMETER[“elt_1_0”, -2.0],\n"  +
+                "PARAMETER[“elt_2_3”, 7.0]", formatter.toString());
+    }
 }

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/Assert.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/Assert.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/Assert.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/Assert.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -301,4 +301,22 @@ public strictfp class Assert extends org
             assertMultilinesEquals(object.getName().getCode(), expected, object.toWKT());
         }
     }
+
+    /**
+     * Asserts that the given WKT is equal to the expected one. If the given expected string contains
+     * {@code '“'} and {@code '”'} characters (for easier reading), then those characters will be replaced
+     * by "ordinary" quote characters ({@code '"'}).
+     *
+     * @param expected The expected text, or {@code null} if {@code actual} is expected to be null.
+     * @param actual   The actual <cite>Well Known Text</cite> to compare.
+     */
+    public static void assertWktEquals(String expected, final String actual) {
+        if (expected == null) {
+            assertNull(actual);
+        } else {
+            assertNotNull(actual);
+            expected = expected.replace('“', '"').replace('”', '"');
+            assertMultilinesEquals(expected, actual);
+        }
+    }
 }

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/GeodeticObjectVerifier.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/GeodeticObjectVerifier.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/GeodeticObjectVerifier.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/GeodeticObjectVerifier.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -26,6 +26,10 @@ import org.opengis.referencing.datum.Ell
 import org.opengis.referencing.datum.PrimeMeridian;
 import org.opengis.referencing.datum.GeodeticDatum;
 import org.opengis.referencing.datum.VerticalDatum;
+import org.opengis.referencing.cs.CoordinateSystemAxis;
+import org.opengis.referencing.cs.EllipsoidalCS;
+import org.opengis.referencing.cs.AxisDirection;
+import org.opengis.referencing.cs.RangeMeaning;
 
 import static org.apache.sis.test.Assert.*;
 
@@ -216,4 +220,62 @@ public final strictfp class GeodeticObje
         assertEquals("name", "Mean Sea Level", datum.getName().getCode());
         assertIsWorld(datum.getDomainOfValidity());
     }
+
+    /**
+     * Asserts that the given coordinate system contains the geodetic (latitude, longitude) axes.
+     * This method verifies the following properties:
+     *
+     * <table class="sis">
+     * <tr><th>Property</th> <th>Expected value</th></tr>
+     * <tr><td>{@linkplain EllipsoidalCS#getDimension() Dimension}</td>
+     *     <td>2</td></tr>
+     * <tr><td>Axis[0] name code</td>
+     *     <td>{@code "Geodetic latitude"}</td></tr>
+     * <tr><td>Axis[1] name code</td>
+     *     <td>{@code "Geodetic longitude"}</td></tr>
+     * <tr><td>Axis[0] {@linkplain CoordinateSystemAxis#getDirection() direction}</td>
+     *     <td>{@link AxisDirection#NORTH NORTH}</td></tr>
+     * <tr><td>Axis[1] {@linkplain CoordinateSystemAxis#getDirection() direction}</td>
+     *     <td>{@link AxisDirection#EAST EAST}</td></tr>
+     * <tr><td>Axes {@linkplain CoordinateSystemAxis#getUnit() units}</td>
+     *     <td>{@link NonSI#DEGREE_ANGLE}</td></tr>
+     * <tr><td>Axis[0] range</td>
+     *     <td>[-90 … 90] with {@link RangeMeaning#EXACT}, or all range properties missing</td></tr>
+     * <tr><td>Axis[1] range</td>
+     *     <td>[-180 … 180] with {@link RangeMeaning#WRAPAROUND}, or all range properties missing</td></tr>
+     * </table>
+     *
+     * @param cs The coordinate system to verify.
+     */
+    public static void assertIsGeodetic2D(final EllipsoidalCS cs) {
+        assertEquals("dimension", 2, cs.getDimension());
+        final CoordinateSystemAxis latitude  = cs.getAxis(0);
+        final CoordinateSystemAxis longitude = cs.getAxis(1);
+        assertNotNull("axis", latitude);
+        assertNotNull("axis", longitude);
+        assertEquals("axis[0].name",      "Geodetic latitude",  latitude .getName().getCode());
+        assertEquals("axis[1].name",      "Geodetic longitude", longitude.getName().getCode());
+        assertEquals("axis[0].direction", AxisDirection.NORTH,  latitude .getDirection());
+        assertEquals("axis[1].direction", AxisDirection.EAST,   longitude.getDirection());
+        assertEquals("axis[0].unit",      NonSI.DEGREE_ANGLE,   latitude .getUnit());
+        assertEquals("axis[1].unit",      NonSI.DEGREE_ANGLE,   longitude.getUnit());
+        verifyRange(latitude,   -90,  +90, RangeMeaning.EXACT);
+        verifyRange(longitude, -180, +180, RangeMeaning.WRAPAROUND);
+    }
+
+    /**
+     * Asserts that the axis range is either fully missing, or defined to exactly the given properties.
+     */
+    private static void verifyRange(final CoordinateSystemAxis axis,
+            final double min, final double max, final RangeMeaning rm)
+    {
+        final double       minimumValue = axis.getMinimumValue();
+        final double       maximumValue = axis.getMaximumValue();
+        final RangeMeaning rangeMeaning = axis.getRangeMeaning();
+        if (minimumValue != Double.NEGATIVE_INFINITY || maximumValue != Double.POSITIVE_INFINITY || rangeMeaning != null) {
+            assertEquals("axis.minimumValue", min, minimumValue, STRICT);
+            assertEquals("axis.maximumValue", max, maximumValue, STRICT);
+            assertEquals("axis.rangeMeaning", rm,  rangeMeaning);
+        }
+    }
 }

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -24,6 +24,7 @@ import org.apache.sis.measure.Longitude;
 import org.apache.sis.referencing.IdentifiedObjects;
 import org.apache.sis.test.mock.GeodeticDatumMock;
 import org.apache.sis.test.TestUtilities;
+import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.DependsOnMethod;
 import org.junit.Test;
@@ -41,7 +42,12 @@ import static org.apache.sis.referencing
  * @module
  */
 @DependsOn(org.apache.sis.internal.referencing.FormulasTest.class)
-public final strictfp class DefaultEllipsoidTest extends DatumTestCase {
+public final strictfp class DefaultEllipsoidTest extends XMLTestCase {
+    /**
+     * An XML file in this package containing an ellipsoid definition.
+     */
+    private static final String XML_FILE = "Clarke 1880.xml";
+
     /**
      * Half of a minute of angle, in degrees.
      */
@@ -167,7 +173,7 @@ public final strictfp class DefaultEllip
      */
     @Test
     public void testXML() throws JAXBException {
-        final DefaultEllipsoid ellipsoid = unmarshall(DefaultEllipsoid.class, "Clarke 1880.xml");
+        final DefaultEllipsoid ellipsoid = unmarshalFile(DefaultEllipsoid.class, XML_FILE);
         assertEquals("name", "Clarke 1880 (international foot)", ellipsoid.getName().getCode());
         assertEquals("remarks", "Definition in feet assumed to be international foot.", ellipsoid.getRemarks().toString());
         assertFalse ("isIvfDefinitive",                       ellipsoid.isIvfDefinitive());
@@ -178,6 +184,6 @@ public final strictfp class DefaultEllip
         /*
          * Marshall and compare to the original file.
          */
-        assertMarshalEqualsFile("Clarke 1880.xml", ellipsoid);
+        assertMarshalEqualsFile(XML_FILE, ellipsoid, "xlmns:*", "xsi:schemaLocation");
     }
 }

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -30,6 +30,7 @@ import org.opengis.test.Validators;
 import org.apache.sis.xml.Namespaces;
 import org.apache.sis.metadata.iso.extent.DefaultExtent;
 import org.apache.sis.metadata.iso.extent.DefaultGeographicBoundingBox;
+import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOnMethod;
 import org.apache.sis.test.DependsOn;
 import org.junit.Test;
@@ -53,7 +54,12 @@ import static org.apache.sis.referencing
   DefaultEllipsoidTest.class,
   BursaWolfParametersTest.class
 })
-public final strictfp class DefaultGeodeticDatumTest extends DatumTestCase {
+public final strictfp class DefaultGeodeticDatumTest extends XMLTestCase {
+    /**
+     * An XML file in this package containing a geodetic datum definition.
+     */
+    private static final String XML_FILE = "WGS 84.xml";
+
     /**
      * Tests the creation and serialization of a {@link DefaultGeodeticDatum}.
      */
@@ -220,7 +226,7 @@ public final strictfp class DefaultGeode
      */
     @Test
     public void testUnmarshalling() throws JAXBException {
-        final DefaultGeodeticDatum datum = unmarshall(DefaultGeodeticDatum.class, "WGS 84.xml");
+        final DefaultGeodeticDatum datum = unmarshalFile(DefaultGeodeticDatum.class, XML_FILE);
         assertIsWGS84(datum);
         assertIsWorld((GeographicBoundingBox) getSingleton(datum.getDomainOfValidity().getGeographicElements()));
         /*

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -25,6 +25,7 @@ import org.apache.sis.xml.Namespaces;
 import org.apache.sis.xml.MarshallerPool;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.internal.jaxb.LegacyNamespaces;
+import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOnMethod;
 import org.apache.sis.test.DependsOn;
 import org.junit.Test;
@@ -43,7 +44,12 @@ import static org.apache.sis.test.mock.P
  * @module
  */
 @DependsOn(org.apache.sis.referencing.AbstractIdentifiedObjectTest.class)
-public final strictfp class DefaultPrimeMeridianTest extends DatumTestCase {
+public final strictfp class DefaultPrimeMeridianTest extends XMLTestCase {
+    /**
+     * An XML file in this package containing a prime meridian definition.
+     */
+    private static final String XML_FILE = "Greenwich.xml";
+
     /**
      * Tests {@link DefaultPrimeMeridian#toWKT()}.
      */
@@ -106,7 +112,7 @@ public final strictfp class DefaultPrime
      */
     @Test
     public void testUnmarshall() throws JAXBException {
-        final DefaultPrimeMeridian pm = unmarshall(DefaultPrimeMeridian.class, "Greenwich.xml");
+        final DefaultPrimeMeridian pm = unmarshalFile(DefaultPrimeMeridian.class, XML_FILE);
         assertIsGreenwich(pm);
     }
 
@@ -135,7 +141,7 @@ public final strictfp class DefaultPrime
     @Test
     @DependsOnMethod({"testUnmarshall", "testMarshall"})
     public void testParisMeridian() throws JAXBException {
-        final DefaultPrimeMeridian pm = unmarshall(DefaultPrimeMeridian.class, "Paris.xml");
+        final DefaultPrimeMeridian pm = unmarshalFile(DefaultPrimeMeridian.class, "Paris.xml");
         assertIsParis(pm);
         assertEquals("greenwichLongitude", 2.33722917, pm.getGreenwichLongitude(NonSI.DEGREE_ANGLE), 1E-12);
         assertEquals("Equivalent to 2°20′14.025″.", pm.getRemarks().toString());

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -21,6 +21,7 @@ import javax.xml.bind.JAXBException;
 import org.opengis.metadata.extent.GeographicBoundingBox;
 import org.opengis.referencing.datum.VerticalDatumType;
 import org.apache.sis.internal.referencing.VerticalDatumTypes;
+import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOn;
 import org.junit.Test;
 
@@ -39,7 +40,12 @@ import static org.apache.sis.referencing
  * @module
  */
 @DependsOn(org.apache.sis.internal.referencing.VerticalDatumTypesTest.class)
-public final strictfp class DefaultVerticalDatumTest extends DatumTestCase {
+public final strictfp class DefaultVerticalDatumTest extends XMLTestCase {
+    /**
+     * An XML file in this package containing a vertical datum definition.
+     */
+    private static final String XML_FILE = "Mean Sea Level.xml";
+
     /**
      * Tests the {@link DefaultVerticalDatum#getVerticalDatumType()} method in a state
      * simulating unmarshalling of GML 3.2 document.
@@ -87,7 +93,7 @@ public final strictfp class DefaultVerti
      */
     @Test
     public void testUnmarshalling() throws JAXBException {
-        final DefaultVerticalDatum datum = unmarshall(DefaultVerticalDatum.class, "Mean Sea Level.xml");
+        final DefaultVerticalDatum datum = unmarshalFile(DefaultVerticalDatum.class, XML_FILE);
         assertIsMeanSeaLevel(datum);
         assertIsWorld((GeographicBoundingBox) getSingleton(datum.getDomainOfValidity().getGeographicElements()));
         /*

Modified: sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java [UTF-8] (original)
+++ sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -58,10 +58,12 @@ import org.junit.BeforeClass;
     org.apache.sis.referencing.datum.DefaultEllipsoidTest.class,
     org.apache.sis.referencing.datum.DefaultPrimeMeridianTest.class,
     org.apache.sis.referencing.datum.DefaultVerticalDatumTest.class,
+    org.apache.sis.referencing.datum.DefaultTemporalDatumTest.class,
     org.apache.sis.referencing.datum.DefaultGeodeticDatumTest.class,
     org.apache.sis.referencing.cs.DirectionAlongMeridianTest.class,
     org.apache.sis.referencing.cs.DefaultCoordinateSystemAxisTest.class,
     org.apache.sis.referencing.cs.DefaultCartesianCSTest.class,
+    org.apache.sis.referencing.cs.DefaultEllipsoidalCSTest.class,
     org.apache.sis.referencing.cs.CoordinateSystemsTest.class,
     org.apache.sis.referencing.StandardDefinitionsTest.class,
     org.apache.sis.referencing.GeodeticObjectsTest.class,

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/CharSequenceConverter.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -77,7 +77,7 @@ final class CharSequenceConverter<T> ext
     /**
      * Returns the properties of the converter given at construction time minus
      * {@link FunctionProperty#INJECTIVE}, because we don't know how many source
-     * {@code CharSequence}s can produce the same {@code String}.
+     * {@code CharSequence}s can produce the same {@code String}.
      */
     @Override
     public Set<FunctionProperty> properties() {

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/ConverterRegistry.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -152,14 +152,14 @@ public class ConverterRegistry {
     }
 
     /**
-     * If {@code existing} or one of its children is equals to the given {@code converter},
+     * If {@code existing} or one of its children is equals to the given {@code converter},
      * returns it. Otherwise returns {@code null}.
      *
-     * @param  <S> The {@code converter} source class.
-     * @param  <T> The {@code converter} target class.
+     * @param  <S> The {@code converter} source class.
+     * @param  <T> The {@code converter} target class.
      * @param  converter The converter to replace by an existing converter, if possible.
      * @param  existing Existing converter to test.
-     * @return A converter equals to {@code converter}, or {@code null} if none.
+     * @return A converter equals to {@code converter}, or {@code null} if none.
      */
     @SuppressWarnings("unchecked")
     private static <S,T> ObjectConverter<S,T> findEquals(ObjectConverter<S,T> converter,
@@ -180,12 +180,12 @@ public class ConverterRegistry {
     }
 
     /**
-     * Returns a converter equals to the given {@code converter}, or {@code null} if none.
+     * Returns a converter equals to the given {@code converter}, or {@code null} if none.
      *
-     * @param  <S> The {@code converter} source class.
-     * @param  <T> The {@code converter} target class.
+     * @param  <S> The {@code converter} source class.
+     * @param  <T> The {@code converter} target class.
      * @param  converter The converter to replace by an existing converter, if possible.
-     * @return A converter equals to {@code converter}, or {@code null} if none.
+     * @return A converter equals to {@code converter}, or {@code null} if none.
      */
     @SuppressWarnings("unchecked")
     final <S,T> ObjectConverter<S,T> findEquals(final SystemConverter<S,T> converter) {

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/FallbackConverter.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -150,7 +150,7 @@ final class FallbackConverter<S,T> exten
      * @param  primary The first converter, which may be a {@code Fallback} tree.
      * @param  fallback A new fallback to insert in the converters tree.
      * @return A tree of converters which contains the given {@code converter}. May be either
-     *         {@code existing}, {@code converter} or a new {@code FallbackConverter} instance.
+     *         {@code existing}, {@code converter} or a new {@code FallbackConverter} instance.
      */
     public static <S,T> ObjectConverter<S, ? extends T> merge(
                   final ObjectConverter<S, ? extends T> primary,
@@ -202,7 +202,7 @@ final class FallbackConverter<S,T> exten
     }
 
     /**
-     * Merges if the {@code converter} target class of is a subtype of the {@code branch}
+     * Merges if the {@code converter} target class of is a subtype of the {@code branch}
      * target class. Otherwise returns {@code null}.
      *
      * <p>The {@code branch} can be either an arbitrary {@code ObjectConverter}, or a previously
@@ -255,7 +255,7 @@ final class FallbackConverter<S,T> exten
     /**
      * Merge {@code this} with an other converter whose target class is a subtype of
      * this {@link #targetClass}. If either {@link #fallback} or {@link #primary} are
-     * other {@code FallbackConverter} instances, then this method will follow those
+     * other {@code FallbackConverter} instances, then this method will follow those
      * branches.
      *
      * @param  converter The converter to merge with {@code this}.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemRegistry.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemRegistry.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemRegistry.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemRegistry.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -133,7 +133,7 @@ public final class SystemRegistry extend
      * <p>Some (not all) special cases are:</p>
      * <ul>
      *   <li>If the source class is {@link CharSequence}, tries to delegate to an other
-     *       converter accepting {@link String} sources.</li>
+     *       converter accepting {@link String} sources.</li>
      *   <li>If the source and target types are numbers, generates a {@link NumberConverter}
      *       on the fly.</li>
      *   <li>If the target type is a code list, generate the converter on-the-fly.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -264,7 +264,7 @@ public final class Context extends Marsh
      * }
      *
      * Callers should use the {@link #isFlagSet(Context, int)} method instead if the
-     * {@code Context} instance is known, for avoiding a call to {@link #current()}.
+     * {@code Context} instance is known, for avoiding a call to {@link #current()}.
      *
      * @return {@code true} if XML marshalling is under progress.
      */

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -449,7 +449,7 @@ public class IdentifierMapAdapter extend
 
         /**
          * Advances to the next non-null identifier, skips duplicated authorities, wraps the
-         * identifier in an entry if needed and stores the result in the {@link #next} field.
+         * identifier in an entry if needed and stores the result in the {@link #next} field.
          * If we reach the iteration end, then this method set the {@link #identifiers}
          * iterator to {@code null}.
          */

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapWithSpecialCases.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapWithSpecialCases.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapWithSpecialCases.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapWithSpecialCases.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -64,8 +64,8 @@ public final class IdentifierMapWithSpec
      * If the given authority is a special case, returns its {@link NonMarshalledAuthority}
      * integer enum. Otherwise returns -1. See javadoc for more information about special cases.
      *
-     * @param authority A {@link Citation} constant. The type is relaxed to {@code Object}
-     *        because the signature of some {@code Map} methods are that way.
+     * @param authority A {@link Citation} constant. The type is relaxed to {@code Object}
+     *        because the signature of some {@code Map} methods are that way.
      */
     private static int specialCase(final Object authority) {
         if (authority == IdentifierSpace.HREF) return NonMarshalledAuthority.HREF;
@@ -179,7 +179,7 @@ public final class IdentifierMapWithSpec
     /**
      * {@inheritDoc}
      *
-     * <p>If the given {@code authority} is {@code HREF} and if the given string is parsable as a {@link URI},
+     * <p>If the given {@code authority} is {@code HREF} and if the given string is parsable as a {@link URI},
      * then this method will actually store the value as the {@link XLink#getHRef()} property of the {@code XLink}
      * associated to the {@code XLINK} key. Only if the given string can not be parsed, then the value is stored
      * <cite>as-is</cite> under the {@code HREF} key.</p>
@@ -223,7 +223,7 @@ public final class IdentifierMapWithSpec
     /**
      * {@inheritDoc}
      *
-     * <p>If the given {@code authority} is {@code HREF}, then this method will actually store the value
+     * <p>If the given {@code authority} is {@code HREF}, then this method will actually store the value
      * as the {@link XLink#getHRef()} property of the {@code XLink} associated to the {@code XLINK} key.
      * The previous {@code HREF} value, if any, is discarded.</p>
      */

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -92,7 +92,7 @@ public final class XmlUtilities extends 
      * them unchanged otherwise (except for milliseconds). More specifically:
      *
      * <ul>
-     *   <li>If the {@code force} argument is {@code false}, then:
+     *   <li>If the {@code force} argument is {@code false}, then:
      *     <ul>
      *       <li>If every time components (hour, minute, seconds and milliseconds) are zero, set
      *           them to {@code FIELD_UNDEFINED} in order to prevent them from being formatted
@@ -100,7 +100,7 @@ public final class XmlUtilities extends 
      *       <li>Otherwise returns {@code false}. But before doing so, still set the milliseconds
      *           to {@code FIELD_UNDEFINED} if its value was 0.</li>
      *     </ul></li>
-     *   <li>Otherwise (if the {@code force} argument is {@code false}), then the temporal
+     *   <li>Otherwise (if the {@code force} argument is {@code false}), then the temporal
      *       part is set to {@code FIELD_UNDEFINED} unconditionally and this method returns
      *       {@code true}.</li>
      * </ul>
@@ -113,8 +113,8 @@ public final class XmlUtilities extends 
      * <p>This method will be deprecated after we implemented ISO 19108 in SIS.</p>
      *
      * @param  gc The date to modify in-place.
-     * @param  force {@code true} for forcing the temporal components to be removed without any check.
-     * @return {@code true} if the time part has been completely removed, {@code false} otherwise.
+     * @param  force {@code true} for forcing the temporal components to be removed without any check.
+     * @return {@code true} if the time part has been completely removed, {@code false} otherwise.
      */
     public static boolean trimTime(final XMLGregorianCalendar gc, final boolean force) {
         if (force || gc.getMillisecond() == 0) {

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/Measure.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/Measure.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/Measure.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/Measure.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -62,6 +62,7 @@ import org.apache.sis.measure.Units;
  * @version 0.4
  * @module
  *
+ * @see UnitAdapter
  * @see org.apache.sis.measure.Measure
  */
 public final class Measure {
@@ -104,7 +105,7 @@ public final class Measure {
 
     /**
      * Constructs a string representation of the units as defined in the ISO-19103 standard.
-     * This method is invoked during XML marshalling. For example in the units are "metre",
+     * This method is invoked during XML marshalling. For example if the units are "metre",
      * then this method returns one of the following strings, in preference order:
      *
      * {@preformat text
@@ -122,9 +123,21 @@ public final class Measure {
      * @todo Strictly speaking, the above URL should be used only for "m", "deg" and "rad" units because they
      *       are the only ones defined in the <code>gmxUom.xml</code> file. What should we do for other units?
      */
-    @XmlAttribute(required = true)
+    @XmlAttribute(name = "uom", required = true)
     public String getUOM() {
-        final Unit<?> unit = this.unit;
+        return getUOM(unit, asXPointer);
+    }
+
+    /**
+     * Implementation of {@link #getUOM()} as a static method for use by classes that define their own
+     * {@code uom} attribute, instead of letting the {@code uom} attribute on the measurement value.
+     * The main example is {@link org.apache.sis.referencing.cs.DefaultCoordinateSystemAxis}.
+     *
+     * @param  unit The unit to format.
+     * @param  asXPointer {@code true} if the units shall be formatted as {@code xpointer}.
+     * @return
+     */
+    static String getUOM(final Unit<?> unit, final boolean asXPointer) {
         if (!asXPointer) {
             final Integer code = Units.getEpsgCode(unit);
             if (code != null) {
@@ -155,32 +168,42 @@ public final class Measure {
     /**
      * Returns {@link #unit} as a unit compatible with the given quantity.
      *
-     * @todo For now, this method does not format useful error message in case of missing unit or wrong unit type.
+     * @todo For now, this method does not format useful error message in case of wrong unit type.
      *       We define this method merely as a placeholder for future improvement in error handling.
      *
      * @param  <Q>  Compile-time type of the {@code type} argument.
      * @param  type The quantity for the desired unit.
-     * @return A unit compatible with the given type.
+     * @return A unit compatible with the given type, or {@code null} if none.
      */
     public <Q extends Quantity> Unit<Q> getUnit(final Class<Q> type) {
-        return unit.asType(type);
+        return (unit != null) ? unit.asType(type) : null;
     }
 
     /**
-     * Sets the unit to the given value, with a warning logged if the user specified a unit
-     * different than the previous {@link #unit} value.
+     * Sets the unit to the given value, and returns {@code true} if the current {@link #unit} value was different.
+     * A return value of {@code true} means that the caller should log a warning.
      *
      * {@example Some users wrongly assign the "m" unit to <code>Ellipsoid.inverseFlattening</code>.
      *           The SIS adapter forces the unit to <code>Unit.ONE</code>, but we want to let the user
      *           know that he probably did something wrong.}
      *
-     * @param newUnit The new unit (can not be null).
+     * @param  newUnit The new unit (can not be null).
+     * @return {@code true} if a different unit was defined before this method call.
      */
-    public void setUnit(final Unit<?> newUnit) {
-        if (unit != null && !unit.equals(newUnit)) {
-            Context.warningOccured(Context.current(), getClass(), "setUnit",
-                    Errors.class, Errors.Keys.IncompatiblePropertyValue_1, unit);
-        }
+    public boolean setUnit(final Unit<?> newUnit) {
+        final boolean changed = (unit != null && !unit.equals(newUnit));
         unit = newUnit;
+        return changed;
+    }
+
+    /**
+     * Sends a warning for a missing {@code "uom"} attribute.
+     *
+     * @param caller     The class of the method invoking this method.
+     * @param methodName The name of the method invoking this method.
+     */
+    public static void missingUOM(final Class<?> caller, final String methodName) {
+        Context.warningOccured(Context.current(), caller, methodName,
+                Errors.class, Errors.Keys.MandatoryAttribute_2, "uom", "Measure");
     }
 }

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -235,7 +235,7 @@ public abstract class PropertyType<Value
     }
 
     /**
-     * Returns the object reference, or {@code null} if none and the {@code create} argument is {@code false}.
+     * Returns the object reference, or {@code null} if none and the {@code create} argument is {@code false}.
      * If the {@code create} argument is {@code true}, then this method will create the object reference when
      * first needed. In the later case, any previous {@code gco:nilReason} will be overwritten since
      * the object is not nil.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/UnitAdapter.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/UnitAdapter.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/UnitAdapter.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/UnitAdapter.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -27,10 +27,12 @@ import org.apache.sis.internal.jaxb.Cont
  * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-2.5)
- * @version 0.3
+ * @version 0.4
  * @module
+ *
+ * @see Measure
  */
-public final class UnitAdapter extends XmlAdapter<String, Unit<?>> {
+public class UnitAdapter extends XmlAdapter<String, Unit<?>> {
     /**
      * Returns a unit for the given string.
      *
@@ -39,12 +41,9 @@ public final class UnitAdapter extends X
      * @throws IllegalArgumentException if the given symbol is unknown.
      */
     @Override
-    public Unit<?> unmarshal(String value) throws IllegalArgumentException {
-        if (value != null) {
-            final Context context = Context.current();
-            return Context.converter(context).toUnit(context, value);
-        }
-        return null;
+    public final Unit<?> unmarshal(final String value) throws IllegalArgumentException {
+        final Context context = Context.current();
+        return Context.converter(context).toUnit(context, value);
     }
 
     /**
@@ -57,4 +56,15 @@ public final class UnitAdapter extends X
     public String marshal(final Unit<?> value) {
         return (value != null) ? value.toString() : null;
     }
+
+    /**
+     * A variant of {@link UnitAdapter} which marshal units as an URN.
+     * Example: {@code "urn:ogc:def:uom:EPSG::9001"}.
+     */
+    public static final class AsURN extends UnitAdapter {
+        @Override
+        public String marshal(final Unit<?> value) {
+            return Measure.getUOM(value, false);
+        }
+    }
 }

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/util/X364.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -89,7 +89,7 @@ public enum X364 {
     private static final String START = "\u001B[";
 
     /**
-     * The end of escape sequences. Fixed to {@code 'm'} for now, but a wider range
+     * The end of escape sequences. Fixed to {@code 'm'} for now, but a wider range
      * of letters actually exists for different operations.
      */
     private static final char END = 'm';

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/AppendableWriter.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/AppendableWriter.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/AppendableWriter.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/AppendableWriter.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -139,7 +139,7 @@ final class AppendableWriter extends Wri
     }
 
     /**
-     * If {@link #out} implements {@link Flushable}, or is a {@link Appender} wrapper
+     * If {@link #out} implements {@link Flushable}, or is a {@link Appender} wrapper
      * around a flushable object, delegates to that object. Otherwise do nothing.
      */
     @Override
@@ -150,7 +150,7 @@ final class AppendableWriter extends Wri
     }
 
     /**
-     * If {@link #out} implements {@link Closeable}, or is a {@link Appender} wrapper
+     * If {@link #out} implements {@link Closeable}, or is a {@link Appender} wrapper
      * around a closeable object, delegates to that object. Otherwise just flush (if possible).
      */
     @Override

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/Appender.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/Appender.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/Appender.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/Appender.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -37,7 +37,7 @@ import org.apache.sis.internal.jdk7.JDK7
  *   <li>No synchronization is performed.</li>
  * </ul>
  *
- * If needed, this {@code Appender} can be viewed as a synchronized
+ * If needed, this {@code Appender} can be viewed as a synchronized
  * {@link java.io.Writer} by invoking the {@link IO#asWriter(Appendable)} method.
  *
  * {@section Flushing and closing the stream}

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/IO.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/IO.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/IO.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/IO.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -42,7 +42,7 @@ public final class IO extends Static {
     }
 
     /**
-     * If the given {@code out} argument implements {@link Flushable}, or is a chain
+     * If the given {@code out} argument implements {@link Flushable}, or is a chain
      * of wrappers defined in this package around a flushable object, invokes the
      * {@link Flushable#flush() flush()} method on that object. Otherwise do nothing.
      *
@@ -63,13 +63,13 @@ public final class IO extends Static {
     }
 
     /**
-     * If the given {@code out} argument implements {@link Closeable}, or is a chain
+     * If the given {@code out} argument implements {@link Closeable}, or is a chain
      * of wrappers defined in this package around a closeable object, invokes the
      * {@link Closeable#close() close()} method on that object. Otherwise do nothing.
      *
      * <p>Chains of wrappers are followed until a {@code Closeable}
      * instance is found, if any. The first {@link Flushable} instance found <em>before</em> the
-     * {@code Closeable} one, if any, is {@linkplain Flushable#flush() flushed}. The search stops
+     * {@code Closeable} one, if any, is {@linkplain Flushable#flush() flushed}. The search stops
      * at the first {@code Closeable} occurrence found.</p>
      *
      * @param  out The stream or buffer to close, or {@code null}.
@@ -149,7 +149,7 @@ public final class IO extends Static {
     /**
      * Returns a view of the given {@code Appendable} as a {@code Writer}.
      * If the given argument is already a {@code Writer} instance, then it is returned unchanged.
-     * Otherwise if the argument is non-null, then it is wrapped in an adapter.
+     * Otherwise if the argument is non-null, then it is wrapped in an adapter.
      * Any write operations performed on the returned writer will be forwarded
      * to the given {@code Appendable}.
      *

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/TableAppender.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/TableAppender.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/TableAppender.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/io/TableAppender.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -820,7 +820,7 @@ public class TableAppender extends Appen
     }
 
     /**
-     * Repeats a character. The {@code count} value may be negative,
+     * Repeats a character. The {@code count} value may be negative,
      * which is handled as if it was zero.
      *
      * @param out   The stream or buffer where to repeat the character.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/math/DecimalFunctions.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/math/DecimalFunctions.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/math/DecimalFunctions.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/math/DecimalFunctions.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -210,7 +210,7 @@ public final class DecimalFunctions exte
      * {@section Domain of validity}
      * The current implementation can not compute delta for {@code abs(value) < 3E-8} approximatively,
      * except for the 0 value which is supported. For any non-zero value closer to zero than the 3E-8
-     * threshold, this method returns {@code NaN} because of insufficient algorithm accuracy.
+     * threshold, this method returns {@code NaN} because of insufficient algorithm accuracy.
      * This limitation may change in any future SIS version if we find a better algorithm.
      *
      * @param  value The value for which to get the delta compared to its base 10 representation.
@@ -334,7 +334,7 @@ public final class DecimalFunctions exte
      *
      *       {@example <code>fractionDigitsForDelta(100, …)</code> returns -2.}</li>
      *
-     *   <li>If the first non-zero digits of {@code accuracy} are equal or greater than 95
+     *   <li>If the first non-zero digits of {@code accuracy} are equal or greater than 95
      *       (e.g. 0.00099) and the {@code strict} argument is {@code true}, then this method
      *       increases the number of needed fraction digits in order to prevent the rounded
      *       number to be collapsed into the next integer value.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Angle.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Angle.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Angle.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Angle.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -89,7 +89,7 @@ public class Angle implements Comparable
      * degrees (e.g. 45.5°) or degrees with minutes and seconds (e.g. 45°30').
      *
      * <p>This is a convenience constructor mostly for testing purpose, since it uses a fixed
-     * locale. Developers should consider using {@link AngleFormat} for end-user applications
+     * locale. Developers should consider using {@link AngleFormat} for end-user applications
      * instead than this constructor.</p>
      *
      * @param  string A string to be converted to an {@code Angle}.
@@ -197,7 +197,7 @@ public class Angle implements Comparable
     /**
      * Returns a string representation of this {@code Angle} object.
      * This is a convenience method mostly for debugging purpose, since it uses a fixed locale.
-     * Developers should consider using {@link AngleFormat} for end-user applications instead
+     * Developers should consider using {@link AngleFormat} for end-user applications instead
      * than this method.
      *
      * @see AngleFormat#format(double)

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/FormattedCharacterIterator.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -65,7 +65,7 @@ final class FormattedCharacterIterator e
      * <p>To be more specific:</p>
      * <ul>
      *   <li>The map key is one of the static constants defined in the formatter {@code Field} inner class.</li>
-     *   <li>{@link #value} is the numeric value being formatted for that particular field.</li>
+     *   <li>{@link #value} is the numeric value being formatted for that particular field.</li>
      *   <li>{@link #start} and {@link #limit} are the range of index in the
      *       {@link SimpleCharacterIterator#text} where the field value has been formatted.</li>
      * </ul>

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Latitude.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Latitude.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Latitude.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Latitude.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -68,7 +68,7 @@ public final class Latitude extends Angl
      * The hemisphere (N or S) is optional (default to North).
      *
      * <p>This is a convenience constructor mostly for testing purpose, since it uses a fixed
-     * locale. Developers should consider using {@link AngleFormat} for end-user applications
+     * locale. Developers should consider using {@link AngleFormat} for end-user applications
      * instead than this constructor.</p>
      *
      * @param  string A string to be converted to a {@code Latitude}.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Longitude.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Longitude.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Longitude.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Longitude.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -69,7 +69,7 @@ public final class Longitude extends Ang
      * The hemisphere (E or W) is optional (default to East).
      *
      * <p>This is a convenience constructor mostly for testing purpose, since it uses a fixed
-     * locale. Developers should consider using {@link AngleFormat} for end-user applications
+     * locale. Developers should consider using {@link AngleFormat} for end-user applications
      * instead than this constructor.</p>
      *
      * @param  string A string to be converted to a {@code Longitude}.

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/MeasurementRange.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -116,7 +116,7 @@ public class MeasurementRange<E extends 
      * @param  maxValue       The maximal value, or {@code null} if none.
      * @param  isMaxIncluded  {@code true} if the maximal value is inclusive, or {@code false} if exclusive.
      * @param  unit           The unit of measurement, or {@code null} if unknown.
-     * @return The new range, or {@code null} if both {@code minValue} and {@code maxValue} are {@code null}.
+     * @return The new range, or {@code null} if both {@code minValue} and {@code maxValue} are {@code null}.
      *
      * @see NumberRange#createBestFit(Number, boolean, Number, boolean)
      */

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -231,7 +231,7 @@ public class NumberRange<E extends Numbe
      * @param  isMinIncluded  {@code true} if the minimal value is inclusive, or {@code false} if exclusive.
      * @param  maxValue       The maximal value, or {@code null} if none.
      * @param  isMaxIncluded  {@code true} if the maximal value is inclusive, or {@code false} if exclusive.
-     * @return The new range, or {@code null} if both {@code minValue} and {@code maxValue} are {@code null}.
+     * @return The new range, or {@code null} if both {@code minValue} and {@code maxValue} are {@code null}.
      */
     @SuppressWarnings({"rawtypes","unchecked"})
     public static NumberRange<?> createBestFit(final Number minValue, final boolean isMinIncluded,

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -148,7 +148,7 @@ public final class Units extends Static 
      * Makes sure that the specified unit is either null or an angular unit.
      * This method is used for argument checks in constructors and setter methods.
      *
-     * @param  unit The unit to check, or {@code null} if none.
+     * @param  unit The unit to check, or {@code null} if none.
      * @return The given {@code unit} argument, which may be null.
      * @throws IllegalArgumentException if {@code unit} is non-null and not an angular unit.
      *
@@ -166,7 +166,7 @@ public final class Units extends Static 
      * Makes sure that the specified unit is either null or a linear unit.
      * This method is used for argument checks in constructors and setter methods.
      *
-     * @param  unit The unit to check, or {@code null} if none.
+     * @param  unit The unit to check, or {@code null} if none.
      * @return The given {@code unit} argument, which may be null.
      * @throws IllegalArgumentException if {@code unit} is non-null and not a linear unit.
      *
@@ -184,7 +184,7 @@ public final class Units extends Static 
      * Makes sure that the specified unit is either null or a temporal unit.
      * This method is used for argument checks in constructors and setter methods.
      *
-     * @param  unit The unit to check, or {@code null} if none.
+     * @param  unit The unit to check, or {@code null} if none.
      * @return The given {@code unit} argument, which may be null.
      * @throws IllegalArgumentException if {@code unit} is non-null and not a temporal unit.
      *
@@ -202,7 +202,7 @@ public final class Units extends Static 
      * Makes sure that the specified unit is either null or a scale unit.
      * This method is used for argument checks in constructors and setter methods.
      *
-     * @param  unit The unit to check, or {@code null} if none.
+     * @param  unit The unit to check, or {@code null} if none.
      * @return The given {@code unit} argument, which may be null.
      * @throws IllegalArgumentException if {@code unit} is non-null and not a scale unit.
      *

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/About.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/About.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/About.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/About.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -426,7 +426,7 @@ pathTree:   for (int j=0; ; j++) {
      * following separators:
      *
      * <ul>
-     *   <li>If {@code directory} is null, then {@code paths} is assumed to be a
+     *   <li>If {@code directory} is null, then {@code paths} is assumed to be a
      *       system property value using the {@link File#pathSeparatorChar}.</li>
      *   <li>If {@code directory} is non-null, then {@code paths} is assumed to be
      *       a {@code MANIFEST.MF} attribute using space as the path separator.</li>

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -147,7 +147,7 @@ public class OptionKey<T> implements Ser
     public static final OptionKey<ByteBuffer> BYTE_BUFFER = new OptionKey<ByteBuffer>("BYTE_BUFFER", ByteBuffer.class);
 
     /**
-     * The name of this key. For {@code OptionKey} instances, it shall be the name of the static constants.
+     * The name of this key. For {@code OptionKey} instances, it shall be the name of the static constants.
      * For subclasses of {@code OptionKey}, there is no restriction.
      */
     private final String name;

Modified: sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java?rev=1554743&r1=1554742&r2=1554743&view=diff
==============================================================================
--- sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java [UTF-8] (original)
+++ sis/trunk/core/sis-utility/src/main/java/org/apache/sis/util/ArgumentChecks.java [UTF-8] Thu Jan  2 06:08:48 2014
@@ -143,7 +143,7 @@ public final class ArgumentChecks extend
 
     /**
      * Makes sure that a character sequence is non-null and non-empty. If the given {@code text} is
-     * null, then a {@link NullArgumentException} is thrown. Otherwise if the given {@code text} has
+     * null, then a {@link NullArgumentException} is thrown. Otherwise if the given {@code text} has
      * a {@linkplain CharSequence#length() length} equals to 0, then an {@link IllegalArgumentException}
      * is thrown.
      *



Mime
View raw message