Author: desruisseaux
Date: Tue Feb 18 19:25:36 2014
New Revision: 1569492

URL: http://svn.apache.org/r1569492
Log:
Javadoc, and add units in WKT 2 formatting of parameters.

Modified:
    
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java
    
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java
    
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptor.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
    
sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java

Modified: 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/FormattableObject.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -194,13 +194,13 @@ public abstract class FormattableObject 
      * This method is automatically invoked by {@link WKTFormat} when a 
formattable element is found.
      *
      * <p>Keywords, opening and closing brackets shall not be formatted here.
-     * For example if this formattable element is for a {@code ID[…]} element,
+     * For example if this formattable element is for a {@code GeodeticCRS[…]} 
element,
      * then this method shall write the content starting at the insertion 
point shown below:</p>
      *
      * {@preformat text
-     *        ID[ ]
-     *           ↑
-     *   (insertion point)
+     *   GeodeticCRS[ ]
+     *               ↑
+     *       (insertion point)
      * }
      *
      * {@section Formatting non-standard WKT}
@@ -211,11 +211,11 @@ public abstract class FormattableObject 
      *
      * <p>Alternatively, the implementation may also have no WKT keyword for 
this object.
      * This happen frequently when an abstract class defines a base 
implementation,
-     * but the keyword is defined by the concrete subclasses.
+     * while the keyword needs to be defined by the concrete subclasses.
      * In such case, the method in the abstract class shall return {@code 
null}.</p>
      *
      * @param  formatter The formatter where to format the inner content of 
this WKT element.
-     * @return The WKT element keyword, or {@code null} if none.
+     * @return The {@linkplain KeywordCase#CAMEL_CASE CamelCase} keyword for 
the WKT element, or {@code null} if unknown.
      *
      * @see #toWKT()
      * @see #toString()

Modified: 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/KeywordCase.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -18,9 +18,9 @@ package org.apache.sis.io.wkt;
 
 
 /**
- * Whether WKT keywords shall be written with upper cases or camel cases.
+ * Whether WKT keywords shall be written with upper case or CamelCase styles.
  * The most common usage for WKT keywords is upper case.
- * However with version 2 of Well Known Text, camel case may be easier to read
+ * However with version 2 of Well Known Text, CamelCase keywords may be easier 
to read
  * because WKT 2 has more keywords made by combination of words. Examples:
  *
  * <table class="sis">
@@ -53,13 +53,14 @@ public enum KeywordCase {
     DEFAULT,
 
     /**
-     * Keywords are written with camel cases. This is more useful in WKT 2 
strings, which
+     * WKT formatting uses CamelCase keywords. This is more useful in WKT 2 
strings, which
      * use longer keywords than WKT 1 did. Examples: {@code "TimeExtent"}, 
{@code "AngleUnit"}.
      */
     CAMEL_CASE,
 
     /**
-     * Keywords are written with upper cases. This is the most usual case in 
WKT 1 strings.
+     * WKT formatting uses upper case keywords.
+     * This is the most usual case in WKT 1 strings.
      */
     UPPER_CASE
 }

Modified: 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -541,11 +541,11 @@ public class ImmutableIdentifier extends
     }
 
     /**
-     * Formats a <cite>Well Known Text</cite> representation of this 
identifier.
+     * Formats this identifier as a <cite>Well Known Text</cite> {@code Id[…]} 
element.
      * See class javadoc for more information on the WKT format.
      *
      * @param  formatter The formatter where to format the inner content of 
this WKT element.
-     * @return The WKT keyword, which is {@code "Id"} (WKT 2) or {@code 
"Authority"} (WKT 1).
+     * @return {@code "Id"} (WKT 2) or {@code "Authority"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptor.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptor.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptor.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptor.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -36,7 +36,6 @@ import org.apache.sis.util.collection.Co
 import org.apache.sis.internal.util.Numerics;
 import org.apache.sis.referencing.IdentifiedObjects;
 import org.apache.sis.referencing.AbstractIdentifiedObject;
-import org.apache.sis.io.wkt.Formatter;
 
 import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
 import static org.apache.sis.util.ArgumentChecks.ensureCanCast;
@@ -505,19 +504,6 @@ public class DefaultParameterDescriptor<
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
-     *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name.
-     *
-     * @todo Not yet implemented.
-     */
-    @Override
-    protected String formatTo(final Formatter formatter) {
-        return null;
-    }
-
-    /**
      * Returns a string representation of this descriptor. The string returned 
by this
      * method is for information purpose only and may change in future SIS 
version.
      */

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValue.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -31,6 +31,7 @@ import org.opengis.parameter.InvalidPara
 import org.opengis.parameter.InvalidParameterValueException;
 import org.apache.sis.io.wkt.FormattableObject;
 import org.apache.sis.io.wkt.Formatter;
+import org.apache.sis.io.wkt.Convention;
 import org.apache.sis.io.wkt.ElementKind;
 import org.apache.sis.internal.referencing.WKTUtilities;
 import org.apache.sis.internal.util.Numerics;
@@ -689,15 +690,26 @@ public class DefaultParameterValue<T> ex
     }
 
     /**
-     * Formats this parameter as a <cite>Well Known Text</cite>.
+     * Formats this parameter as a <cite>Well Known Text</cite> {@code 
Parameter[…]} element.
+     * Example:
      *
-     * @return The {@code "PARAMETER"} keyword.
+     * {@preformat wkt
+     *   Parameter["False easting", 0.0, LengthUnit["metre", 1]]
+     * }
+     *
+     * {@note Version 1 of WKT format did not specified the parameter unit 
explicitely.
+     *        Instead, the unit was inherited from the enclosing element.}
+     *
+     * @param  formatter The formatter where to format the inner content of 
this WKT element.
+     * @return {@code "Parameter"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {
         WKTUtilities.appendName(descriptor, formatter, ElementKind.PARAMETER);
         final Unit<?> targetUnit = 
formatter.toContextualUnit(descriptor.getUnit());
-        if (targetUnit != null) {
+        final Convention convention = formatter.getConvention();
+        final boolean isWKT1 = convention.versionOfWKT() == 1;
+        if (isWKT1 && targetUnit != null) {
             double convertedValue;
             try {
                 convertedValue = doubleValue(targetUnit);
@@ -711,6 +723,9 @@ public class DefaultParameterValue<T> ex
         } else {
             formatter.appendAny(value);
         }
+        if (unit != null && !isWKT1 && (!convention.isSimplified() || 
!unit.equals(targetUnit))) {
+            formatter.append(unit);
+        }
         return "Parameter";
     }
 }

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -948,7 +948,7 @@ public class AbstractIdentifiedObject ex
     }
 
     /**
-     * Formats the inner part of this <cite>Well Known Text</cite> (WKT) 
element into the given formatter.
+     * Formats the inner part of this <cite>Well Known Text</cite> (WKT) 
object into the given formatter.
      * The default implementation writes the following elements:
      *
      * <ul>
@@ -956,7 +956,7 @@ public class AbstractIdentifiedObject ex
      * </ul>
      *
      * Keywords and metadata (scope, extent, identifier and remarks) shall not 
be formatted here.
-     * For example if this formattable element is for a {@code GEOGCS[…]} 
element,
+     * For example if this formattable element is for a {@code GeodeticCRS[…]} 
element,
      * then subclasses shall write the content starting at the insertion point 
shown below:
      *
      * <table class="compact">
@@ -965,15 +965,15 @@ public class AbstractIdentifiedObject ex
      *   <th>Java code example</th>
      * </tr><tr><td>
      * {@preformat text
-     *     GEOGCS["WGS 84", ID["EPSG", 4326]]
-     *                    ↑
-     *            (insertion point)
+     *   GeodeticCRS["WGS 84", ID["EPSG", 4326]]
+     *                       ↑
+     *               (insertion point)
      * }
      * </td><td>
      * {@preformat java
      *     super.formatTo(formatter);
      *     // ... write the elements at the insertion point ...
-     *     return "GEOGCS";
+     *     return "GeodeticCRS";
      * }
      * </td></tr></table>
      *
@@ -986,7 +986,8 @@ public class AbstractIdentifiedObject ex
      * In such case, this method shall return {@code null}.</p>
      *
      * @param  formatter The formatter where to format the inner content of 
this WKT element.
-     * @return The WKT element keyword, or {@code null} if none.
+     * @return The {@linkplain org.apache.sis.io.wkt.KeywordCase#CAMEL_CASE 
CamelCase} keyword
+     *         for the WKT element, or {@code null} if unknown.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -397,7 +397,7 @@ public class AbstractCRS extends Abstrac
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
+     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> CRS 
into the given formatter.
      * The default implementation writes the following elements:
      *
      * <ul>
@@ -408,8 +408,7 @@ public class AbstractCRS extends Abstrac
      *   <li>All {@linkplain #getCoordinateSystem() coordinate system}'s 
axis.</li>
      * </ul>
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type (e.g. {@code "GEOGCS"}).
+     * @return {@inheritDoc}
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -251,10 +251,9 @@ public class DefaultEngineeringCRS exten
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
+     * Formats this CRS as a <cite>Well Known Text</cite> {@code 
EngineeringCRS[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type, which is {@code 
"EngineeringCRS"} (WKT 2) or {@code "Local_CS"} (WKT 1).
+     * @return {@code "EngineeringCRS"} (WKT 2) or {@code "Local_CS"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -193,10 +193,42 @@ public class DefaultGeographicCRS extend
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
+     * Formats this CRS as a <cite>Well Known Text</cite> {@code 
GeodeticCRS[…]} element.
+     * Examples:
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type, which is {@code 
"GeodeticCRS"} (WKT 2) or {@code "GeogCS"} (WKT 1).
+     * <table class="compact">
+     * <tr>
+     *   <th>WKT 2</th>
+     *   <th>WKT 1</th>
+     * </tr><tr><td>
+     * {@preformat wkt
+     *   GeodeticCRS["WGS 84",
+     *      Datum["World Geodetic System 1984",
+     *        Ellipsoid["WGS84", 6378137.0, 298.257223563, LengthUnit["metre", 
1]]],
+     *      PrimeMeridian["Greenwich", 0.0, AngleUnit["degree", 
0.017453292519943295]],
+     *      CS["ellipsoidal", 2],
+     *        Axis["Longitude", east],
+     *        Axis["Latitude", north],
+     *        AngleUnit["degree", 0.017453292519943295],
+     *      Area["World"],
+     *      BBox[-90.00, -180.00, 90.00, 180.00],
+     *      Scope["Used by GPS satellite navigation system."]
+     *      Id["EPSG", 4326, Citation["OGP"], 
URI["urn:ogc:def:crs:EPSG::4326"]]]
+     * }
+     * </td><td>
+     * {@preformat wkt
+     *   GEOGCS["WGS 84"
+     *      DATUM["World Geodetic System 1984"
+     *        SPHEROID["WGS84", 6378137.0, 298.257223563]]
+     *      PRIMEM["Greenwich", 0.0]
+     *      UNIT["degree", 0.017453292519943295]
+     *      AXIS["Longitude", EAST]
+     *      AXIS["Latitude", NORTH],
+     *      AUTHORITY["EPSG", "4326"]]
+     * }
+     * </td></tr></table>
+     *
+     * @return {@code "GeodeticCRS"} (WKT 2) or {@code "GeogCS"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -253,11 +253,11 @@ public class DefaultImageCRS extends Abs
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
-     * {@code ImageCRS} are defined in the WKT 2 specification only.
+     * Formats this CRS as a <cite>Well Known Text</cite> {@code ImageCRS[…]} 
element.
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type, which is {@code "ImageCRS"}.
+     * {@note <code>ImageCRS</code> are defined in the WKT 2 specification 
only.}
+     *
+     * @return {@code "ImageCRS"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -296,11 +296,11 @@ public class DefaultTemporalCRS extends 
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
-     * {@code TimeCRS} are defined in the WKT 2 specification only.
+     * Formats this CRS as a <cite>Well Known Text</cite> {@code TimeCRS[…]} 
element.
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type, which is {@code "TimeCRS"}.
+     * {@note <code>TimeCRS</code> is defined in the WKT 2 specification only.}
+     *
+     * @return {@code "TimeCRS"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -229,10 +229,9 @@ public class DefaultVerticalCRS extends 
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
+     * Formats this CRS as a <cite>Well Known Text</cite> {@code 
VerticalCRS[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type, which is {@code 
"VerticalCRS"} (WKT 2) or {@code "Vert_CS"} (WKT 1).
+     * @return {@code "VerticalCRS"} (WKT 2) or {@code "Vert_CS"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -414,23 +414,23 @@ public class AbstractCS extends Abstract
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
+     * Formats the inner part of this <cite>Well Known Text</cite> (WKT) CS 
into the given formatter.
      * This method does <strong>not</strong> format the axes, because they 
shall appear outside
      * the {@code CS[…]} element for historical reasons. Axes shall be 
formatted by the enclosing
      * element (usually an {@link org.apache.sis.referencing.crs.AbstractCRS}).
      *
-     * {@example Well Known Text of a two-dimensional 
<code>EllipsoidalCS</code> having (φ,λ) axes
-     *           in a unit defined by the enclosing CRS (usually degrees):
+     * <p><b>Example:</b> Well-Known Text of a two-dimensional {@code 
EllipsoidalCS} having (φ,λ) axes
+     * in a unit defined by the enclosing CRS (usually degrees):</p>
      *
-     * <pre>CS[ellipsoidal, 2],
-     *  AXIS["latitude", north],
-     *  AXIS["longitude", east]</pre>
+     * {@preformat wkt
+     *   CS[ellipsoidal, 2],
+     *   Axis["latitude", north],
+     *   Axis["longitude", east]
      * }
      *
-     * This Well Known Text is valid only for version 2 of WKT.
+     * {@note <code>CS</code> is defined in the WKT 2 specification only.}
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "CS"}.
+     * @return {@code "CS"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -733,7 +733,7 @@ public class DefaultCoordinateSystemAxis
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
+     * Formats this axis as a <cite>Well Known Text</cite> {@code Axis[…]} 
element.
      *
      * {@section Constraints for WKT validity}
      * The ISO 19162 specification puts many constraints on axis names, 
abbreviations and directions allowed in WKT.
@@ -747,8 +747,7 @@ public class DefaultCoordinateSystemAxis
      *       by “<cite>Latitude</cite>” and “<cite>Longitude</cite>” 
respectively.</li>
      * </ul>
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "Axis"}.
+     * @return {@code "Axis"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DirectionAlongMeridian.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -281,8 +281,14 @@ final class DirectionAlongMeridian exten
     }
 
     /**
-     * Formats a {@code MERIDIAN[…]} element which contains the meridian value 
and the unit of measurement.
+     * Formats this object as a <cite>Well Known Text</cite> {@code 
Meridian[…]} element.
+     * This element contains the meridian value and the unit of measurement.
      * The unit is currently fixed to degrees, but this may change in any 
future implementation.
+     *
+     * {@note <code>Meridian</code> is defined in the WKT 2 specification 
only.}
+     *
+     * @param  formatter The formatter where to format the inner content of 
this WKT element.
+     * @return {@code "Meridian"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -617,17 +617,20 @@ public class BursaWolfParameters extends
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element. 
The WKT contains the
-     * parameters in <var>translation</var>, <var>rotation</var>, 
<var>scale</var> order, like below:
+     * Formats this object as a <cite>Well Known Text</cite> {@code 
ToWGS84[…]} element.
+     * The WKT contains the parameters in <var>translation</var>, 
<var>rotation</var>, <var>scale</var> order,
+     * like below:
      *
      * <blockquote><code>TOWGS84[{@linkplain #tX}, {@linkplain #tY}, 
{@linkplain #tZ}, {@linkplain #rX},
      * {@linkplain #rY}, {@linkplain #rZ}, {@linkplain 
#dS}]</code></blockquote>
      *
-     * The element name is {@code "TOWGS84"} in the common case where the 
{@linkplain #getTargetDatum() target datum}
+     * {@note <code>TOWGS84</code> is defined in the WKT 1 specification only.}
+     *
+     * The element name is {@code "ToWGS84"} in the common case where the 
{@linkplain #getTargetDatum() target datum}
      * is WGS 84. For other targets, the element name will be derived from the 
datum name.
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, usually {@code "ToWGS84"}.
+     * @param  formatter The formatter where to format the inner content of 
this WKT element.
+     * @return Usually {@code "ToWGS84"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -753,10 +753,9 @@ public class DefaultEllipsoid extends Ab
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
+     * Formats this ellipsoid as a <cite>Well Known Text</cite> {@code 
Ellipsoid[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "Ellipsoid"} (WKT 2) or 
{@code "Spheroid"} (WKT 1).
+     * @return {@code "Ellipsoid"} (WKT 2) or {@code "Spheroid"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -163,11 +163,9 @@ public class DefaultEngineeringDatum ext
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT)</a> 
element.
+     * Formats this datum as a <cite>Well Known Text</cite> {@code 
EngineeringDatum[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The name of the WKT element type, which is
-     *         {@code "EngineeringDatum"} (WKT 2) or {@code "Local_Datum"} 
(WKT 1).
+     * @return {@code "EngineeringDatum"} (WKT 2) or {@code "Local_Datum"} 
(WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -497,10 +497,28 @@ public class DefaultGeodeticDatum extend
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
+     * Formats this datum as a <cite>Well Known Text</cite> {@code Datum[…]} 
element.
+     * Examples:
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "Datum"}.
+     * <table class="compact">
+     * <tr>
+     *   <th>WKT 2</th>
+     *   <th>WKT 1</th>
+     * </tr><tr><td>
+     * {@preformat wkt
+     *      Datum["World Geodetic System 1984",
+     *        Ellipsoid["WGS84", 6378137.0, 298.257223563, LengthUnit["metre", 
1]],
+     *      Id["EPSG", 6326, Citation["OGP"], 
URI["urn:ogc:def:datum:EPSG::6326"]]]
+     * }
+     * </td><td>
+     * {@preformat wkt
+     *      DATUM["World Geodetic System 1984"
+     *        SPHEROID["WGS84", 6378137.0, 298.257223563],
+     *      AUTHORITY["EPSG", "6326"]]
+     * }
+     * </td></tr></table>
+     *
+     * @return {@code "Datum"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -231,11 +231,11 @@ public class DefaultImageDatum extends A
     }
 
     /**
-     * Format the inner part of a <cite>Well Known Text</cite> (WKT) element.
-     * {@code ImageDatum} are defined in the WKT 2 specification only.
+     * Formats this datum as a <cite>Well Known Text</cite> {@code 
ImageDatum[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "ImageDatum"}.
+     * {@note <code>ImageDatum</code> is defined in the WKT 2 specification 
only.}
+     *
+     * @return {@code "ImageDatum"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -332,10 +332,9 @@ public class DefaultPrimeMeridian extend
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
+     * Formats this prime meridian as a <cite>Well Known Text</cite> {@code 
PrimeMeridian[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "PrimeMeridian"} (WKT 2) 
or {@code "PrimeM"} (WKT 1).
+     * @return {@code "PrimeMeridian"} (WKT 2) or {@code "PrimeM"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
 (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
 Tue Feb 18 19:25:36 2014
@@ -275,11 +275,11 @@ public class DefaultTemporalDatum extend
     }
 
     /**
-     * Format the inner part of a <cite>Well Known Text</cite> (WKT) element.
-     * {@code TimeDatum} are defined in the WKT 2 specification only.
+     * Formats this datum as a <cite>Well Known Text</cite> {@code 
TimeDatum[…]} element.
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "TimeDatum"}.
+     * {@note <code>TimeDatum</code> is defined in the WKT 2 specification 
only.}
+     *
+     * @return {@code "TimeDatum"}.
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -306,15 +306,14 @@ public class DefaultVerticalDatum extend
     }
 
     /**
-     * Formats the inner part of a <cite>Well Known Text</cite> (WKT) element.
+     * Formats this datum as a <cite>Well Known Text</cite> {@code 
VerticalDatum[…]} element.
      *
      * {@note OGC 01-009 defined numerical codes for various vertical datum 
types, for example 2005 for geoidal height
      *        and 2002 for ellipsoidal height. Such codes were formatted for 
all <code>Datum</code> subtypes in WKT 1.
      *        Datum types became provided only for vertical datum in the ISO 
19111:2003 specification, then removed
      *        completely in ISO 19111:2007.}
      *
-     * @param  formatter The formatter to use.
-     * @return The WKT element name, which is {@code "VerticalDatum"} (WKT 2) 
or {@code "Vert_Datum"} (WKT 1).
+     * @return {@code "VerticalDatum"} (WKT 2) or {@code "Vert_Datum"} (WKT 1).
      */
     @Override
     protected String formatTo(final Formatter formatter) {

Modified: 
sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java?rev=1569492&r1=1569491&r2=1569492&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java
 [UTF-8] Tue Feb 18 19:25:36 2014
@@ -25,6 +25,7 @@ import org.opengis.parameter.ParameterVa
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.InvalidParameterTypeException;
 import org.opengis.parameter.InvalidParameterValueException;
+import org.apache.sis.io.wkt.Convention;
 import org.apache.sis.test.DependsOnMethod;
 import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
@@ -516,7 +517,11 @@ public final strictfp class DefaultParam
      */
     @Test
     public void testWKT() {
-        assertWktEquals("Parameter[“WKT test”, 4]", createOptional("WKT test", 
4));
-        assertWktEquals("Parameter[“WKT test”, 30.0]", create("WKT test", 30, 
SI.CENTIMETRE));
+        final DefaultParameterValue<Integer> count  = createOptional("Count", 
4);
+        final DefaultParameterValue<Double>  length = create("Length", 30, 
SI.CENTIMETRE);
+        assertWktEquals(Convention.WKT1, "PARAMETER[“Count”, 4]", count);
+        assertWktEquals(Convention.WKT1, "PARAMETER[“Length”, 30.0]", length);
+        assertWktEquals(Convention.WKT2, "Parameter[“Count”, 4]", count);
+        assertWktEquals(Convention.WKT2, "Parameter[“Length”, 30.0, 
LengthUnit[“cm”, 0.01]]", length);
     }
 }


Reply via email to