sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1724528 [4/15] - in /sis/branches/JDK6: ./ application/sis-console/src/main/artifact/bin/ application/sis-console/src/main/artifact/log/ application/sis-console/src/main/java/org/apache/sis/console/ core/sis-build-helper/src/main/java/org/...
Date Wed, 13 Jan 2016 23:25:42 GMT
Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultSphericalCS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultSphericalCS.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultSphericalCS.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultSphericalCS.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -55,6 +55,8 @@ import org.apache.sis.measure.Units;
  * @since   0.4
  * @version 0.4
  * @module
+ *
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createSphericalCS(String)
  */
 @XmlType(name = "SphericalCSType")
 @XmlRootElement(name = "SphericalCS")
@@ -112,6 +114,8 @@ public class DefaultSphericalCS extends
      * @param axis0 The first  axis (e.g. “Spherical latitude”).
      * @param axis1 The second axis (e.g. “Spherical longitude”).
      * @param axis2 The third  axis (e.g. “Geocentric radius”).
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createSphericalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
      */
     public DefaultSphericalCS(final Map<String,?>   properties,
                               final CoordinateSystemAxis axis0,

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -54,6 +54,7 @@ import org.apache.sis.measure.Units;
  *
  * @see org.apache.sis.referencing.crs.DefaultTemporalCRS
  * @see org.apache.sis.referencing.datum.DefaultTemporalDatum
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createTimeCS(String)
  */
 @XmlType(name = "TimeCSType")
 @XmlRootElement(name = "TimeCS")
@@ -109,6 +110,8 @@ public class DefaultTimeCS extends Abstr
      *
      * @param properties The properties to be given to the identified object.
      * @param axis       The axis.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createTimeCS(Map, CoordinateSystemAxis)
      */
     public DefaultTimeCS(final Map<String,?> properties, final CoordinateSystemAxis axis) {
         super(properties, axis);

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -102,6 +102,8 @@ public class DefaultUserDefinedCS extend
      * @param properties The properties to be given to the identified object.
      * @param axis0 The first axis.
      * @param axis1 The second axis.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createUserDefinedCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)
      */
     public DefaultUserDefinedCS(final Map<String,?>   properties,
                                 final CoordinateSystemAxis axis0,
@@ -119,6 +121,8 @@ public class DefaultUserDefinedCS extend
      * @param axis0 The first axis.
      * @param axis1 The second axis.
      * @param axis2 The third axis.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createUserDefinedCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
      */
     public DefaultUserDefinedCS(final Map<String,?>   properties,
                                 final CoordinateSystemAxis axis0,

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -64,6 +64,7 @@ import org.apache.sis.internal.metadata.
  *
  * @see org.apache.sis.referencing.crs.DefaultVerticalCRS
  * @see org.apache.sis.referencing.datum.DefaultVerticalDatum
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createVerticalCS(String)
  */
 @XmlType(name = "VerticalCSType")
 @XmlRootElement(name = "VerticalCS")
@@ -119,6 +120,8 @@ public class DefaultVerticalCS extends A
      *
      * @param properties The properties to be given to the identified object.
      * @param axis       The single axis (e.g. “height” or “depth”).
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createVerticalCS(Map, CoordinateSystemAxis)
      */
     public DefaultVerticalCS(final Map<String,?> properties, final CoordinateSystemAxis axis) {
         super(properties, axis);

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -60,7 +60,7 @@ import org.apache.sis.internal.jdk7.Obje
  * while the <cite>legacy</cite> column lists the identifiers used in the legacy OGC 01-009 specification
  * (still used in some <cite>Well Known Texts</cite>).
  *
- * <table class="compact" summary="Parameters and formula"><tr><td>
+ * <table summary="Parameters and formula"><tr><td>
  * <table class="sis">
  *   <caption>Parameters defined by EPSG</caption>
  *   <tr><th>Code</th> <th>Name</th>               <th>Abbr.</th>       <th>Legacy</th></tr>

Copied: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java (from r1724479, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java?p2=sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java&p1=sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java&r1=1724479&r2=1724528&rev=1724528&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DatumShiftGrid.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -38,7 +38,7 @@ import org.apache.sis.util.ArgumentCheck
 import org.apache.sis.measure.Units;
 
 // Branch-dependent imports
-import java.util.Objects;
+import org.apache.sis.internal.jdk7.Objects;
 
 
 /**

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -117,6 +117,7 @@ import org.apache.sis.internal.jdk7.Obje
  * @module
  *
  * @see org.apache.sis.referencing.CommonCRS#ellipsoid()
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createEllipsoid(String)
  */
 @XmlType(name = "EllipsoidType", propOrder = {
     "semiMajorAxisMeasure",
@@ -277,6 +278,8 @@ public class DefaultEllipsoid extends Ab
      * @param semiMinorAxis The polar radius in the given unit.
      * @param unit          The units of the semi-major and semi-minor axis values.
      * @return An ellipsoid with the given axis length.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createEllipsoid(Map, double, double, Unit)
      */
     public static DefaultEllipsoid createEllipsoid(final Map<String,?> properties,
                                                    final double semiMajorAxis,
@@ -301,6 +304,8 @@ public class DefaultEllipsoid extends Ab
      * @param inverseFlattening The inverse flattening value.
      * @param unit              The units of the semi-major and semi-minor axis values.
      * @return An ellipsoid with the given axis length.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createFlattenedSphere(Map, double, double, Unit)
      */
     public static DefaultEllipsoid createFlattenedSphere(final Map<String,?> properties,
                                                          final double semiMajorAxis,

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEngineeringDatum.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -42,6 +42,9 @@ import org.apache.sis.io.wkt.Formatter;
  * @since   0.4
  * @version 0.4
  * @module
+ *
+ * @see org.apache.sis.referencing.crs.DefaultEngineeringCRS
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createEngineeringDatum(String)
  */
 @XmlType(name = "EngineeringDatumType")
 @XmlRootElement(name = "EngineeringDatum")
@@ -106,6 +109,8 @@ public class DefaultEngineeringDatum ext
      * </table>
      *
      * @param properties The properties to be given to the identified object.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createEngineeringDatum(Map)
      */
     public DefaultEngineeringDatum(final Map<String,?> properties) {
         super(properties);

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -129,6 +129,7 @@ import org.apache.sis.internal.jdk7.Obje
  * @see DefaultEllipsoid
  * @see DefaultPrimeMeridian
  * @see org.apache.sis.referencing.CommonCRS#datum()
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createGeodeticDatum(String)
  */
 @XmlType(name = "GeodeticDatumType", propOrder = {
     "primeMeridian",
@@ -243,6 +244,8 @@ public class DefaultGeodeticDatum extend
      * @param properties    The properties to be given to the identified object.
      * @param ellipsoid     The ellipsoid.
      * @param primeMeridian The prime meridian.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)
      */
     public DefaultGeodeticDatum(final Map<String,?> properties,
                                 final Ellipsoid     ellipsoid,

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -51,6 +51,9 @@ import org.apache.sis.internal.jdk7.Obje
  * @since   0.4
  * @version 0.7
  * @module
+ *
+ * @see org.apache.sis.referencing.crs.DefaultImageCRS
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createImageDatum(String)
  */
 @XmlType(name = "ImageDatumType")
 @XmlRootElement(name = "ImageDatum")
@@ -126,6 +129,8 @@ public class DefaultImageDatum extends A
      *
      * @param properties  The properties to be given to the identified object.
      * @param pixelInCell The way the image grid is associated with the image data attributes.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createImageDatum(Map, PixelInCell)
      */
     public DefaultImageDatum(final Map<String,?> properties, final PixelInCell pixelInCell) {
         super(properties);

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -88,6 +88,7 @@ import org.apache.sis.internal.referenci
  * @module
  *
  * @see org.apache.sis.referencing.CommonCRS#primeMeridian()
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createPrimeMeridian(String)
  */
 @XmlType(name = "PrimeMeridianType")
 @XmlRootElement(name = "PrimeMeridian")
@@ -150,6 +151,8 @@ public class DefaultPrimeMeridian extend
      * @param properties          The properties to be given to the identified object.
      * @param greenwichLongitude  The longitude value relative to the Greenwich Meridian.
      * @param angularUnit         The angular unit of the longitude.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createPrimeMeridian(Map, double, Unit)
      */
     public DefaultPrimeMeridian(final Map<String,?> properties, final double greenwichLongitude,
                                 final Unit<Angle> angularUnit)

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -80,6 +80,7 @@ import org.apache.sis.internal.jdk7.Obje
  * @see org.apache.sis.referencing.CommonCRS.Temporal#datum()
  * @see org.apache.sis.referencing.cs.DefaultTimeCS
  * @see org.apache.sis.referencing.crs.DefaultTemporalCRS
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createTemporalDatum(String)
  */
 @XmlType(name = "TemporalDatumType")
 @XmlRootElement(name = "TemporalDatum")
@@ -155,6 +156,8 @@ public class DefaultTemporalDatum extend
      *
      * @param properties The properties to be given to the identified object.
      * @param origin The date and time origin of this temporal datum.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createTemporalDatum(Map, Date)
      */
     public DefaultTemporalDatum(final Map<String,?> properties, final Date origin) {
         super(properties);

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -81,6 +81,7 @@ import org.apache.sis.internal.jdk7.Obje
  * @see org.apache.sis.referencing.CommonCRS.Vertical#datum()
  * @see org.apache.sis.referencing.cs.DefaultVerticalCS
  * @see org.apache.sis.referencing.crs.DefaultVerticalCRS
+ * @see org.apache.sis.referencing.factory.GeodeticAuthorityFactory#createVerticalDatum(String)
  */
 @XmlType(name = "VerticalDatumType")
 @XmlRootElement(name = "VerticalDatum")
@@ -155,6 +156,8 @@ public class DefaultVerticalDatum extend
      *
      * @param properties The properties to be given to the identified object.
      * @param type       The type of this vertical datum.
+     *
+     * @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createVerticalDatum(Map, VerticalDatumType)
      */
     public DefaultVerticalDatum(final Map<String,?> properties, final VerticalDatumType type) {
         super(properties);

Copied: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java (from r1724479, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java?p2=sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java&p1=sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java&r1=1724479&r2=1724528&rev=1724528&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -102,7 +102,7 @@ final class CacheRecord implements Compa
      */
     @SuppressWarnings("UseOfSystemOutOrSystemErr")
     static void printCacheContent(final Map<?,?> cache, PrintWriter out) {
-        final List<CacheRecord> list = new ArrayList<>(cache.size() + 10);
+        final List<CacheRecord> list = new ArrayList<CacheRecord>(cache.size() + 10);
         int codeLength = 0;
         int identityLength = 0;
         for (final Map.Entry<?,?> entry : cache.entrySet()) {

Copied: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java (from r1724479, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java?p2=sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java&p1=sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java&r1=1724479&r2=1724528&rev=1724528&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CommonAuthorityFactory.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -251,7 +251,7 @@ public class CommonAuthorityFactory exte
      * Constructs a default factory for the {@code CRS} authority.
      */
     public CommonAuthorityFactory() {
-        codes = new LinkedHashMap<>();
+        codes = new LinkedHashMap<String,Class<?>>();
     }
 
     /**
@@ -657,7 +657,7 @@ public class CommonAuthorityFactory exte
                     csFactory.createCoordinateSystemAxis(Collections.singletonMap(CartesianCS.NAME_KEY, "i"), "i", AxisDirection.EAST, NonSI.PIXEL),
                     csFactory.createCoordinateSystemAxis(Collections.singletonMap(CartesianCS.NAME_KEY, "j"), "j", AxisDirection.SOUTH, NonSI.PIXEL));
 
-            final Map<String,Object> properties = new HashMap<>(4);
+            final Map<String,Object> properties = new HashMap<String,Object>(4);
             properties.put(EngineeringDatum.NAME_KEY, cs.getName());
             properties.put(EngineeringDatum.ANCHOR_POINT_KEY, "Origin is in upper left.");
             displayCRS = DefaultFactories.forBuildin(CRSFactory.class).createEngineeringCRS(properties,

Copied: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java (from r1724479, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java?p2=sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java&p1=sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java&r1=1724479&r2=1724528&rev=1724528&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -61,7 +61,9 @@ import org.apache.sis.util.resources.Err
 import org.apache.sis.util.resources.Messages;
 
 // Branch-dependent imports
+import org.apache.sis.internal.jdk7.JDK7;
 import org.apache.sis.internal.jdk8.JDK8;
+import org.apache.sis.internal.jdk7.AutoCloseable;
 
 
 /**
@@ -101,15 +103,16 @@ import org.apache.sis.internal.jdk8.JDK8
  * @version 0.7
  * @module
  */
+@AutoCloseable
 public abstract class ConcurrentAuthorityFactory<DAO extends GeodeticAuthorityFactory>
-        extends GeodeticAuthorityFactory implements AutoCloseable
+        extends GeodeticAuthorityFactory
 {
     /**
      * Duration of data access operations that should be logged, in nanoseconds.
      * Any operation that take longer than this amount of time to execute will have a message logged.
      * The log level depends on the execution duration as specified in {@link PerformanceLevel}.
      */
-    private static final long DURATION_FOR_LOGGING = 10_000_000L;       // 10 milliseconds.
+    private static final long DURATION_FOR_LOGGING = 10000000L;       // 10 milliseconds.
 
     /**
      * The authority, cached after first requested.
@@ -122,7 +125,7 @@ public abstract class ConcurrentAuthorit
      *
      * @see #isDefault(Class)
      */
-    private final Map<Class<?>,Boolean> inherited = new IdentityHashMap<>();
+    private final Map<Class<?>,Boolean> inherited = new IdentityHashMap<Class<?>,Boolean>();
 
     /**
      * The pool of cached objects.
@@ -135,7 +138,7 @@ public abstract class ConcurrentAuthorit
      *
      * <p>Every access to this pool must be synchronized on {@code findPool}.</p>
      */
-    private final Map<IdentifiedObject,FindEntry> findPool = new WeakHashMap<>();
+    private final Map<IdentifiedObject,FindEntry> findPool = new WeakHashMap<IdentifiedObject,FindEntry>();
 
     /**
      * Holds the reference to a Data Access Object used by {@link ConcurrentAuthorityFactory}, together with
@@ -199,14 +202,14 @@ public abstract class ConcurrentAuthorit
     /**
      * The Data Access Object in use by the current thread.
      */
-    private final ThreadLocal<DataAccessRef<DAO>> currentDAO = new ThreadLocal<>();
+    private final ThreadLocal<DataAccessRef<DAO>> currentDAO = new ThreadLocal<DataAccessRef<DAO>>();
 
     /**
      * The Data Access Object instances previously created and released for future reuse.
      * Last used factories must be {@linkplain Deque#addLast(Object) added last}.
      * This is used as a LIFO stack.
      */
-    private final Deque<DataAccessRef<DAO>> availableDAOs = new LinkedList<>();
+    private final Deque<DataAccessRef<DAO>> availableDAOs = new LinkedList<DataAccessRef<DAO>>();
 
     /**
      * The amount of Data Access Objects that can still be created. This number is decremented in a block
@@ -234,13 +237,13 @@ public abstract class ConcurrentAuthorit
      *
      * @see #getTimeout(TimeUnit)
      */
-    private long timeout = 60_000_000_000L;     // 1 minute
+    private long timeout = 60000000000L;     // 1 minute
 
     /**
      * The maximal difference between the scheduled time and the actual time in order to perform the factory disposal,
      * in nanoseconds. This is used as a tolerance value for possible wait time inaccuracy.
      */
-    static final long TIMEOUT_RESOLUTION = 200_000_000L;    // 0.2 second
+    static final long TIMEOUT_RESOLUTION = 200000000L;    // 0.2 second
 
     /**
      * Constructs an instance with a default number of threads and a default number of entries to keep
@@ -293,7 +296,7 @@ public abstract class ConcurrentAuthorit
          * error unless the above property has been set to 'true'.
          */
         remainingDAOs = maxConcurrentQueries;
-        cache = new Cache<>(20, maxStrongReferences, false);
+        cache = new Cache<Key,Object>(20, maxStrongReferences, false);
         cache.setKeyCollisionAllowed(true);
         /*
          * The shutdown hook serves two purposes:
@@ -304,7 +307,7 @@ public abstract class ConcurrentAuthorit
          *   2) Closes the Data Access Objects at JVM shutdown time if the application is standalone,
          *      or when the bundle is uninstalled if running inside an OSGi or Servlet container.
          */
-        Shutdown.register(new ShutdownHook<>(this));
+        Shutdown.register(new ShutdownHook<DAO>(this));
     }
 
     /**
@@ -388,7 +391,7 @@ public abstract class ConcurrentAuthorit
                         throw new UnavailableFactoryException(Errors.format(
                                 Errors.Keys.FactoryNotFound_1, GeodeticAuthorityFactory.class));
                     }
-                    usage = new DataAccessRef<>(factory);
+                    usage = new DataAccessRef<DAO>(factory);
                 }
                 assert usage.depth == 0 : usage;
                 usage.timestamp = System.nanoTime();
@@ -402,7 +405,10 @@ public abstract class ConcurrentAuthorit
                 synchronized (availableDAOs) {
                     remainingDAOs++;
                 }
-                throw e;
+                if (e instanceof FactoryException) throw (FactoryException) e;
+                if (e instanceof RuntimeException) throw (RuntimeException) e;
+                if (e instanceof Error)            throw (Error) e;
+                throw new RuntimeException(e);  // Should never happen.
             }
             currentDAO.set(usage);
         }
@@ -493,7 +499,7 @@ public abstract class ConcurrentAuthorit
             // Cancel closing for that factory.
             it.remove();
             synchronized (availableDAOs) {
-                recycle(new DataAccessRef<>(factory));
+                recycle(new DataAccessRef<DAO>(factory));
             }
         }
     }
@@ -527,7 +533,7 @@ public abstract class ConcurrentAuthorit
         final List<DAO> factories;
         final boolean isEmpty;
         synchronized (availableDAOs) {
-            factories = new ArrayList<>(availableDAOs.size());
+            factories = new ArrayList<DAO>(availableDAOs.size());
             final Iterator<DataAccessRef<DAO>> it = availableDAOs.iterator();
             final long nanoTime = System.nanoTime();
             while (it.hasNext()) {
@@ -1998,7 +2004,7 @@ public abstract class ConcurrentAuthorit
      */
     static <DAO extends GeodeticAuthorityFactory> List<DAO> clear(final Deque<DataAccessRef<DAO>> availableDAOs) {
         assert Thread.holdsLock(availableDAOs);
-        final List<DAO> factories = new ArrayList<>(availableDAOs.size());
+        final List<DAO> factories = new ArrayList<DAO>(availableDAOs.size());
         DataAccessRef<DAO> dao;
         while ((dao = availableDAOs.pollFirst()) != null) {
             factories.add(dao.factory);
@@ -2018,13 +2024,13 @@ public abstract class ConcurrentAuthorit
         Exception exception = null;
         for (int i=factories.size(); --i>=0;) {
             final DAO factory = factories.get(i);
-            if (factory instanceof AutoCloseable) try {
-                ((AutoCloseable) factory).close();
+            if (JDK7.isAutoCloseable(factory)) try {
+                JDK7.close(factory);
             } catch (Exception e) {
                 if (exception == null) {
                     exception = e;
                 } else {
-                    exception.addSuppressed(e);
+                    // exception.addSuppressed(e) on the JDK7 branch.
                 }
             }
         }
@@ -2047,7 +2053,6 @@ public abstract class ConcurrentAuthorit
      *
      * @throws FactoryException if an error occurred while closing the Data Access Objects.
      */
-    @Override
     public void close() throws FactoryException {
         try {
             final List<DAO> factories;
@@ -2084,7 +2089,7 @@ public abstract class ConcurrentAuthorit
                 return s;
             }
         }
-        return s + System.lineSeparator() + usage;
+        return s + JDK7.lineSeparator() + usage;
     }
 
     /**

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java?rev=1724528&r1=1724527&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -328,11 +328,18 @@ public class GeodeticObjectFactory exten
      * An {@linkplain #createGeocentricCRS(Map, GeodeticDatum, SphericalCS) alternate method} allows creation of the
      * same kind of CRS with spherical coordinate system instead than a Cartesian one.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
-     *   <li>{@link #createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)}</li>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
      *   <li>{@link #createCartesianCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
-     * </ul>
+     *   <li>One of:<ul>
+     *     <li>{@link #createEllipsoid(Map, double, double, Unit)}</li>
+     *     <li>{@link #createFlattenedSphere(Map, double, double, Unit)}</li>
+     *   </ul></li>
+     *   <li>{@link #createPrimeMeridian(Map, double, Unit)}</li>
+     *   <li>{@link #createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)}</li>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultGeocentricCRS} instance.
      *
@@ -341,6 +348,7 @@ public class GeodeticObjectFactory exten
      * @param  cs         The three-dimensional Cartesian coordinate system for the created CRS.
      * @throws FactoryException if the object creation failed.
      *
+     * @see GeodeticAuthorityFactory#createGeocentricCRS(String)
      * @see DefaultGeocentricCRS#DefaultGeocentricCRS(Map, GeodeticDatum, CartesianCS)
      */
     @Override
@@ -351,7 +359,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultGeocentricCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createGeocentricCRS", crs);
     }
@@ -360,10 +368,11 @@ public class GeodeticObjectFactory exten
      * Creates a three-dimensional Cartesian coordinate system from the given set of axis.
      * This coordinate system can be used with geocentric, engineering and derived CRS.
      *
-     * <p>The components needed by this method can be created by the following method:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultCartesianCS} instance.
      *
@@ -374,6 +383,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultCartesianCS#DefaultCartesianCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createCartesianCS(String)
      */
     @Override
     public CartesianCS createCartesianCS(final Map<String,?> properties,
@@ -385,7 +395,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultCartesianCS(complete(properties), axis0, axis1, axis2);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createCartesianCS", cs);
     }
@@ -396,11 +406,18 @@ public class GeodeticObjectFactory exten
      * An {@linkplain #createGeocentricCRS(Map, GeodeticDatum, CartesianCS) alternate method} allows creation of the
      * same kind of CRS with Cartesian coordinate system instead than a spherical one.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
-     *   <li>{@link #createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)}</li>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
      *   <li>{@link #createSphericalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
-     * </ul>
+     *   <li>One of:<ul>
+     *     <li>{@link #createEllipsoid(Map, double, double, Unit)}</li>
+     *     <li>{@link #createFlattenedSphere(Map, double, double, Unit)}</li>
+     *   </ul></li>
+     *   <li>{@link #createPrimeMeridian(Map, double, Unit)}</li>
+     *   <li>{@link #createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)}</li>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultGeocentricCRS} instance.
      *
@@ -410,6 +427,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultGeocentricCRS#DefaultGeocentricCRS(Map, GeodeticDatum, SphericalCS)
+     * @see GeodeticAuthorityFactory#createGeocentricCRS(String)
      */
     @Override
     public GeocentricCRS createGeocentricCRS(final Map<String,?> properties,
@@ -419,7 +437,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultGeocentricCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createGeocentricCRS", crs);
     }
@@ -428,10 +446,11 @@ public class GeodeticObjectFactory exten
      * Creates a spherical coordinate system from the given set of axis.
      * This coordinate system can be used with geocentric, engineering and derived CRS.
      *
-     * <p>The components needed by this method can be created by the following method:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultSphericalCS} instance.
      *
@@ -442,6 +461,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultSphericalCS#DefaultSphericalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createSphericalCS(String)
      */
     @Override
     public SphericalCS createSphericalCS(final Map<String,?> properties,
@@ -453,7 +473,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultSphericalCS(complete(properties), axis0, axis1, axis2);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createSphericalCS", cs);
     }
@@ -462,11 +482,21 @@ public class GeodeticObjectFactory exten
      * Creates a geographic coordinate reference system. It can be (<var>latitude</var>, <var>longitude</var>)
      * or (<var>longitude</var>, <var>latitude</var>), optionally with an ellipsoidal height.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
+     *   <li>One of:<ul>
+     *     <li>{@link #createEllipsoidalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
+     *     <li>{@link #createEllipsoidalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
+     *   </ul></li>
+     *   <li>One of:<ul>
+     *     <li>{@link #createEllipsoid(Map, double, double, Unit)}</li>
+     *     <li>{@link #createFlattenedSphere(Map, double, double, Unit)}</li>
+     *   </ul></li>
+     *   <li>{@link #createPrimeMeridian(Map, double, Unit)}</li>
      *   <li>{@link #createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)}</li>
-     *   <li>{@link #createEllipsoidalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultGeographicCRS} instance.
      *
@@ -476,6 +506,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultGeographicCRS#DefaultGeographicCRS(Map, GeodeticDatum, EllipsoidalCS)
+     * @see GeodeticAuthorityFactory#createGeographicCRS(String)
      */
     @Override
     public GeographicCRS createGeographicCRS(final Map<String,?> properties,
@@ -485,7 +516,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultGeographicCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createGeographicCRS", crs);
     }
@@ -495,11 +526,15 @@ public class GeodeticObjectFactory exten
      * Geodetic datum defines the location and orientation of an ellipsoid that approximates the shape of the earth.
      * This datum can be used with geographic, geocentric and engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
-     *   <li>{@link #createEllipsoid(Map, double, double, Unit)} or {@link #createFlattenedSphere(Map, double, double, Unit)}</li>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>One of:<ul>
+     *     <li>{@link #createEllipsoid(Map, double, double, Unit)}</li>
+     *     <li>{@link #createFlattenedSphere(Map, double, double, Unit)}</li>
+     *   </ul></li>
      *   <li>{@link #createPrimeMeridian(Map, double, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultGeodeticDatum} instance.
      *
@@ -509,6 +544,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultGeodeticDatum#DefaultGeodeticDatum(Map, Ellipsoid, PrimeMeridian)
+     * @see GeodeticAuthorityFactory#createGeodeticDatum(String)
      */
     @Override
     public GeodeticDatum createGeodeticDatum(final Map<String,?> properties,
@@ -518,7 +554,7 @@ public class GeodeticObjectFactory exten
         try {
             datum = new DefaultGeodeticDatum(complete(properties), ellipsoid, primeMeridian);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createGeodeticDatum", datum);
     }
@@ -535,6 +571,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultPrimeMeridian#DefaultPrimeMeridian(Map, double, Unit)
+     * @see GeodeticAuthorityFactory#createPrimeMeridian(String)
      */
     @Override
     public PrimeMeridian createPrimeMeridian(final Map<String,?> properties,
@@ -544,7 +581,7 @@ public class GeodeticObjectFactory exten
         try {
             meridian = new DefaultPrimeMeridian(complete(properties), longitude, angularUnit);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createPrimeMeridian", meridian);
     }
@@ -553,10 +590,11 @@ public class GeodeticObjectFactory exten
      * Creates an ellipsoidal coordinate system without ellipsoidal height.
      * It can be (<var>latitude</var>, <var>longitude</var>) or (<var>longitude</var>, <var>latitude</var>).
      *
-     * <p>The components needed by this method can be created by the following method:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultEllipsoidalCS} instance.
      *
@@ -566,6 +604,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultEllipsoidalCS#DefaultEllipsoidalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createEllipsoidalCS(String)
      */
     @Override
     public EllipsoidalCS createEllipsoidalCS(final Map<String,?> properties,
@@ -576,7 +615,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultEllipsoidalCS(complete(properties), axis0, axis1);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createEllipsoidalCS", cs);
     }
@@ -586,10 +625,11 @@ public class GeodeticObjectFactory exten
      * It can be (<var>latitude</var>, <var>longitude</var>, <var>height</var>)
      * or (<var>longitude</var>, <var>latitude</var>, <var>height</var>).
      *
-     * <p>The components needed by this method can be created by the following method:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultEllipsoidalCS} instance.
      *
@@ -600,6 +640,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultEllipsoidalCS#DefaultEllipsoidalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createEllipsoidalCS(String)
      */
     @Override
     public EllipsoidalCS createEllipsoidalCS(final Map<String,?> properties,
@@ -611,7 +652,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultEllipsoidalCS(complete(properties), axis0, axis1, axis2);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createEllipsoidalCS", cs);
     }
@@ -627,6 +668,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultEllipsoid#createEllipsoid(Map, double, double, Unit)
+     * @see GeodeticAuthorityFactory#createEllipsoid(String)
      */
     @Override
     public Ellipsoid createEllipsoid(final Map<String,?> properties,
@@ -637,7 +679,7 @@ public class GeodeticObjectFactory exten
         try {
             ellipsoid = DefaultEllipsoid.createEllipsoid(complete(properties), semiMajorAxis, semiMinorAxis, unit);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createEllipsoid", ellipsoid);
     }
@@ -653,6 +695,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultEllipsoid#createFlattenedSphere(Map, double, double, Unit)
+     * @see GeodeticAuthorityFactory#createEllipsoid(String)
      */
     @Override
     public Ellipsoid createFlattenedSphere(final Map<String,?> properties,
@@ -663,7 +706,7 @@ public class GeodeticObjectFactory exten
         try {
             ellipsoid = DefaultEllipsoid.createFlattenedSphere(complete(properties), semiMajorAxis, inverseFlattening, unit);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createFlattenedSphere", ellipsoid);
     }
@@ -673,12 +716,21 @@ public class GeodeticObjectFactory exten
      * Projected CRS are used to approximate the shape of the earth on a planar surface in such a way
      * that the distortion that is inherent to the approximation is controlled and known.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
+     *   <li>{@link #createCartesianCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
+     *   <li>{@link #createEllipsoidalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
+     *   <li>One of:<ul>
+     *     <li>{@link #createEllipsoid(Map, double, double, Unit)}</li>
+     *     <li>{@link #createFlattenedSphere(Map, double, double, Unit)}</li>
+     *   </ul></li>
+     *   <li>{@link #createPrimeMeridian(Map, double, Unit)}</li>
+     *   <li>{@link #createGeodeticDatum(Map, Ellipsoid, PrimeMeridian)}</li>
      *   <li>{@link #createGeographicCRS(Map, GeodeticDatum, EllipsoidalCS)}</li>
      *   <li>{@link org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory#createDefiningConversion(Map, OperationMethod, ParameterValueGroup)}</li>
-     *   <li>{@link #createCartesianCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The supplied {@code conversion} argument shall <strong>not</strong> includes the operation steps
      * for performing {@linkplain org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes unit
@@ -694,6 +746,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultProjectedCRS#DefaultProjectedCRS(Map, GeographicCRS, Conversion, CartesianCS)
+     * @see GeodeticAuthorityFactory#createProjectedCRS(String)
      */
     @Override
     public ProjectedCRS createProjectedCRS(final Map<String,?> properties,
@@ -704,7 +757,11 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultProjectedCRS(complete(properties), baseCRS, conversion, derivedCS);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            final Throwable cause = exception.getCause();
+            if (cause instanceof FactoryException) {
+                throw (FactoryException) cause;         // Must be propagated for allowing caller to catch NoSuchIdentifierException.
+            }
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createProjectedCRS", crs);
     }
@@ -713,10 +770,11 @@ public class GeodeticObjectFactory exten
      * Creates a two-dimensional Cartesian coordinate system from the given pair of axis.
      * This coordinate system can be used with projected, engineering and derived CRS.
      *
-     * <p>The components needed by this method can be created by the following method:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultCartesianCS} instance.
      *
@@ -726,6 +784,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultCartesianCS#DefaultCartesianCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createCartesianCS(String)
      */
     @Override
     public CartesianCS createCartesianCS(final Map<String,?> properties,
@@ -736,7 +795,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultCartesianCS(complete(properties), axis0, axis1);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createCartesianCS", cs);
     }
@@ -747,12 +806,14 @@ public class GeodeticObjectFactory exten
      * {@link TemporalCRS} or {@link EngineeringCRS} interface depending on the type of the base CRS and the
      * coordinate system.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
+     *   <li>A {@code createFooCS(…)} method for Cartesian, spherical, ellipsoidal, vertical, temporal, linear, affine, polar, cylindrical or user-defined CS.</li>
      *   <li>An other {@code createFooCRS(…)} method for geocentric, geographic, vertical, temporal or engineering CRS.</li>
      *   <li>{@link org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory#createDefiningConversion(Map, OperationMethod, ParameterValueGroup)}</li>
-     *   <li>A {@code createFooCS(…)} method for Cartesian, spherical, ellipsoidal, vertical, temporal, linear, affine, polar, cylindrical or user-defined CS.</li>
-     * </ul>
+     * </ol></div>
      *
      * The supplied {@code conversion} argument shall <strong>not</strong> includes the operation steps
      * for performing {@linkplain org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes unit
@@ -768,6 +829,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultDerivedCRS#create(Map, SingleCRS, Conversion, CoordinateSystem)
+     * @see GeodeticAuthorityFactory#createDerivedCRS(String)
      */
     @Override
     public DerivedCRS createDerivedCRS(final Map<String,?> properties,
@@ -779,7 +841,11 @@ public class GeodeticObjectFactory exten
         try {
             crs = DefaultDerivedCRS.create(complete(properties), (SingleCRS) baseCRS, conversion, derivedCS);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            final Throwable cause = exception.getCause();
+            if (cause instanceof FactoryException) {
+                throw (FactoryException) cause;         // Must be propagated for allowing caller to catch NoSuchIdentifierException.
+            }
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createDerivedCRS", crs);
     }
@@ -789,11 +855,13 @@ public class GeodeticObjectFactory exten
      * Vertical CRSs make use of the direction of gravity to define the concept of height or depth,
      * but the relationship with gravity may not be straightforward.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
-     *   <li>{@link #createVerticalDatum(Map, VerticalDatumType)}</li>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
      *   <li>{@link #createVerticalCS(Map, CoordinateSystemAxis)}</li>
-     * </ul>
+     *   <li>{@link #createVerticalDatum(Map, VerticalDatumType)}</li>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultVerticalCRS} instance.
      *
@@ -803,6 +871,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultVerticalCRS#DefaultVerticalCRS(Map, VerticalDatum, VerticalCS)
+     * @see GeodeticAuthorityFactory#createVerticalCRS(String)
      */
     @Override
     public VerticalCRS createVerticalCRS(final Map<String,?> properties,
@@ -812,7 +881,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultVerticalCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createVerticalCRS", crs);
     }
@@ -826,6 +895,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultVerticalDatum#DefaultVerticalDatum(Map, VerticalDatumType)
+     * @see GeodeticAuthorityFactory#createVerticalDatum(String)
      */
     @Override
     public VerticalDatum createVerticalDatum(final Map<String,?> properties,
@@ -835,7 +905,7 @@ public class GeodeticObjectFactory exten
         try {
             datum = new DefaultVerticalDatum(complete(properties), type);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createVerticalDatum", datum);
     }
@@ -844,10 +914,11 @@ public class GeodeticObjectFactory exten
      * Creates a vertical coordinate system.
      * This coordinate system can be used with vertical and derived CRS.
      *
-     * <p>The components needed by this method can be created by the following method:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultVerticalCS} instance.
      *
@@ -856,6 +927,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultVerticalCS#DefaultVerticalCS(Map, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createVerticalCS(String)
      */
     @Override
     public VerticalCS createVerticalCS(final Map<String,?> properties,
@@ -865,7 +937,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultVerticalCS(complete(properties), axis);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createVerticalCS", cs);
     }
@@ -873,11 +945,13 @@ public class GeodeticObjectFactory exten
     /**
      * Creates a temporal coordinate reference system.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
-     *   <li>{@link #createTemporalDatum(Map, Date)}</li>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
      *   <li>{@link #createTimeCS(Map, CoordinateSystemAxis)}</li>
-     * </ul>
+     *   <li>{@link #createTemporalDatum(Map, Date)}</li>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultTemporalCRS} instance.
      *
@@ -887,6 +961,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultTemporalCRS#DefaultTemporalCRS(Map, TemporalDatum, TimeCS)
+     * @see GeodeticAuthorityFactory#createTemporalCRS(String)
      */
     @Override
     public TemporalCRS createTemporalCRS(final Map<String,?> properties,
@@ -896,7 +971,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultTemporalCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createTemporalCRS", crs);
     }
@@ -910,6 +985,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultTemporalDatum#DefaultTemporalDatum(Map, Date)
+     * @see GeodeticAuthorityFactory#createTemporalDatum(String)
      */
     @Override
     public TemporalDatum createTemporalDatum(final Map<String,?> properties,
@@ -919,7 +995,7 @@ public class GeodeticObjectFactory exten
         try {
             datum = new DefaultTemporalDatum(complete(properties), origin);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createTemporalDatum", datum);
     }
@@ -928,10 +1004,11 @@ public class GeodeticObjectFactory exten
      * Creates a temporal coordinate system.
      * This coordinate system can be used with temporal and derived CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultTimeCS} instance.
      *
@@ -940,6 +1017,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultTimeCS#DefaultTimeCS(Map, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createTimeCS(String)
      */
     @Override
     public TimeCS createTimeCS(final Map<String,?> properties,
@@ -949,7 +1027,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultTimeCS(complete(properties), axis);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createTimeCS", cs);
     }
@@ -959,11 +1037,11 @@ public class GeodeticObjectFactory exten
      * Apache SIS puts no restriction on the components that can be used in a compound CRS.
      * However for better inter-operability, users are encouraged to follow the order mandated by ISO 19162:
      *
-     * <ul>
+     * <ol>
      *   <li>A mandatory horizontal CRS (only one of two-dimensional {@code GeographicCRS} or {@code ProjectedCRS} or {@code EngineeringCRS}).</li>
      *   <li>Optionally followed by a {@code VerticalCRS} or a {@code ParametricCRS} (but not both).</li>
      *   <li>Optionally followed by a {@code TemporalCRS}.</li>
-     * </ul>
+     * </ol>
      *
      * The default implementation creates a {@link DefaultCompoundCRS} instance.
      *
@@ -972,6 +1050,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultCompoundCRS#DefaultCompoundCRS(Map, CoordinateReferenceSystem...)
+     * @see GeodeticAuthorityFactory#createCompoundCRS(String)
      */
     @Override
     public CompoundCRS createCompoundCRS(final Map<String,?> properties,
@@ -981,7 +1060,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultCompoundCRS(complete(properties), elements);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createCompoundCRS", crs);
     }
@@ -996,6 +1075,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultImageCRS#DefaultImageCRS(Map, ImageDatum, AffineCS)
+     * @see GeodeticAuthorityFactory#createImageCRS(String)
      */
     @Override
     public ImageCRS createImageCRS(final Map<String,?> properties,
@@ -1005,7 +1085,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultImageCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createImageCRS", crs);
     }
@@ -1019,6 +1099,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultImageDatum#DefaultImageDatum(Map, PixelInCell)
+     * @see GeodeticAuthorityFactory#createImageDatum(String)
      */
     @Override
     public ImageDatum createImageDatum(final Map<String,?> properties,
@@ -1028,7 +1109,7 @@ public class GeodeticObjectFactory exten
         try {
             datum = new DefaultImageDatum(complete(properties), pixelInCell);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createImageDatum", datum);
     }
@@ -1037,10 +1118,11 @@ public class GeodeticObjectFactory exten
      * Creates a two-dimensional affine coordinate system from the given pair of axis.
      * This coordinate system can be used with image and engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultAffineCS} instance.
      *
@@ -1060,7 +1142,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultAffineCS(complete(properties), axis0, axis1);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createAffineCS", cs);
     }
@@ -1074,11 +1156,13 @@ public class GeodeticObjectFactory exten
      *   <li>CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft.</li>
      * </ul>
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
-     *   <li>{@link #createEngineeringDatum(Map)}</li>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
+     *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
      *   <li>A {@code createFooCS(…)} method for Cartesian, spherical, linear, affine, polar, cylindrical or user-defined CS.</li>
-     * </ul>
+     *   <li>{@link #createEngineeringDatum(Map)}</li>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultEngineeringCRS} instance.
      *
@@ -1088,6 +1172,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultEngineeringCRS#DefaultEngineeringCRS(Map, EngineeringDatum, CoordinateSystem)
+     * @see GeodeticAuthorityFactory#createEngineeringCRS(String)
      */
     @Override
     public EngineeringCRS createEngineeringCRS(final Map<String,?> properties,
@@ -1097,7 +1182,7 @@ public class GeodeticObjectFactory exten
         try {
             crs = new DefaultEngineeringCRS(complete(properties), datum, cs);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createEngineeringCRS", crs);
     }
@@ -1110,6 +1195,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultEngineeringDatum#DefaultEngineeringDatum(Map)
+     * @see GeodeticAuthorityFactory#createEngineeringDatum(String)
      */
     @Override
     public EngineeringDatum createEngineeringDatum(final Map<String,?> properties)
@@ -1119,7 +1205,7 @@ public class GeodeticObjectFactory exten
         try {
             datum = new DefaultEngineeringDatum(complete(properties));
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createEngineeringDatum", datum);
     }
@@ -1128,10 +1214,11 @@ public class GeodeticObjectFactory exten
      * Creates a three-dimensional affine coordinate system from the given set of axis.
      * This coordinate system can be used with engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultAffineCS} instance.
      *
@@ -1141,7 +1228,7 @@ public class GeodeticObjectFactory exten
      * @param  axis2 The third  axis.
      * @throws FactoryException if the object creation failed.
      *
-     * @see DefaultAffineCS#DefaultAffineCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see DefaultAffineCS#DefaultAffineCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
      */
     @Override
     public AffineCS createAffineCS(final Map<String,?> properties,
@@ -1153,7 +1240,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultAffineCS(complete(properties), axis0, axis1, axis2);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createAffineCS", cs);
     }
@@ -1162,10 +1249,11 @@ public class GeodeticObjectFactory exten
      * Creates a cylindrical coordinate system from the given set of axis.
      * This coordinate system can be used with engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultCylindricalCS} instance.
      *
@@ -1176,6 +1264,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultCylindricalCS#DefaultCylindricalCS(Map, CoordinateSystemAxis, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createCylindricalCS(String)
      */
     @Override
     public CylindricalCS createCylindricalCS(final Map<String,?> properties,
@@ -1187,7 +1276,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultCylindricalCS(complete(properties), axis0, axis1, axis2);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createCylindricalCS", cs);
     }
@@ -1196,10 +1285,11 @@ public class GeodeticObjectFactory exten
      * Creates a polar coordinate system from the given pair of axis.
      * This coordinate system can be used with engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultPolarCS} instance.
      *
@@ -1209,6 +1299,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultPolarCS#DefaultPolarCS(Map, CoordinateSystemAxis, CoordinateSystemAxis)
+     * @see GeodeticAuthorityFactory#createPolarCS(String)
      */
     @Override
     public PolarCS createPolarCS(final Map<String,?> properties,
@@ -1219,7 +1310,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultPolarCS(complete(properties), axis0, axis1);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createPolarCS", cs);
     }
@@ -1228,10 +1319,11 @@ public class GeodeticObjectFactory exten
      * Creates a linear coordinate system.
      * This coordinate system can be used with engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultLinearCS} instance.
      *
@@ -1249,7 +1341,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultLinearCS(complete(properties), axis);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createLinearCS", cs);
     }
@@ -1258,10 +1350,11 @@ public class GeodeticObjectFactory exten
      * Creates a two-dimensional user defined coordinate system from the given pair of axis.
      * This coordinate system can be used with engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultUserDefinedCS} instance.
      *
@@ -1281,7 +1374,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultUserDefinedCS(complete(properties), axis0, axis1);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createUserDefinedCS", cs);
     }
@@ -1290,10 +1383,11 @@ public class GeodeticObjectFactory exten
      * Creates a three-dimensional user defined coordinate system from the given set of axis.
      * This coordinate system can be used with engineering CRS.
      *
-     * <p>The components needed by this method can be created by the following methods:</p>
-     * <ul>
+     * <div class="note"><b>Dependencies:</b>
+     * the components needed by this method can be created by the following methods:
+     * <ol>
      *   <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
-     * </ul>
+     * </ol></div>
      *
      * The default implementation creates a {@link DefaultUserDefinedCS} instance.
      *
@@ -1315,7 +1409,7 @@ public class GeodeticObjectFactory exten
         try {
             cs = new DefaultUserDefinedCS(complete(properties), axis0, axis1, axis2);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createUserDefinedCS", cs);
     }
@@ -1334,6 +1428,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see DefaultCoordinateSystemAxis#DefaultCoordinateSystemAxis(Map, String, AxisDirection, Unit)
+     * @see GeodeticAuthorityFactory#createCoordinateSystemAxis(String)
      */
     @Override
     public CoordinateSystemAxis createCoordinateSystemAxis(final Map<String,?> properties,
@@ -1344,7 +1439,7 @@ public class GeodeticObjectFactory exten
         try {
             axis = new DefaultCoordinateSystemAxis(complete(properties), abbreviation, direction, unit);
         } catch (IllegalArgumentException exception) {
-            throw new FactoryException(exception);
+            throw new InvalidGeodeticParameterException(exception);
         }
         return unique("createCoordinateSystemAxis", axis);
     }
@@ -1358,6 +1453,8 @@ public class GeodeticObjectFactory exten
      *
      * @param  xml Coordinate reference system encoded in XML format.
      * @throws FactoryException if the object creation failed.
+     *
+     * @see XML#unmarshal(String)
      */
     @Override
     public CoordinateReferenceSystem createFromXML(final String xml) throws FactoryException {
@@ -1365,7 +1462,7 @@ public class GeodeticObjectFactory exten
         try {
             object = XML.unmarshal(xml);
         } catch (JAXBException e) {
-            throw new FactoryException(e);
+            throw new FactoryException(e.getLocalizedMessage(), e);
         }
         if (object instanceof CoordinateReferenceSystem) {
             return (CoordinateReferenceSystem) object;
@@ -1415,6 +1512,7 @@ public class GeodeticObjectFactory exten
      * @throws FactoryException if the object creation failed.
      *
      * @see org.apache.sis.io.wkt
+     * @see org.apache.sis.referencing.CRS#fromWKT(String)
      * @see <a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html">WKT 2 specification</a>
      * @see <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">Legacy WKT 1</a>
      */

Copied: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java (from r1724479, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java?p2=sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java&p1=sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java&r1=1724479&r2=1724528&rev=1724528&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -477,7 +477,7 @@ public class IdentifiedObjectFinder {
      * @see #createFromNames(IdentifiedObject)
      */
     private Set<IdentifiedObject> createFromCodes(final IdentifiedObject object) throws FactoryException {
-        final Set<IdentifiedObject> result = new LinkedHashSet<>();     // We need to preserve order.
+        final Set<IdentifiedObject> result = new LinkedHashSet<IdentifiedObject>();     // We need to preserve order.
         for (final String code : getCodeCandidates(object)) {
             final IdentifiedObject candidate;
             try {

Copied: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java (from r1724479, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java?p2=sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java&p1=sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java&r1=1724479&r2=1724528&rev=1724528&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -42,7 +42,8 @@ import org.apache.sis.util.ArgumentCheck
 import org.apache.sis.util.Classes;
 
 // Branch-dependent imports
-import java.util.Objects;
+import org.apache.sis.internal.jdk7.Objects;
+import org.apache.sis.internal.jdk7.JDK7;
 import org.apache.sis.internal.jdk8.JDK8;
 
 
@@ -93,7 +94,7 @@ public class IdentifiedObjectSet<T exten
      * <p><b>Note:</b> using {@code ConcurrentHahMap} would be more efficient.
      * But the later does not support null values and does not preserve insertion order.</p>
      */
-    final Map<String,T> objects = new LinkedHashMap<>();
+    final Map<String,T> objects = new LinkedHashMap<String,T>();
 
     /**
      * The {@link #objects} keys, created for iteration purpose when first needed and cleared when the map is modified.
@@ -214,7 +215,7 @@ public class IdentifiedObjectSet<T exten
     public void setAuthorityCodes(final String... codes) {
         synchronized (objects) {
             this.codes = null;
-            final Map<String,T> copy = new HashMap<>(objects);
+            final Map<String,T> copy = new HashMap<String,T>(objects);
             objects.clear();
             for (final String code : codes) {
                 objects.put(code, copy.get(code));
@@ -552,7 +553,7 @@ public class IdentifiedObjectSet<T exten
      * Returns the message to format below the logging for giving the cause of an error.
      */
     private static String getCause(Throwable cause) {
-        final String lineSeparator = System.lineSeparator();
+        final String lineSeparator = JDK7.lineSeparator();
         final StringBuilder trace = new StringBuilder(180);
         while (cause != null) {
             trace.append(lineSeparator).append("  • ").append(Classes.getShortClassName(cause));

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java?rev=1724528&r1=1724479&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -188,7 +188,7 @@ final class AuthorityCodes extends Abstr
      * See class Javadoc for more information.
      */
     final CloseableReference<AuthorityCodes> createReference() {
-        return new CloseableReference<>(this, factory, statements);
+        return new CloseableReference<AuthorityCodes>(this, factory, statements);
     }
 
     /**
@@ -294,13 +294,16 @@ final class AuthorityCodes extends Abstr
                             sql[ONE] = null;    // Not needed anymore.
                         }
                         statement.setInt(1, n);
-                        try (ResultSet results = statement.executeQuery()) {
+                        final ResultSet results = statement.executeQuery();
+                        try {
                             while (results.next()) {
                                 String name = results.getString(1);
                                 if (name != null) {
                                     return name;
                                 }
                             }
+                        } finally {
+                            results.close();
                         }
                     }
                 }
@@ -377,7 +380,7 @@ final class AuthorityCodes extends Abstr
      * The serialized map of authority codes is disconnected from the underlying database.
      */
     protected Object writeReplace() throws ObjectStreamException {
-        return new LinkedHashMap<>(this);
+        return new LinkedHashMap<String,String>(this);
     }
 
     /*

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AxisName.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AxisName.java?rev=1724528&r1=1724479&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AxisName.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AxisName.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -16,7 +16,7 @@
  */
 package org.apache.sis.referencing.factory.sql;
 
-import java.util.Objects;
+import org.apache.sis.internal.jdk7.Objects;
 import org.apache.sis.util.Debug;
 
 

Modified: sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/CloseableReference.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/CloseableReference.java?rev=1724528&r1=1724479&r2=1724528&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/CloseableReference.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/CloseableReference.java [UTF-8] Wed Jan 13 23:25:38 2016
@@ -73,7 +73,7 @@ final class CloseableReference<T> extend
                     if (exception == null) {
                         exception = e;
                     } else {
-                        exception.addSuppressed(e);
+                        // exception.addSuppressed(e) on the JDK7 branch.
                     }
                 }
             }




Mime
View raw message