sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1776235 [1/2] - in /sis/branches/JDK7: ./ core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/ core/sis-utility/src/main/java/org/apache/sis/internal/...
Date Wed, 28 Dec 2016 07:20:20 GMT
Author: desruisseaux
Date: Wed Dec 28 07:20:19 2016
New Revision: 1776235

URL: http://svn.apache.org/viewvc?rev=1776235&view=rev
Log:
Merge from JDK8 branch the work that has been done as a side-effect of GPX work.

Added:
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/StreamWriterDelegate.java
      - copied unchanged from r1776234, sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/StreamWriterDelegate.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FeatureStore.java
      - copied, changed from r1776234, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FeatureStore.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Markable.java
      - copied unchanged from r1776234, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Markable.java
Modified:
    sis/branches/JDK7/   (props changed)
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/DateAdapter.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/UniversalTimeAdapter.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/AbstractMap.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredStreamWriter.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/MarshallerPool.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/Namespaces.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper_Endorsed.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/PooledTemplate.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/TestUtilities.java
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java
    sis/branches/JDK7/ide-project/NetBeans/nbproject/cfg_hints.xml
    sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties
    sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml
    sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStore.java
    sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStoreProvider.java
    sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStore.java
    sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStoreProvider.java
    sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/Reader.java
    sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java
    sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStoreProvider.java
    sis/branches/JDK7/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/NetcdfStoreTest.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ChannelData.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ChannelDataInput.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ChannelDataOutput.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ChannelImageInputStream.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/IOUtilities.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/Store.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/Store.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/StoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStore.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/storage/InputStreamAdapter.java
    sis/branches/JDK7/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java
    sis/branches/JDK7/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/wkt/StoreTest.java
    sis/branches/JDK7/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/xml/StoreTest.java

Propchange: sis/branches/JDK7/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec 28 07:20:19 2016
@@ -1,5 +1,5 @@
 /sis/branches/Android:1430670-1480699
 /sis/branches/JDK6:1394913-1508480
-/sis/branches/JDK8:1584960-1775000
+/sis/branches/JDK8:1584960-1776234
 /sis/branches/JDK9:1773327-1773512
 /sis/trunk:1394364-1508466,1519089-1519674

Modified: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -84,9 +84,9 @@ class DatumShiftGridLoader {
     /**
      * Creates a new loader for the given channel and an existing buffer.
      *
-     * @param  channel Where to read data from.
-     * @param  buffer  The buffer to use.
-     * @param  file    Path to the longitude or latitude difference file. Used only for error reporting.
+     * @param  channel  where to read data from.
+     * @param  buffer   the buffer to use.
+     * @param  file     path to the longitude or latitude difference file. Used only for error reporting.
      */
     DatumShiftGridLoader(final ReadableByteChannel channel, final ByteBuffer buffer, final Path file) throws IOException {
         this.file    = file;
@@ -101,9 +101,9 @@ class DatumShiftGridLoader {
      * It is caller's responsibility to ensure that the given number of bytes is
      * not greater than the {@linkplain ByteBuffer#capacity() buffer capacity}.
      *
-     * @param  n The minimal number of bytes needed in the {@linkplain #buffer}.
-     * @throws EOFException If the channel has reached the end of stream.
-     * @throws IOException If an other kind of error occurred while reading.
+     * @param  n  the minimal number of bytes needed in the {@linkplain #buffer}.
+     * @throws EOFException if the channel has reached the end of stream.
+     * @throws IOException if an other kind of error occurred while reading.
      */
     final void ensureBufferContains(int n) throws IOException {
         assert n >= 0 && n <= buffer.capacity() : n;
@@ -141,9 +141,9 @@ class DatumShiftGridLoader {
     /**
      * Logs a message about a grid which is about to be loaded.
      *
-     * @param caller The provider to logs as the source class.
-     *               The source method will be set to {@code "createMathTransform"}.
-     * @param file   The grid file, as a {@link String} or a {@link Path}.
+     * @param  caller  the provider to logs as the source class.
+     *                 the source method will be set to {@code "createMathTransform"}.
+     * @param  file    the grid file, as a {@link String} or a {@link Path}.
      */
     static void log(final Class<?> caller, final Object file) {
         final LogRecord record = Resources.forLocale(null).getLogRecord(Level.FINE, Resources.Keys.LoadingDatumShiftFile_1, file);
@@ -154,9 +154,9 @@ class DatumShiftGridLoader {
     /**
      * Creates the exception to thrown when the provider failed to load the grid file.
      *
-     * @param format   The format name (e.g. "NTv2" or "NADCON").
-     * @param file     The grid file that the subclass tried to load.
-     * @param cause    The cause of the failure to load the grid file.
+     * @param  format  the format name (e.g. "NTv2" or "NADCON").
+     * @param  file    the grid file that the subclass tried to load.
+     * @param  cause   the cause of the failure to load the grid file.
      */
     static FactoryException canNotLoad(final String format, final Path file, final Exception cause) {
         final String message = Errors.format(Errors.Keys.CanNotParseFile_2, format, file);

Modified: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -158,7 +158,7 @@ public class FranceGeocentricInterpolati
         PARAMETERS = builder
                 .addIdentifier("9655")
                 .addName("France geocentric interpolation")
-                .createGroup(Molodensky.DIMENSION,       // Not an EPSG parameter.
+                .createGroup(Molodensky.DIMENSION,              // Not an EPSG parameter.
                              Molodensky.SRC_SEMI_MAJOR,
                              Molodensky.SRC_SEMI_MINOR,
                              Molodensky.TGT_SEMI_MAJOR,
@@ -200,7 +200,7 @@ public class FranceGeocentricInterpolati
      * {@code "gr3df97a.txt"} grid, but in fact the Apache SIS implementation should be flexible enough for use
      * with other area.
      *
-     * @param file The grid file.
+     * @param  file  the grid file.
      * @return {@code true} if the given file looks like a fie from the French mapping agency.
      */
     public static boolean isRecognized(final Path file) {
@@ -233,14 +233,14 @@ public class FranceGeocentricInterpolati
      * Creates the source or the target ellipsoid. This is a temporary ellipsoid
      * used only at {@link InterpolatedGeocentricTransform} time, then discarded.
      *
-     * @param values     The parameter group from which to get the axis lengths.
-     * @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
-     *                   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.
+     * @param  values     the parameter group from which to get the axis lengths.
+     * @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
+     *                    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.
      */
     private static Ellipsoid createEllipsoid(final Parameters values,
                                              final ParameterDescriptor<Double> semiMajor,
@@ -264,9 +264,9 @@ public class FranceGeocentricInterpolati
      * (which is the direction that use the interpolation grid directly without iteration),
      * then inverts the transform.
      *
-     * @param  factory The factory to use if this constructor needs to create other math transforms.
-     * @param  values The group of parameter values.
-     * @return The created math transform.
+     * @param  factory  the factory to use if this constructor needs to create other math transforms.
+     * @param  values   the group of parameter values.
+     * @return the created math transform.
      * @throws ParameterNotFoundException if a required parameter was not found.
      * @throws FactoryException if an error occurred while loading the grid.
      */
@@ -317,9 +317,9 @@ public class FranceGeocentricInterpolati
      * Returns the grid of the given name. This method returns the cached instance if it still exists,
      * or load the grid otherwise.
      *
-     * @param  file      Name of the datum shift grid file to load.
-     * @param  averages  An "average" value for the offset in each dimension, or {@code null} if unknown.
-     * @param  scale     The factor by which to multiply each compressed value before to add to the average value.
+     * @param  file      name of the datum shift grid file to load.
+     * @param  averages  an "average" value for the offset in each dimension, or {@code null} if unknown.
+     * @param  scale     the factor by which to multiply each compressed value before to add to the average value.
      */
     @SuppressWarnings("null")
     static DatumShiftGridFile<Angle,Length> getOrLoad(final Path file, final double[] averages, final double scale)
@@ -352,8 +352,8 @@ public class FranceGeocentricInterpolati
     /**
      * Unconditionally loads the grid for the given file without in-memory compression.
      *
-     * @param  in Reader of the RGF93 datum shift file.
-     * @param  file Path to the file being read, used only for error reporting.
+     * @param  in    reader of the RGF93 datum shift file.
+     * @param  file  path to the file being read, used only for error reporting.
      * @throws IOException if an I/O error occurred.
      * @throws NumberFormatException if a number can not be parsed.
      * @throws NoSuchElementException if a data line is missing a value.
@@ -460,11 +460,11 @@ public class FranceGeocentricInterpolati
         final float[] tZ = grid.offsets[2];
         do {
             final StringTokenizer t = new StringTokenizer(line.trim());
-            t.nextToken();                                                // Ignored
-            final double x = Double.parseDouble(t.nextToken());           // Longitude in degrees
-            final double y = Double.parseDouble(t.nextToken());           // Latitude in degrees
-            final int    i = JDK8.toIntExact(Math.round((x - x0) / Δx));  // Column index
-            final int    j = JDK8.toIntExact(Math.round((y - y0) / Δy));  // Row index
+            t.nextToken();                                                      // Ignored
+            final double x = Double.parseDouble(t.nextToken());                 // Longitude in degrees
+            final double y = Double.parseDouble(t.nextToken());                 // Latitude in degrees
+            final int    i = JDK8.toIntExact(Math.round((x - x0) / Δx));        // Column index
+            final int    j = JDK8.toIntExact(Math.round((y - y0) / Δy));        // Row index
             if (i < 0 || i >= nx) {
                 throw new FactoryException(Errors.format(Errors.Keys.ValueOutOfRange_4, "x", x, x0, xf));
             }
@@ -475,12 +475,12 @@ public class FranceGeocentricInterpolati
             if (!Double.isNaN(tX[p]) || !Double.isNaN(tY[p]) || !Double.isNaN(tZ[p])) {
                 throw new FactoryException(Errors.format(Errors.Keys.ValueAlreadyDefined_1, x + ", " + y));
             }
-            tX[p] = -parseFloat(t.nextToken());  // See javadoc for the reason why we reverse the sign.
+            tX[p] = -parseFloat(t.nextToken());     // See javadoc for the reason why we reverse the sign.
             tY[p] = -parseFloat(t.nextToken());
             tZ[p] = -parseFloat(t.nextToken());
             final double accuracy = ACCURACY[Math.min(ACCURACY.length-1,
                     Math.max(0, Integer.parseInt(t.nextToken()) - 1))];
-            if (!(accuracy >= grid.accuracy)) {   // Use '!' for replacing the initial NaN.
+            if (!(accuracy >= grid.accuracy)) {     // Use '!' for replacing the initial NaN.
                 grid.accuracy = accuracy;
             }
         } while ((line = in.readLine()) != null);

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -71,8 +71,8 @@ public final class XmlUtilities extends
     /**
      * Returns the factory for creating {@link javax.xml.datatype} objects.
      *
-     * @return The factory (never {@code null}).
-     * @throws DatatypeConfigurationException If the factory can not be created.
+     * @return the factory (never {@code null}).
+     * @throws DatatypeConfigurationException if the factory can not be created.
      */
     public static DatatypeFactory getDatatypeFactory() throws DatatypeConfigurationException {
         DatatypeFactory f = factory;
@@ -112,8 +112,8 @@ public final class XmlUtilities extends
      *
      * <p>This method will be deprecated after we implemented ISO 19108 in SIS.</p>
      *
-     * @param  gc The date to modify in-place.
-     * @param  force {@code true} for forcing the temporal components to be removed without any check.
+     * @param  gc     the date to modify in-place.
+     * @param  force  {@code true} for forcing the temporal components to be removed without any check.
      * @return {@code true} if the time part has been completely removed, {@code false} otherwise.
      */
     public static boolean trimTime(final XMLGregorianCalendar gc, final boolean force) {
@@ -134,10 +134,10 @@ public final class XmlUtilities extends
      * Converts the given date to a XML Gregorian calendar using the locale and timezone
      * from the current {@linkplain Context marshalling context}.
      *
-     * @param  context The current (un)marshalling context, or {@code null} if none.
-     * @param  date The date to convert to a XML calendar, or {@code null}.
-     * @return The XML calendar, or {@code null} if {@code date} was null.
-     * @throws DatatypeConfigurationException If the factory can not be created.
+     * @param  context  the current (un)marshalling context, or {@code null} if none.
+     * @param  date     the date to convert to a XML calendar, or {@code null}.
+     * @return the XML calendar, or {@code null} if {@code date} was null.
+     * @throws DatatypeConfigurationException if the factory can not be created.
      */
     public static XMLGregorianCalendar toXML(final Context context, final Date date) throws DatatypeConfigurationException {
         if (date != null) {
@@ -153,7 +153,7 @@ public final class XmlUtilities extends
      * timezone were explicitely set, then the default ones are used as documented in the
      * {@link org.apache.sis.xml.XML#TIMEZONE} constant.
      *
-     * @return A Gregorian calendar initialized with the current timezone and locale.
+     * @return a Gregorian calendar initialized with the current timezone and locale.
      */
     private static GregorianCalendar createGregorianCalendar(final Context context) {
         if (context != null) {
@@ -177,9 +177,9 @@ public final class XmlUtilities extends
     /**
      * Converts the given XML Gregorian calendar to a date.
      *
-     * @param  context The current (un)marshalling context, or {@code null} if none.
-     * @param  xml The XML calendar to convert to a date, or {@code null}.
-     * @return The date, or {@code null} if {@code xml} was null.
+     * @param  context  the current (un)marshalling context, or {@code null} if none.
+     * @param  xml      the XML calendar to convert to a date, or {@code null}.
+     * @return the date, or {@code null} if {@code xml} was null.
      */
     public static Date toDate(final Context context, final XMLGregorianCalendar xml) {
         if (xml != null) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -38,6 +38,9 @@ import org.apache.sis.internal.jaxb.XmlU
  * @since   0.3
  * @version 0.4
  * @module
+ *
+ * @see org.apache.sis.internal.jaxb.gml.DateAdapter
+ * @see org.apache.sis.internal.jaxb.gml.UniversalTimeAdapter
  */
 @XmlType(name = "Date_PropertyType")
 public final class GO_DateTime extends XmlAdapter<GO_DateTime, Date> {
@@ -66,7 +69,7 @@ public final class GO_DateTime extends X
     /**
      * Builds a wrapper for the given {@link Date}.
      *
-     * @param date The date to marshal. Can not be {@code null}.
+     * @param date  the date to marshal. Can not be {@code null}.
      */
     private GO_DateTime(final Date date) {
         final Context context = Context.current();
@@ -94,8 +97,8 @@ public final class GO_DateTime extends X
      * Converts a date read from a XML stream to the object which will contains
      * the value. JAXB calls automatically this method at unmarshalling time.
      *
-     * @param value The adapter for this metadata value.
-     * @return A {@linkplain Date date} which represents the metadata value.
+     * @param  value  the adapter for this metadata value.
+     * @return a {@linkplain Date date} which represents the metadata value.
      */
     @Override
     public Date unmarshal(final GO_DateTime value) {
@@ -107,8 +110,8 @@ public final class GO_DateTime extends X
      * file or stream. JAXB calls automatically this method at marshalling time.
      * The use of {@code <gco:Date>} or {@code <gco:DateTime>} is determined automatically.
      *
-     * @param value The date value.
-     * @return The adapter for this date.
+     * @param  value  the date value.
+     * @return the adapter for this date.
      */
     @Override
     public GO_DateTime marshal(final Date value) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/DateAdapter.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/DateAdapter.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/DateAdapter.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/DateAdapter.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -46,6 +46,7 @@ import org.apache.sis.internal.jaxb.XmlU
  * @module
  *
  * @see UniversalTimeAdapter
+ * @see org.apache.sis.internal.jaxb.gco.GO_DateTime
  */
 public final class DateAdapter extends XmlAdapter<XMLGregorianCalendar, Date> {
     /**
@@ -58,8 +59,8 @@ public final class DateAdapter extends X
      * Converts a date read from a XML stream to the object which will contains
      * the value. JAXB calls automatically this method at unmarshalling time.
      *
-     * @param  value The XML date, or {@code null}.
-     * @return The {@code java.util} date, or {@code null}.
+     * @param  value  the XML date, or {@code null}.
+     * @return the {@code java.util} date, or {@code null}.
      */
     @Override
     public Date unmarshal(final XMLGregorianCalendar value) {
@@ -70,8 +71,8 @@ public final class DateAdapter extends X
      * Converts the date to the object to be marshalled in a XML file or stream.
      * JAXB calls automatically this method at marshalling time.
      *
-     * @param  value The {@code java.util} date value, or {@code null}.
-     * @return The XML date, or {@code null}.
+     * @param  value  the {@code java.util} date value, or {@code null}.
+     * @return the XML date, or {@code null}.
      */
     @Override
     public XMLGregorianCalendar marshal(final Date value) {
@@ -79,7 +80,7 @@ public final class DateAdapter extends X
             final Context context = Context.current();
             try {
                 final XMLGregorianCalendar gc = XmlUtilities.toXML(context, value);
-                XmlUtilities.trimTime(gc, true); // Type is xsd:date without time.
+                XmlUtilities.trimTime(gc, true);        // Type is xsd:date without time.
                 return gc;
             } catch (DatatypeConfigurationException e) {
                 Context.warningOccured(context, XmlAdapter.class, "marshal", e, true);

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/UniversalTimeAdapter.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/UniversalTimeAdapter.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/UniversalTimeAdapter.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/UniversalTimeAdapter.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -41,6 +41,7 @@ import static org.apache.sis.internal.ja
  * @module
  *
  * @see DateAdapter
+ * @see org.apache.sis.internal.jaxb.gco.GO_DateTime
  */
 public final class UniversalTimeAdapter extends XmlAdapter<XMLGregorianCalendar, Date> {
     /**
@@ -58,8 +59,8 @@ public final class UniversalTimeAdapter
      * Converts a date read from a XML stream to the object which will contains
      * the value. JAXB calls automatically this method at unmarshalling time.
      *
-     * @param  value The XML date, or {@code null}.
-     * @return The {@code java.util} date, or {@code null}.
+     * @param  value  the XML date, or {@code null}.
+     * @return the {@code java.util} date, or {@code null}.
      */
     @Override
     public Date unmarshal(final XMLGregorianCalendar value) {
@@ -70,8 +71,8 @@ public final class UniversalTimeAdapter
      * Converts the date to the object to be marshalled in a XML file or stream.
      * JAXB calls automatically this method at marshalling time.
      *
-     * @param  value The {@code java.util} date value, or {@code null}.
-     * @return The XML date, or {@code null}.
+     * @param  value  the {@code java.util} date value, or {@code null}.
+     * @return the XML date, or {@code null}.
      */
     @Override
     public XMLGregorianCalendar marshal(final Date value) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/AbstractMap.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/AbstractMap.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/AbstractMap.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/AbstractMap.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -18,6 +18,7 @@ package org.apache.sis.internal.util;
 
 import java.util.Map;
 import java.util.Set;
+import java.util.Objects;
 import java.util.Iterator;
 import java.util.Collection;
 import java.util.Collections;
@@ -26,9 +27,6 @@ import java.util.NoSuchElementException;
 import org.apache.sis.io.TableAppender;
 import org.apache.sis.util.resources.Errors;
 
-// Branch-dependent imports
-import java.util.Objects;
-
 
 /**
  * An alternative to {@link java.util.AbstractMap java.util.AbstractMap} using different implementation strategies.
@@ -68,7 +66,7 @@ import java.util.Objects;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.5
- * @version 0.7
+ * @version 0.8
  * @module
  */
 public abstract class AbstractMap<K,V> implements Map<K,V> {
@@ -132,6 +130,48 @@ public abstract class AbstractMap<K,V> i
     }
 
     /**
+     * Convenience {@code EntryIterator} implementation which iterates over a list of key candidates.
+     * All keys associated to a null value will be skipped.
+     *
+     * @see AbstractMap#entryIterator()
+     *
+     * @since 0.8
+     */
+    protected final class KeyIterator extends EntryIterator<K,V> {
+        /** The key candidates.              */ private final K[] keys;
+        /** Index of current key.            */ private int index = -1;
+        /** Value associated to current key. */ private V value;
+
+        /**
+         * Creates a new iterator over the given key candidates.
+         * The given array is not cloned; do not modify.
+         *
+         * @param  keys  all keys that the map may possibly contain.
+         */
+        @SafeVarargs
+        public KeyIterator(final K... keys) {this.keys = keys;}
+
+        /**
+         * Moves to the next key associated to a non-null value.
+         *
+         * @return {@code false} if this method reached iteration end.
+         */
+        @Override
+        protected boolean next() {
+            while (++index < keys.length) {
+                value = get(keys[index]);
+                if (value != null) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        @Override protected K getKey()   {return keys[index];}
+        @Override protected V getValue() {return value;}
+    }
+
+    /**
      * An implementation of {@link EntryIterator} which delegates its work to a standard iterator.
      * Subclasses can modify the {@link #value} or other properties during iteration.
      *
@@ -485,6 +525,9 @@ public abstract class AbstractMap<K,V> i
      * Returns an iterator over the entries in this map.
      * It is okay (but not required) to return {@code null} if the map is empty.
      *
+     * <div class="note"><b>Tip:</b>
+     * {@link KeyIterator} provides a convenient implementation for simple cases.</div>
+     *
      * @return an iterator over the entries in this map, or {@code null}.
      */
     protected abstract EntryIterator<K,V> entryIterator();

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/CheckedArrayList.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -55,6 +55,7 @@ import static org.apache.sis.util.Argume
  *
  * @see Collections#checkedList(List, Class)
  */
+@SuppressWarnings("CloneableClassWithoutClone")         // ArrayList.clone() is sufficient.
 public final class CheckedArrayList<E> extends ArrayList<E> implements CheckedContainer<E> {
     /**
      * Serial version UID for compatibility with different versions.
@@ -69,7 +70,7 @@ public final class CheckedArrayList<E> e
     /**
      * Constructs a list of the specified type.
      *
-     * @param type The element type (can not be null).
+     * @param type  the element type (can not be null).
      */
     public CheckedArrayList(final Class<E> type) {
         super();
@@ -80,8 +81,8 @@ public final class CheckedArrayList<E> e
     /**
      * Constructs a list of the specified type and initial capacity.
      *
-     * @param type The element type (should not be null).
-     * @param capacity The initial capacity.
+     * @param type      the element type (should not be null).
+     * @param capacity  the initial capacity.
      */
     public CheckedArrayList(final Class<E> type, final int capacity) {
         super(capacity);
@@ -92,10 +93,10 @@ public final class CheckedArrayList<E> e
     /**
      * Returns the given collection as a {@code CheckedArrayList} instance of the given element type.
      *
-     * @param  <E>        The element type.
-     * @param  collection The collection or {@code null}.
-     * @param  type       The element type.
-     * @return The given collection as a {@code CheckedArrayList}, or {@code null} if the given collection was null.
+     * @param  <E>         the element type.
+     * @param  collection  the collection or {@code null}.
+     * @param  type        the element type.
+     * @return the given collection as a {@code CheckedArrayList}, or {@code null} if the given collection was null.
      * @throws ClassCastException if an element is not of the expected type.
      *
      * @since 0.5
@@ -109,7 +110,7 @@ public final class CheckedArrayList<E> e
             return (CheckedArrayList<E>) collection;
         } else {
             final CheckedArrayList<E> list = new CheckedArrayList<>(type, collection.size());
-            list.addAll((Collection) collection); // addAll will perform the type checks.
+            list.addAll((Collection) collection);               // addAll will perform the type checks.
             return list;
         }
     }
@@ -138,10 +139,10 @@ public final class CheckedArrayList<E> e
      *       stack trace depth, so the first element on the stack trace is the public {@code add(E)} method.</li>
      * </ul>
      *
-     * @param  collection   The collection in which the user attempted to add an invalid element.
-     * @param  element      The element that the user attempted to add (may be {@code null}).
-     * @param  expectedType The type of elements that the collection expected.
-     * @return The message to give to the exception to be thrown, or {@code null} if no message shall be thrown.
+     * @param  collection    the collection in which the user attempted to add an invalid element.
+     * @param  element       the element that the user attempted to add (may be {@code null}).
+     * @param  expectedType  the type of elements that the collection expected.
+     * @return the message to give to the exception to be thrown, or {@code null} if no message shall be thrown.
      *
      * @see <a href="https://issues.apache.org/jira/browse/SIS-139">SIS-139</a>
      * @see <a href="https://issues.apache.org/jira/browse/SIS-157">SIS-157</a>
@@ -168,10 +169,9 @@ public final class CheckedArrayList<E> e
     }
 
     /**
-     * Ensures that the given element is non-null and assignable to the type
-     * specified at construction time.
+     * Ensures that the given element is non-null and assignable to the type specified at construction time.
      *
-     * @param  element the object to check, or {@code null}.
+     * @param  element  the object to check, or {@code null}.
      * @return {@code true} if the instance is valid, {@code false} if it shall be ignored.
      * @throws NullPointerException if the given element is {@code null}.
      * @throws ClassCastException if the given element is not of the expected type.
@@ -199,8 +199,8 @@ public final class CheckedArrayList<E> e
     /**
      * Ensures that all elements of the given collection can be added to this list.
      *
-     * @param  collection the collection to check, or {@code null}.
-     * @return The potentially filtered collection of elements to add.
+     * @param  collection  the collection to check, or {@code null}.
+     * @return the potentially filtered collection of elements to add.
      * @throws NullPointerException if an element is {@code null}.
      * @throws ClassCastException if an element is not of the expected type.
      */
@@ -225,21 +225,22 @@ public final class CheckedArrayList<E> e
      * In particular {@link #toArray()} returns directly the internal array, because this is the method to be
      * invoked by {@code ArrayList.addAll(…)} (this is actually the only important method in this wrapper).
      *
-     * @param <E> The type or list elements.
+     * @param  <E>  the type or list elements.
      */
+    @SuppressWarnings("ReturnOfCollectionOrArrayField")
     private static final class Mediator<E> extends AbstractList<E> {
         private final E[] array;
         Mediator(final E[] array)           {this.array = array;}
         @Override public int size()         {return array.length;}
         @Override public E   get(int index) {return array[index];}
-        @Override public E[] toArray()      {return array;} // See class javadoc.
+        @Override public E[] toArray()      {return array;}                 // See class javadoc.
     }
 
     /**
      * Replaces the element at the specified position in this list with the specified element.
      *
-     * @param  index   index of element to replace.
-     * @param  element element to be stored at the specified position.
+     * @param  index    index of element to replace.
+     * @param  element  element to be stored at the specified position.
      * @return the element previously at the specified position.
      * @throws IndexOutOfBoundsException if index out of range.
      * @throws NullPointerException if the given element is {@code null}.
@@ -256,7 +257,7 @@ public final class CheckedArrayList<E> e
     /**
      * Appends the specified element to the end of this list.
      *
-     * @param  element element to be appended to this list.
+     * @param  element  element to be appended to this list.
      * @return always {@code true}.
      * @throws NullPointerException if the given element is {@code null}.
      * @throws ClassCastException if the given element is not of the expected type.
@@ -272,8 +273,8 @@ public final class CheckedArrayList<E> e
     /**
      * Inserts the specified element at the specified position in this list.
      *
-     * @param  index index at which the specified element is to be inserted.
-     * @param  element element to be inserted.
+     * @param  index  index at which the specified element is to be inserted.
+     * @param  element  element to be inserted.
      * @throws IndexOutOfBoundsException if index out of range.
      * @throws NullPointerException if the given element is {@code null}.
      * @throws ClassCastException if the given element is not of the expected type.
@@ -289,7 +290,7 @@ public final class CheckedArrayList<E> e
      * Appends all of the elements in the specified collection to the end of this list,
      * in the order that they are returned by the specified Collection's Iterator.
      *
-     * @param  collection the elements to be inserted into this list.
+     * @param  collection  the elements to be inserted into this list.
      * @return {@code true} if this list changed as a result of the call.
      * @throws NullPointerException if an element is {@code null}.
      * @throws ClassCastException if an element is not of the expected type.
@@ -303,8 +304,8 @@ public final class CheckedArrayList<E> e
      * Inserts all of the elements in the specified collection into this list,
      * starting at the specified position.
      *
-     * @param  index index at which to insert first element fromm the specified collection.
-     * @param  collection elements to be inserted into this list.
+     * @param  index  index at which to insert first element fromm the specified collection.
+     * @param  collection  elements to be inserted into this list.
      * @return {@code true} if this list changed as a result of the call.
      * @throws NullPointerException if an element is {@code null}.
      * @throws ClassCastException if an element is not of the expected type.
@@ -320,9 +321,9 @@ public final class CheckedArrayList<E> e
      * <p><b>Limitation:</b> current implementation checks only the type.
      * It does not prevent the insertion of {@code null} values.</p>
      *
-     * @param  fromIndex Index of the first element.
-     * @param  toIndex   Index after the last element.
-     * @return The sublist in the given index range.
+     * @param  fromIndex  index of the first element.
+     * @param  toIndex    index after the last element.
+     * @return the sublist in the given index range.
      */
     @Override
     public List<E> subList(final int fromIndex, final int toIndex) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -116,6 +116,16 @@ public final class Errors extends Indexe
         public static final short CanNotParseFile_2 = 9;
 
         /**
+         * Can not parse line {2} of “{1}” as part of a file in the {0} format.
+         */
+        public static final short CanNotParseFile_3 = 168;
+
+        /**
+         * Can not parse line {2} (after column {3}) of “{1}” as part of a file in the {0} format.
+         */
+        public static final short CanNotParseFile_4 = 169;
+
+        /**
          * Can not read property “{1}” in file “{0}”.
          */
         public static final short CanNotReadPropertyInFile_2 = 10;
@@ -146,6 +156,11 @@ public final class Errors extends Indexe
         public static final short CanNotTransformEnvelope = 15;
 
         /**
+         * Can not write “{1}” as a file in the {0} format.
+         */
+        public static final short CanNotWriteFile_2 = 171;
+
+        /**
          * Circular reference.
          */
         public static final short CircularReference = 16;
@@ -510,6 +525,11 @@ public final class Errors extends Indexe
         public static final short MissingComponentInElement_2 = 84;
 
         /**
+         * JAXB context has not been specified.
+         */
+        public static final short MissingJAXBContext = 170;
+
+        /**
          * This operation requires the “{0}” module.
          */
         public static final short MissingRequiredModule_1 = 85;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] Wed Dec 28 07:20:19 2016
@@ -34,12 +34,15 @@ CanNotConvertValue_2              = Can
 CanNotCompute_1                   = Can not compute \u201c{0}\u201d.
 CanNotOpen_1                      = Can not open \u201c{0}\u201d.
 CanNotParseFile_2                 = Can not parse \u201c{1}\u201d as a file in the {0} format.
+CanNotParseFile_3                 = Can not parse line {2} of \u201c{1}\u201d as part of a file in the {0} format.
+CanNotParseFile_4                 = Can not parse line {2} (after column {3}) of \u201c{1}\u201d as part of a file in the {0} format.
 CanNotRead_1                      = Can not read \u201c{0}\u201d.
 CanNotReadPropertyInFile_2        = Can not read property \u201c{1}\u201d in file \u201c{0}\u201d.
 CanNotRepresentInFormat_2         = Can not represent \u201c{1}\u201d in a strictly standard-compliant {0} format.
 CanNotSetParameterValue_1         = Can not set a value for parameter \u201c{0}\u201d.
 CanNotSetPropertyValue_1          = Can not set a value for property \u201c{0}\u201d.
 CanNotTransformEnvelope           = Can not transform envelope.
+CanNotWriteFile_2                 = Can not write \u201c{1}\u201d as a file in the {0} format.
 CircularReference                 = Circular reference.
 ClassNotFinal_1                   = Class \u2018{0}\u2019 is not final.
 CloneNotSupported_1               = Can not clone an object of type \u2018{0}\u2019.
@@ -112,6 +115,7 @@ MismatchedGridGeometry_2          = The
 MismatchedMatrixSize_4            = Mismatched matrix sizes: expected {0}\u00d7{1} but got {2}\u00d7{3}.
 MissingCharacterInElement_2       = Missing a \u2018{1}\u2019 character in \u201c{0}\u201d element.
 MissingComponentInElement_2       = Missing a \u201c{1}\u201d component in \u201c{0}\u201d.
+MissingJAXBContext                = JAXB context has not been specified.
 MissingRequiredModule_1           = This operation requires the \u201c{0}\u201d module.
 MissingValueForOption_1           = Missing value for \u201c{0}\u201d option.
 MissingValueForProperty_1         = Missing value for \u201c{0}\u201d property.

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties [ISO-8859-1] Wed Dec 28 07:20:19 2016
@@ -31,12 +31,15 @@ CanNotConvertValue_2              = La v
 CanNotCompute_1                   = Ne peut pas calculer \u00ab\u202f{0}\u202f\u00bb.
 CanNotOpen_1                      = Ne peut pas ouvrir \u00ab\u202f{0}\u202f\u00bb.
 CanNotParseFile_2                 = Ne peut pas lire \u00ab\u202f{1}\u202f\u00bb comme un fichier au format {0}.
+CanNotParseFile_3                 = Ne peut pas lire la ligne {2} de \u00ab\u202f{1}\u202f\u00bb comme une partie d\u2019un fichier au format {0}.
+CanNotParseFile_4                 = Ne peut pas lire la ligne {2} (apr\u00e8s la colonne {3}) de \u00ab\u202f{1}\u202f\u00bb comme une partie d\u2019un fichier au format {0}.
 CanNotRead_1                      = Ne peut pas lire \u00ab\u202f{0}\u202f\u00bb.
 CanNotReadPropertyInFile_2        = Ne peut pas lire la propri\u00e9t\u00e9 \u00ab\u202f{1}\u202f\u00bb dans le fichier \u00ab\u202f{0}\u202f\u00bb.
 CanNotRepresentInFormat_2         = Ne peut pas repr\u00e9senter \u00ab\u202f{1}\u202f\u00bb dans un format {0} strictement conforme.
 CanNotSetParameterValue_1         = Ne peut pas d\u00e9finir une valeur pour le param\u00e8tre \u00ab\u202f{0}\u202f\u00bb.
 CanNotSetPropertyValue_1          = Ne peut pas d\u00e9finir une valeur pour la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb.
 CanNotTransformEnvelope           = Ne peut pas transformer l\u2019enveloppe.
+CanNotWriteFile_2                 = Ne peut pas \u00e9crire \u00ab\u202f{1}\u202f\u00bb comme un fichier au format {0}.
 CircularReference                 = R\u00e9f\u00e9rence circulaire.
 ClassNotFinal_1                   = La classe \u2018{0}\u2019 n\u2019est pas finale.
 CloneNotSupported_1               = Un objet de type \u2018{0}\u2019 ne peut pas \u00eatre clon\u00e9.
@@ -109,6 +112,7 @@ MismatchedGridGeometry_2          = La g
 MismatchedMatrixSize_4            = Une matrice de taille de {0}\u00d7{1} \u00e9tait attendue mais la matrice donn\u00e9e est de taille {2}\u00d7{3}.
 MissingCharacterInElement_2       = Un caract\u00e8re \u2018{1}\u2019 est manquant dans l\u2019\u00e9l\u00e9ment \u00ab\u202f{0}\u202f\u00bb.
 MissingComponentInElement_2       = Il manque une composante \u00ab\u202f{1}\u202f\u00bb dans l\u2019\u00e9l\u00e9ment \u00ab\u202f{0}\u202f\u00bb.
+MissingJAXBContext                = Le contexte JAXB n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9.
 MissingRequiredModule_1           = Cette op\u00e9ration requiert le module \u00ab\u202f{0}\u202f\u00bb.
 MissingValueForOption_1           = Aucune valeur n\u2019a \u00e9t\u00e9 d\u00e9finie pour l\u2019option \u00ab\u202f{0}\u202f\u00bb.
 MissingValueForProperty_1         = Aucune valeur n\u2019a \u00e9t\u00e9 d\u00e9finie pour la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb.

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredStreamWriter.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredStreamWriter.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredStreamWriter.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredStreamWriter.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -19,6 +19,7 @@ package org.apache.sis.xml;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.namespace.NamespaceContext;
+import org.apache.sis.internal.util.StreamWriterDelegate;
 
 
 /**
@@ -30,17 +31,12 @@ import javax.xml.namespace.NamespaceCont
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.4
+ * @version 0.8
  * @module
  */
-final class FilteredStreamWriter implements XMLStreamWriter {
+final class FilteredStreamWriter extends StreamWriterDelegate {
     /**
-     * Where to write the XML.
-     */
-    private final XMLStreamWriter out;
-
-    /**
-     * The other version to marshall to.
+     * The other version to marshal to.
      */
     private final FilterVersion version;
 
@@ -48,7 +44,7 @@ final class FilteredStreamWriter impleme
      * Creates a new filter for the given version of the standards.
      */
     FilteredStreamWriter(final XMLStreamWriter out, final FilterVersion version) {
-        this.out     = out;
+        super(out);
         this.version = version;
     }
 
@@ -60,12 +56,6 @@ final class FilteredStreamWriter impleme
         return (replacement != null) ? replacement : uri;
     }
 
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeStartElement(final String localName) throws XMLStreamException {
-        out.writeStartElement(localName);
-    }
-
     /** Replaces the given URI if needed, then forwards the call. */
     @Override
     public void writeStartElement(final String namespaceURI, final String localName) throws XMLStreamException {
@@ -94,45 +84,9 @@ final class FilteredStreamWriter impleme
         out.writeEmptyElement(prefix, localName, toView(namespaceURI));
     }
 
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeEmptyElement(final String localName) throws XMLStreamException {
-        out.writeEmptyElement(localName);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeEndElement() throws XMLStreamException {
-        out.writeEndElement();
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeEndDocument() throws XMLStreamException {
-        out.writeEndDocument();
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void close() throws XMLStreamException {
-        out.close();
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void flush() throws XMLStreamException {
-        out.flush();
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeAttribute(final String localName, final String value) throws XMLStreamException {
-        out.writeAttribute(localName, value);
-    }
-
     /** Replaces the given URI if needed, then forwards the call. */
     @Override
-    public void writeAttribute(final String prefix, final String namespaceURI,final  String localName,
+    public void writeAttribute(final String prefix, final String namespaceURI, final String localName,
             final String value) throws XMLStreamException
     {
         out.writeAttribute(prefix, toView(namespaceURI), localName, value);
@@ -158,72 +112,6 @@ final class FilteredStreamWriter impleme
         out.writeDefaultNamespace(toView(namespaceURI));
     }
 
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeComment(final String data) throws XMLStreamException {
-        out.writeComment(data);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeProcessingInstruction(final String target) throws XMLStreamException {
-        out.writeProcessingInstruction(target);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeProcessingInstruction(final String target, final String data) throws XMLStreamException {
-        out.writeProcessingInstruction(target, data);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeCData(final String data) throws XMLStreamException {
-        out.writeCData(data);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeDTD(final String dtd) throws XMLStreamException {
-        out.writeDTD(dtd);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeEntityRef(final String name) throws XMLStreamException {
-        out.writeEntityRef(name);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeStartDocument() throws XMLStreamException {
-        out.writeStartDocument();
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeStartDocument(final String version) throws XMLStreamException {
-        out.writeStartDocument(version);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeStartDocument(final String encoding, final String version) throws XMLStreamException {
-        out.writeStartDocument(encoding, version);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeCharacters(final String text) throws XMLStreamException {
-        out.writeCharacters(text);
-    }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public void writeCharacters(final char[] text, final int start, final int len) throws XMLStreamException {
-        out.writeCharacters(text, start, len);
-    }
-
     /** Replaces the given URI if needed, then forwards the call. */
     @Override
     public String getPrefix(final String uri) throws XMLStreamException {
@@ -258,10 +146,4 @@ final class FilteredStreamWriter impleme
     public NamespaceContext getNamespaceContext() {
         return new FilteredNamespaces(out.getNamespaceContext(), version, false);
     }
-
-    /** Forwards the call verbatim. */
-    @Override
-    public Object getProperty(final String name) throws IllegalArgumentException {
-        return out.getProperty(name);
-    }
 }

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/MarshallerPool.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/MarshallerPool.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/MarshallerPool.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/MarshallerPool.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -75,7 +75,7 @@ public class MarshallerPool {
      * This is a very approximative value: actual timeout will not be shorter,
      * but may be twice longer.
      */
-    private static final long TIMEOUT = 15000000000L; // 15 seconds.
+    private static final long TIMEOUT = 15000000000L;           // 15 seconds.
 
     /**
      * Kind of JAXB implementations.

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/Namespaces.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/Namespaces.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/Namespaces.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/Namespaces.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -44,7 +44,7 @@ import org.apache.sis.util.ArgumentCheck
  *   <tr><td>srv</td>    <td>{@value #SRV}</td>   <td></td></tr>
  *   <tr><td>gts</td>    <td>{@value #GTS}</td>   <td></td></tr>
  *   <tr><td>gmx</td>    <td>{@value #GMX}</td>   <td></td></tr>
- *   <tr><td>gml</td>    <td>{@value #GML}</td>   <td>0.4</td></tr>
+ *   <tr><td>gml</td>    <td>{@value #GML}</td>   <td>SIS 0.4</td></tr>
  *   <tr><td>csw</td>    <td>{@value #CSW}</td>   <td></td></tr>
  *   <tr><td>xsi</td>    <td>{@value #XSI}</td>   <td></td></tr>
  *   <tr><td>xlink</td>  <td>{@value #XLINK}</td> <td></td></tr>

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -49,7 +49,7 @@ final class OGCNamespacePrefixMapper ext
      * Creates a new prefix mapper.
      * This constructor is invoked by reflection and needs to be public for that reason.
      *
-     * @param defaultNamespace The namespace which doesn't need prefix, or {@code null} if none.
+     * @param defaultNamespace the namespace which doesn't need prefix, or {@code null} if none.
      */
     public OGCNamespacePrefixMapper(final String defaultNamespace) {
         this.defaultNamespace = defaultNamespace;
@@ -58,11 +58,12 @@ final class OGCNamespacePrefixMapper ext
     /**
      * Returns a preferred prefix for the given namespace URI.
      *
-     * @param  namespace  The namespace URI for which the prefix needs to be found.
-     * @param  suggestion The suggested prefix, returned if the given namespace is not recognized.
-     * @param  required   {@code true} if this method is not allowed to return the empty string.
-     * @return The prefix inferred from the namespace URI.
+     * @param  namespace   the namespace URI for which the prefix needs to be found.
+     * @param  suggestion  the suggested prefix, returned if the given namespace is not recognized.
+     * @param  required    {@code true} if this method is not allowed to return the empty string.
+     * @return the prefix inferred from the namespace URI.
      */
+    @Override
     public String getPreferredPrefix(final String namespace, final String suggestion, final boolean required) {
         /*
          * If the given namespace is the one defined as default namespace, this implementation

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper_Endorsed.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper_Endorsed.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper_Endorsed.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper_Endorsed.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -44,7 +44,7 @@ final class OGCNamespacePrefixMapper_End
      * Creates a new prefix mapper.
      * This constructor is invoked by reflection and needs to be public for that reason.
      *
-     * @param defaultNamespace The namespace which doesn't need prefix, or {@code null} if none.
+     * @param defaultNamespace the namespace which doesn't need prefix, or {@code null} if none.
      */
     public OGCNamespacePrefixMapper_Endorsed(final String defaultNamespace) {
         this.defaultNamespace = defaultNamespace;
@@ -53,11 +53,12 @@ final class OGCNamespacePrefixMapper_End
     /**
      * Returns a preferred prefix for the given namespace URI.
      *
-     * @param  namespace  The namespace URI for which the prefix needs to be found.
-     * @param  suggestion The suggested prefix, returned if the given namespace is not recognized.
-     * @param  required   {@code true} if this method is not allowed to return the empty string.
-     * @return The prefix inferred from the namespace URI.
+     * @param  namespace   the namespace URI for which the prefix needs to be found.
+     * @param  suggestion  the suggested prefix, returned if the given namespace is not recognized.
+     * @param  required    {@code true} if this method is not allowed to return the empty string.
+     * @return the prefix inferred from the namespace URI.
      */
+    @Override
     public String getPreferredPrefix(final String namespace, final String suggestion, final boolean required) {
         /*
          * If the given namespace is the one defined as default namespace, this implementation

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/PooledTemplate.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/PooledTemplate.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/PooledTemplate.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/PooledTemplate.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -39,7 +39,7 @@ final class PooledTemplate extends Poole
     /**
      * Creates a new template.
      *
-     * @param properties The properties to be given to JAXB (un)marshallers, or {@code null} if none.
+     * @param properties  the properties to be given to JAXB (un)marshallers, or {@code null} if none.
      * @param internal {@code true} if the JAXB implementation is the one bundled in JDK 6,
      *        or {@code false} if this is the external implementation provided as a JAR file
      *        in the endorsed directory.
@@ -83,10 +83,10 @@ final class PooledTemplate extends Poole
      * <p>Current implementation expects values of type {@code String}, but this may be generalized
      * in a future SIS version if there is a need for that.</p>
      *
-     * @param  name The name of the property to remove.
-     * @param  defaultValue The default value to return if the given property is not defined in the map.
-     * @return The old value of that property, or {@code defaultValue} if the given property was not defined.
-     * @throws PropertyException If the given property is not of the expected type.
+     * @param  name  the name of the property to remove.
+     * @param  defaultValue  the default value to return if the given property is not defined in the map.
+     * @return the old value of that property, or {@code defaultValue} if the given property was not defined.
+     * @throws PropertyException if the given property is not of the expected type.
      */
     String remove(final String name, final String defaultValue) throws PropertyException {
         final Object value = initialProperties.remove(name);

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -155,7 +155,6 @@ public final class XML extends Static {
      * <div class="section">Current limitation</div>
      * In current SIS implementation, this property is honored only by the {@link MarshallerPool} constructors.
      * Specifying this property to {@link javax.xml.bind.Marshaller#setProperty(String, Object)} is too late.
-     * This limitation may be fixed in a future SIS version.
      */
     public static final String DEFAULT_NAMESPACE = "org.apache.sis.xml.defaultNamespace";
 
@@ -348,7 +347,7 @@ public final class XML extends Static {
         MarshallerPool pool = POOL;
         if (pool == null) {
             synchronized (XML.class) {
-                pool = POOL; // Double-check idiom: see javadoc.
+                pool = POOL;                            // Double-check idiom: see javadoc.
                 if (pool == null) {
                     POOL = pool = new MarshallerPool(null);
                 }

Modified: sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -59,8 +59,8 @@ public strictfp class Assert extends org
      * Asserts that the two given objects are not equal.
      * This method tests all {@link ComparisonMode} except {@code DEBUG}.
      *
-     * @param o1  The first object.
-     * @param o2  The second object.
+     * @param  o1  the first object.
+     * @param  o2  the second object.
      */
     public static void assertNotDeepEquals(final Object o1, final Object o2) {
         assertNotSame("same", o1, o2);
@@ -78,8 +78,8 @@ public strictfp class Assert extends org
      * {@link ComparisonMode#APPROXIMATIVE} criterion, but not equal according the
      * {@link ComparisonMode#IGNORE_METADATA} criterion.
      *
-     * @param expected  The expected object.
-     * @param actual    The actual object.
+     * @param  expected  the expected object.
+     * @param  actual    the actual object.
      */
     public static void assertAlmostEquals(final Object expected, final Object actual) {
         assertFalse("Shall not be strictly equals",          Utilities.deepEquals(expected, actual, ComparisonMode.STRICT));
@@ -92,8 +92,8 @@ public strictfp class Assert extends org
      * Asserts that the two given objects are equal ignoring metadata.
      * See {@link ComparisonMode#IGNORE_METADATA} for more information.
      *
-     * @param expected  The expected object.
-     * @param actual    The actual object.
+     * @param  expected  the expected object.
+     * @param  actual    the actual object.
      */
     public static void assertEqualsIgnoreMetadata(final Object expected, final Object actual) {
         assertTrue("Shall be approximatively equals",       Utilities.deepEquals(expected, actual, ComparisonMode.DEBUG));
@@ -105,8 +105,8 @@ public strictfp class Assert extends org
      * Asserts that the two given arrays contains objects that are equal ignoring metadata.
      * See {@link ComparisonMode#IGNORE_METADATA} for more information.
      *
-     * @param expected  The expected objects (array can be {@code null}).
-     * @param actual    The actual objects (array can be {@code null}).
+     * @param  expected  the expected objects (array can be {@code null}).
+     * @param  actual    the actual objects (array can be {@code null}).
      *
      * @since 0.7
      */
@@ -133,8 +133,8 @@ public strictfp class Assert extends org
      * The comparisons is performed one a line-by-line basis. For each line, trailing
      * spaces (but not leading spaces) are ignored.
      *
-     * @param expected The expected string.
-     * @param actual   The actual string.
+     * @param  expected  the expected string.
+     * @param  actual    the actual string.
      */
     public static void assertMultilinesEquals(final CharSequence expected, final CharSequence actual) {
         assertMultilinesEquals(null, expected, actual);
@@ -145,9 +145,9 @@ public strictfp class Assert extends org
      * The comparisons is performed one a line-by-line basis. For each line, trailing
      * spaces (but not leading spaces) are ignored.
      *
-     * @param message  The message to print in case of failure, or {@code null} if none.
-     * @param expected The expected string.
-     * @param actual   The actual string.
+     * @param  message   the message to print in case of failure, or {@code null} if none.
+     * @param  expected  the expected string.
+     * @param  actual    the actual string.
      */
     public static void assertMultilinesEquals(final String message, final CharSequence expected, final CharSequence actual) {
         final CharSequence[] expectedLines = CharSequences.splitOnEOL(expected);
@@ -177,8 +177,8 @@ public strictfp class Assert extends org
      *
      * <p>The given collections are typically instances of {@link Set}, but this is not mandatory.</p>
      *
-     * @param expected The expected set, or {@code null}.
-     * @param actual   The actual set, or {@code null}.
+     * @param  expected  the expected set, or {@code null}.
+     * @param  actual    the actual set, or {@code null}.
      */
     public static void assertSetEquals(final Collection<?> expected, final Collection<?> actual) {
         if (expected != null && actual != null && !expected.isEmpty()) {
@@ -198,8 +198,8 @@ public strictfp class Assert extends org
      * Asserts that the given map contains the same entries.
      * In case of failure, this method lists the missing or unexpected entries.
      *
-     * @param expected The expected map, or {@code null}.
-     * @param actual   The actual map, or {@code null}.
+     * @param  expected  the expected map, or {@code null}.
+     * @param  actual    the actual map, or {@code null}.
      */
     public static void assertMapEquals(final Map<?,?> expected, final Map<?,?> actual) {
         if (expected != null && actual != null && !expected.isEmpty()) {
@@ -241,9 +241,9 @@ public strictfp class Assert extends org
      * Ensures that a tree is equals to an other tree.
      * This method invokes itself recursively for every child nodes.
      *
-     * @param  expected The expected tree, or {@code null}.
-     * @param  actual   The tree to compare with the expected one, or {@code null}.
-     * @return The number of nodes.
+     * @param  expected  the expected tree, or {@code null}.
+     * @param  actual    the tree to compare with the expected one, or {@code null}.
+     * @return the number of nodes.
      */
     public static int assertTreeEquals(final TreeNode expected, final TreeNode actual) {
         if (expected == null) {
@@ -319,10 +319,10 @@ public strictfp class Assert extends org
      *   "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"}).
+     * @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
      */
@@ -337,12 +337,12 @@ public strictfp class Assert extends org
      * 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"}).
+     * @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
      */
@@ -381,9 +381,9 @@ public strictfp class Assert extends org
      * <p>If the serialization fails, then this method throws an {@link AssertionError}
      * as do the other JUnit assertion methods.</p>
      *
-     * @param  <T> The type of the object to serialize.
-     * @param  object The object to serialize.
-     * @return The deserialized object.
+     * @param  <T>     the type of the object to serialize.
+     * @param  object  the object to serialize.
+     * @return the deserialized object.
      */
     public static <T> T assertSerializedEquals(final T object) {
         final Object deserialized;

Modified: sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/TestUtilities.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/TestUtilities.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/TestUtilities.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/TestUtilities.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -390,7 +390,7 @@ public final strictfp class TestUtilitie
      * @throws InterruptedException if this thread has been interrupted while waiting.
      */
     public static void waitForBlockedState(final Thread thread) throws IllegalThreadStateException, InterruptedException {
-        int retry = MAXIMAL_WAIT_TIME / 5; // 5 shall be the same number than in the call to Thread.sleep.
+        int retry = MAXIMAL_WAIT_TIME / 5;              // 5 shall be the same number than in the call to Thread.sleep.
         do {
             Thread.sleep(5);
             switch (thread.getState()) {
@@ -419,7 +419,7 @@ public final strictfp class TestUtilitie
      */
     public static boolean waitForGarbageCollection(final Callable<Boolean> stopCondition) throws InterruptedException {
         assertTrue("GC-dependent tests not allowed in this run.", TestConfiguration.allowGarbageCollectorDependentTests());
-        int retry = MAXIMAL_WAIT_TIME / 50; // 50 shall be the same number than in the call to Thread.sleep.
+        int retry = MAXIMAL_WAIT_TIME / 50;             // 50 shall be the same number than in the call to Thread.sleep.
         boolean stop;
         do {
             if (--retry == 0) {

Modified: sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -48,7 +48,7 @@ public final strictfp class OGCNamespace
      * defined in the JDK class. This test is ignored if the Java framework running this test
      * is not the Oracle one (i.e. if it does not bundle the Sun internal JAXB implementation).
      *
-     * @throws ReflectiveOperationException If an error occurred while invoking a method by
+     * @throws ReflectiveOperationException if an error occurred while invoking a method by
      *         the reflection API.
      */
     @Test
@@ -65,7 +65,7 @@ public final strictfp class OGCNamespace
      * methods defined in the JAXB class. This test is ignored if the Java framework running
      * this test does not contains JAXB in its endorsed directory.
      *
-     * @throws ReflectiveOperationException If an error occurred while invoking a method by
+     * @throws ReflectiveOperationException if an error occurred while invoking a method by
      *         the reflection API.
      */
     @Test
@@ -84,9 +84,9 @@ public final strictfp class OGCNamespace
      * method. Additionally, this test checks the result of some method calls in order to
      * ensure that the invoked method was the one defined in {@link OGCNamespacePrefixMapper}.
      *
-     * @param  The {@code OGCNamespacePrefixMapper} or {@code OGCNamespacePrefixMapper_Endorsed}
+     * @param  mapper the {@code OGCNamespacePrefixMapper} or {@code OGCNamespacePrefixMapper_Endorsed}
      *         instance to check.
-     * @throws ReflectiveOperationException If an error occurred while invoking a method by
+     * @throws ReflectiveOperationException if an error occurred while invoking a method by
      *         the reflection API.
      */
     private void ensureOverrideMethods(final Object mapper) throws ReflectiveOperationException {

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/cfg_hints.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/cfg_hints.xml?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/cfg_hints.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/cfg_hints.xml Wed Dec 28 07:20:19 2016
@@ -79,6 +79,8 @@
         </node>
         <node name="org.netbeans.modules.java.hints.SuspiciousNamesCombination">
             <attribute name="groups" value="x, width|y, height"/>
+            <attribute name="enabled" value="true"/>
+            <attribute name="hintSeverity" value="HINT"/>
         </node>
         <node name="org.netbeans.modules.java.hints.finalize.FinalizeNotProtected">
             <attribute name="enabled" value="true"/>
@@ -99,7 +101,7 @@
             <attribute name="enabled" value="true"/>
         </node>
         <node name="org.netbeans.modules.java.hints.AssignmentIssues.assignmentToCatchBlockParameter">
-            <attribute name="enabled" value="true"/>
+            <attribute name="enabled" value="false"/>
         </node>
         <node name="org.netbeans.modules.java.hints.encapsulation.FieldEncapsulation.packageField">
             <attribute name="allow.enums" value="false"/>
@@ -150,5 +152,10 @@
             <attribute name="maxLength" value="35"/>
             <attribute name="enabled" value="false"/>
         </node>
+        <node name="org.netbeans.modules.java.hints.bugs.CollectionRemove">
+            <attribute name="warn-for-castable" value="true"/>
+            <attribute name="enabled" value="true"/>
+            <attribute name="hintSeverity" value="HINT"/>
+        </node>
     </tool>
 </configuration>

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties [ISO-8859-1] Wed Dec 28 07:20:19 2016
@@ -3,6 +3,6 @@
 build.xml.data.CRC32=58e6b21c
 build.xml.script.CRC32=462eaba0
 build.xml.stylesheet.CRC32=28e38971@1.53.1.46
-nbproject/build-impl.xml.data.CRC32=f9f0175b
+nbproject/build-impl.xml.data.CRC32=0807ea7a
 nbproject/build-impl.xml.script.CRC32=33578922
 nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml Wed Dec 28 07:20:19 2016
@@ -90,6 +90,7 @@
             <word>namespaces</word>
             <word>orthodromic</word>
             <word>parsable</word>
+            <word>spliterator</word>
             <word>timezone</word>
             <word>Unicode</word>
             <word>uninstall</word>

Modified: sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStore.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStore.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStore.java [UTF-8] (original)
+++ sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStore.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -86,11 +86,12 @@ public class LandsatStore extends DataSt
      * This constructor invokes {@link StorageConnector#closeAllExcept(Object)},
      * keeping open only the needed resource.
      *
-     * @param  connector information about the storage (URL, stream, reader instance, <i>etc</i>).
+     * @param  provider   the factory that created this {@code DataStore} instance, or {@code null} if unspecified.
+     * @param  connector  information about the storage (URL, stream, reader instance, <i>etc</i>).
      * @throws DataStoreException if an error occurred while opening the Landsat file.
      */
-    public LandsatStore(final StorageConnector connector) throws DataStoreException {
-        super(connector);
+    public LandsatStore(final LandsatStoreProvider provider, final StorageConnector connector) throws DataStoreException {
+        super(provider, connector);
         name = connector.getStorageName();
         source = connector.getStorageAs(Reader.class);
         connector.closeAllExcept(source);

Modified: sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStoreProvider.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStoreProvider.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStoreProvider.java [UTF-8] (original)
+++ sis/branches/JDK7/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStoreProvider.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -144,6 +144,6 @@ public class LandsatStoreProvider extend
      */
     @Override
     public DataStore open(final StorageConnector connector) throws DataStoreException {
-        return new LandsatStore(connector);
+        return new LandsatStore(this, connector);
     }
 }

Modified: sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStore.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStore.java?rev=1776235&r1=1776234&r2=1776235&view=diff
==============================================================================
--- sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStore.java [UTF-8] (original)
+++ sis/branches/JDK7/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStore.java [UTF-8] Wed Dec 28 07:20:19 2016
@@ -70,11 +70,12 @@ public class GeoTiffStore extends DataSt
      * This constructor invokes {@link StorageConnector#closeAllExcept(Object)},
      * keeping open only the needed resource.
      *
+     * @param  provider   the factory that created this {@code DataStore} instance, or {@code null} if unspecified.
      * @param  connector  information about the storage (URL, stream, <i>etc</i>).
      * @throws DataStoreException if an error occurred while opening the GeoTIFF file.
      */
-    public GeoTiffStore(final StorageConnector connector) throws DataStoreException {
-        super(connector);
+    public GeoTiffStore(final GeoTiffStoreProvider provider, final StorageConnector connector) throws DataStoreException {
+        super(provider, connector);
         final Charset encoding = connector.getOption(OptionKey.ENCODING);
         this.encoding = (encoding != null) ? encoding : StandardCharsets.US_ASCII;
         final ChannelDataInput input = connector.getStorageAs(ChannelDataInput.class);



Mime
View raw message