sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1755610 [6/7] - in /sis/branches/JDK7: ./ core/ core/sis-feature/src/main/java/org/apache/sis/feature/ core/sis-feature/src/main/java/org/apache/sis/feature/builder/ core/sis-feature/src/test/java/org/apache/sis/feature/ core/sis-feature/s...
Date Tue, 09 Aug 2016 14:48:05 GMT
Copied: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java (from r1755594, sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java?p2=sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java&r1=1755594&r2=1755610&rev=1755610&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ArrayVector.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -22,6 +22,9 @@ import org.apache.sis.util.resources.Err
 import org.apache.sis.util.collection.CheckedContainer;
 import org.apache.sis.internal.util.Numerics;
 
+// Branch-dependent imports
+import org.apache.sis.internal.jdk8.JDK8;
+
 
 /**
  * A vector backed by an array of a primitive type. This class does not copy the array,
@@ -45,6 +48,55 @@ abstract class ArrayVector<E extends Num
     }
 
     /**
+     * Creates a new instance.
+     *
+     * @throws IllegalArgumentException if the type of the given object is not recognized by the method.
+     */
+    static Vector newInstance(final Object array, final boolean isUnsigned) throws IllegalArgumentException {
+        if (array instanceof double[]) {
+            return new ArrayVector.Double((double[]) array);
+        }
+        if (array instanceof float[]) {
+            return new ArrayVector.Float((float[]) array);
+        }
+        if (array instanceof long[]) {
+            if (isUnsigned) {
+                return new ArrayVector.UnsignedLong((long[]) array);
+            } else {
+                return new ArrayVector.Long((long[]) array);
+            }
+        }
+        if (array instanceof int[]) {
+            if (isUnsigned) {
+                return new ArrayVector.UnsignedInteger((int[]) array);
+            } else {
+                return new ArrayVector.Integer((int[]) array);
+            }
+        }
+        if (array instanceof short[]) {
+            if (isUnsigned) {
+                return new ArrayVector.UnsignedShort((short[]) array);
+            } else {
+                return new ArrayVector.Short((short[]) array);
+            }
+        }
+        if (array instanceof byte[]) {
+            if (isUnsigned) {
+                return new ArrayVector.UnsignedByte((byte[]) array);
+            } else {
+                return new ArrayVector.Byte((byte[]) array);
+            }
+        }
+        if (array instanceof Number[]) {
+            return new ArrayVector.Raw((Number[]) array);
+        }
+        if (array instanceof String[]) {
+            return new ArrayVector.ASCII((String[]) array);
+        }
+        throw new IllegalArgumentException(Errors.format(Errors.Keys.IllegalParameterType_2, "array", array.getClass()));
+    }
+
+    /**
      * Default implementation for the convenience of direct sub-types.
      */
     @Override
@@ -75,7 +127,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code double[]}.
      */
-    static final class Double extends ArrayVector<java.lang.Double> {
+    private static final class Double extends ArrayVector<java.lang.Double> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = -2900375382498345812L;
 
@@ -130,6 +182,7 @@ abstract class ArrayVector<E extends Num
         @Override public Number set(final int index, final Number value) {
             final double old = array[index];
             array[index] = value.doubleValue();
+            modCount++;
             return old;
         }
     }
@@ -137,7 +190,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code float[]}.
      */
-    static class Float extends ArrayVector<java.lang.Float> {
+    private static class Float extends ArrayVector<java.lang.Float> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 5395284704294981455L;
 
@@ -178,6 +231,7 @@ abstract class ArrayVector<E extends Num
         @Override public final Number set(final int index, final Number value) {
             final float old = array[index];
             array[index] = value.floatValue();
+            modCount++;
             return old;
         }
     }
@@ -205,7 +259,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code long[]}.
      */
-    static class Long extends ArrayVector<java.lang.Long> {
+    private static class Long extends ArrayVector<java.lang.Long> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 338413429037224587L;
 
@@ -236,6 +290,7 @@ abstract class ArrayVector<E extends Num
             verifyType(value.getClass(), Numbers.LONG);
             final long old = array[index];
             array[index] = value.longValue();
+            modCount++;
             return old;
         }
     }
@@ -243,7 +298,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code int[]}.
      */
-    static class Integer extends ArrayVector<java.lang.Integer> {
+    private static class Integer extends ArrayVector<java.lang.Integer> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = -1292641147544275801L;
 
@@ -275,6 +330,7 @@ abstract class ArrayVector<E extends Num
             verifyType(value.getClass(), Numbers.INTEGER);
             final int old = array[index];
             array[index] = value.intValue();
+            modCount++;
             return old;
         }
     }
@@ -282,7 +338,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code short[]}.
      */
-    static class Short extends ArrayVector<java.lang.Short> {
+    private static class Short extends ArrayVector<java.lang.Short> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = -126825963332296000L;
 
@@ -315,6 +371,7 @@ abstract class ArrayVector<E extends Num
             verifyType(value.getClass(), Numbers.SHORT);
             final short old = array[index];
             array[index] = value.shortValue();
+            modCount++;
             return old;
         }
     }
@@ -322,7 +379,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code byte[]}.
      */
-    static class Byte extends ArrayVector<java.lang.Byte> {
+    private static class Byte extends ArrayVector<java.lang.Byte> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 7933568876180528548L;
 
@@ -356,6 +413,7 @@ abstract class ArrayVector<E extends Num
             verifyType(value.getClass(), Numbers.BYTE);
             final byte old = array[index];
             array[index] = value.byteValue();
+            modCount++;
             return old;
         }
     }
@@ -363,7 +421,7 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code long[]} to be interpreted as unsigned values.
      */
-    static final class UnsignedLong extends Long {
+    private static final class UnsignedLong extends Long {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 712968674526282882L;
 
@@ -394,14 +452,14 @@ abstract class ArrayVector<E extends Num
 
         /** Returns the string representation at the given index. */
         @Override public String stringValue(final int index) {
-            return java.lang.Long.toUnsignedString(super.longValue(index));
+            return JDK8.toUnsignedString(super.longValue(index));
         }
     }
 
     /**
      * A vector backed by an array of type {@code int[]} to be interpreted as unsigned values.
      */
-    static final class UnsignedInteger extends Integer {
+    private static final class UnsignedInteger extends Integer {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 8420585724189054050L;
 
@@ -414,7 +472,7 @@ abstract class ArrayVector<E extends Num
         @Override public boolean isUnsigned()          {return true;}
         @Override public double doubleValue(int index) {return longValue(index);}
         @Override public float   floatValue(int index) {return longValue(index);}
-        @Override public long     longValue(int index) {return java.lang.Integer.toUnsignedLong(super.intValue(index));}
+        @Override public long     longValue(int index) {return JDK8.toUnsignedLong(super.intValue(index));}
         @Override public int       intValue(int index) {
             final int value = super.intValue(index);
             if (value >= 0) return value;
@@ -423,26 +481,28 @@ abstract class ArrayVector<E extends Num
 
         /** Returns the string representation at the given index. */
         @Override public String stringValue(final int index) {
-            return java.lang.Integer.toUnsignedString(super.intValue(index));
+            return JDK8.toUnsignedString(super.intValue(index));
         }
     }
 
     /**
      * A vector backed by an array of type {@code short[]} to be interpreted as unsigned values.
      */
-    static final class UnsignedShort extends Short {
+    private static final class UnsignedShort extends Short {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 8219060080494444776L;
 
+        /** Creates a new vector for the given array. */
         UnsignedShort(final short[] array) {
             super(array);
         }
 
+        /** Declares this vector as unsigned. */
         @Override public boolean isUnsigned()          {return true;}
         @Override public double doubleValue(int index) {return intValue(index);}
         @Override public float   floatValue(int index) {return intValue(index);}
-        @Override public long     longValue(int index) {return java.lang.Short.toUnsignedLong(super.shortValue(index));}
-        @Override public int       intValue(int index) {return java.lang.Short.toUnsignedInt (super.shortValue(index));}
+        @Override public long     longValue(int index) {return JDK8.toUnsignedLong(super.shortValue(index));}
+        @Override public int       intValue(int index) {return JDK8.toUnsignedInt (super.shortValue(index));}
         @Override public short   shortValue(int index) {
             final short value = super.shortValue(index);
             if (value >= 0) return value;
@@ -458,19 +518,21 @@ abstract class ArrayVector<E extends Num
     /**
      * A vector backed by an array of type {@code byte[]} to be interpreted as unsigned values.
      */
-    static final class UnsignedByte extends Byte {
+    private static final class UnsignedByte extends Byte {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = -2150064612523948331L;
 
+        /** Creates a new vector for the given array. */
         UnsignedByte(final byte[] array) {
             super(array);
         }
 
+        /** Declares this vector as unsigned. */
         @Override public boolean isUnsigned()          {return true;}
         @Override public double doubleValue(int index) {return intValue(index);}
         @Override public float   floatValue(int index) {return intValue(index);}
-        @Override public long     longValue(int index) {return java.lang.Byte.toUnsignedLong (super.byteValue(index));}
-        @Override public int       intValue(int index) {return java.lang.Byte.toUnsignedInt  (super.byteValue(index));}
+        @Override public long     longValue(int index) {return JDK8.toUnsignedLong (super.byteValue(index));}
+        @Override public int       intValue(int index) {return JDK8.toUnsignedInt  (super.byteValue(index));}
         @Override public short   shortValue(int index) {return (short) intValue(index);}
         @Override public byte     byteValue(int index) {
             final byte value = super.byteValue(index);
@@ -488,7 +550,7 @@ abstract class ArrayVector<E extends Num
      * A vector backed by an array of type {@code String[]}.
      * This is not recommended, but happen for example in GDAL extensions for GeoTIFF files.
      */
-    static class ASCII extends ArrayVector<java.lang.Double> {
+    private static final class ASCII extends ArrayVector<java.lang.Double> {
         /** For cross-version compatibility. */
         private static final long serialVersionUID = 2801615620517491573L;
 
@@ -505,7 +567,22 @@ abstract class ArrayVector<E extends Num
             return java.lang.Double.class;
         }
 
-        @Override public final int     size()          {return array.length;}
+        /** Returns {@code true} if the element at the given index is null or NaN. */
+        @Override public boolean isNaN(final int index) {
+            String value = array[index];
+            if (value == null) return true;
+            if (value.contains("NaN")) {
+                value = value.trim();
+                switch (value.length()) {
+                    case 3: return true;
+                    case 4: final char c = value.charAt(0);
+                            return (c == '+') || (c == '-');
+                }
+            }
+            return false;
+        }
+
+        @Override public int           size()          {return array.length;}
         @Override public String stringValue(int index) {return array[index];}
         @Override public double doubleValue(int index) {return java.lang.Double .parseDouble(array[index]);}
         @Override public float   floatValue(int index) {return java.lang.Float  .parseFloat (array[index]);}
@@ -513,10 +590,68 @@ abstract class ArrayVector<E extends Num
         @Override public int       intValue(int index) {return java.lang.Integer.parseInt   (array[index]);}
         @Override public short   shortValue(int index) {return java.lang.Short  .parseShort (array[index]);}
         @Override public byte     byteValue(int index) {return java.lang.Byte   .parseByte  (array[index]);}
-        @Override public final Number   get(int index) {return doubleValue(index);}
-        @Override public final Number   set(int index, final Number value) {
+        @Override public Number         get(int index) {
+            final String value = array[index];
+            return (value != null) ? java.lang.Double.parseDouble(value) : null;
+        }
+
+        /** Stores the given value in this vector and returns the previous value. */
+        @Override public final Number set(final int index, final Number value) {
             final Number old = get(index);
             array[index] = value.toString();
+            modCount++;
+            return old;
+        }
+    }
+
+    /**
+     * A vector backed by an array of type {@code Number[]}.
+     */
+    private static final class Raw extends ArrayVector<Number> {
+        /** For cross-version compatibility. */
+        private static final long serialVersionUID = 5444263017359778157L;
+
+        /** The backing array. */
+        private final Number[] array;
+
+        /** Creates a new vector for the given array. */
+        Raw(final Number[] array) {
+            this.array = array;
+        }
+
+        /** Returns the type of elements in the backing array. */
+        @SuppressWarnings({"unchecked", "rawtypes"})
+        @Override public final Class getElementType() {
+            return array.getClass().getComponentType();
+        }
+
+        /** Returns {@code true} if the element at the given index is null or NaN. */
+        @Override public boolean isNaN(final int index) {
+            Number value = array[index];
+            if (value == null) return true;
+            if (value instanceof java.lang.Float)  return ((java.lang.Float)  value).isNaN();
+            if (value instanceof java.lang.Double) return ((java.lang.Double) value).isNaN();
+            return false;
+        }
+
+        @Override public int           size()          {return array.length;}
+        @Override public Number         get(int index) {return array[index];}
+        @Override public double doubleValue(int index) {return array[index].doubleValue();}
+        @Override public float   floatValue(int index) {return array[index].floatValue();}
+        @Override public long     longValue(int index) {return array[index].longValue();}
+        @Override public int       intValue(int index) {return array[index].intValue();}
+        @Override public short   shortValue(int index) {return array[index].shortValue();}
+        @Override public byte     byteValue(int index) {return array[index].byteValue();}
+        @Override public String stringValue(int index) {
+            final Number value = array[index];
+            return (value != null) ? value.toString() : null;
+        }
+
+        /** Stores the given value in this vector and returns the previous value. */
+        @Override public final Number set(final int index, final Number value) {
+            final Number old = array[index];
+            array[index] = value;
+            modCount++;
             return old;
         }
     }

Copied: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java (from r1755594, sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java?p2=sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java&r1=1755594&r2=1755610&rev=1755610&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/ConcatenatedVector.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -229,7 +229,9 @@ final class ConcatenatedVector extends V
             v = second;
             index -= limit;
         }
-        return v.set(index, value);
+        final Number old = v.set(index, value);
+        modCount++;
+        return old;
     }
 
     /**

Copied: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java (from r1755594, sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java?p2=sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java&r1=1755594&r2=1755610&rev=1755610&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -87,6 +87,7 @@ public abstract class Vector extends Abs
      *
      * <ul>
      *   <li>An array of a primitive type, like {@code float[]}.</li>
+     *   <li>A {@code Number[]} array.</li>
      *   <li>A {@code String[]} array (not recommended, but happen with some file formats).</li>
      *   <li>A {@code Vector}, in which case it is returned unchanged.</li>
      *   <li>The {@code null} value, in which case {@code null} is returned.</li>
@@ -109,44 +110,13 @@ public abstract class Vector extends Abs
      * @throws IllegalArgumentException if the type of the given object is not recognized by the method.
      */
     public static Vector create(final Object array, final boolean isUnsigned) throws IllegalArgumentException {
-        if (array instanceof double[]) {
-            return new ArrayVector.Double((double[]) array);
+        if (array == null) {
+            return null;
         }
-        if (array instanceof float[]) {
-            return new ArrayVector.Float((float[]) array);
+        if (array.getClass().isArray()) {
+            return ArrayVector.newInstance(array, isUnsigned);
         }
-        if (array instanceof long[]) {
-            if (isUnsigned) {
-                return new ArrayVector.UnsignedLong((long[]) array);
-            } else {
-                return new ArrayVector.Long((long[]) array);
-            }
-        }
-        if (array instanceof int[]) {
-            if (isUnsigned) {
-                return new ArrayVector.UnsignedInteger((int[]) array);
-            } else {
-                return new ArrayVector.Integer((int[]) array);
-            }
-        }
-        if (array instanceof short[]) {
-            if (isUnsigned) {
-                return new ArrayVector.UnsignedShort((short[]) array);
-            } else {
-                return new ArrayVector.Short((short[]) array);
-            }
-        }
-        if (array instanceof byte[]) {
-            if (isUnsigned) {
-                return new ArrayVector.UnsignedByte((byte[]) array);
-            } else {
-                return new ArrayVector.Byte((byte[]) array);
-            }
-        }
-        if (array instanceof String[]) {
-            return new ArrayVector.ASCII((String[]) array);
-        }
-        if (array == null || array instanceof Vector) {
+        if (array instanceof Vector) {
             return (Vector) array;
         }
         throw new IllegalArgumentException(Errors.format(Errors.Keys.IllegalParameterType_2, "array", array.getClass()));
@@ -236,7 +206,7 @@ public abstract class Vector extends Abs
     public abstract int size();
 
     /**
-     * Returns {@code true} if the value at the given index is {@code NaN}.
+     * Returns {@code true} if the value at the given index is {@code null} or {@code NaN}.
      *
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return {@code true} if the value at the given index is {@code NaN}.
@@ -252,6 +222,7 @@ public abstract class Vector extends Abs
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return the value at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
+     * @throws NullPointerException if the value is {@code null} (never happen if this vector wraps an array of primitive type).
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      */
     public abstract double doubleValue(int index);
@@ -264,6 +235,7 @@ public abstract class Vector extends Abs
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return the value at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
+     * @throws NullPointerException if the value is {@code null} (never happen if this vector wraps an array of primitive type).
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      */
     public abstract float floatValue(int index);
@@ -279,6 +251,7 @@ public abstract class Vector extends Abs
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return the value at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
+     * @throws NullPointerException if the value is {@code null} (never happen if this vector wraps an array of primitive type).
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      * @throws ArithmeticException if the value is too large for the capacity of the {@code long} type.
      */
@@ -302,6 +275,7 @@ public abstract class Vector extends Abs
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return the value at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
+     * @throws NullPointerException if the value is {@code null} (never happen if this vector wraps an array of primitive type).
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      * @throws ArithmeticException if the value is too large for the capacity of the {@code int} type.
      */
@@ -324,6 +298,7 @@ public abstract class Vector extends Abs
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return the value at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
+     * @throws NullPointerException if the value is {@code null} (never happen if this vector wraps an array of primitive type).
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      * @throws ArithmeticException if the value is too large for the capacity of the {@code short} type.
      */
@@ -346,6 +321,7 @@ public abstract class Vector extends Abs
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
      * @return the value at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
+     * @throws NullPointerException if the value is {@code null} (never happen if this vector wraps an array of primitive type).
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      * @throws ArithmeticException if the value is too large for the capacity of the {@code byte} type.
      */
@@ -372,7 +348,7 @@ public abstract class Vector extends Abs
      * except if the values are {@linkplain #isUnsigned() unsigned integers}.
      *
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
-     * @return a string representation of the value at the given index.
+     * @return a string representation of the value at the given index (may be {@code null}).
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
      */
     public abstract String stringValue(int index);
@@ -383,7 +359,7 @@ public abstract class Vector extends Abs
      * of the class returned by {@link #getElementType()} or a sub-class.
      *
      * @param  index  the index in the [0 … {@linkplain #size() size}-1] range.
-     * @return the value at the given index.
+     * @return the value at the given index (may be {@code null}).
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
      * @throws NumberFormatException if the value is stored as a {@code String} and can not be parsed.
      */
@@ -398,8 +374,9 @@ public abstract class Vector extends Abs
      * @param  value  the value to set at the given index.
      * @return the value previously stored at the given index.
      * @throws IndexOutOfBoundsException if the given index is out of bounds.
-     * @throws ClassCastException if the given value can not be stored in this vector.
      * @throws NumberFormatException if the previous value was stored as a {@code String} and can not be parsed.
+     * @throws ClassCastException if the given value can not be converted to the type expected by this vector.
+     * @throws ArrayStoreException if the given value can not be stored in this vector.
      */
     @Override
     public abstract Number set(int index, Number value);
@@ -522,7 +499,12 @@ public abstract class Vector extends Abs
         @Override public byte    byteValue  (int index)     {return Vector.this.byteValue  (toBacking(index));}
         @Override public String  stringValue(int index)     {return Vector.this.stringValue(toBacking(index));}
         @Override public Number  get        (int index)     {return Vector.this.get        (toBacking(index));}
-        @Override public Number  set(int index, Number v)   {return Vector.this.set        (toBacking(index), v);}
+
+        @Override public Number set(final int index, final Number v) {
+            final Number old = Vector.this.set(toBacking(index), v);
+            modCount++;
+            return old;
+        }
 
         /** Delegates to the enclosing vector. */
         @Override Vector createSubSampling(int first, int step, final int length) {
@@ -666,7 +648,12 @@ public abstract class Vector extends Abs
         @Override public byte     byteValue  (int i)    {return Vector.this.byteValue  (indices[i]);}
         @Override public String   stringValue(int i)    {return Vector.this.stringValue(indices[i]);}
         @Override public Number   get        (int i)    {return Vector.this.get        (indices[i]);}
-        @Override public Number   set(int i, Number v)  {return Vector.this.set        (indices[i], v);}
+
+        @Override public Number set(final int i, final Number v) {
+            final Number old = Vector.this.set(indices[i], v);
+            modCount++;
+            return old;
+        }
 
         /** Delegates to the enclosing vector. */
         @Override Vector createSubSampling(int first, final int step, final int length) {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -19,22 +19,29 @@
  * A set of mathematical objects and algebraic utilities.
  * This package provides:
  *
- * <ul>
- *   <li>Static functions in {@link org.apache.sis.math.MathFunctions} and {@link org.apache.sis.math.DecimalFunctions}.</li>
+ * <ul class="verbose">
+ *   <li>Mathematical functions as static methods in {@link org.apache.sis.math.MathFunctions} and
+ *       {@link org.apache.sis.math.DecimalFunctions}.</li>
+ *
  *   <li>{@link org.apache.sis.math.Statistics} accumulator, optionally with statistics on derivatives
  *       and {@linkplain org.apache.sis.math.StatisticsFormat tabular formatting}.</li>
+ *
  *   <li>Simple equations for {@link org.apache.sis.math.Line} and {@link org.apache.sis.math.Plane}
- *       with capability to determine the coefficients from a set of coordinates.</li>
- * </ul>
+ *       with capability to determine the coefficients from a set of coordinates.
  *
- * <div class="note"><b>Note:</b>
- * {@code Line} and {@code Plane} classes are not geometric objects since they are not bounded in space.
- * For example the {@link java.awt.geom.Line2D} geometry have starting and ending points, while the
- * {@code Line} class in this package extends to infinite.</div>
+ *       <div class="note"><b>Note:</b>
+ *       {@code Line} and {@code Plane} classes are not geometric objects since they are not bounded in space.
+ *       For example the {@link java.awt.geom.Line2D} geometry have starting and ending points, while the
+ *       {@code Line} class in this package extends to infinite.</div></li>
+ *
+ *   <li>{@link org.apache.sis.math.Vector} of real numbers, typically as views over arrays of primitive types.
+ *       Those views make abstraction of the data type (e.g. {@code float}, {@code double}, {@code int},
+ *       unsigned {@code int}, <i>etc.</i>).</li>
+ * </ul>
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3
- * @version 0.5
+ * @version 0.8
  * @module
  */
 package org.apache.sis.math;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -78,8 +78,8 @@ public class OptionKey<T> implements Ser
      * For example this option can be used when reading plain text files, but is ignored when
      * reading XML files having a {@code <?xml version="1.0" encoding="…"?>} declaration.
      *
-     * <p>If this option is not provided, then the default value is the
-     * {@link Charset#defaultCharset() platform default}.</p>
+     * <p>If this option is not provided, then the default value is format specific.
+     * That default is often, but not necessarily, the {@link Charset#defaultCharset() platform default}.</p>
      *
      * @since 0.4
      */
@@ -160,8 +160,8 @@ public class OptionKey<T> implements Ser
     /**
      * Creates a new key of the given name for values of the given type.
      *
-     * @param name The key name.
-     * @param type The type of values.
+     * @param name  the key name.
+     * @param type  the type of values.
      */
     protected OptionKey(final String name, final Class<T> type) {
         ArgumentChecks.ensureNonEmpty("name", name);
@@ -173,7 +173,7 @@ public class OptionKey<T> implements Ser
     /**
      * Returns the name of this option key.
      *
-     * @return The name of this option key.
+     * @return the name of this option key.
      */
     public String getName() {
         return name;
@@ -182,7 +182,7 @@ public class OptionKey<T> implements Ser
     /**
      * Returns the type of values associated to this option key.
      *
-     * @return The type of values.
+     * @return the type of values.
      */
     public final Class<T> getElementType() {
         return type;
@@ -199,8 +199,8 @@ public class OptionKey<T> implements Ser
      *     }
      * }
      *
-     * @param  options The map where to search for the value, or {@code null} if not yet created.
-     * @return The current value in the map for the this option, or {@code null} if none.
+     * @param  options  the map where to search for the value, or {@code null} if not yet created.
+     * @return the current value in the map for the this option, or {@code null} if none.
      */
     public T getValueFrom(final Map<OptionKey<?>,?> options) {
         return (options != null) ? type.cast(options.get(this)) : null;
@@ -217,9 +217,9 @@ public class OptionKey<T> implements Ser
      *     }
      * }
      *
-     * @param  options The map where to set the value, or {@code null} if not yet created.
-     * @param  value   The new value for the given option, or {@code null} for removing the value.
-     * @return The given map of options, or a new map if the given map was null. The returned value
+     * @param  options  the map where to set the value, or {@code null} if not yet created.
+     * @param  value    the new value for the given option, or {@code null} for removing the value.
+     * @return the given map of options, or a new map if the given map was null. The returned value
      *         may be null if the given map and the given value are both null.
      */
     public Map<OptionKey<?>,Object> setValueInto(Map<OptionKey<?>,Object> options, final T value) {
@@ -237,7 +237,7 @@ public class OptionKey<T> implements Ser
     /**
      * Returns {@code true} if the given object is an instance of the same class having the same name and type.
      *
-     * @param object The object to compare with this {@code OptionKey} for equality.
+     * @param object  the object to compare with this {@code OptionKey} for equality.
      */
     @Override
     public boolean equals(final Object object) {
@@ -272,7 +272,7 @@ public class OptionKey<T> implements Ser
      * Resolves this option key on deserialization. This method is invoked
      * only for instance of the exact {@code OptionKey} class, not subclasses.
      *
-     * @return The unique {@code OptionKey} instance.
+     * @return  the unique {@code OptionKey} instance.
      */
     private Object readResolve() {
         try {

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -68,7 +68,7 @@ public class BackingStoreException exten
     /**
      * Constructs a new exception with the specified detail message.
      *
-     * @param message The detail message, saved for later retrieval by the {@link #getMessage()} method.
+     * @param message  the detail message, saved for later retrieval by the {@link #getMessage()} method.
      */
     public BackingStoreException(final String message) {
         super(message);
@@ -77,7 +77,7 @@ public class BackingStoreException exten
     /**
      * Constructs a new exception with the specified cause.
      *
-     * @param cause The cause, saved for later retrieval by the {@link #getCause()} method.
+     * @param cause  the cause, saved for later retrieval by the {@link #getCause()} method.
      */
     public BackingStoreException(final Throwable cause) {
         super(cause);
@@ -86,8 +86,8 @@ public class BackingStoreException exten
     /**
      * Constructs a new exception with the specified detail message and cause.
      *
-     * @param message The detail message, saved for later retrieval by the {@link #getMessage()} method.
-     * @param cause The cause, saved for later retrieval by the {@link #getCause()} method.
+     * @param message  the detail message, saved for later retrieval by the {@link #getMessage()} method.
+     * @param cause    the cause, saved for later retrieval by the {@link #getCause()} method.
      */
     public BackingStoreException(final String message, final Throwable cause) {
         super(message, cause);
@@ -118,10 +118,10 @@ public class BackingStoreException exten
      *     }
      * }
      *
-     * @param  <E>  The type of the exception to unwrap.
-     * @param  type The type of the exception to unwrap.
-     * @return The cause as an exception of the given type (never {@code null}).
-     * @throws RuntimeException If the cause is an instance of {@code RuntimeException},
+     * @param  <E>   the type of the exception to unwrap.
+     * @param  type  the type of the exception to unwrap.
+     * @return the cause as an exception of the given type (never {@code null}).
+     * @throws RuntimeException if the cause is an instance of {@code RuntimeException},
      *         in which case that instance is re-thrown.
      * @throws BackingStoreException if the cause is neither the given type or an instance
      *         of {@link RuntimeException}, in which case {@code this} exception is re-thrown.

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/DerivedSet.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -53,12 +53,12 @@ import org.apache.sis.internal.util.SetO
  * If the storage set is known to be immutable, then sub-classes may consider to cache some values,
  * especially the result of the {@link #size()} method.
  *
- * @param <S> The type of elements in the storage set.
- * @param <E> The type of elements in this set.
+ * @param <S> the type of elements in the storage set.
+ * @param <E> the type of elements in this set.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @since   0.3
- * @version 0.3
+ * @version 0.8
  * @module
  */
 class DerivedSet<S,E> extends SetOfUnknownSize<E> implements CheckedContainer<E>, Serializable {
@@ -97,8 +97,8 @@ class DerivedSet<S,E> extends SetOfUnkno
     /**
      * Creates a new derived set from the specified storage set.
      *
-     * @param storage   The set which actually store the elements.
-     * @param converter The type of elements in this derived set.
+     * @param  storage    the set which actually store the elements.
+     * @param  converter  the type of elements in this derived set.
      */
     private DerivedSet(final Set<S> storage, final ObjectConverter<S,E> converter) {
         this.storage   = storage;
@@ -125,24 +125,6 @@ class DerivedSet<S,E> extends SetOfUnkno
     }
 
     /**
-     * Returns the number of elements in this set. The default implementation counts
-     * the number of elements returned by the {@link #iterator() iterator}.
-     * Subclasses are encouraged to cache this value if they know that the
-     * {@linkplain #storage} set is immutable.
-     *
-     * @return the number of elements in this set.
-     */
-    @Override
-    public int size() {
-        int count = 0;
-        for (final Iterator<E> it=iterator(); it.hasNext();) {
-            it.next();
-            count++;
-        }
-        return count;
-    }
-
-    /**
      * Returns {@code true} if this set contains no elements.
      *
      * @return {@code true} if this set contains no elements.
@@ -189,8 +171,8 @@ class DerivedSet<S,E> extends SetOfUnkno
      * allows us to delegate the {@link #contains(Object)} and {@linkplain #remove(Object)}
      * operations to the {@linkplain #storage} set instead than iterating over all elements.
      *
-     * @param <S> The type of elements in the storage set.
-     * @param <E> The type of elements in this set.
+     * @param <S> the type of elements in the storage set.
+     * @param <E> the type of elements in this set.
      */
     private static class Invertible<S,E> extends DerivedSet<S,E> {
         /**
@@ -266,8 +248,8 @@ class DerivedSet<S,E> extends SetOfUnkno
      * The bijection allows us to query the {@linkplain #storage} set size directly
      * instead than iterating over all elements.
      *
-     * @param <S> The type of elements in the storage set.
-     * @param <E> The type of elements in this set.
+     * @param <S> the type of elements in the storage set.
+     * @param <E> the type of elements in this set.
      */
     private static final class Bijective<S,E> extends Invertible<S,E> {
         /**

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -81,8 +81,8 @@ public class WarningListeners<S> impleme
      * Creates a new instance with initially no listener.
      * Warnings will be logger to the given logger, unless at least one listener is registered.
      *
-     * @param source The declared source of warnings. This is not necessarily the real source,
-     *               but this is the source that the implementor wants to declare as public API.
+     * @param source  the declared source of warnings. This is not necessarily the real source,
+     *                but this is the source that the implementor wants to declare as public API.
      */
     public WarningListeners(final S source) {
         ArgumentChecks.ensureNonNull("source", source);
@@ -104,7 +104,7 @@ public class WarningListeners<S> impleme
      * the package name of the {@code source} object. Subclasses should override this method if they
      * can provide a fixed logger instance (typically a static final constant).
      *
-     * @return The logger where to send the warnings when there is no registered listeners.
+     * @return  the logger where to send the warnings when there is no registered listeners.
      */
     public Logger getLogger() {
         return Logging.getLogger(source.getClass());
@@ -114,7 +114,7 @@ public class WarningListeners<S> impleme
      * Reports a warning represented by the given log record. The default implementation notifies the listeners
      * if any, or logs the message to the logger returned by {@link #getLogger()} otherwise.
      *
-     * @param record The warning as a log record.
+     * @param record  the warning as a log record.
      */
     public void warning(final LogRecord record) {
         final WarningListener<?>[] current;
@@ -151,8 +151,8 @@ public class WarningListeners<S> impleme
      *   <li>register a listener which will log the record itself.</li>
      * </ul>
      *
-     * @param message    The message to log, or {@code null} if none.
-     * @param exception  The exception to log, or {@code null} if none.
+     * @param message    the message to log, or {@code null} if none.
+     * @param exception  the exception to log, or {@code null} if none.
      */
     public void warning(String message, final Exception exception) {
         final LogRecord record;
@@ -186,7 +186,7 @@ public class WarningListeners<S> impleme
      * <p>The current implementation compares the class name against a hard-coded list of classes to hide.
      * This implementation may change in any future SIS version.</p>
      *
-     * @param  e A stack trace element.
+     * @param  e  a stack trace element.
      * @return {@code true} if the class and method specified by the given element can be considered public API.
      */
     private static boolean isPublic(final StackTraceElement e) {
@@ -207,8 +207,8 @@ public class WarningListeners<S> impleme
      *       and the warning is <strong>not</strong> logged by this object.</li>
      * </ul>
      *
-     * @param  listener The listener to add.
-     * @throws IllegalArgumentException If the given listener is already registered.
+     * @param  listener  the listener to add.
+     * @throws IllegalArgumentException if the given listener is already registered.
      */
     public synchronized void addWarningListener(final WarningListener<? super S> listener)
             throws IllegalArgumentException
@@ -233,8 +233,8 @@ public class WarningListeners<S> impleme
     /**
      * Removes a previously registered listener.
      *
-     * @param  listener The listener to remove.
-     * @throws NoSuchElementException If the given listener is not registered.
+     * @param  listener  the listener to remove.
+     * @throws NoSuchElementException if the given listener is not registered.
      */
     public synchronized void removeWarningListener(final WarningListener<? super S> listener)
             throws NoSuchElementException

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=1755610&r1=1755609&r2=1755610&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] Tue Aug  9 14:48:04 2016
@@ -81,6 +81,11 @@ public final class Errors extends Indexe
         public static final short CanNotAddToExclusiveSet_2 = 0;
 
         /**
+         * Can not assign characteristics to the “{0}” property.
+         */
+        public static final short CanNotAssignCharacteristics_1 = 233;
+
+        /**
          * Can not assign units “{1}” to dimension “{0}”.
          */
         public static final short CanNotAssignUnitToDimension_2 = 168;
@@ -231,11 +236,21 @@ public final class Errors extends Indexe
         public static final short DeadThread_1 = 15;
 
         /**
+         * Operation “{0}” requires a “{1}” property, but no such property has been found in “{2}”.
+         */
+        public static final short DependencyNotFound_3 = 235;
+
+        /**
          * The “{0}” file points to a directory instead of a regular file.
          */
         public static final short DirectoryNotExpected_1 = 165;
 
         /**
+         * This instance of ‘{0}’ has been disposed.
+         */
+        public static final short DisposedInstanceOf_1 = 234;
+
+        /**
          * Element “{0}” is duplicated.
          */
         public static final short DuplicatedElement_1 = 16;

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=1755610&r1=1755609&r2=1755610&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] Tue Aug  9 14:48:04 2016
@@ -28,6 +28,7 @@ AbstractType_1                    = Type
 AmbiguousName_3                   = Name \u201c{2}\u201d is ambiguous because it can be understood as either \u201c{0}\u201d or \u201c{1}\u201d.
 CanNotAddToExclusiveSet_2         = No element can be added to this set because properties \u2018{0}\u2019 and \u2018{1}\u2019 are mutually exclusive.
 CanNotAssign_2                    = Can not assign \u201c{1}\u201d to \u201c{0}\u201d.
+CanNotAssignCharacteristics_1     = Can not assign characteristics to the \u201c{0}\u201d property.
 CanNotAssignUnitToDimension_2     = Can not assign units \u201c{1}\u201d to dimension \u201c{0}\u201d.
 CanNotConcatenateTransforms_2     = Can not concatenate transforms \u201c{0}\u201d and \u201c{1}\u201d.
 CanNotConnectTo_1                 = Can not connect to \u201c{0}\u201d.
@@ -57,7 +58,9 @@ CoordinateOperationNotFound_2     = Coor
 DatabaseError_2                   = Database error while creating a \u2018{0}\u2019 object for code \u201c{1}\u201d.
 DatumOriginShallBeDate            = Origin of temporal datum shall be a date.
 DeadThread_1                      = Thread \u201c{0}\u201d is dead.
+DependencyNotFound_3              = Operation \u201c{0}\u201d requires a \u201c{1}\u201d property, but no such property has been found in \u201c{2}\u201d.
 DirectoryNotExpected_1            = The \u201c{0}\u201d file points to a directory instead of a regular file.
+DisposedInstanceOf_1              = This instance of \u2018{0}\u2019 has been disposed.
 DuplicatedElement_1               = Element \u201c{0}\u201d is duplicated.
 DuplicatedIdentifier_1            = Name or identifier \u201c{0}\u201d is used more than once.
 DuplicatedOption_1                = Option \u201c{0}\u201d is duplicated.

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=1755610&r1=1755609&r2=1755610&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] Tue Aug  9 14:48:04 2016
@@ -25,6 +25,7 @@ AbstractType_1                    = Le t
 AmbiguousName_3                   = Le nom \u00ab\u202f{2}\u202f\u00bb est ambigu\u00eb car il peut \u00eatre interpr\u00e9t\u00e9 comme \u00ab\u202f{0}\u202f\u00bb ou \u00ab\u202f{1}\u202f\u00bb.
 CanNotAddToExclusiveSet_2         = Aucun \u00e9l\u00e9ment ne peut \u00eatre ajout\u00e9 \u00e0 cet ensemble car les propri\u00e9t\u00e9s \u2018{0}\u2019 et \u2018{1}\u2019 sont mutuellement exclusives.
 CanNotAssign_2                    = Ne peut pas assigner \u00ab\u202f{1}\u202f\u00bb \u00e0 \u00ab\u202f{0}\u202f\u00bb.
+CanNotAssignCharacteristics_1     = Ne peut pas assigner des caract\u00e9ristiques \u00e0 la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb.
 CanNotAssignUnitToDimension_2     = Ne peut pas assigner les unit\u00e9s \u00ab\u202f{1}\u202f\u00bb \u00e0 la dimension \u00ab\u202f{0}\u202f\u00bb.
 CanNotConcatenateTransforms_2     = Les transformations \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{1}\u202f\u00bb ne peuvent pas \u00eatre combin\u00e9es.
 CanNotConnectTo_1                 = Ne peut pas se connecter \u00e0 \u00ab\u202f{0}\u202f\u00bb.
@@ -54,7 +55,9 @@ CoordinateOperationNotFound_2     = La c
 DatabaseError_2                   = Erreur de base de donn\u00e9es lors de la cr\u00e9ation d\u2019un objet \u2018{0}\u2019 pour le code \u00ab\u202f{1}\u202f\u00bb.
 DatumOriginShallBeDate            = L\u2019origine d\u2019un r\u00e9f\u00e9rentiel temporel doit \u00eatre une date.
 DeadThread_1                      = La t\u00e2che \u00ab\u202f{0}\u202f\u00bb est morte.
+DependencyNotFound_3              = L\u2019op\u00e9ration \u00ab\u202f{0}\u202f\u00bb n\u00e9cessite une propri\u00e9t\u00e9 \u00ab\u202f{1}\u202f\u00bb, mais cette propri\u00e9t\u00e9 n\u2019a pas \u00e9t\u00e9 trouv\u00e9e dans \u00ab\u202f{2}\u202f\u00bb.
 DirectoryNotExpected_1            = Le fichier \u00ab\u202f{0}\u202f\u00bb d\u00e9signe un r\u00e9pertoire plut\u00f4t qu\u2019un fichier r\u00e9gulier.
+DisposedInstanceOf_1              = Cette instance de \u2018{0}\u2019 a \u00e9t\u00e9 dispos\u00e9e.
 DuplicatedElement_1               = L\u2019\u00e9lement \u00ab\u202f{0}\u202f\u00bb est dupliqu\u00e9.
 DuplicatedIdentifier_1            = Le nom ou l\u2019identifiant \u00ab\u202f{0}\u202f\u00bb est utilis\u00e9 plus d\u2019une fois.
 DuplicatedOption_1                = L\u2019option \u00ab\u202f{0}\u202f\u00bb est dupliqu\u00e9e.

Copied: sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java (from r1755594, sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java?p2=sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java&p1=sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java&r1=1755594&r2=1755610&rev=1755610&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/math/VectorTest.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -134,7 +134,7 @@ public final strictfp class VectorTest e
             array[i] = (i + 100) * 10;
         }
         vector = Vector.create(array, false);
-        assertTrue(vector instanceof ArrayVector.Float);
+        assertEquals("Float", vector.getClass().getSimpleName());
         assertSame(vector, Vector.create(vector, false));
         assertEquals(array.length, vector.size());
         assertEquals(Float.class, vector.getElementType());
@@ -157,7 +157,7 @@ public final strictfp class VectorTest e
             array[i] = (i + 100) * 10;
         }
         vector = Vector.create(array, false);
-        assertTrue(vector instanceof ArrayVector.Double);
+        assertEquals("Double", vector.getClass().getSimpleName());
         assertSame(vector, Vector.create(vector, false));
         assertEquals(array.length, vector.size());
         assertEquals(Double.class, vector.getElementType());

Modified: sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java [UTF-8] Tue Aug  9 14:48:04 2016
@@ -26,7 +26,7 @@ import org.junit.BeforeClass;
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3
- * @version 0.7
+ * @version 0.8
  * @module
  */
 @Suite.SuiteClasses({
@@ -56,6 +56,7 @@ import org.junit.BeforeClass;
     org.apache.sis.util.logging.WarningListenersTest.class,
     org.apache.sis.util.logging.MonolineFormatterTest.class,
     org.apache.sis.util.logging.LoggerAdapterTest.class,
+    org.apache.sis.math.VectorTest.class,
     org.apache.sis.math.MathFunctionsTest.class,
     org.apache.sis.math.DecimalFunctionsTest.class,
     org.apache.sis.math.StatisticsTest.class,

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml Tue Aug  9 14:48:04 2016
@@ -123,6 +123,7 @@ is divided into following sections:
         <condition property="have.tests">
             <or>
                 <available file="${test.console.dir}"/>
+                <available file="${test.geotiff.dir}"/>
                 <available file="${test.netcdf.dir}"/>
                 <available file="${test.shapefile.dir}"/>
                 <available file="${test.storage.dir}"/>
@@ -138,6 +139,7 @@ is divided into following sections:
                 <available file="${src.local-src.dir}"/>
                 <available file="${src.webapp.dir}"/>
                 <available file="${src.console.dir}"/>
+                <available file="${src.geotiff.dir}"/>
                 <available file="${src.netcdf.dir}"/>
                 <available file="${src.shapefile.dir}"/>
                 <available file="${src.storage.dir}"/>
@@ -250,6 +252,7 @@ is divided into following sections:
         <fail unless="src.local-src.dir">Must set src.local-src.dir</fail>
         <fail unless="src.webapp.dir">Must set src.webapp.dir</fail>
         <fail unless="src.console.dir">Must set src.console.dir</fail>
+        <fail unless="src.geotiff.dir">Must set src.geotiff.dir</fail>
         <fail unless="src.netcdf.dir">Must set src.netcdf.dir</fail>
         <fail unless="src.shapefile.dir">Must set src.shapefile.dir</fail>
         <fail unless="src.storage.dir">Must set src.storage.dir</fail>
@@ -259,6 +262,7 @@ is divided into following sections:
         <fail unless="src.utility.dir">Must set src.utility.dir</fail>
         <fail unless="src.fra-profile.dir">Must set src.fra-profile.dir</fail>
         <fail unless="test.console.dir">Must set test.console.dir</fail>
+        <fail unless="test.geotiff.dir">Must set test.geotiff.dir</fail>
         <fail unless="test.netcdf.dir">Must set test.netcdf.dir</fail>
         <fail unless="test.shapefile.dir">Must set test.shapefile.dir</fail>
         <fail unless="test.storage.dir">Must set test.storage.dir</fail>
@@ -287,7 +291,7 @@ is divided into following sections:
     </target>
     <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
         <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
+            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
             <attribute default="${build.classes.dir}" name="destdir"/>
             <attribute default="${javac.classpath}" name="classpath"/>
             <attribute default="${javac.processorpath}" name="processorpath"/>
@@ -328,7 +332,7 @@ is divided into following sections:
     </target>
     <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
         <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
+            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
             <attribute default="${build.classes.dir}" name="destdir"/>
             <attribute default="${javac.classpath}" name="classpath"/>
             <attribute default="${javac.processorpath}" name="processorpath"/>
@@ -361,7 +365,7 @@ is divided into following sections:
     </target>
     <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
         <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
+            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
             <attribute default="${build.classes.dir}" name="destdir"/>
             <attribute default="${javac.classpath}" name="classpath"/>
             <sequential>
@@ -451,6 +455,9 @@ is divided into following sections:
                         <fileset dir="${test.console.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${test.geotiff.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
                         <fileset dir="${test.netcdf.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
@@ -507,6 +514,9 @@ is divided into following sections:
                     <fileset dir="${test.console.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
+                    <fileset dir="${test.geotiff.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
                     <fileset dir="${test.netcdf.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
@@ -643,6 +653,9 @@ is divided into following sections:
                         <fileset dir="${test.console.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${test.geotiff.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
                         <fileset dir="${test.netcdf.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
@@ -1039,7 +1052,7 @@ is divided into following sections:
                 <include name="*"/>
             </dirset>
         </pathconvert>
-        <j2seproject3:depend srcdir="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${build.generated.subdirs}"/>
+        <j2seproject3:depend srcdir="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${build.generated.subdirs}"/>
     </target>
     <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
         <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
@@ -1047,6 +1060,7 @@ is divided into following sections:
             <fileset dir="${src.local-src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.webapp.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${src.geotiff.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.shapefile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.storage.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1075,7 +1089,7 @@ is divided into following sections:
     <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
         <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}"/>
+        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}"/>
     </target>
     <target name="-post-compile-single">
         <!-- Empty placeholder for easier customization. -->
@@ -1350,6 +1364,9 @@ is divided into following sections:
             <fileset dir="${src.console.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
+            <fileset dir="${src.geotiff.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
             <fileset dir="${src.netcdf.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
@@ -1390,6 +1407,9 @@ is divided into following sections:
             <fileset dir="${src.console.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
+            <fileset dir="${src.geotiff.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
             <fileset dir="${src.netcdf.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
@@ -1436,12 +1456,13 @@ is divided into following sections:
         <!-- You can override this target in the ../build.xml file. -->
     </target>
     <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
+        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.console.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
     </target>
     <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
+        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.console.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${test.geotiff.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.shapefile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.storage.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1464,9 +1485,10 @@ is divided into following sections:
     <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
         <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
+        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.console.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}" srcdir="${test.console.dir}:${test.geotiff.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${test.geotiff.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.shapefile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.storage.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>

Copied: sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml~ (from r1755594, sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml)
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml%7E?p2=sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml%7E&p1=sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml&r1=1755594&r2=1755610&rev=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml~ Tue Aug  9 14:48:04 2016
@@ -123,6 +123,7 @@ is divided into following sections:
         <condition property="have.tests">
             <or>
                 <available file="${test.console.dir}"/>
+                <available file="${test.geotiff.dir}"/>
                 <available file="${test.netcdf.dir}"/>
                 <available file="${test.shapefile.dir}"/>
                 <available file="${test.storage.dir}"/>
@@ -138,6 +139,7 @@ is divided into following sections:
                 <available file="${src.local-src.dir}"/>
                 <available file="${src.webapp.dir}"/>
                 <available file="${src.console.dir}"/>
+                <available file="${src.geotiff.dir}"/>
                 <available file="${src.netcdf.dir}"/>
                 <available file="${src.shapefile.dir}"/>
                 <available file="${src.storage.dir}"/>
@@ -250,6 +252,7 @@ is divided into following sections:
         <fail unless="src.local-src.dir">Must set src.local-src.dir</fail>
         <fail unless="src.webapp.dir">Must set src.webapp.dir</fail>
         <fail unless="src.console.dir">Must set src.console.dir</fail>
+        <fail unless="src.geotiff.dir">Must set src.geotiff.dir</fail>
         <fail unless="src.netcdf.dir">Must set src.netcdf.dir</fail>
         <fail unless="src.shapefile.dir">Must set src.shapefile.dir</fail>
         <fail unless="src.storage.dir">Must set src.storage.dir</fail>
@@ -259,6 +262,7 @@ is divided into following sections:
         <fail unless="src.utility.dir">Must set src.utility.dir</fail>
         <fail unless="src.fra-profile.dir">Must set src.fra-profile.dir</fail>
         <fail unless="test.console.dir">Must set test.console.dir</fail>
+        <fail unless="test.geotiff.dir">Must set test.geotiff.dir</fail>
         <fail unless="test.netcdf.dir">Must set test.netcdf.dir</fail>
         <fail unless="test.shapefile.dir">Must set test.shapefile.dir</fail>
         <fail unless="test.storage.dir">Must set test.storage.dir</fail>
@@ -451,6 +455,9 @@ is divided into following sections:
                         <fileset dir="${test.console.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${test.geotiff.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
                         <fileset dir="${test.netcdf.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
@@ -507,6 +514,9 @@ is divided into following sections:
                     <fileset dir="${test.console.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
+                    <fileset dir="${test.geotiff.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
                     <fileset dir="${test.netcdf.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
@@ -643,6 +653,9 @@ is divided into following sections:
                         <fileset dir="${test.console.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${test.geotiff.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
                         <fileset dir="${test.netcdf.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
@@ -1047,6 +1060,7 @@ is divided into following sections:
             <fileset dir="${src.local-src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.webapp.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${src.geotiff.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.shapefile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.storage.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1350,6 +1364,9 @@ is divided into following sections:
             <fileset dir="${src.console.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
+            <fileset dir="${src.geotiff.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
             <fileset dir="${src.netcdf.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
@@ -1390,6 +1407,9 @@ is divided into following sections:
             <fileset dir="${src.console.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
+            <fileset dir="${src.geotiff.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
             <fileset dir="${src.netcdf.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
@@ -1442,6 +1462,7 @@ is divided into following sections:
         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${test.geotiff.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.shapefile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.storage.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1467,6 +1488,7 @@ is divided into following sections:
         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.shapefile.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${test.geotiff.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.shapefile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.storage.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>

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=1755610&r1=1755609&r2=1755610&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] Tue Aug  9 14:48:04 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=21ae62d4
-nbproject/build-impl.xml.script.CRC32=e337b80c
+nbproject/build-impl.xml.data.CRC32=ed67281a
+nbproject/build-impl.xml.script.CRC32=9cb00bce
 nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties?rev=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties [ISO-8859-1] Tue Aug  9 14:48:04 2016
@@ -48,6 +48,8 @@ src.local-src.dir    = ../local-src
 src.webapp.dir       = ${project.root}/application/sis-webapp/src/main/java
 src.console.dir      = ${project.root}/application/sis-console/src/main/java
 test.console.dir     = ${project.root}/application/sis-console/src/test/java
+src.geotiff.dir      = ${project.root}/storage/sis-geotiff/src/main/java
+test.geotiff.dir     = ${project.root}/storage/sis-geotiff/src/test/java
 src.netcdf.dir       = ${project.root}/storage/sis-netcdf/src/main/java
 test.netcdf.dir      = ${project.root}/storage/sis-netcdf/src/test/java
 src.shapefile.dir    = ${project.root}/storage/sis-shapefile/src/main/java
@@ -103,7 +105,6 @@ maven.repository   = ${user.home}/.m2/re
 endorsed.classpath=
 javac.classpath=\
     ${project.GeoAPI}/dist/geoapi.jar:\
-    ${maven.repository}/org/unitsofmeasurement/unit-api/${unit-api.version}/unit-api-${unit-api.version}.jar:\
     ${maven.repository}/javax/measure/jsr-275/${jsr275.version}/jsr-275-${jsr275.version}.jar:\
     ${maven.repository}/com/esri/geometry/esri-geometry-api/${geometry.version}/esri-geometry-api-${geometry.version}.jar:\
     ${maven.repository}/org/geonames/georss-rome/${georss.version}/georss-rome-${georss.version}.jar:\
@@ -183,7 +184,7 @@ build.generated.dir
 build.generated.sources.dir              = ${build.dir}/generated-sources
 build.test.classes.dir                   = ${build.dir}/test/classes
 build.test.results.dir                   = ${build.dir}/test/results
-build.classes.excludes                   = **/*.java,**/*.form,**/*.html,**/*.txt,**/*.png,**/*.bak,**/resources/*.properties
+build.classes.excludes                   = **/*.java,**/*.form,**/*.txt,**/*.xml,**/*.html,**/*.png,**/*.bak,**/resources/*.properties
 build.sysclasspath                       = ignore
 dist.dir                                 = dist
 dist.jar                                 = ${dist.dir}/SIS.jar

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=1755610&r1=1755609&r2=1755610&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml Tue Aug  9 14:48:04 2016
@@ -26,6 +26,7 @@
                 <root id="src.local-src.dir" name="Local sources (unversioned)"/>
                 <root id="src.webapp.dir" name="Web application"/>
                 <root id="src.console.dir" name="Console"/>
+                <root id="src.geotiff.dir" name="GeoTIFF"/>
                 <root id="src.netcdf.dir" name="NetCDF"/>
                 <root id="src.shapefile.dir" name="Shapefile"/>
                 <root id="src.storage.dir" name="Storage"/>
@@ -37,6 +38,7 @@
             </source-roots>
             <test-roots>
                 <root id="test.console.dir" name="Test Console"/>
+                <root id="test.geotiff.dir" name="Test GeoTIFF"/>
                 <root id="test.netcdf.dir" name="Test NetCDF"/>
                 <root id="test.shapefile.dir" name="Test Shapefile"/>
                 <root id="test.storage.dir" name="Test Storage"/>




Mime
View raw message