Copied: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java
 (from r1825357, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/CodeListFilter.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java?p2=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/CodeListFilter.java&r1=1825357&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/CodeListFilter.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -14,22 +14,35 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.util.iso;
+package org.apache.sis.internal.util;
 
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.UndeclaredThrowableException;
 import org.opengis.util.CodeList;
+import org.opengis.util.ControlledVocabulary;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.Characters.Filter;
 
 
 /**
- * The filters used by {@link Types#forCodeName(Class, String, boolean)}.
+ * Implementation of some {@link org.apache.sis.util.iso.Types} methods needed 
by {@code sis-utility} module.
+ * This class opportunistically implements {@link CodeList.Filter} interface, 
but this should be considered
+ * an implementation details.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.3
- * @since   0.3
+ * @version 1.0
+ * @since   1.0
  * @module
  */
-final class CodeListFilter implements CodeList.Filter {
+public final class CodeLists implements CodeList.Filter {
+    /**
+     * The name of bundle resources for code list titles. The resources should 
be loaded with
+     * the same class loader than {@code 
org.opengis.annotation.UML.class.getClassLoader()}.
+     * Keys are {@link CodeList#identifier()}.
+     */
+    public static final String RESOURCES = "org.opengis.metadata.CodeLists";
+
     /**
      * The name to compare during filtering operation.
      */
@@ -43,7 +56,7 @@ final class CodeListFilter implements Co
     /**
      * Creates a new filter for the specified code name.
      */
-    CodeListFilter(final String codename, final boolean canCreate) {
+    private CodeLists(final String codename, final boolean canCreate) {
         this.codename  = codename;
         this.canCreate = canCreate;
     }
@@ -74,7 +87,94 @@ final class CodeListFilter implements Co
      * This is defined in a separated method in order to ensure that all code 
paths
      * use the same criterion.
      */
-    static boolean accept(final String candidate, final String codename) {
+    private static boolean accept(final String candidate, final String 
codename) {
         return CharSequences.equalsFiltered(candidate, codename, 
Filter.LETTERS_AND_DIGITS, true);
     }
+
+    /**
+     * Returns the code of the given type that matches the given name,
+     * or optionally returns a new one if none match the name.
+     *
+     * @param  <T>        the compile-time type given as the {@code codeType} 
parameter.
+     * @param  codeType   the type of code list.
+     * @param  name       the name of the code to obtain, or {@code null}.
+     * @param  canCreate  {@code true} if this method is allowed to create new 
code.
+     * @return a code matching the given name, or {@code null}.
+     *
+     * @see org.apache.sis.util.iso.Types#forCodeName(Class, String, boolean)
+     */
+    public static <T extends CodeList<T>> T forName(final Class<T> codeType, 
String name, final boolean canCreate) {
+        name = CharSequences.trimWhitespaces(name);
+        if (name == null || name.isEmpty()) {
+            return null;
+        }
+        return CodeList.valueOf(codeType, new CodeLists(name, canCreate));
+    }
+
+    /**
+     * Returns the enumeration value of the given type that matches the given 
name, or {@code null} if none.
+     *
+     * @param  <T>       the compile-time type given as the {@code enumType} 
parameter.
+     * @param  enumType  the type of enumeration.
+     * @param  name      the name of the enumeration value to obtain, or 
{@code null}.
+     * @return a value matching the given name, or {@code null}.
+     *
+     * @see org.apache.sis.util.iso.Types#forEnumName(Class, String)
+     */
+    public static <T extends Enum<T>> T forName(final Class<T> enumType, 
String name) {
+        name = CharSequences.trimWhitespaces(name);
+        if (name != null && !name.isEmpty()) try {
+            return Enum.valueOf(enumType, name);
+        } catch (IllegalArgumentException e) {
+            final T[] values = enumType.getEnumConstants();
+            if (values == null) {
+                throw e;
+            }
+            if (values instanceof ControlledVocabulary[]) {
+                for (final ControlledVocabulary code : 
(ControlledVocabulary[]) values) {
+                    for (final String candidate : code.names()) {
+                        if (accept(candidate, name)) {
+                            return enumType.cast(code);
+                        }
+                    }
+                }
+            } else {
+                for (final Enum<?> code : values) {
+                    if (accept(code.name(), name)) {
+                        return enumType.cast(code);
+                    }
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns all known values for the given type of code list or enumeration.
+     *
+     * @param  <T>       the compile-time type given as the {@code codeType} 
parameter.
+     * @param  codeType  the type of code list or enumeration.
+     * @return the list of values for the given code list or enumeration, or 
an empty array if none.
+     *
+     * @see org.apache.sis.util.iso.Types#getCodeValues(Class)
+     */
+    @SuppressWarnings("unchecked")
+    public static <T extends ControlledVocabulary> T[] values(final Class<T> 
codeType) {
+        Object values;
+        try {
+            values = codeType.getMethod("values", (Class<?>[]) 
null).invoke(null, (Object[]) null);
+        } catch (InvocationTargetException e) {
+            final Throwable cause = e.getCause();
+            if (cause instanceof RuntimeException) {
+                throw (RuntimeException) cause;
+            }
+            if (cause instanceof Error) {
+                throw (Error) cause;
+            }
+            throw new UndeclaredThrowableException(cause);
+        } catch (NoSuchMethodException | IllegalAccessException e) {
+            values = Array.newInstance(codeType, 0);
+        }
+        return (T[]) values;
+    }
 }

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -19,10 +19,13 @@ package org.apache.sis.internal.util;
 import java.text.Format;
 import java.util.Locale;
 import java.util.TimeZone;
-import org.opengis.metadata.citation.Citation;
-import org.apache.sis.internal.simple.CitationConstant;
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+import org.opengis.annotation.UML;
+import org.opengis.util.ControlledVocabulary;
 import org.apache.sis.internal.system.Modules;
 import org.apache.sis.internal.system.OptionalDependency;
+import org.apache.sis.util.CharSequences;
 
 
 /**
@@ -101,28 +104,32 @@ public class MetadataServices extends Op
     }
 
     /**
-     * Returns the constant defined in the {@link 
org.apache.sis.metadata.iso.citation.Citations} class for the
-     * given name. This is used at {@link 
org.apache.sis.internal.simple.CitationConstant} deserialization time,
-     * for which the two citations of interest are {@code "ISBN"} 
(International Standard Book Number) and
-     * {@code "ISSN"} (International Standard Serial Number) citation.
+     * Returns the title of the given enumeration or code list value.
      *
-     * @param  name  the name of one of the citation constants defined in the 
{@code Citations} class.
-     * @return the requested citation, or {@code null} if the {@code 
sis-metadata} module is not available.
-     */
-    public CitationConstant getCitationConstant(final String name) {
-        return null;
-    }
-
-    /**
-     * Returns the build-in citation for the given primary key, or {@code 
null} if none.
-     * The metadata module will search in a database for information like a 
descriptive
-     * title, abbreviations, identifiers, URL to a web site, <i>etc</i>.
-     *
-     * @param  key  the primary key of the desired citation.
-     * @return the requested citation, or {@code null} if the {@code 
sis-metadata} module is not available.
-     */
-    public Citation createCitation(final String key) {
-        return null;
+     * @param  code    the code for which to get the title.
+     * @param  locale  desired locale for the title.
+     * @return the title.
+     *
+     * @see org.apache.sis.util.iso.Types#getCodeTitle(ControlledVocabulary)
+     */
+    public String getCodeTitle(final ControlledVocabulary code, final Locale 
locale) {
+        /*
+         * Following code reproduces the work done by 
org.apache.sis.util.iso.Types.getCodeList(…)
+         * with less handling of special cases. It is executed only if the 
sis-metadata module is
+         * not on the classpath, otherwise the sis-metadata implementation 
will be used.
+         */
+        final UML uml = code.getClass().getAnnotation(UML.class);
+        if (uml != null) try {
+            return ResourceBundle.getBundle(CodeLists.RESOURCES, locale, 
UML.class.getClassLoader())
+                                 .getString(uml.identifier() + '.' + 
code.identifier());
+        } catch (MissingResourceException e) {
+            /*
+             * Ignore. The reason for not finding the resource may because of 
above code not covering enough cases.
+             * Usually the sis-metadata module will be present on the 
classpath, in which case this implementation
+             * will not be used. We need just enough code for allowing 
sis-utility tests to pass.
+             */
+        }
+        return CharSequences.camelCaseToSentence(code.identifier()).toString();
     }
 
     /**
@@ -151,8 +158,6 @@ public class MetadataServices extends Op
      * @param  locale    the locale for the new {@code Format}, or {@code 
null} for {@code Locale.ROOT}.
      * @param  timezone  the timezone, or {@code null} for UTC.
      * @return a {@link org.apache.sis.geometry.CoordinateFormat}.
-     *
-     * @since 0.8
      */
     public Format createCoordinateFormat(final Locale locale, final TimeZone 
timezone) {
         throw moduleNotFound();

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/io/IdentifiedObjectFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/io/IdentifiedObjectFormat.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/io/IdentifiedObjectFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/io/IdentifiedObjectFormat.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -24,7 +24,6 @@ import org.opengis.util.GenericName;
 import org.opengis.metadata.Identifier;
 import org.opengis.referencing.IdentifiedObject;
 import org.apache.sis.internal.util.Citations;
-import org.apache.sis.util.iso.DefaultNameSpace;
 import org.apache.sis.util.resources.Vocabulary;
 
 
@@ -74,7 +73,7 @@ final class IdentifiedObjectFormat exten
             cs = Citations.getIdentifier(identifier.getAuthority(), true);
         }
         if (cs != null) {
-            toAppendTo.append(cs).append(DefaultNameSpace.DEFAULT_SEPARATOR);
+            toAppendTo.append(cs).append(Citations.DEFAULT_SEPARATOR);
         }
         return toAppendTo.append(code);
     }

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -21,8 +21,8 @@ import java.io.Serializable;
 import java.util.function.LongConsumer;
 import java.util.function.DoubleConsumer;
 import org.opengis.util.InternationalString;
+import org.apache.sis.util.iso.SimpleInternationalString;
 import org.apache.sis.util.ArgumentChecks;
-import org.apache.sis.util.iso.Types;
 
 import static java.lang.Math.*;
 import static java.lang.Double.NaN;
@@ -84,7 +84,7 @@ import static java.lang.Double.doubleToL
  * }
  *
  * @author  Martin Desruisseaux (MPO, IRD, Geomatys)
- * @version 0.3
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -160,7 +160,11 @@ public class Statistics implements Doubl
      *               formatted by {@link StatisticsFormat}.
      */
     public Statistics(final CharSequence name) {
-        this.name = Types.toInternationalString(name);
+        if (name == null || name instanceof InternationalString) {
+            this.name = (InternationalString) name;
+        } else {
+            this.name = new SimpleInternationalString(name.toString());
+        }
     }
 
     /**
@@ -192,8 +196,6 @@ public class Statistics implements Doubl
      *   <li><i>etc</i>.</li>
      * </ul>
      *
-     *
-     *
      * @param  name  the phenomenon for which this object is collecting 
statistics, or {@code null}
      *               if none. If non-null, then this name will be shown as 
column header in the table
      *               formatted by {@link StatisticsFormat}.
@@ -548,12 +550,12 @@ public class Statistics implements Doubl
     public boolean equals(final Object object) {
         if (object != null && getClass() == object.getClass()) {
             final Statistics cast = (Statistics) object;
-            return Objects.equals(name, cast.name)
-                    && count == cast.count && countNaN == cast.countNaN
+            return count == cast.count && countNaN == cast.countNaN
                     && doubleToLongBits(minimum)   == 
doubleToLongBits(cast.minimum)
                     && doubleToLongBits(maximum)   == 
doubleToLongBits(cast.maximum)
                     && doubleToLongBits(sum)       == 
doubleToLongBits(cast.sum)
-                    && doubleToLongBits(squareSum) == 
doubleToLongBits(cast.squareSum);
+                    && doubleToLongBits(squareSum) == 
doubleToLongBits(cast.squareSum)
+                    && Objects.equals(name, cast.name);
         }
         return false;
     }

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -32,6 +32,7 @@ import java.io.IOException;
 import javax.measure.Dimension;
 import javax.measure.Unit;
 import javax.measure.format.ParserException;
+import org.apache.sis.internal.util.Citations;
 import org.apache.sis.internal.util.Constants;
 import org.apache.sis.internal.util.DefinitionURI;
 import org.apache.sis.internal.util.XPaths;
@@ -43,7 +44,6 @@ import org.apache.sis.util.Localized;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.CorruptedObjectException;
 import org.apache.sis.util.collection.WeakValueHashMap;
-import org.apache.sis.util.iso.DefaultNameSpace;
 
 
 /**
@@ -966,7 +966,7 @@ public class UnitFormat extends Format i
                     failure = e;
                 }
                 throw (ParserException) new 
ParserException(Errors.format(Errors.Keys.UnknownUnit_1,
-                        Constants.EPSG + DefaultNameSpace.DEFAULT_SEPARATOR + 
code),
+                        Constants.EPSG + Citations.DEFAULT_SEPARATOR + code),
                         symbols, start + Math.max(0, 
uom.lastIndexOf(code))).initCause(failure);
             }
             /*

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/CodeListSet.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/CodeListSet.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/CodeListSet.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/CodeListSet.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -24,7 +24,7 @@ import java.util.NoSuchElementException;
 import java.io.Serializable;
 import java.lang.reflect.Modifier;
 import org.opengis.util.CodeList;
-import org.apache.sis.util.iso.Types;
+import org.apache.sis.internal.util.CodeLists;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.NullArgumentException;
 import org.apache.sis.internal.util.CheckedArrayList;
@@ -138,7 +138,7 @@ public class CodeListSet<E extends CodeL
     public CodeListSet(final Class<E> elementType, final boolean fill) throws 
IllegalArgumentException {
         this(elementType);
         if (fill) {
-            codes = POOL.unique(Types.getCodeValues(elementType));
+            codes = POOL.unique(CodeLists.values(elementType));
             int n = codes.length;
             if (n < Long.SIZE) {
                 values = (1L << n) - 1;
@@ -169,7 +169,7 @@ public class CodeListSet<E extends CodeL
     final E valueOf(final int ordinal) {
         E[] array = codes;
         if (array == null || ordinal >= array.length) {
-            codes = array = POOL.unique(Types.getCodeValues(elementType));
+            codes = array = POOL.unique(CodeLists.values(elementType));
         }
         return array[ordinal];
     }

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -22,9 +22,9 @@ import java.io.Serializable;
 import java.io.ObjectStreamException;
 import java.io.InvalidObjectException;
 import org.opengis.util.InternationalString;
-import org.apache.sis.util.iso.Types;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.resources.Vocabulary;
+import org.apache.sis.util.iso.SimpleInternationalString;
 
 
 /**
@@ -92,7 +92,7 @@ import org.apache.sis.util.resources.Voc
  * The constants defined in this class use a similar approach for providing 
serialization support.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
  *
  * @param <V>  base type of all values in the column identified by this 
instance.
  *
@@ -277,7 +277,11 @@ public class TableColumn<V> implements C
      * @return the text to display as column header.
      */
     public synchronized InternationalString getHeader() {
-        final InternationalString i18n = Types.toInternationalString(header);
+        CharSequence t = header;
+        if (t == null || t instanceof InternationalString) {
+            return (InternationalString) t;
+        }
+        final InternationalString i18n = new 
SimpleInternationalString(t.toString());
         header = i18n;
         return i18n;
     }

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -41,13 +41,13 @@ import org.apache.sis.io.LineAppender;
 import org.apache.sis.io.TableAppender;
 import org.apache.sis.io.TabularFormat;
 import org.apache.sis.io.CompoundFormat;
-import org.apache.sis.util.iso.Types;
 import org.apache.sis.util.Workaround;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.resources.Vocabulary;
 import org.apache.sis.internal.util.Acyclic;
+import org.apache.sis.internal.util.MetadataServices;
 import org.apache.sis.internal.util.LocalizedParseException;
 
 import static org.apache.sis.util.Characters.NO_BREAK_SPACE;
@@ -680,7 +680,7 @@ public class TreeTableFormat extends Tab
             } else if (value instanceof CharSequence) {
                 text = value.toString();
             } else if (value instanceof ControlledVocabulary) {
-                text = Types.getCodeTitle((ControlledVocabulary) 
value).toString(getDisplayLocale());
+                text = 
MetadataServices.getInstance().getCodeTitle((ControlledVocabulary) value, 
getDisplayLocale());
             } else if (value instanceof Enum<?>) {
                 text = CharSequences.upperCaseToSentence(((Enum<?>) 
value).name());
             } else if (value instanceof Type) {

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -38,9 +38,9 @@ import org.apache.sis.util.Classes;
 import org.apache.sis.util.Localized;
 import org.apache.sis.util.Exceptions;
 import org.apache.sis.util.CharSequences;
-import org.apache.sis.util.iso.Types;
 import org.apache.sis.util.logging.Logging;
 import org.apache.sis.internal.system.Loggers;
+import org.apache.sis.internal.util.MetadataServices;
 
 
 /**
@@ -418,7 +418,7 @@ public class IndexedResourceBundle exten
             } else if (element instanceof Class<?>) {
                 replacement = Classes.getShortName(getPublicType((Class<?>) 
element));
             } else if (element instanceof ControlledVocabulary) {
-                replacement = Types.getCodeTitle((ControlledVocabulary) 
element).toString(getLocale());
+                replacement = 
MetadataServices.getInstance().getCodeTitle((ControlledVocabulary) element, 
getLocale());
             }
             /*
              * No need to check for Numbers or Dates instances, since they are

Copied: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationMock.java
 (from r1825357, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationMock.java?p2=sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationMock.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java&r1=1825357&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationMock.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -14,13 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.internal.simple;
+package org.apache.sis.internal.util;
 
 import java.util.Date;
-import java.util.Objects;
 import java.util.Collection;
 import java.util.Collections;
-import java.io.Serializable;
+import java.util.List;
 import org.opengis.metadata.Identifier;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.citation.CitationDate;
@@ -36,91 +35,66 @@ import org.apache.sis.util.Debug;
 
 /**
  * A trivial implementation of {@link Citation} containing only a title.
- *
- * <div class="note"><b>Design note:</b>
- * we do not put more field than {@link #title} in this {@code SimpleCitation} 
in order to keep it simple,
- * because the title is the only "universal" property (the need for all other 
fields will be determined in
- * subclasses on a case-by-case basis) and because {@code SimpleCitation} are 
sometime only proxy identified
- * by the {@link #title}.</div>
+ * Opportunistically implements also the identifier interface.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.3
- * @since   0.3
+ * @version 1.0
+ * @since   1.0
  * @module
  */
-public class SimpleCitation implements Citation, Serializable {
-    /**
-     * For cross-version compatibility.
-     */
-    private static final long serialVersionUID = 4818846034764528263L;
-
+@SuppressWarnings("ReturnOfCollectionOrArrayField")
+final strictfp class CitationMock implements Citation, Identifier {
     /**
      * The title to be returned by {@link #getTitle()}.
      */
-    public final String title;
-
-    /**
-     * Creates a new object for the given title.
-     *
-     * @param  title  the title to be returned by {@link #getTitle()}.
-     */
-    public SimpleCitation(final String title) {
-        this.title = title;
-    }
+    private final String title;
 
     /**
-     * Returns the title as an international string.
-     *
-     * @return the title given at construction time.
+     * Alphanumeric value identifying an instance in the namespace.
      */
-    @Override
-    public InternationalString getTitle() {
-        return new SimpleInternationalString(title);
-    }
+    private final String codeSpace, code;
 
     /**
-     * Methods inherited from the {@link Citation} interface which are not of 
interest to this
-     * {@code SimpleCitation} implementation. Those methods may be removed in 
the JDK8 branch.
-     *
-     * @return an empty list.
+     * The identifiers, built from the given code and code space by default.
      */
-    @Override public Collection<? extends InternationalString>  
getAlternateTitles()         {return Collections.emptyList();}
-    @Override public Collection<? extends CitationDate>         getDates()     
              {return Collections.emptyList();}
-    @Override public InternationalString                        getEdition()   
              {return null;}
-    @Override public Date                                       
getEditionDate()             {return null;}
-    @Override public Collection<? extends Identifier>           
getIdentifiers()             {return Collections.emptyList();}
-    @Override public Collection<? extends Responsibility>       
getCitedResponsibleParties() {return Collections.emptyList();}
-    @Override public Collection<PresentationForm>               
getPresentationForms()       {return Collections.emptyList();}
-    @Override public Series                                     getSeries()    
              {return null;}
-    @Override public Collection<? extends InternationalString>  
getOtherCitationDetails()    {return Collections.emptyList();}
-    @Override public Collection<? extends OnlineResource>       
getOnlineResources()         {return Collections.emptyList();}
-    @Override public Collection<? extends BrowseGraphic>        getGraphics()  
              {return Collections.emptyList();}
-    @Override public String                                     getISBN()      
              {return null;}
-    @Override public String                                     getISSN()      
              {return null;}
-    @Deprecated
-    @Override public InternationalString                        
getCollectiveTitle()         {return null;}
+    List<Identifier> identifiers;
 
     /**
-     * Compares the given object with this citation for equality.
+     * Creates a new object for the given title.
      *
-     * @param  obj  the object to compare with this citation.
-     * @return {@code true} if both objects are equal.
-     */
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj != null && obj.getClass() == getClass()) {
-            return Objects.equals(title, ((SimpleCitation) obj).title);
-        }
-        return false;
+     * @param  title      the title to be returned by {@link #getTitle()}.
+     * @param  code       alphanumeric value identifying an instance in the 
namespace.
+     * @param  codeSpace  space in which the code is valid.
+     */
+    @SuppressWarnings("ThisEscapedInObjectConstruction")
+    public CitationMock(final String title, final String codeSpace, final 
String code) {
+        this.title     = title;
+        this.codeSpace = codeSpace;
+        this.code      = code;
+        identifiers    = (code != null) ? Collections.singletonList(this) : 
Collections.emptyList();
     }
 
-    /**
-     * Returns a hash code value for this citation.
-     */
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(title) ^ (int) serialVersionUID;
-    }
+    @Override public Citation                         getAuthority()           
    {return this;}
+    @Override public InternationalString              getTitle()               
    {return new SimpleInternationalString(title);}
+    @Override public Collection<InternationalString>  getAlternateTitles()     
    {return Collections.emptyList();}
+    @Override public Collection<CitationDate>         getDates()               
    {return Collections.emptyList();}
+    @Override public InternationalString              getEdition()             
    {return null;}
+    @Override public Date                             getEditionDate()         
    {return null;}
+    @Override public Collection<Identifier>           getIdentifiers()         
    {return identifiers;}
+    @Override public String                           getCode()                
    {return code;}
+    @Override public String                           getCodeSpace()           
    {return codeSpace;}
+    @Override public String                           getVersion()             
    {return null;}
+    @Override public InternationalString              getDescription()         
    {return null;}
+    @Override public Collection<Responsibility>       
getCitedResponsibleParties() {return Collections.emptyList();}
+    @Override public Collection<PresentationForm>     getPresentationForms()   
    {return Collections.emptyList();}
+    @Override public Series                           getSeries()              
    {return null;}
+    @Override public Collection<InternationalString>  
getOtherCitationDetails()    {return Collections.emptyList();}
+    @Override public Collection<OnlineResource>       getOnlineResources()     
    {return Collections.emptyList();}
+    @Override public Collection<BrowseGraphic>        getGraphics()            
    {return Collections.emptyList();}
+    @Override public String                           getISBN()                
    {return null;}
+    @Override public String                           getISSN()                
    {return null;}
+    @Deprecated
+    @Override public InternationalString              getCollectiveTitle()     
    {return null;}
 
     /**
      * Returns a string representation of this citation for debugging purpose.

Modified: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -21,8 +21,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import org.opengis.metadata.Identifier;
 import org.opengis.metadata.citation.Citation;
-import org.apache.sis.internal.simple.SimpleCitation;
-import org.apache.sis.internal.simple.SimpleIdentifier;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
@@ -41,25 +39,17 @@ public final strictfp class CitationsTes
     /**
      * Creates a citation with the given title and the given identifiers.
      */
-     @SuppressWarnings("serial")
-     private static SimpleCitation citation(final String title, final 
Identifier... identifiers) {
-        return new SimpleCitation(title) {
-            @Override public List<Identifier> getIdentifiers() {
-                return Arrays.asList(identifiers);
-            }
-        };
+     private static CitationMock citation(final String title, final 
Identifier... identifiers) {
+        CitationMock cit =  new CitationMock(title, null, null);
+        cit.identifiers = Arrays.asList(identifiers);
+        return cit;
     }
 
     /**
      * Creates an identifier with a code space.
      */
-     @SuppressWarnings("serial")
      private static Identifier identifier(final String codeSpace, final String 
code) {
-        return new SimpleIdentifier(null, code, false) {
-            @Override public String getCodeSpace() {
-                return codeSpace;
-            }
-        };
+        return new CitationMock(null, codeSpace, code);
     }
 
     /**
@@ -97,11 +87,11 @@ public final strictfp class CitationsTes
      */
     @Test
     public void testGetIdentifier() {
-        SimpleCitation citation = new SimpleCitation(" Not an identifier ");
+        CitationMock citation = new CitationMock(" Not an identifier ", null, 
null);
         assertEquals("Not an identifier", Citations.getIdentifier(citation, 
false));
         assertNull(Citations.getIdentifier(citation, true));
 
-        citation = new SimpleCitation(" ValidIdentifier ");
+        citation = new CitationMock(" ValidIdentifier ", null, null);
         assertEquals("ValidIdentifier", Citations.getIdentifier(citation, 
false));
         assertEquals("ValidIdentifier", Citations.getIdentifier(citation, 
true));
         /*

Modified: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/LocalizedParseExceptionTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/LocalizedParseExceptionTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/LocalizedParseExceptionTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/LocalizedParseExceptionTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -22,7 +22,6 @@ import java.text.ParsePosition;
 import org.apache.sis.measure.Angle;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.Exceptions;
-import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
@@ -37,7 +36,6 @@ import static org.junit.Assert.*;
  * @since   0.3
  * @module
  */
-@DependsOn(org.apache.sis.util.resources.IndexedResourceBundleTest.class)
 public final strictfp class LocalizedParseExceptionTest extends TestCase {
     /**
      * Tests the {@link LocalizedParseException} constructor using the default 
string.

Modified: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -34,8 +34,6 @@ import java.io.ObjectOutputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import javax.swing.tree.TreeNode;
-import javax.xml.parsers.ParserConfigurationException;
-import org.xml.sax.SAXException;
 import org.apache.sis.util.Utilities;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.ComparisonMode;
@@ -48,7 +46,7 @@ import org.apache.sis.util.Classes;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Alexis Manin (Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -354,102 +352,6 @@ public strictfp class Assert extends org
     }
 
     /**
-     * Parses two XML trees as DOM documents, and compares the nodes.
-     * The inputs given to this method can be any of the following types:
-     *
-     * <ul>
-     *   <li>{@link org.w3c.dom.Node}: used directly without further 
processing.</li>
-     *   <li>{@link java.io.File}, {@link java.net.URL} or {@link 
java.net.URI}: the
-     *       stream is opened and parsed as a XML document.</li>
-     *   <li>{@link String}: The string content is parsed directly as a XML 
document.</li>
-     * </ul>
-     *
-     * The comparison will ignore comments and the optional attributes given 
in arguments.
-     *
-     * <div class="section">Ignored attributes substitution</div>
-     * For convenience, this method replaces some well known prefixes in the 
{@code ignoredAttributes}
-     * array by their full namespace URLs. For example this method 
replaces{@code "xsi:schemaLocation"}
-     * by {@code "http://www.w3.org/2001/XMLSchema-instance:schemaLocation"}.
-     * If such substitution is not desired, consider using {@link 
XMLComparator} directly instead.
-     *
-     * <p>The current substitution map is as below (may be expanded in any 
future SIS version):</p>
-     *
-     * <table class="sis">
-     *   <caption>Predefined prefix mapping</caption>
-     *   <tr><th>Prefix</th> <th>URL</th></tr>
-     *   <tr><td>xmlns</td>  <td>{@code 
"http://www.w3.org/2000/xmlns"}</td></tr>
-     *   <tr><td>xlink</td>  <td>{@value 
org.apache.sis.xml.Namespaces#XLINK}</td></tr>
-     *   <tr><td>xsi</td>    <td>{@value 
org.apache.sis.xml.Namespaces#XSI}</td></tr>
-     *   <tr><td>gml</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GML}</td></tr>
-     *   <tr><td>gmd</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GMD}</td></tr>
-     *   <tr><td>gmx</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GMX}</td></tr>
-     *   <tr><td>gmi</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GMI}</td></tr>
-     *   <tr><td>gco</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GCO}</td></tr>
-     * </table>
-     *
-     * <p>For example in order to ignore the namespace, type and schema 
location declaration,
-     * the following strings can be given to the {@code ignoredAttributes} 
argument:</p>
-     *
-     * {@preformat text
-     *   "xmlns:*", "xsi:schemaLocation", "xsi:type"
-     * }
-     *
-     * @param  expected           the expected XML document.
-     * @param  actual             the XML document to compare.
-     * @param  ignoredAttributes  the fully-qualified names of attributes to 
ignore
-     *                            (typically {@code "xmlns:*"} and {@code 
"xsi:schemaLocation"}).
-     *
-     * @see XMLComparator
-     */
-    public static void assertXmlEquals(final Object expected, final Object 
actual, final String... ignoredAttributes) {
-        assertXmlEquals(expected, actual, TestCase.STRICT, null, 
ignoredAttributes);
-    }
-
-    /**
-     * Parses two XML trees as DOM documents, and compares the nodes with the 
given tolerance
-     * threshold for numerical values. The inputs given to this method can be 
any of the types
-     * documented {@linkplain #assertXmlEquals(Object, Object, String[]) 
above}. This method
-     * will ignore comments and the optional attributes given in arguments as 
documented in the
-     * above method.
-     *
-     * @param  expected           the expected XML document.
-     * @param  actual             the XML document to compare.
-     * @param  tolerance          the tolerance threshold for comparison of 
numerical values.
-     * @param  ignoredNodes       the fully-qualified names of the nodes to 
ignore, or {@code null} if none.
-     * @param  ignoredAttributes  the fully-qualified names of attributes to 
ignore
-     *                            (typically {@code "xmlns:*"} and {@code 
"xsi:schemaLocation"}).
-     *
-     * @see XMLComparator
-     */
-    public static void assertXmlEquals(final Object expected, final Object 
actual,
-            final double tolerance, final String[] ignoredNodes, final 
String[] ignoredAttributes)
-    {
-        final XMLComparator comparator;
-        try {
-            comparator = new XMLComparator(expected, actual);
-        } catch (IOException | ParserConfigurationException | SAXException e) {
-            // We don't throw directly those exceptions since failing to parse 
the XML file can
-            // be considered as part of test failures and the JUnit exception 
for such failures
-            // is AssertionError. Having no checked exception in "assert" 
methods allow us to
-            // declare the checked exceptions only for the library code being 
tested.
-            throw new AssertionError(e);
-        }
-        comparator.tolerance = tolerance;
-        comparator.ignoreComments = true;
-        if (ignoredNodes != null) {
-            for (final String node : ignoredNodes) {
-                
comparator.ignoredNodes.add(XMLComparator.substitutePrefix(node));
-            }
-        }
-        if (ignoredAttributes != null) {
-            for (final String attribute : ignoredAttributes) {
-                
comparator.ignoredAttributes.add(XMLComparator.substitutePrefix(attribute));
-            }
-        }
-        comparator.compare();
-    }
-
-    /**
      * Serializes the given object in memory, deserializes it and ensures that 
the deserialized
      * object is equals to the original one. This method does not write 
anything to the disk.
      *

Modified: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -33,7 +33,6 @@ import org.junit.BeforeClass;
     // Following are testing the test tools.
     org.apache.sis.internal.test.AssertTest.class,
     org.apache.sis.internal.test.TestUtilitiesTest.class,
-    org.apache.sis.internal.test.XMLComparatorTest.class,
 
     // Most basic functions of SIS library.
     org.apache.sis.internal.system.LoggersTest.class,
@@ -88,19 +87,9 @@ import org.junit.BeforeClass;
     org.apache.sis.internal.util.DefinitionURITest.class,
     org.apache.sis.internal.util.XPathsTest.class,
     org.apache.sis.internal.util.CitationsTest.class,
-    org.apache.sis.util.iso.TypesTest.class,
     org.apache.sis.util.iso.SimpleInternationalStringTest.class,
     org.apache.sis.util.iso.DefaultInternationalStringTest.class,
     org.apache.sis.internal.util.LocalizedParseExceptionTest.class,
-    org.apache.sis.util.iso.DefaultLocalNameTest.class,
-    org.apache.sis.util.iso.DefaultScopedNameTest.class,
-    org.apache.sis.util.iso.DefaultNameFactoryTest.class,
-    org.apache.sis.util.iso.NamesTest.class,
-    org.apache.sis.util.iso.TypeNamesTest.class,
-    org.apache.sis.internal.simple.SimpleIdentifierTest.class,
-    org.apache.sis.util.iso.DefaultRecordTypeTest.class,
-    org.apache.sis.util.iso.DefaultRecordSchemaTest.class,
-    org.apache.sis.util.iso.DefaultRecordTest.class,
 
     // Measurements and formatting.
     org.apache.sis.measure.SexagesimalConverterTest.class,
@@ -140,27 +129,7 @@ import org.junit.BeforeClass;
     org.apache.sis.internal.converter.ArrayConverterTest.class,
     org.apache.sis.internal.converter.ConverterRegistryTest.class,
     org.apache.sis.internal.converter.SystemRegistryTest.class,
-    org.apache.sis.internal.converter.NumberConverterTest.class,        // 
Shall be after SystemRegistryTest.
-
-    // XML most basic types.
-    org.apache.sis.xml.NamespacesTest.class,
-    org.apache.sis.xml.XLinkTest.class,
-    org.apache.sis.xml.NilReasonTest.class,
-    org.apache.sis.xml.LegacyCodesTest.class,
-    org.apache.sis.xml.ValueConverterTest.class,
-    org.apache.sis.xml.OGCNamespacePrefixMapperTest.class,
-    org.apache.sis.xml.MarshallerPoolTest.class,
-    org.apache.sis.xml.TransformingNamespacesTest.class,
-    org.apache.sis.internal.jaxb.XmlUtilitiesTest.class,
-    org.apache.sis.internal.jaxb.IdentifierMapAdapterTest.class,
-    org.apache.sis.internal.jaxb.ModifiableIdentifierMapTest.class,
-    org.apache.sis.internal.jaxb.gco.StringAdapterTest.class,
-    org.apache.sis.internal.jaxb.gco.PropertyTypeTest.class,
-    org.apache.sis.internal.jaxb.gmd.EnumAdapterTest.class,
-    org.apache.sis.internal.jaxb.gmd.LanguageCodeTest.class,
-    org.apache.sis.internal.jaxb.gml.TimePeriodTest.class,
-    org.apache.sis.internal.jaxb.gml.MeasureTest.class,
-    org.apache.sis.util.iso.NameMarshallingTest.class
+    org.apache.sis.internal.converter.NumberConverterTest.class         // 
Shall be after SystemRegistryTest.
 })
 public final strictfp class UtilityTestSuite extends TestSuite {
     /**

Modified: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/VersionTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/VersionTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/VersionTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/VersionTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.util;
 
-import org.apache.sis.internal.jaxb.LegacyNamespaces;
 import org.apache.sis.test.DependsOnMethod;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
@@ -76,14 +75,18 @@ public final strictfp class VersionTest
      */
     @Test
     public void testGML() {
-        
assertTrue(LegacyNamespaces.VERSION_3_2.compareTo(LegacyNamespaces.VERSION_3_2_1,
 2) == 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_2.compareTo(LegacyNamespaces.VERSION_3_2_1
   )  < 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_0.compareTo(LegacyNamespaces.VERSION_3_2_1
   )  < 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_0.compareTo(LegacyNamespaces.VERSION_3_2_1,
 2)  < 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_0.compareTo(LegacyNamespaces.VERSION_3_2_1,
 1) == 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_0.compareTo(LegacyNamespaces.VERSION_3_2  
   )  < 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_0.compareTo(LegacyNamespaces.VERSION_3_2, 
  2)  < 0);
-        
assertTrue(LegacyNamespaces.VERSION_3_0.compareTo(LegacyNamespaces.VERSION_3_2, 
  1) == 0);
+        final Version V3_0   = new Version("3.0"),
+                      V3_2   = new Version("3.2"),
+                      V3_2_1 = new Version("3.2.1");
+
+        assertTrue(V3_2.compareTo(V3_2_1, 2) == 0);
+        assertTrue(V3_2.compareTo(V3_2_1   )  < 0);
+        assertTrue(V3_0.compareTo(V3_2_1   )  < 0);
+        assertTrue(V3_0.compareTo(V3_2_1, 2)  < 0);
+        assertTrue(V3_0.compareTo(V3_2_1, 1) == 0);
+        assertTrue(V3_0.compareTo(V3_2     )  < 0);
+        assertTrue(V3_0.compareTo(V3_2,   2)  < 0);
+        assertTrue(V3_0.compareTo(V3_2,   1) == 0);
     }
 
     /**

Modified: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -26,7 +26,6 @@ import org.opengis.referencing.cs.AxisDi
 import org.opengis.metadata.citation.OnLineFunction;
 import org.apache.sis.test.TestCase;
 import org.apache.sis.test.DependsOnMethod;
-import org.apache.sis.util.iso.LargeCodeList;
 import org.junit.Test;
 
 import static org.junit.Assert.*;

Copied: 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java
 (from r1825357, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/LargeCodeList.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java?p2=sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java&p1=sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/LargeCodeList.java&r1=1825357&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/LargeCodeList.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.util.iso;
+package org.apache.sis.util.collection;
 
 import java.util.List;
 import java.util.ArrayList;

Modified: sis/branches/JDK8/ide-project/NetBeans/build.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/ide-project/NetBeans/build.xml?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- sis/branches/JDK8/ide-project/NetBeans/build.xml (original)
+++ sis/branches/JDK8/ide-project/NetBeans/build.xml Tue Feb 27 15:48:05 2018
@@ -69,10 +69,10 @@
       <!-- Other resources (properties files, SQL scripts, native libraries). 
-->
       <fileset dir="${project.root}/core/sis-utility/src/main/resources">
         <include name="**/*.properties"/>
-        <include name="**/*.lst"/>
       </fileset>
       <fileset dir="${project.root}/core/sis-metadata/src/main/resources">
         <include name="**/*.sql"/>
+        <include name="**/*.lst"/>
       </fileset>
       <fileset dir="${project.root}/core/sis-referencing/src/main/resources">
         <include name="**/*.sql"/>

Modified: sis/branches/JDK8/storage/sis-xmlstore/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-xmlstore/pom.xml?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-xmlstore/pom.xml (original)
+++ sis/branches/JDK8/storage/sis-xmlstore/pom.xml Tue Feb 27 15:48:05 2018
@@ -117,6 +117,15 @@ Read and write files in the GPX format.
       <artifactId>esri-geometry-api</artifactId>
       <scope>test</scope>
     </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.apache.sis.core</groupId>
+      <artifactId>sis-metadata</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>

Modified: 
sis/branches/JDK8/storage/sis-xmlstore/src/test/java/org/apache/sis/internal/storage/gpx/WriterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-xmlstore/src/test/java/org/apache/sis/internal/storage/gpx/WriterTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/storage/sis-xmlstore/src/test/java/org/apache/sis/internal/storage/gpx/WriterTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/storage/sis-xmlstore/src/test/java/org/apache/sis/internal/storage/gpx/WriterTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -36,7 +36,7 @@ import org.junit.BeforeClass;
 import org.junit.AfterClass;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 // Branch-dependent imports
 import org.opengis.feature.Feature;


Reply via email to