Modified: 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/StringJoinOperation.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -375,7 +375,7 @@ final class StringJoinOperation extends
                 /*
                  * Empty strings are considered as null values for consistency 
with StringJoinOperation.format(…).
                  * If we have more values than expected, continue the parsing 
but without storing the values.
-                 * The intend is to get the correct count of values for error 
reporting.
+                 * The intent is to get the correct count of values for error 
reporting.
                  */
                 if (!element.isEmpty() && count < values.length) try {
                     values[count] = converters[count].apply(element);

Modified: 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -75,7 +75,7 @@ final class Validator {
      * a new {@link DefaultDomainConsistency} instance with the measure 
identification set to the property name.
      *
      * <div class="note"><b>Note:</b>
-     * setting {@code measureIdentification} to the property name may look 
like a departure from ISO intend,
+     * setting {@code measureIdentification} to the property name may look 
like a departure from ISO intent,
      * since the former should be an identification of the <em>quality 
measurement</em> rather then the measure itself.
      * (setting {@code measureDescription} to {@code type.getDescription()} 
would probably be wrong for that reason).
      * However {@code measureIdentification} is only an identifier, not a full 
description of the quality measurement

Modified: 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/OperationWrapper.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/OperationWrapper.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/OperationWrapper.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/OperationWrapper.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -67,11 +67,11 @@ final class OperationWrapper extends Pro
     /**
      * Do not allow modifications.
      */
-    @Override public TypeBuilder setName       (GenericName name)         
{throw readOnly();}
-    @Override public TypeBuilder setDefinition (CharSequence definition)  
{throw readOnly();}
-    @Override public TypeBuilder setDesignation(CharSequence designation) 
{throw readOnly();}
-    @Override public TypeBuilder setDescription(CharSequence description) 
{throw readOnly();}
-    @Override public TypeBuilder setDeprecated (boolean deprecated)       
{throw readOnly();}
+    @Override public PropertyTypeBuilder setName       (GenericName name)      
   {throw readOnly();}
+    @Override public PropertyTypeBuilder setDefinition (CharSequence 
definition)  {throw readOnly();}
+    @Override public PropertyTypeBuilder setDesignation(CharSequence 
designation) {throw readOnly();}
+    @Override public PropertyTypeBuilder setDescription(CharSequence 
description) {throw readOnly();}
+    @Override public PropertyTypeBuilder setDeprecated (boolean deprecated)    
   {throw readOnly();}
 
     /**
      * Returns the exception to be thrown for read-only wrapper.

Modified: 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/PropertyTypeBuilder.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/PropertyTypeBuilder.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/PropertyTypeBuilder.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/PropertyTypeBuilder.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -41,7 +41,7 @@ import org.opengis.feature.FeatureAssoci
  *
  * @author  Johann Sorel (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.8
  * @module
  */
@@ -105,6 +105,42 @@ public abstract class PropertyTypeBuilde
     }
 
     /**
+     * Sets the {@code PropertyType} name as a generic name.
+     * See {@linkplain TypeBuilder#setName(GenericName) the parent class} for 
more information.
+     *
+     * @return {@code this} for allowing method calls chaining.
+     */
+    @Override
+    public PropertyTypeBuilder setName(final GenericName name) {
+        super.setName(name);
+        return this;
+    }
+
+    /**
+     * Sets the {@code PropertyType} name as a simple string (local name).
+     * See {@linkplain TypeBuilder#setName(CharSequence) the parent class} for 
more information.
+     *
+     * @return {@code this} for allowing method calls chaining.
+     */
+    @Override
+    public PropertyTypeBuilder setName(final CharSequence localPart) {
+        super.setName(localPart);
+        return this;
+    }
+
+    /**
+     * Sets the {@code PropertyType} name as a string in the given scope.
+     * See {@linkplain TypeBuilder#setName(CharSequence...) the parent class} 
for more information.
+     *
+     * @return {@code this} for allowing method calls chaining.
+     */
+    @Override
+    public PropertyTypeBuilder setName(final CharSequence... components) {
+        super.setName(components);
+        return this;
+    }
+
+    /**
      * Returns the minimum number of property values.
      * The returned value is greater than or equal to zero.
      *
@@ -177,6 +213,42 @@ public abstract class PropertyTypeBuilde
         return this;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public PropertyTypeBuilder setDefinition(final CharSequence definition) {
+        super.setDefinition(definition);
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public PropertyTypeBuilder setDesignation(final CharSequence designation) {
+        super.setDesignation(designation);
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public PropertyTypeBuilder setDescription(final CharSequence description) {
+        super.setDescription(description);
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public PropertyTypeBuilder setDeprecated(final boolean deprecated) {
+        super.setDeprecated(deprecated);
+        return this;
+    }
+
     /**
      * Returns {@code true} if {@link AttributeRole#IDENTIFIER_COMPONENT} has 
been associated to this property.
      */

Modified: 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/DateList.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/DateList.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/DateList.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/DateList.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -16,13 +16,11 @@
  */
 package org.apache.sis.internal.feature;
 
+import java.time.Instant;
 import java.util.AbstractList;
 import org.apache.sis.math.Vector;
 import org.apache.sis.util.collection.CheckedContainer;
 
-// Branch-dependent imports
-import java.time.Instant;
-
 
 /**
  * Unmodifiable lists of instants.

Modified: 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeature.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeature.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeature.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeature.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -22,7 +22,9 @@ import java.util.Date;
 import java.util.Objects;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import java.util.function.Consumer;
 import java.lang.reflect.Array;
+import java.time.Instant;
 import org.opengis.util.LocalName;
 import org.apache.sis.math.Vector;
 import org.apache.sis.util.iso.Names;
@@ -31,8 +33,6 @@ import org.apache.sis.util.CorruptedObje
 import org.apache.sis.internal.util.UnmodifiableArrayList;
 
 // Branch-dependent imports
-import java.time.Instant;
-import java.util.function.Consumer;
 import org.opengis.feature.Attribute;
 import org.opengis.feature.AttributeType;
 import org.opengis.feature.Feature;

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Merger.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Merger.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Merger.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Merger.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -223,7 +223,7 @@ distribute:                 while (it.ha
                                     case MERGE: {
                                         /*
                                          * If enabled, copy(…, true) call 
verified that the merge can be done, including
-                                         * by recursive checks in all 
children. The intend is to have a "all or nothing"
+                                         * by recursive checks in all 
children. The intent is to have a "all or nothing"
                                          * behavior, before the copy(…, false) 
call below starts to modify the values.
                                          */
                                         if (!copy(value, (ModifiableMetadata) 
element, false)) break;

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -171,7 +171,7 @@ public class ReferencingServices extends
                 if (c == null) {
                     /*
                      * Double-checked locking: okay since Java 5 provided that 
the 'instance' field is volatile.
-                     * In the particular case of this class, the intend is to 
ensure that SystemListener.add(…)
+                     * In the particular case of this class, the intent is to 
ensure that SystemListener.add(…)
                      * is invoked only once.
                      */
                     c = getInstance(ReferencingServices.class, 
Modules.METADATA, "sis-referencing",

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/SensorType.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/SensorType.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/SensorType.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/SensorType.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -86,7 +86,7 @@ public final class SensorType extends Co
     }
 
     /**
-     * Returns the axis direction that matches the given string, or returns a
+     * Returns the sensor type that matches the given string, or returns a
      * new one if none match it. More specifically, this methods returns the 
first instance for
      * which <code>{@linkplain #name() name()}.{@linkplain String#equals 
equals}(code)</code>
      * returns {@code true}. If no existing instance is found, then a new one 
is created for

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -267,7 +267,7 @@ public abstract class Initializer {
                 final LogRecord record = 
Messages.getResources(null).getLogRecord(
                         Level.CONFIG, Messages.Keys.JNDINotSpecified_1, JNDI);
                 record.setLoggerName(Loggers.SQL);
-                Logging.log(Initializer.class, "getDataSource", record);
+                Logging.log(null, null, record);                // Let 
Logging.log(…) infers the public caller.
             }
             /*
              * At this point we determined that there is no JNDI context or no 
object binded to "jdbc/SpatialMetadata".
@@ -286,7 +286,7 @@ public abstract class Initializer {
                     if (home != null) try {
                         /*
                          * If a "derby.system.home" property is set, we may be 
able to get a shorter path by making it
-                         * relative to Derby home. The intend is to have a 
nicer URL like "jdbc:derby:SpatialMetadata"
+                         * relative to Derby home. The intent is to have a 
nicer URL like "jdbc:derby:SpatialMetadata"
                          * instead than 
"jdbc:derby:/a/long/path/to/SIS/Data/Databases/SpatialMetadata". In addition
                          * to making loggings and 
EPSGDataAccess.getAuthority() output nicer, it also reduces the risk
                          * of encoding issues if the path contains spaces or 
non-ASCII characters.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/SQLBuilder.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/SQLBuilder.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/SQLBuilder.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/SQLBuilder.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -214,7 +214,7 @@ public class SQLBuilder {
      * Appends a string as an escaped {@code LIKE} argument.
      * This method does not put any {@code '} character, and does not accept 
null argument.
      *
-     * <p>This method does not double the simple quotes of the given string on 
intend, because
+     * <p>This method does not double the simple quotes of the given string on 
intent, because
      * it may be used in a {@code PreparedStatement}. If the simple quotes 
need to be doubled,
      * then {@link #doubleQuotes(Object)} should be invoked explicitly.</p>
      *
@@ -274,7 +274,7 @@ public class SQLBuilder {
      *   REFERENCES "schema"."target" (primaryKey) ON UPDATE CASCADE ON DELETE 
RESTRICT
      * }
      *
-     * Note that the primary key is <strong>not</strong> quoted on intend.
+     * Note that the primary key is <strong>not</strong> quoted on intent.
      * If quoted are desired, then they must be added explicitly before to 
call this method.
      *
      * @param  schema      the schema for both tables.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/ScriptRunner.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/ScriptRunner.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/ScriptRunner.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/ScriptRunner.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -21,6 +21,7 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.regex.Pattern;
 import java.util.regex.Matcher;
+import java.util.function.BiFunction;
 import java.io.EOFException;
 import java.io.IOException;
 import java.io.BufferedReader;
@@ -36,9 +37,6 @@ import org.apache.sis.util.ArgumentCheck
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.resources.Errors;
 
-// Branch-specific imports
-import java.util.function.BiFunction;
-
 
 /**
  * Run SQL scripts. The script is expected to use a standardized syntax, where 
the {@value #QUOTE} character

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Formatter.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -419,7 +419,7 @@ public class Formatter implements Locali
 
     /**
      * Returns a mapper between Java character sequences and the characters to 
write in WKT.
-     * The intend is to specify how to write characters that are not allowed 
in WKT strings
+     * The intent is to specify how to write characters that are not allowed 
in WKT strings
      * according ISO 19162 specification. Return values can be:
      *
      * <ul>
@@ -1164,7 +1164,7 @@ public class Formatter implements Locali
         } else {
             /*
              * The 2 below is for using two less fraction digits than the 
expected number accuracy.
-             * The intend is to give to DecimalFormat a chance to hide 
rounding errors, keeping in
+             * The intent is to give to DecimalFormat a chance to hide 
rounding errors, keeping in
              * mind that the number value is not necessarily the original one 
(we may have applied
              * a unit conversion). In the case of WGS84 semi-major axis in 
metres, we still have a
              * maximum of 8 fraction digits, which is more than enough.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -312,7 +312,7 @@ public class WKTFormat extends CompoundF
 
     /**
      * Returns a mapper between Java character sequences and the characters to 
write in WKT.
-     * The intend is to specify how to write characters that are not allowed 
in WKT strings
+     * The intent is to specify how to write characters that are not allowed 
in WKT strings
      * according ISO 19162 specification. Return values can be:
      *
      * <ul>

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -130,7 +130,7 @@ public abstract class AbstractMetadata i
      * returned by {@link MetadataStandard#asValueMap(Object, Class, 
KeyNamePolicy, ValueExistencePolicy)}.
      * Subclasses that override this method should usually not invoke {@code 
super.isEmpty()},
      * because the Java reflection will discover and process the properties 
defined in the
-     * subclasses - which is usually not the intend when overriding a method.
+     * subclasses - which is usually not the intent when overriding a method.
      *
      * @return {@code true} if this metadata is empty.
      *
@@ -140,7 +140,7 @@ public abstract class AbstractMetadata i
     public boolean isEmpty() {
         /*
          * The NULL_COLLECTION semaphore prevents creation of new empty 
collections by getter methods
-         * (a consequence of lazy instantiation). The intend is to avoid 
creation of unnecessary objects
+         * (a consequence of lazy instantiation). The intent is to avoid 
creation of unnecessary objects
          * for all unused properties. Users should not see behavioral 
difference, except if they override
          * some getters with an implementation invoking other getters. However 
in such cases, users would
          * have been exposed to null values at XML marshalling time anyway.
@@ -196,7 +196,7 @@ public abstract class AbstractMetadata i
      * property associated to the given key is a {@link java.util.Collection} 
but the given value is a single
      * element (not a collection), then the given value is {@linkplain 
java.util.Collection#add(Object) added}
      * to the existing collection. In other words, the returned map behaves as 
a <cite>multi-values map</cite>
-     * for the properties that allow multiple values. If the intend is to 
unconditionally discard all previous
+     * for the properties that allow multiple values. If the intent is to 
unconditionally discard all previous
      * values, then make sure that the given value is a collection when the 
associated metadata property expects
      * such collection.
      *

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -801,7 +801,7 @@ public class MetadataStandard implements
      * property associated to the given key is a {@link java.util.Collection} 
but the given value is a single
      * element (not a collection), then the given value is {@linkplain 
java.util.Collection#add(Object) added}
      * to the existing collection. In other words, the returned map behaves as 
a <cite>multi-values map</cite>
-     * for the properties that allow multiple values. If the intend is to 
unconditionally discard all previous
+     * for the properties that allow multiple values. If the intent is to 
unconditionally discard all previous
      * values, then make sure that the given value is a collection when the 
associated metadata property expects
      * such collection.
      *
@@ -835,23 +835,6 @@ public class MetadataStandard implements
     }
 
     /**
-     * @deprecated Replaced by {@link #asValueMap(Object, Class, 
KeyNamePolicy, ValueExistencePolicy)}
-     * (i.e. a {@code Class} argument has been inserted after the metadata 
value).
-     *
-     * @param  metadata     the metadata object to view as a map.
-     * @param  keyPolicy    determines the string representation of map keys.
-     * @param  valuePolicy  whether the entries having null value or empty 
collection shall be included in the map.
-     * @return a map view over the metadata object.
-     * @throws ClassCastException if the metadata object does not implement a 
metadata interface of the expected package.
-     */
-    @Deprecated
-    public Map<String,Object> asValueMap(final Object metadata, final 
KeyNamePolicy keyPolicy,
-            final ValueExistencePolicy valuePolicy) throws ClassCastException
-    {
-        return asValueMap(metadata, null, keyPolicy, valuePolicy);
-    }
-
-    /**
      * Returns the specified metadata object as a tree table.
      * The tree table is backed by the metadata object using Java reflection, 
so changes in the
      * underlying metadata object are immediately reflected in the tree table 
and conversely.
@@ -933,20 +916,6 @@ public class MetadataStandard implements
     }
 
     /**
-     * @deprecated Replaced by {@link #asTreeTable(Object, Class, 
ValueExistencePolicy)}
-     * (i.e. a {@code Class} argument has been inserted after the metadata 
value).
-     *
-     * @param  metadata     the metadata object to view as a tree table.
-     * @param  valuePolicy  whether the property having null value or empty 
collection shall be included in the tree.
-     * @return a tree table representation of the specified metadata.
-     * @throws ClassCastException if the metadata object does not implement a 
metadata interface of the expected package.
-     */
-    @Deprecated
-    public TreeTable asTreeTable(final Object metadata, final 
ValueExistencePolicy valuePolicy) throws ClassCastException {
-        return asTreeTable(metadata, null, valuePolicy);
-    }
-
-    /**
      * Replaces every properties in the specified metadata by their
      * {@linkplain ModifiableMetadata#unmodifiable() unmodifiable variant}.
      *
@@ -1016,7 +985,7 @@ public class MetadataStandard implements
         if (inProgress.add(pair)) {
             /*
              * The NULL_COLLECTION semaphore prevents creation of new empty 
collections by getter methods
-             * (a consequence of lazy instantiation). The intend is to avoid 
creation of unnecessary objects
+             * (a consequence of lazy instantiation). The intent is to avoid 
creation of unnecessary objects
              * for all unused properties. Users should not see behavioral 
difference, except if they override
              * some getters with an implementation invoking other getters. 
However in such cases, users would
              * have been exposed to null values at XML marshalling time anyway.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/ModifiableMetadata.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/ModifiableMetadata.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/ModifiableMetadata.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/ModifiableMetadata.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -219,7 +219,7 @@ public abstract class ModifiableMetadata
             ModifiableMetadata success = null;
             /*
              * The NULL_COLLECTION semaphore prevents creation of new empty 
collections by getter methods
-             * (a consequence of lazy instantiation). The intend is to avoid 
creation of unnecessary objects
+             * (a consequence of lazy instantiation). The intent is to avoid 
creation of unnecessary objects
              * for all unused properties. Users should not see behavioral 
difference, except if they override
              * some getters with an implementation invoking other getters. 
However in such cases, users would
              * have been exposed to null values at XML marshalling time anyway.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyAccessor.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -349,7 +349,7 @@ class PropertyAccessor {
             /*
              * Get the type of elements returned by the getter. We perform 
this step last because
              * the search for a setter above may have replaced the getter 
declared in the interface
-             * by the getter declared in the implementation with a covariant 
return type. Our intend
+             * by the getter declared in the implementation with a covariant 
return type. Our intent
              * is to get a type which can be accepted by the setter.
              */
             Class<?> elementType = getter.getReturnType();

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNodeChildren.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNodeChildren.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNodeChildren.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeNodeChildren.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -142,7 +142,7 @@ final class TreeNodeChildren extends Abs
         this.children = new TreeNode[accessor.count()];
         /*
          * Search for something that looks like the main property, to be 
associated with the parent node
-         * instead than provided as a child. The intend is to have more 
compact and easy to read trees.
+         * instead than provided as a child. The intent is to have more 
compact and easy to read trees.
          * That property shall be a singleton for a simple value (not another 
metadata object).
          */
         if (parent.table.valuePolicy == ValueExistencePolicy.COMPACT) {

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeTableView.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeTableView.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeTableView.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/TreeTableView.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -144,7 +144,7 @@ final class TreeTableView implements Tre
             }
             /*
              * The NULL_COLLECTION semaphore prevents creation of new empty 
collections by getter methods
-             * (a consequence of lazy instantiation). The intend is to avoid 
creation of unnecessary objects
+             * (a consequence of lazy instantiation). The intent is to avoid 
creation of unnecessary objects
              * for all unused properties. Users should not see behavioral 
difference, except if they override
              * some getters with an implementation invoking other getters. 
However in such cases, users would
              * have been exposed to null values at XML marshalling time anyway.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -374,7 +374,7 @@ public class DefaultMetadata extends ISO
      * the deprecated getter methods invoke only the non-deprecated getter 
replacement, and the deprecated
      * setter methods invoke only the non-deprecated setter replacement 
(unless the invoked methods are final).
      * This means that if a deprecated setter methods need the old value, it 
will read the field directly.
-     * The intend is to avoid surprising code paths for user who override some 
methods.
+     * The intent is to avoid surprising code paths for user who override some 
methods.
      */
 
     /**

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -491,7 +491,7 @@ public class ImmutableIdentifier extends
         /*
          * The code, codeSpace, authority and version local variables in this 
method usually have the exact same
          * value than the fields of the same name in this class.  But we get 
those values by invoking the public
-         * methods in order to give to users a chance to override those 
properties.  The intend is also to use a
+         * methods in order to give to users a chance to override those 
properties.  The intent is also to use a
          * consistent approach for all 'formatTo' implementations, since some 
other classes have no choice other
          * than using the public methods.
          */

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -305,7 +305,7 @@ public final class Citations extends Sta
 
     /**
      * The authority for identifiers of objects defined by the
-     * <a href="http://www.unidata.ucar.edu/software/netcdf-java";>NetCDF</a> 
specification.
+     * <a 
href="http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/";>NetCDF</a>
 specification.
      * The {@linkplain IdentifierSpace#getName() name} of this identifier 
space is fixed to {@code "NetCDF"}.
      * This citation is used as the authority for some map projection method 
and parameter names
      * as used in netCDF files.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -17,7 +17,6 @@
 package org.apache.sis.metadata.iso.distribution;
 
 import java.util.Collection;
-import java.util.Collections;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -30,7 +29,6 @@ import org.apache.sis.internal.metadata.
 import org.apache.sis.internal.metadata.LegacyPropertyAdapter;
 import org.apache.sis.metadata.iso.citation.DefaultCitation;
 import org.apache.sis.metadata.iso.ISOMetadata;
-import org.apache.sis.util.iso.Types;
 
 // Branch-dependent imports
 import java.util.function.BiConsumer;
@@ -132,27 +130,6 @@ public class DefaultFormat extends ISOMe
     }
 
     /**
-     * Creates a format initialized to the given name and version.
-     * The given name should be a short name or abbreviation, for example 
"JPEG" or "GeoTIFF".
-     *
-     * @param  name     the abbreviated name of the data transfer format, or 
{@code null}.
-     * @param  version  the version of the format (date, number, <i>etc.</i>), 
or {@code null}.
-     *
-     * @deprecated This constructor had a straightforward meaning in ISO 
19115:2003, but became confusing
-     *             with the ISO 19115:2014 update because of differences in 
the {@code Format} model.
-     *             Consider using {@link 
org.apache.sis.metadata.sql.MetadataSource#lookup(Class, String)} instead.
-     */
-    @Deprecated
-    public DefaultFormat(CharSequence name, final CharSequence version) {
-        final DefaultCitation citation = new DefaultCitation();
-        if (name != null) {
-            
citation.setAlternateTitles(Collections.singleton(Types.toInternationalString(name)));
-        }
-        citation.setEdition(Types.toInternationalString(version));
-        formatSpecificationCitation = citation;
-    }
-
-    /**
      * Constructs a new instance initialized with the values from the 
specified metadata object.
      * This is a <cite>shallow</cite> copy constructor, since the other 
metadata contained in the
      * given object are not recursively copied.

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/Extents.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/Extents.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/Extents.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/Extents.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -62,11 +62,11 @@ import org.opengis.geometry.Geometry;
  * This class provides methods for:
  *
  * <ul>
- *   <li>{@link #getGeographicBoundingBox(Extent)}, {@link 
#getVerticalRange(Extent)}
- *       and {@link #getDate(Extent, double)}
- *       for fetching geographic or temporal components in a convenient 
form.</li>
- *   <li>Methods for computing {@linkplain #intersection intersection} of 
bounding boxes
- *       and {@linkplain #area area} estimations.</li>
+ *   <li>{@linkplain #getGeographicBoundingBox Fetching geographic},
+ *       {@linkplain #getVerticalRange vertical} or
+ *       {@linkplain #getDate temporal components} in a convenient form.</li>
+ *   <li>Computing {@linkplain #intersection intersection} of bounding 
boxes</li>
+ *   <li>Computing {@linkplain #area area} estimations.</li>
  * </ul>
  *
  * @author  Martin Desruisseaux (Geomatys)

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultAggregateInformation.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -199,7 +199,7 @@ public class DefaultAggregateInformation
             }
             /*
              * If there is more than one value, replace only the first one and 
keep all other ones unchanged.
-             * The intend is to be consistent with the getter method, which 
returns the first element.
+             * The intent is to be consistent with the getter method, which 
returns the first element.
              */
             final ArrayList<Identifier> identifiers = new 
ArrayList<>(name.getIdentifiers());
             if (identifiers.isEmpty()) {

Modified: 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/Dispatcher.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/Dispatcher.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/Dispatcher.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/Dispatcher.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -86,7 +86,7 @@ final class Dispatcher implements Invoca
     /**
      * The metadata instance where to store the property (column) values, or 
{@code null} if not yet created.
      * For ISO 19115, this is an instance of one of the classes defined in 
{@link org.apache.sis.metadata.iso}
-     * package or sub-packages. The intend is not only to cache the property 
values, but also to leverage
+     * package or sub-packages. The intent is not only to cache the property 
values, but also to leverage
      * implementations that compute automatically some property values from 
other properties.
      * The main usage is computing the value of a deprecated property from the 
values of non-deprecated ones,
      * e.g. for transition from ISO 19115:2003 to ISO 19115:2014.
@@ -208,7 +208,7 @@ final class Dispatcher implements Invoca
         final long nullBit = 1L << 
info.asIndexMap(source.standard).get(method.getName());     // Okay even if 
overflow.
         /*
          * The NULL_COLLECTION semaphore prevents creation of new empty 
collections by getter methods
-         * (a consequence of lazy instantiation). The intend is to avoid 
creation of unnecessary objects
+         * (a consequence of lazy instantiation). The intent is to avoid 
creation of unnecessary objects
          * for all unused properties. Users should not see behavioral 
difference.
          */
         if ((nullValues & nullBit) == 0) {

Modified: 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/WKTKeywordsTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/WKTKeywordsTest.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/WKTKeywordsTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/WKTKeywordsTest.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -35,7 +35,7 @@ import static org.junit.Assert.*;
 public final strictfp class WKTKeywordsTest extends TestCase {
     /**
      * Ensures that all constants are equal to the name of the field that 
declare it.
-     * The intend is to avoid misleading constant names when reading code.
+     * The intent is to avoid misleading constant names when reading code.
      *
      * <p>This test is not strictly necessary. We are just checking an 
arbitrary convention here, not a requirement.
      * If a developer change the constant values without changing the constant 
names (for example in order to use the

Modified: 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -249,7 +249,7 @@ public final strictfp class MetadataStan
     }
 
     /**
-     * Tests the {@link MetadataStandard#asValueMap(Object, KeyNamePolicy, 
ValueExistencePolicy)} implementation.
+     * Tests the {@link MetadataStandard#asValueMap(Object, Class, 
KeyNamePolicy, ValueExistencePolicy)} implementation.
      * This test duplicates {@link ValueMapTest}, but is done here again as an 
integration test and because many
      * {@code MetadataStandard} methods depend on it ({@code equals}, {@code 
hashCode}, {@code prune}, <i>etc.</i>).
      */

Modified: 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -42,7 +42,7 @@ import static org.apache.sis.test.TestUt
 
 /**
  * Tests the {@link ValueMap} class on instances created by
- * {@link MetadataStandard#asValueMap(Object, KeyNamePolicy, 
ValueExistencePolicy)}.
+ * {@link MetadataStandard#asValueMap(Object, Class, KeyNamePolicy, 
ValueExistencePolicy)}.
  * Unless otherwise specified, all tests use the {@link 
MetadataStandard#ISO_19115} constant.
  *
  * @author  Martin Desruisseaux (Geomatys)

Modified: 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/APIVerifier.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/APIVerifier.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/APIVerifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/APIVerifier.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -41,7 +41,7 @@ import static org.junit.Assert.*;
  * Verifies the API changes caused by the ISO 19115:2003 to ISO 19115:2014 
upgrade.
  * This class compares the presence of {@link Deprecated} and {@link UML} 
annotations against the content of an
  * {@linkplain #listAPIChanges(File, File, File, Appendable) automatically 
generated} {@code api-changes.properties} file.
- * The intend is to ensure that we did not forgot an annotation or put the 
wrong one.
+ * The intent is to ensure that we did not forgot an annotation or put the 
wrong one.
  *
  * <p>The content of the {@code api-changes.properties} files is typically 
empty on Apache SIS
  * branches that use a snapshot version of GeoAPI, thus making this test a 
no-op. However the

Modified: 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -43,6 +43,11 @@ import org.opengis.referencing.gazetteer
 
 /**
  * Geographic coordinates represented as <cite>geohashes</cite> strings.
+ * Geohash is a simple encoding of geographic coordinates into a short string 
of letters and digits.
+ * Longer strings are more accurate, however the accuracy is not uniformly 
distributed between latitude
+ * and longitude, and removing digits decreases accuracy faster when the point 
is located close to the
+ * equator than close to a pole. For a system having more uniform accuracy, 
see the
+ * {@linkplain MilitaryGridReferenceSystem Military Grid Reference System} 
(MGRS).
  *
  * @author  Chris Mattmann (JPL)
  * @author  Martin Desruisseaux (Geomatys)

Modified: 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -21,6 +21,11 @@ import java.util.Map;
 import java.util.IdentityHashMap;
 import java.util.ConcurrentModificationException;
 import java.util.Iterator;
+import java.util.Spliterator;
+import java.util.Spliterators;
+import java.util.stream.Stream;
+import java.util.function.Consumer;
+import java.util.stream.StreamSupport;
 import java.awt.geom.Rectangle2D;
 import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.util.FactoryException;
@@ -66,11 +71,6 @@ import org.apache.sis.measure.Longitude;
 import org.apache.sis.measure.Latitude;
 
 // Branch-dependent imports
-import java.util.Spliterator;
-import java.util.Spliterators;
-import java.util.stream.Stream;
-import java.util.function.Consumer;
-import java.util.stream.StreamSupport;
 import org.opengis.metadata.citation.Party;
 import org.opengis.referencing.gazetteer.Location;
 import org.opengis.referencing.gazetteer.LocationType;
@@ -1063,7 +1063,7 @@ public class MilitaryGridReferenceSystem
             xEnd  = (((int) Math.ceil(bounds.getMaxX() / step))) * step;       
             // Exclusive
             yEnd  = (((int) Math.ceil(bounds.getMaxY() / step))) * step;
             /*
-             * Determine if we should iterate on rows upward or downward. The 
intend is to iterate from equator to pole
+             * Determine if we should iterate on rows upward or downward. The 
intent is to iterate from equator to pole
              * in UTM zones, or from projection center to projection border in 
UPS cases.  Those directions enable some
              * optimizations.
              */

Modified: 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -21,6 +21,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.ConcurrentModificationException;
+import java.util.function.Function;
 import org.opengis.util.InternationalString;
 import org.opengis.metadata.extent.GeographicExtent;
 import org.apache.sis.metadata.iso.extent.DefaultGeographicDescription;
@@ -32,7 +33,6 @@ import org.apache.sis.util.ArgumentCheck
 import org.apache.sis.util.iso.Types;
 
 // Branch-dependent imports
-import java.util.function.Function;
 import org.opengis.metadata.citation.Party;
 import org.opengis.referencing.gazetteer.ReferenceSystemUsingIdentifiers;
 
@@ -115,7 +115,7 @@ import org.opengis.referencing.gazetteer
  * @since 0.8
  * @module
  */
-public class ModifiableLocationType extends AbstractLocationType {      // Not 
Serializable on intend.
+public class ModifiableLocationType extends AbstractLocationType {      // Not 
Serializable on intent.
     /**
      * Name of the location type.
      */

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/CoordinateFormat.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -29,6 +29,7 @@ import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
 import java.io.IOException;
+import java.io.UncheckedIOException;
 import javax.measure.Unit;
 import javax.measure.UnitConverter;
 import javax.measure.quantity.Time;
@@ -52,9 +53,6 @@ import org.apache.sis.measure.Units;
 import org.apache.sis.referencing.CRS;
 import org.apache.sis.io.CompoundFormat;
 
-// Branch-dependent imports
-import java.io.UncheckedIOException;
-
 
 /**
  * Formats spatiotemporal coordinates using number, angle and date formats 
inferred from the coordinate system.

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -445,7 +445,7 @@ public final class CC_GeneralOperationPa
 
     /**
      * Given an {@link Identifier} or {@link GenericName} instance, returns 
that instance as a {@link NamedIdentifier}
-     * implementation. The intend is to allow {@code Object.equals(Object)} 
and hash code to correctly recognize two
+     * implementation. The intent is to allow {@code Object.equals(Object)} 
and hash code to correctly recognize two
      * name or identifier as equal even if they are of different 
implementations.
      *
      * <p>Note that {@link NamedIdentifier} is the type of unmarshalled names, 
aliases and identifiers.

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -252,7 +252,7 @@ public class GeodeticObjectBuilder exten
      * @return {@code this}, for method calls chaining.
      * @throws FactoryException if the operation method for the Transverse 
Mercator projection can not be obtained.
      *
-     * @see CommonCRS#UTM(double, double)
+     * @see CommonCRS#universal(double, double)
      */
     public GeodeticObjectBuilder 
setTransverseMercator(TransverseMercator.Zoner zoner, double latitude, double 
longitude)
             throws FactoryException

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -203,7 +203,7 @@ public final class ReferencingUtilities
      * use an instance of {@link GeographicCRS}. Otherwise (i.e. if the two 
first dimensions are not geographic),
      * returns {@code null}.
      *
-     * <p>This method excludes geocentric CRS on intend. Some callers needs 
this exclusion as a way to identify
+     * <p>This method excludes geocentric CRS on intent. Some callers needs 
this exclusion as a way to identify
      * which CRS in a Geographic/Geocentric conversion is the geographic one. 
An other point of view is to said
      * that if this method returns a non-null value, then the coordinates are 
expected to be either two-dimensional
      * or three-dimensional with an ellipsoidal height.</p>
@@ -285,7 +285,7 @@ public final class ReferencingUtilities
      *
      * <ul>
      *   <li>If the character is {@code '('} and the content until the closing 
{@code ')'} is a valid
-     *       Unicode identifier, then that part is included. The intend is to 
keep the prime meridian
+     *       Unicode identifier, then that part is included. The intent is to 
keep the prime meridian
      *       name in names like <cite>"NTF (Paris)"</cite>.</li>
      * </ul>
      *

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -19,9 +19,11 @@ package org.apache.sis.internal.referenc
 import javax.measure.Unit;
 import javax.measure.Quantity;
 import javax.measure.quantity.Angle;
+import org.opengis.metadata.Identifier;
 import org.opengis.parameter.ParameterValue;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.parameter.GeneralParameterValue;
+import org.opengis.parameter.GeneralParameterDescriptor;
 import org.opengis.referencing.IdentifiedObject;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.opengis.referencing.cs.CoordinateSystem;
@@ -46,6 +48,7 @@ import org.apache.sis.measure.Units;
 import org.apache.sis.util.Static;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.resources.Vocabulary;
+import org.apache.sis.internal.util.Constants;
 
 
 /**
@@ -246,6 +249,32 @@ public final class WKTUtilities extends
     }
 
     /**
+     * Returns {@code true} if the given parameter is defined in the EPSG code 
space. We handle EPSG
+     * parameters in a special way because Apache SIS uses the EPSG geodetic 
dataset as the primary
+     * source of coordinate operation definitions.
+     *
+     * <p>We intentionally don't define {@code isEPSG(OperationMethod)} method 
because the operation
+     * method may be the inverse of an EPSG method (for example "Inverse of 
Mercator (variant A)")
+     * which would not be recognized. Instead, {@code 
isEPSG(method.getParameters())} should work.</p>
+     *
+     * @param  descriptor   the parameter or group of parameters to inspect.
+     * @param  ifUndefined  the value to return if the code space is undefined.
+     * @return whether the given parameter is an EPSG parameter.
+     */
+    public static boolean isEPSG(final GeneralParameterDescriptor descriptor, 
final boolean ifUndefined) {
+        if (descriptor != null) {
+            final Identifier id = descriptor.getName();
+            if (id != null) {
+                final String cs = id.getCodeSpace();
+                if (cs != null) {
+                    return Constants.EPSG.equalsIgnoreCase(cs);
+                }
+            }
+        }
+        return ifUndefined;
+    }
+
+    /**
      * Returns the WKT type of the given interface.
      *
      * For {@link CoordinateSystem} base type, the returned value shall be one 
of

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/LinearTransform2D.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/LinearTransform2D.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/LinearTransform2D.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/LinearTransform2D.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -23,7 +23,7 @@ import org.apache.sis.referencing.operat
 
 /**
  * A two dimensional, linear transform.
- * The intend of this interface is to resolve type conflict in the {@link 
#inverse()} method.
+ * The intent of this interface is to resolve type conflict in the {@link 
#inverse()} method.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.7
@@ -35,6 +35,7 @@ public interface LinearTransform2D exten
      * Returns the inverse transform, which shall be linear and 
two-dimensional.
      *
      * @return the inverse transform.
+     * @throws NoninvertibleTransformException if the transform can not be 
inverted.
      */
     @Override
     LinearTransform2D inverse() throws NoninvertibleTransformException;

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -234,7 +234,7 @@ public class FranceGeocentricInterpolati
      * @param  semiMajor  the descriptor for locating the semi-major axis 
parameter.
      * @param  semiMinor  the descriptor for locating the semi-minor axis 
parameter.
      * @param  candidate  an ellipsoid to return if the axis lengths match the 
lengths found in the parameters,
-     *                    or {@code null} if none. The intend is to use the 
pre-defined "GRS 1980" ellipsoid if
+     *                    or {@code null} if none. The intent is to use the 
pre-defined "GRS 1980" ellipsoid if
      *                    we can, because that ellipsoid is defined by inverse 
flattening factor instead than by
      *                    semi-minor axis length.
      * @return a temporary ellipsoid encapsulating the axis lengths found in 
the parameters.

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -19,6 +19,7 @@ package org.apache.sis.internal.referenc
 import java.util.Map;
 import java.util.Collections;
 import javax.xml.bind.annotation.XmlTransient;
+import javax.measure.Unit;
 import org.opengis.util.FactoryException;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.parameter.ParameterDescriptor;
@@ -34,9 +35,11 @@ import org.apache.sis.referencing.datum.
 import org.apache.sis.referencing.operation.transform.MolodenskyTransform;
 import org.apache.sis.internal.referencing.NilReferencingObject;
 import org.apache.sis.internal.referencing.Formulas;
+import org.apache.sis.internal.system.Loggers;
 import org.apache.sis.internal.util.Constants;
 import org.apache.sis.measure.Units;
 import org.apache.sis.util.resources.Errors;
+import org.apache.sis.util.logging.Logging;
 import org.apache.sis.util.Debug;
 
 
@@ -226,6 +229,7 @@ public final class Molodensky extends Ge
         final Ellipsoid target = new Ellipsoid(name, ta, tb, -Δa, -Δf);
         source.other = target;
         target.other = source;
+        source.computeDifferences(values);
         return MolodenskyTransform.createGeodeticTransformation(factory,
                 source, sourceDimensions >= 3,
                 target, targetDimensions >= 3,
@@ -252,13 +256,13 @@ public final class Molodensky extends Ge
 
     /**
      * A temporary ellipsoid used only for passing arguments to the {@link 
MolodenskyTransform} constructor.
-     * The intend is to use the Δa and Δf values explicitely specified in the 
EPSG parameters if available,
+     * The intent is to use the Δa and Δf values explicitely specified in the 
EPSG parameters if available,
      * or to compute them only if no Δa or Δf values where specified.
      */
     @SuppressWarnings("serial")
     private static final class Ellipsoid extends DefaultEllipsoid {
         /** The EPSG parameter values, or NaN if unspecified. */
-        private final double Δa, Δf;
+        private double Δa, Δf;
 
         /** The ellipsoid for which Δa and Δf are valid. */
         Ellipsoid other;
@@ -270,6 +274,45 @@ public final class Molodensky extends Ge
             this.Δf = Δf;
         }
 
+        /**
+         * Computes Δa and Δf now if not already done and tries to store the 
result in the given parameters.
+         * The parameters are set in order to complete them when the user 
specified the OGC parameters (axis
+         * lengths) and not the EPSG ones (axis and flattening differences).
+         */
+        void computeDifferences(final Parameters values) {
+            if (Double.isNaN(Δa)) {
+                Δa = super.semiMajorAxisDifference(other);
+                setIfPresent(values, AXIS_LENGTH_DIFFERENCE, Δa, 
getAxisUnit());
+            }
+            if (Double.isNaN(Δf)) {
+                Δf = super.flatteningDifference(other);
+                setIfPresent(values, FLATTENING_DIFFERENCE, Δf, Units.UNITY);
+            }
+        }
+
+        /**
+         * Tries to set the given parameter values. This method should be 
invoked only when completing parameters
+         * without explicit values. This approach complete the work done in 
{@code DefaultMathTransformFactory},
+         * which already completed the {@code src_semi_major}, {@code 
src_semi_minor}, {@code tgt_semi_major} and
+         * {@code tgt_semi_minor} parameters.
+         *
+         * @param  values     the group in which to set the parameter values.
+         * @param  parameter  descriptor of the parameter to set.
+         * @param  value      the new value.
+         * @param  unit       unit of measurement for the new value.
+         */
+        private static void setIfPresent(final Parameters values, final 
ParameterDescriptor<Double> parameter,
+                final double value, final Unit<?> unit)
+        {
+            try {
+                values.getOrCreate(parameter).setValue(value, unit);
+            } catch (ParameterNotFoundException | 
InvalidParameterValueException e) {
+                // Nonn-fatal since this attempt was only for information 
purpose.
+                
Logging.recoverableException(Logging.getLogger(Loggers.COORDINATE_OPERATION),
+                        Molodensky.class, "createMathTransform", e);
+            }
+        }
+
         /** Returns Δa as specified in the parameters if possible, or compute 
it otherwise. */
         @Override public double semiMajorAxisDifference(final 
org.opengis.referencing.datum.Ellipsoid target) {
             return (target == other && !Double.isNaN(Δa)) ? Δa : 
super.semiMajorAxisDifference(target);

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ZonedTransverseMercator.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ZonedTransverseMercator.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ZonedTransverseMercator.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ZonedTransverseMercator.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -100,6 +100,17 @@ public final class ZonedTransverseMercat
     }
 
     /**
+     * Notifies {@code DefaultMathTransformFactory} that this projection 
requires
+     * values for the {@code "semi_major"} and {@code "semi_minor"} parameters.
+     *
+     * @return 1, meaning that the operation requires a source ellipsoid.
+     */
+    @Override
+    public final int getEllipsoidsMask() {
+        return 1;
+    }
+
+    /**
      * Creates a map projection from the specified group of parameter values.
      *
      * @param  factory     the factory to use for creating and concatenating 
the (de)normalization transforms.

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -48,7 +48,7 @@ import org.apache.sis.util.Workaround;
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.6
  *
- * @see <a 
href="http://www.unidata.ucar.edu/software/netcdf-java/reference/StandardCoordinateTransforms.html";>NetCDF
 projection parameters</a>
+ * @see <a 
href="http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/reference/StandardCoordinateTransforms.html";>NetCDF
 projection parameters</a>
  *
  * @since 0.6
  * @module

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -710,7 +710,7 @@ public class ParameterFormat extends Tab
                         }
                         /*
                          * Format the value followed by the unit of measure, 
or followed by spaces if there is no unit
-                         * for this value. The intend is the right align the 
numerical value rather than the numerical
+                         * for this value. The intent is the right align the 
numerical value rather than the numerical
                          * + unit tupple.
                          */
                         final Format format = getFormat(value.getClass());
@@ -767,7 +767,7 @@ public class ParameterFormat extends Tab
     }
 
     /**
-     * Configures the number pattern to use for the given value. The main 
intend of this method is to ensure that
+     * Configures the number pattern to use for the given value. The main 
intent of this method is to ensure that
      * the map projection scale factor (a value close to 1) is formatted with 
a sufficient number of fraction digits.
      * A common default NumberFormat precision is 3 digits, which is not 
sufficient. For example the scale factor of
      * Transverse Mercator projections is 0.9996 (4 digits), and the scale 
factor of "NTF (Paris) / Lambert zone II"

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterValueList.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -193,7 +193,7 @@ final class ParameterValueList extends A
         /*
          * If we had an uninitialized parameter (a parameter created by the 
DefaultParameterValueGroup constructor
          * and never been queried or set by the user), then the given 
parameter will replace the uninitialized.
-         * The intend is to allow users to set its own parameters by a call to 
group.values().addAll(myParam).
+         * The intent is to allow users to set its own parameters by a call to 
group.values().addAll(myParam).
          * Otherwise the given parameter will be added, in which case we need 
to check the cardinality.
          */
         final Identifier name = desc.getName();

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -194,8 +194,10 @@ final class AuthorityFactories<T extends
             message = e.toString();
         }
         final LogRecord record = new LogRecord(isWarning ? Level.WARNING : 
Level.CONFIG, message);
+        if (isWarning && !(e instanceof UnavailableFactoryException)) {
+            record.setThrown(e);
+        }
         record.setLoggerName(Loggers.CRS_FACTORY);
-        if (isWarning) record.setThrown(e);
         Logging.log(CRS.class, "getAuthorityFactory", record);
     }
 

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -973,24 +973,6 @@ public enum CommonCRS {
      */
 
     /**
-     * Returns a Universal Transverse Mercator (UTM) projection for the zone 
containing the given point.
-     * There is a total of 120 UTM zones, with 60 zones in the North 
hemisphere and 60 zones in the South hemisphere.
-     *
-     * @param  latitude  a latitude in the desired UTM projection zone.
-     * @param  longitude a longitude in the desired UTM projection zone.
-     * @return a Universal Transverse Mercator projection for the zone 
containing the given point.
-     *
-     * @since 0.7
-     *
-     * @deprecated Generalized by {@link #universal(double, double)},
-     *             which can also return a UPS projection when appropriate.
-     */
-    @Deprecated
-    public ProjectedCRS UTM(final double latitude, final double longitude) {
-        return universal(Math.signum(latitude), longitude);
-    }
-
-    /**
      * Returns a Universal Transverse Mercator (UTM) or a Universal Polar 
Stereographic (UPS) projection
      * for the zone containing the given point.
      * There is a total of 120 UTM zones, with 60 zones in the North 
hemisphere and 60 zones in the South hemisphere.

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -474,7 +474,7 @@ public class DefaultProjectedCRS extends
                              * May happen if the 'conversionFromBase' 
parameter group does not provide values
                              * for "semi_major" or "semi_minor" axis length. 
This should not happen with SIS
                              * implementation, but may happen with 
user-defined map projection implementations.
-                             * Since the intend of this check was to skip 
those parameters anyway, it is okay
+                             * Since the intent of this check was to skip 
those parameters anyway, it is okay
                              * for the purpose of WKT formatting if there is 
no parameter for axis lengths.
                              */
                             
Logging.recoverableException(Logging.getLogger(Loggers.WKT), 
DefaultProjectedCRS.class, "formatTo", e);

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -28,6 +28,7 @@ import java.util.IdentityHashMap;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.LogRecord;
+import java.util.logging.Level;
 import java.lang.ref.WeakReference;
 import java.lang.ref.PhantomReference;
 import java.io.PrintWriter;
@@ -50,6 +51,7 @@ import org.apache.sis.util.Disposable;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.logging.Logging;
 import org.apache.sis.util.collection.Cache;
+import org.apache.sis.internal.simple.SimpleCitation;
 import org.apache.sis.internal.system.ReferenceQueueConsumer;
 import org.apache.sis.internal.system.DelayedExecutor;
 import org.apache.sis.internal.system.DelayedRunnable;
@@ -111,6 +113,12 @@ public abstract class ConcurrentAuthorit
     private static final long DURATION_FOR_LOGGING = 10_000_000L;       // 10 
milliseconds.
 
     /**
+     * Sentinel value when {@link #authority} can not be determined because 
the data access object
+     * can not be constructed.
+     */
+    private static final Citation UNAVAILABLE = new 
SimpleCitation("unavailable");
+
+    /**
      * The authority, cached after first requested.
      */
     private transient volatile Citation authority;
@@ -700,7 +708,7 @@ public abstract class ConcurrentAuthorit
     @Override
     public Citation getAuthority() {
         Citation c = authority;
-        if (c == null) try {
+        if (c == null || c == UNAVAILABLE) try {
             final DAO factory = getDataAccess();
             try {
                 /*
@@ -712,8 +720,19 @@ public abstract class ConcurrentAuthorit
                 release("getAuthority", Citation.class, null);
             }
         } catch (FactoryException e) {
-            Logging.unexpectedException(Logging.getLogger(Loggers.CRS_FACTORY),
-                    ConcurrentAuthorityFactory.class, "getAuthority", e);
+            authority = UNAVAILABLE;
+            /*
+             * Use the warning level only on the first failure, then the fine 
level on all subsequent failures.
+             * Do not log the stack trace if we failed because of 
UnavailableFactoryException since it may be
+             * normal (the EPSG geodetic dataset is optional, even if strongly 
recommended).
+             */
+            final LogRecord record = new LogRecord(c == null ? Level.WARNING : 
Level.FINE, e.getLocalizedMessage());
+            if (!(e instanceof UnavailableFactoryException)) {
+                record.setThrown(e);
+            }
+            record.setLoggerName(Loggers.CRS_FACTORY);
+            Logging.log(ConcurrentAuthorityFactory.class, "getAuthority", 
record);
+            c = null;
         }
         return c;
     }
@@ -776,7 +795,7 @@ public abstract class ConcurrentAuthorit
 
     /**
      * Returns {@code true} if the Data Access Object (DAO) does not provide a 
{@code create} method for the
-     * given type of object. The intend is to decide if the caller should 
delegate to the DAO or delegate to
+     * given type of object. The intent is to decide if the caller should 
delegate to the DAO or delegate to
      * a more generic method of this class (e.g. {@code 
createCoordinateReferenceSystem(String)} instead of
      * {@code createGeographicCRS(String)}) in order to give to {@code 
ConcurrentAuthorityFactory} a chance
      * to reuse a value presents in the cache.
@@ -1790,7 +1809,7 @@ public abstract class ConcurrentAuthorit
                 final GeodeticAuthorityFactory delegate = 
((ConcurrentAuthorityFactory<?>) factory).getDataAccess();
                 /*
                  * Set 'acquireCount' only after we succeed in fetching the 
factory, and before any operation on it.
-                 * The intend is to get ConcurrentAuthorityFactory.release() 
invoked if and only if the getDataAccess()
+                 * The intent is to get ConcurrentAuthorityFactory.release() 
invoked if and only if the getDataAccess()
                  * method succeed, no matter what happen after this point.
                  */
                 acquireCount = 1;

Modified: 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java?rev=1825252&r1=1825251&r2=1825252&view=diff
==============================================================================
--- 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
 [UTF-8] (original)
+++ 
sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
 [UTF-8] Sat Feb 24 15:44:08 2018
@@ -75,7 +75,7 @@ import org.apache.sis.util.Classes;
  * <div class="section">Thread safety</div>
  * This class is thread-safe is the underlying {@linkplain #factory} is also 
thread-safe.
  * However, implementors are encouraged to wrap in {@linkplain 
java.util.Collections#unmodifiableSet unmodifiable set}
- * if they intend to cache {@code IdentifiedObjectSet} instances.
+ * if they intent to cache {@code IdentifiedObjectSet} instances.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @version 0.7


Reply via email to