sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1750789 [1/2] - in /sis/branches/0.7: ./ application/sis-console/src/main/java/org/apache/sis/console/ core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/ core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/...
Date Thu, 30 Jun 2016 12:25:29 GMT
Author: desruisseaux
Date: Thu Jun 30 12:25:29 2016
New Revision: 1750789

URL: http://svn.apache.org/viewvc?rev=1750789&view=rev
Log:
Merge bug fixes from trunk (ignoring all new developments);
- EPSG database not working on PostgreSQL (SIS-328).
- Envelopes.transform(CoordinateOperation, Envelope) produces wrong result with UTM close to Greenwich (SIS-329).
- ClassCastException on MultiAuthorityFactories.getDescriptionText(String).
- NetBeans configuration does not build: need to remove sis-shapefile from configuration since the module has been omitted..

Added:
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java
      - copied, changed from r1750767, sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java
      - copied, changed from r1750767, sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java
    sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml~
      - copied unchanged from r1750767, sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml
    sis/branches/0.7/non-free/
      - copied from r1750767, sis/trunk/non-free/
Modified:
    sis/branches/0.7/   (props changed)
    sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/CRSCommand.java
    sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/IdentifierCommand.java
    sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
    sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractDirectPosition.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ShapeUtilities.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java
    sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/TransverseMercator.java
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/AuthorityFactoriesTest.java
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CRSTest.java
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CommonCRSTest.java
    sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/TransverseMercatorTest.java
    sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/internal/system/XMLInputFactory.java
    sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/util/Locales.java
    sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java
    sis/branches/0.7/ide-project/NetBeans/build.xml
    sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml
    sis/branches/0.7/ide-project/NetBeans/nbproject/genfiles.properties
    sis/branches/0.7/ide-project/NetBeans/nbproject/project.properties
    sis/branches/0.7/ide-project/NetBeans/nbproject/project.xml
    sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
    sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java
    sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStoreProvider.java
    sis/branches/0.7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/Store.java
    sis/branches/0.7/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStore.java

Propchange: sis/branches/0.7/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jun 30 12:25:29 2016
@@ -1,5 +1,5 @@
 /sis/branches/Android:1430670-1480699
-/sis/branches/JDK6:1394364-1744475
-/sis/branches/JDK7:1394913-1744473
-/sis/branches/JDK8:1584960-1744471
-/sis/trunk:1744346-1744506
+/sis/branches/JDK6:1394364-1750766
+/sis/branches/JDK7:1394913-1750764
+/sis/branches/JDK8:1584960-1750763
+/sis/trunk:1744346-1750767

Modified: sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/CRSCommand.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/CRSCommand.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/CRSCommand.java [UTF-8] (original)
+++ sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/CRSCommand.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -37,7 +37,7 @@ import org.apache.sis.io.wkt.Convention;
  */
 final class CRSCommand extends MetadataCommand {
     /**
-     * Creates the {@code "metadata"}, {@code "crs"} or {@code "identifier"} sub-command.
+     * Creates the {@code "crs"} sub-command.
      */
     CRSCommand(final int commandIndex, final String... args) throws InvalidOptionException {
         super(commandIndex, args);

Modified: sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/IdentifierCommand.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/IdentifierCommand.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/IdentifierCommand.java [UTF-8] (original)
+++ sis/branches/0.7/application/sis-console/src/main/java/org/apache/sis/console/IdentifierCommand.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -95,7 +95,7 @@ final class IdentifierCommand extends Me
     }
 
     /**
-     * Creates the {@code "metadata"}, {@code "crs"} or {@code "identifier"} sub-command.
+     * Creates the {@code "identifier"} sub-command.
      */
     IdentifierCommand(final int commandIndex, final String... args) throws InvalidOptionException {
         super(commandIndex, args);

Modified: sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/DefaultBand.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -324,7 +324,7 @@ public class DefaultBand extends Default
 
     /**
      * Returns the wavelength at which the response is the highest.
-     * The units of measurement is given by {@link #getUnits()}.
+     * The units of measurement is given by {@link #getBoundUnits()}.
      *
      * @return Wavelength at which the response is the highest, or {@code null} if unspecified.
      */

Modified: sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -40,7 +40,7 @@
  * {@code      └─} {@linkplain org.apache.sis.metadata.iso.extent.DefaultSpatialTemporalExtent Spatial temporal extent}<br>
  * </td><td class="sep" style="width: 50%; white-space: nowrap">
  *             {@linkplain org.apache.sis.metadata.iso.extent.DefaultExtent                Extent}<br>
- * {@code  ├─} {@linkplain org.apache.sis.metadata.iso.extent.AbstractGeographicExtent     Geographic extent}<br>
+ * {@code  ├─} {@linkplain org.apache.sis.metadata.iso.extent.AbstractGeographicExtent     Geographic extent} «abstract»<br>
  * {@code  ├─} {@linkplain org.apache.sis.metadata.iso.extent.DefaultVerticalExtent        Vertical extent}<br>
  * {@code  └─} {@linkplain org.apache.sis.metadata.iso.extent.DefaultTemporalExtent        Temporal extent}<br>
  *             {@linkplain org.apache.sis.metadata.iso.extent.DefaultSpatialTemporalExtent Spatial temporal extent}<br>

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractDirectPosition.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractDirectPosition.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractDirectPosition.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractDirectPosition.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -43,7 +43,7 @@ import org.apache.sis.internal.jdk7.Obje
 
 
 /**
- * Base class for {@link DirectPosition} implementations.
+ * Default implementations of some {@code DirectPosition} methods, leaving the data storage to subclasses.
  * A direct position holds the coordinates for a position within some
  * {@linkplain org.apache.sis.referencing.crs.AbstractCRS coordinate reference system}.
  * This base class provides default implementations for {@link #toString()},

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -51,7 +51,7 @@ import org.apache.sis.internal.jdk7.Obje
 
 
 /**
- * Base class for {@link Envelope} implementations.
+ * Default implementations of most {@code Envelope} methods, leaving the data storage to subclasses.
  * This base class does not hold any state and does not implement the {@link java.io.Serializable}
  * or {@link Cloneable} interfaces. The internal representation, and the choice to be cloneable or
  * serializable, is left to subclasses.

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/DirectPosition2D.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -33,7 +33,7 @@ import org.apache.sis.internal.jdk7.Obje
 
 
 /**
- * A two-dimensional position on top of {@link Point2D}.
+ * A two-dimensional position on top of Java2D point.
  * This implementation is provided for inter-operability between Java2D and GeoAPI.
  *
  * <p>This class inherits {@linkplain #x x} and {@linkplain #y y} fields.

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -53,7 +53,7 @@ import org.apache.sis.internal.jdk7.Obje
 
 
 /**
- * A two-dimensional envelope on top of {@link Rectangle2D}.
+ * A two-dimensional envelope on top of Java2D rectangle.
  * This implementation is provided for inter-operability between Java2D and GeoAPI.
  *
  * <p>This class inherits {@linkplain #x x} and {@linkplain #y y} fields.

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -554,7 +554,7 @@ public final class Envelopes extends Sta
          *    step. That ordinate is set to the minimal and maximal values of that axis.
          *
          *    Example: If the above steps found that the point (90°S, 30°W) need to be included,
-         *             then this step #3 will also test phe points (90°S, 180°W) and (90°S, 180°E).
+         *             then this step #3 will also test the points (90°S, 180°W) and (90°S, 180°E).
          *
          * NOTE: we test (-180°, centerY), (180°, centerY), (centerX, -90°) and (centerX, 90°)
          * at step #1 before to test (-180°, -90°), (180°, -90°), (-180°, 90°) and (180°, 90°)

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -45,6 +45,12 @@
  *   </tr>
  * </table>
  *
+ * <div class="section">Java2D dependency</div>
+ * All classes having a name that ends with "2D" are designed for inter-operability with Java2D.
+ * All other classes have no dependency to Java2D.
+ * This clear separation aims to make easier to use Apache SIS on platforms that do not support Java2D
+ * (for example Android) or to avoid loading Java2D classes when only JavaFX is desired.
+ *
  * <div class="section">Envelopes spanning the anti-meridian of a Geographic CRS</div>
  * The Web Coverage Service (WCS) 1.1 specification uses an extended interpretation
  * of the bounding box definition. In a WCS 1.1 data structure, the
@@ -77,7 +83,7 @@
  *
  * @author Martin Desruisseaux (IRD, Geomatys)
  * @since   0.3
- * @version 0.3
+ * @version 0.7
  * @module
  */
 package org.apache.sis.geometry;

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ShapeUtilities.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ShapeUtilities.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ShapeUtilities.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/ShapeUtilities.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -323,10 +323,10 @@ public final class ShapeUtilities extend
         x2 -= x1;
         y2 -= y1;
         if (horizontal) {
-            final double a = (y2 - py*x2/px) / (x2-px); // Actually "a*x2"
+            final double a = (y2 - py*x2/px) / (x2-px);     // Actually "a*x2"
             final double check = abs(a);
-            if (!(check <= 1/EPS)) return null; // Two points have the same coordinates.
-            if (!(check >=   EPS)) return null; // The three points are co-linear.
+            if (!(check <= 1/EPS)) return null;             // Two points have the same coordinates.
+            if (!(check >=   EPS)) return null;             // The three points are co-linear.
             final double b = y2/x2 - a;
             px = (1 + b/(2*a))*x2 - y2/(2*a);
             py = y1 + b*px;
@@ -339,18 +339,18 @@ public final class ShapeUtilities extend
             final double rx2 = x2;
             final double ry2 = y2;
             x2 = hypot(x2,y2);
-            y2 = (px*rx2 + py*ry2) / x2; // use 'y2' as a temporary variable for 'x1'
+            y2 = (px*rx2 + py*ry2) / x2;                    // use 'y2' as a temporary variable for 'x1'
             py = (py*rx2 - px*ry2) / x2;
             px = y2;
-            y2 = 0; // set as a matter of principle (but not used).
+            y2 = 0;                                         // set as a matter of principle (but not used).
             /*
              * Now compute the control point coordinates in our new coordinate system axis.
              */
-            final double x = 0.5;                       // Actually "x/x2"
-            final double y = (py*x*x2) / (px*(x2-px));  // Actually "y/y2"
+            final double x = 0.5;                           // Actually "x/x2"
+            final double y = (py*x*x2) / (px*(x2-px));      // Actually "y/y2"
             final double check = abs(y);
-            if (!(check <= 1/EPS)) return null; // Two points have the same coordinates.
-            if (!(check >=   EPS)) return null; // The three points are co-linear.
+            if (!(check <= 1/EPS)) return null;             // Two points have the same coordinates.
+            if (!(check >=   EPS)) return null;             // The three points are co-linear.
             /*
              * Applies the inverse rotation then a translation to bring
              * us back to the original coordinate system.
@@ -362,7 +362,7 @@ public final class ShapeUtilities extend
     }
 
     /**
-     * Returns a circle passing by the 3 given points. The distance between the returned
+     * Returns the center of a circle passing by the 3 given points. The distance between the returned
      * point and any of the given points will be constant; it is the circle radius.
      *
      * @param  x1 <var>x</var> value of the first  point.
@@ -371,7 +371,7 @@ public final class ShapeUtilities extend
      * @param  y2 <var>y</var> value of the second point.
      * @param  x3 <var>x</var> value of the third  point.
      * @param  y3 <var>y</var> value of the third  point.
-     * @return A circle passing by the given points.
+     * @return The center of a circle passing by the given points.
      *
      * @todo This method is used by Geotk (a sandbox for code that may migrate to SIS), but not yet by SIS.
      *       We temporarily keep this code here, but may delete or move it elsewhere in a future SIS version

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -182,6 +182,9 @@ abstract class AuthorityFactoryProxy<T>
             @Override InternationalString createFromAPI(AuthorityFactory factory, String code) throws FactoryException {
                 return factory.getDescriptionText(code);
             }
+            @Override AuthorityFactoryProxy<InternationalString> specialize(String typeName) {
+                return this;
+            }
     };
 
     /**

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -751,7 +751,8 @@ public class MultiAuthoritiesFactory ext
                 if (code == null) {
                     message = Errors.format(Errors.Keys.MissingComponentInElement_2, s, "code");
                 } else {
-                    message = Errors.format(Errors.Keys.CanNotCreateObjectAsInstanceOf_2, type, uri.type);
+                    message = Errors.format(Errors.Keys.CanNotCreateObjectAsInstanceOf_2, type,
+                            DefinitionURI.PREFIX + DefinitionURI.SEPARATOR + uri.type);
                 }
                 throw new NoSuchAuthorityCodeException(message, authority, code, s);
             }

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -148,8 +148,8 @@ final class AuthorityCodes extends Abstr
             for (int i=0; i<table.subTypes.length; i++) {
                 final Class<?> candidate = table.subTypes[i];
                 if (candidate.isAssignableFrom(type)) {
-                    buffer.append(" WHERE (").append(table.typeColumn)
-                          .append(" LIKE '").append(table.typeNames[i]).append("%')");
+                    buffer.append(" WHERE (CAST(").append(table.typeColumn).append(" AS ").append(TableInfo.ENUM_REPLACEMENT)
+                          .append(") LIKE '").append(table.typeNames[i]).append("%')");
                     hasWhere = true;
                     tableType = candidate;
                     break;

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -3328,7 +3328,7 @@ next:               while (r.next()) {
                     "SELECT COORD_REF_SYS_CODE" +
                     " FROM [Coordinate Reference System]" +
                     " WHERE PROJECTION_CONV_CODE = ?" +
-                      " AND COORD_REF_SYS_KIND LIKE 'projected%'", code);
+                      " AND CAST(COORD_REF_SYS_KIND AS " + TableInfo.ENUM_REPLACEMENT + ") LIKE 'projected%'", code);
             try {
                 projection = result.next();
             } finally {

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -162,9 +162,9 @@ final class EPSGInstaller extends Script
             prependNamespace(schema);
         }
         if (!isEnumTypeSupported) {
-            addReplacement(SQLTranslator.TABLE_PREFIX + "datum_kind", "VARCHAR(24)");
-            addReplacement(SQLTranslator.TABLE_PREFIX + "crs_kind",   "VARCHAR(24)");
-            addReplacement(SQLTranslator.TABLE_PREFIX + "cs_kind",    "VARCHAR(24)");
+            addReplacement(SQLTranslator.TABLE_PREFIX + "datum_kind", TableInfo.ENUM_REPLACEMENT);
+            addReplacement(SQLTranslator.TABLE_PREFIX + "crs_kind",   TableInfo.ENUM_REPLACEMENT);
+            addReplacement(SQLTranslator.TABLE_PREFIX + "cs_kind",    TableInfo.ENUM_REPLACEMENT);
             addReplacement(SQLTranslator.TABLE_PREFIX + "table_name", "VARCHAR(80)");
         }
     }

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -162,10 +162,17 @@ final class TableInfo {
 
     /**
      * Column type for the type (usually with the {@code "_TYPE"} suffix), or {@code null}.
+     * {@link EPSGDataAccess} and {@link AuthorityCodes} assumes that values in this column
+     * have the maximal length described in the {@value #ENUM_REPLACEMENT} statement.
      */
     final String typeColumn;
 
     /**
+     * The SQL type to use as a replacement for enumerated values on databases that do not support enumerations.
+     */
+    static final String ENUM_REPLACEMENT = "VARCHAR(24)";
+
+    /**
      * Sub-interfaces of {@link #type} to handle, or {@code null} if none.
      */
     final Class<?>[] subTypes;

Modified: sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/TransverseMercator.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/TransverseMercator.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/TransverseMercator.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/TransverseMercator.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -59,7 +59,7 @@ import static org.apache.sis.internal.re
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Rémi Maréchal (Geomatys)
  * @since   0.6
- * @version 0.7
+ * @version 0.7.1
  * @module
  *
  * @see Mercator
@@ -314,13 +314,34 @@ public class TransverseMercator extends
                             final double[] dstPts, final int dstOff,
                             final boolean derivate) throws ProjectionException
     {
-        final double λ     = srcPts[srcOff  ];
+        final double λ = srcPts[srcOff];
+        if (abs(λ) >= (0.9*PI/2)) {
+            /*
+             * The Transverse Mercator projection is conceptually a Mercator projection rotated by 90°.
+             * In Mercator projection, y values tend toward infinity for latitudes close to ±90°.
+             * In Transverse Mercator, x values tend toward infinity for longitudes close to ±90°
+             * at equator and after subtraction of central meridian. After we pass the 90° limit,
+             * the Transverse Mercator results at (90° + Δ) are the same as for (90° - Δ).
+             *
+             * Problem is that 90° is an ordinary longitude value, not even close to the limit of longitude
+             * values range (±180°). So having f(π/2+Δ, φ) = f(π/2-Δ, φ) results in wrong behavior in some
+             * algorithms like the one used by Envelopes.transform(CoordinateOperation, Envelope).
+             * Since a distance of 90° from central meridian is far outside the Transverse Mercator
+             * domain of validity anyway, we do not let the user go further.
+             *
+             * In the particular case of ellipsoidal formulas, we put a limit of 81° instead of 90°
+             * because experience shows that results close to equator become chaotic after 85° when
+             * using WGS84 ellipsoid. We do not need to reduce the limit for the spherical formulas,
+             * because the mathematic are simpler and the function still smooth until 90°.
+             */
+            throw new ProjectionException(Errors.Keys.OutsideDomainOfValidity);
+        }
         final double φ     = srcPts[srcOff+1];
         final double sinλ  = sin(λ);
         final double ℯsinφ = sin(φ) * eccentricity;
         final double Q     = asinh(tan(φ)) - atanh(ℯsinφ) * eccentricity;
-        final double coshQ = cosh(Q);
-        final double η0    = atanh(sinλ / coshQ);
+        final double coshQ = cosh(Q);                                       // Can not be smaller than 1.
+        final double η0    = atanh(sinλ / coshQ);                           // Tends toward ±∞ if λ → ±90°.
         /*
          * Original formula: η0 = atanh(sin(λ) * cos(β)) where
          * cos(β) = cos(atan(sinh(Q)))
@@ -596,7 +617,11 @@ public class TransverseMercator extends
                                 final double[] dstPts, final int dstOff,
                                 final boolean derivate) throws ProjectionException
         {
-            final double λ    = srcPts[srcOff  ];
+            final double λ = srcPts[srcOff  ];
+            if (abs(λ) > PI/2) {
+                // See comment in the overridden class.
+                throw new ProjectionException(Errors.Keys.OutsideDomainOfValidity);
+            }
             final double φ    = srcPts[srcOff+1];
             final double sinλ = sin(λ);
             final double cosλ = cos(λ);

Modified: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -16,34 +16,87 @@
  */
 package org.apache.sis.geometry;
 
+import java.util.Collections;
 import org.opengis.geometry.Envelope;
 import org.opengis.util.FactoryException;
-import org.apache.sis.test.TestCase;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.operation.CoordinateOperation;
+import org.opengis.referencing.operation.MathTransform2D;
+import org.opengis.referencing.operation.TransformException;
+import org.apache.sis.referencing.crs.DefaultCompoundCRS;
+import org.apache.sis.referencing.crs.HardCodedCRS;
+import org.apache.sis.referencing.operation.transform.MathTransformWrapper;
 import org.apache.sis.test.DependsOn;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.ReferencingAssert.*;
 import static org.opengis.test.Validators.validate;
 
 
 /**
  * Tests the {@link Envelopes} class.
+ * This class inherits the test methods defined in {@link TransformTestCase}.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @since   0.3
- * @version 0.3
+ * @version 0.7.1
  * @module
  */
 @DependsOn({
     GeneralEnvelopeTest.class,
     CurveExtremumTest.class
 })
-public final strictfp class EnvelopesTest extends TestCase {
+public final strictfp class EnvelopesTest extends TransformTestCase<GeneralEnvelope> {
+    /**
+     * Creates an envelope for the given CRS and coordinate values.
+     */
+    @Override
+    GeneralEnvelope createFromExtremums(CoordinateReferenceSystem crs, double xmin, double ymin, double xmax, double ymax) {
+        final GeneralEnvelope env = new GeneralEnvelope(crs);
+        env.setRange(0, xmin, xmax);
+        env.setRange(1, ymin, ymax);
+        return env;
+    }
 
-    /*
-     * Tests of the 'transform' methods are not yet ported because they need more MathTransform
-     * implementations. Those tests will be ported in a future Apache SIS version.
+    /**
+     * Transforms an envelope using the given math transform.
+     * This transformation can not handle poles.
+     *
+     * <p>This method wraps the math transform into an opaque object for hiding the fact that the given
+     * transform implement the {@link MathTransform2D} interface. The intend is to disable optimization
+     * paths (if any), in order to test the generic path.</p>
      */
+    @Override
+    GeneralEnvelope transform(CoordinateReferenceSystem targetCRS, MathTransform2D transform, GeneralEnvelope envelope) throws TransformException {
+        final GeneralEnvelope env = Envelopes.transform(new MathTransformWrapper(transform), envelope);
+        env.setCoordinateReferenceSystem(targetCRS);
+        return env;
+    }
+
+    /**
+     * Transforms an envelope using the given operation.
+     * This transformation can handle poles.
+     */
+    @Override
+    GeneralEnvelope transform(CoordinateOperation operation, GeneralEnvelope envelope) throws TransformException {
+        return Envelopes.transform(operation, envelope);
+    }
+
+    /**
+     * Returns {@code true} if the outer envelope contains the inner one.
+     */
+    @Override
+    boolean contains(GeneralEnvelope outer, GeneralEnvelope inner) {
+        return outer.contains(inner);
+    }
+
+    /**
+     * Asserts that the given envelope is equals to the expected value.
+     */
+    @Override
+    void assertGeometryEquals(GeneralEnvelope expected, GeneralEnvelope actual, double tolx, double toly) {
+        assertEnvelopeEquals(expected, actual, tolx, toly);
+    }
 
     /**
      * Tests {@link Envelopes#fromWKT(CharSequence)}. This test is provided as a matter of principle,
@@ -83,4 +136,39 @@ public final strictfp class EnvelopesTes
         envelope.setRange(1, 20, 25);
         assertEquals("POLYGON((40 20, 40 25, 50 25, 50 20, 40 20))", Envelopes.toPolygonWKT(envelope));
     }
+
+    /**
+     * Tests the transformation of an envelope from a 4D CRS to a 2D CRS
+     * where the ordinates in one dimension are NaN.
+     *
+     * @throws TransformException if an error occurred while transforming the envelope.
+     *
+     * @since 0.7.1
+     */
+    @Test
+    public void testTransform4to2D() throws TransformException {
+        final CoordinateReferenceSystem targetCRS = HardCodedCRS.WGS84;
+        final CoordinateReferenceSystem sourceCRS = new DefaultCompoundCRS(
+                Collections.singletonMap(DefaultCompoundCRS.NAME_KEY, "4D CRS"),
+                HardCodedCRS.WGS84,
+                HardCodedCRS.GRAVITY_RELATED_HEIGHT,
+                HardCodedCRS.TIME);
+
+        final GeneralEnvelope env = new GeneralEnvelope(sourceCRS);
+        env.setRange(0, -170, 170);
+        env.setRange(1, -80,   80);
+        env.setRange(2, -50,  -50);
+        env.setRange(3, Double.NaN, Double.NaN);
+        assertFalse("isAllNaN", env.isAllNaN());        // Opportunist test (not really the topic of this method).
+        assertTrue ("isEmpty",  env.isEmpty());         // Opportunist test (not really the topic of this method).
+        /*
+         * If the referencing framework has selected the CopyTransform implementation
+         * as expected, then the envelope ordinates should not be NaN.
+         */
+        final Envelope env2D = Envelopes.transform(env, targetCRS);
+        assertEquals(-170, env2D.getMinimum(0), 0);
+        assertEquals( 170, env2D.getMaximum(0), 0);
+        assertEquals( -80, env2D.getMinimum(1), 0);
+        assertEquals(  80, env2D.getMaximum(1), 0);
+    }
 }

Copied: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java (from r1750767, sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java)
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java?p2=sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java&p1=sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java&r1=1750767&r2=1750789&rev=1750789&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -47,8 +47,8 @@ import static org.apache.sis.test.Refere
  * @param <G> the type of geometric objects, either {@link GeneralEnvelope} or {@link java.awt.geom.Rectangle2D}.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @since   0.8
- * @version 0.8
+ * @since   0.7.1
+ * @version 0.7.1
  * @module
  */
 @DependsOn(CurveExtremumTest.class)

Modified: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/AuthorityFactoriesTest.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/AuthorityFactoriesTest.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/AuthorityFactoriesTest.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/AuthorityFactoriesTest.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -46,7 +46,7 @@ import static org.apache.sis.test.Assert
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.7
- * @version 0.7
+ * @version 0.7.1
  * @module
  */
 public final strictfp class AuthorityFactoriesTest extends TestCase {
@@ -66,6 +66,20 @@ public final strictfp class AuthorityFac
     }
 
     /**
+     * Tests {@link CRSAuthorityFactory#getDescriptionText(String)}.
+     *
+     * @throws FactoryException if the EPSG:4326 name can not be obtained.
+     *
+     * @since 0.7.1
+     */
+    @Test
+    public void testGetDescriptionText() throws FactoryException {
+        final CRSAuthorityFactory factory = AuthorityFactories.ALL;
+        assertEquals("WGS 84", factory.getDescriptionText("EPSG:4326").toString());
+        assertEquals("WGS 84", factory.getDescriptionText("urn:ogc:def:crs:epsg::4326").toString());
+    }
+
+    /**
      * Tests creation of {@code CRS:84} from various codes.
      *
      * @throws FactoryException if a CRS:84 creation failed.

Modified: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CRSTest.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CRSTest.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CRSTest.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CRSTest.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -16,10 +16,11 @@
  */
 package org.apache.sis.referencing;
 
+import org.opengis.util.FactoryException;
+import org.opengis.referencing.NoSuchAuthorityCodeException;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.opengis.referencing.crs.GeodeticCRS;
 import org.opengis.referencing.crs.SingleCRS;
-import org.opengis.util.FactoryException;
 import org.apache.sis.referencing.crs.DefaultCompoundCRS;
 import org.apache.sis.referencing.crs.DefaultGeographicCRS;
 import org.apache.sis.referencing.crs.HardCodedCRS;
@@ -40,7 +41,7 @@ import static org.apache.sis.test.Assert
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.7
+ * @version 0.7.1
  * @module
  */
 @DependsOn({
@@ -106,6 +107,21 @@ public final strictfp class CRSTest exte
     }
 
     /**
+     * Test {@link CRS#forCode(String)} with values that should be invalid.
+     *
+     * @throws FactoryException if an error other than {@link NoSuchAuthorityCodeException} happened.
+     */
+    @Test
+    public void testForInvalidCode() throws FactoryException {
+        try {
+            CRS.forCode("EPSG:4");
+            fail("Should not find EPSG:4");
+        } catch (NoSuchAuthorityCodeException e) {
+            assertEquals("4", e.getAuthorityCode());
+        }
+    }
+
+    /**
      * Tests simple WKT parsing. It is not the purpose of this class to test extensively the WKT parser;
      * those tests are rather done by {@link org.apache.sis.io.wkt.GeodeticObjectParserTest}.
      * Here we merely test that {@link CRS#fromWKT(String)} is connected to the parser.

Modified: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CommonCRSTest.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CommonCRSTest.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CommonCRSTest.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/CommonCRSTest.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -17,6 +17,8 @@
 package org.apache.sis.referencing;
 
 import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.referencing.crs.TemporalCRS;
 import org.opengis.referencing.crs.VerticalCRS;
@@ -49,7 +51,7 @@ import static org.apache.sis.test.TestUt
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @since   0.4
- * @version 0.7
+ * @version 0.7.1
  * @module
  */
 @DependsOn({
@@ -64,6 +66,58 @@ public final strictfp class CommonCRSTes
     private static final double DAY_LENGTH = 24 * 60 * 60 * 1000;
 
     /**
+     * Verifies that the same EPSG code is not used for two objects. Collisions are not allowed between
+     * {@code geographic}, {@code geocentric}, {@code geo3D} and all UTM projections. Strictly speaking
+     * all the above-cited codes may collide with {@code datum} and {@code ellipsoid}, but we nevertheless
+     * avoid those collisions in order to simplify {@link EPSGFactoryFallback#createObject(String)} implementation.
+     */
+    @Test
+    public void ensureNoCodeCollision() {
+        final Map<Integer,Enum<?>> codes = new HashMap<Integer,Enum<?>>();
+        final CommonCRS[] values = CommonCRS.values();
+        for (final CommonCRS crs : values) {
+            assertNoCodeCollision(codes, crs, crs.geographic);
+            assertNoCodeCollision(codes, crs, crs.geocentric);
+            assertNoCodeCollision(codes, crs, crs.geo3D);
+            for (int zone = crs.firstZone; zone <= crs.lastZone; zone++) {
+                if (crs.northUTM != 0) assertNoCodeCollision(codes, crs, crs.northUTM + zone);
+                if (crs.southUTM != 0) assertNoCodeCollision(codes, crs, crs.southUTM + zone);
+            }
+        }
+        final CommonCRS.Vertical[] vertical = CommonCRS.Vertical.values();
+        for (final CommonCRS.Vertical crs : vertical) {
+            if (crs.isEPSG) {
+                assertNoCodeCollision(codes, crs, crs.crs);
+            }
+        }
+        /*
+         * Following restrictions are not strictly required, but their enforcement
+         * simplifies the EPSGFactoryFallback.createObject(String) implementation.
+         */
+        assertNull(codes.put(Integer.valueOf(StandardDefinitions.GREENWICH), CommonCRS.WGS84));
+        for (final CommonCRS crs : values) assertNull   (crs.name(),      codes.get(Integer.valueOf(crs.ellipsoid)));
+        for (final CommonCRS crs : values) assertNotSame(crs.name(), crs, codes.put(Integer.valueOf(crs.ellipsoid), crs));
+        for (final CommonCRS crs : values) assertNull   (crs.name(),      codes.get(Integer.valueOf(crs.datum)));
+        for (final CommonCRS.Vertical crs : vertical) {
+            if (crs.isEPSG) {
+                assertNull(crs.name(), codes.get(Integer.valueOf(crs.datum)));
+            }
+        }
+    }
+
+    /**
+     * Helper method for {@link #ensureNoCodeCollision()} only.
+     */
+    private static void assertNoCodeCollision(final Map<Integer,Enum<?>> codes, final Enum<?> crs, final int n) {
+        if (n != 0) {
+            final Enum<?> existing = codes.put(n, crs);
+            if (existing != null) {
+                fail(existing + " and " + crs + " both use the same EPSG:" + n + " code.");
+            }
+        }
+    }
+
+    /**
      * Tests the {@link CommonCRS#geographic()} method.
      */
     @Test

Modified: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/TransverseMercatorTest.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/TransverseMercatorTest.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/TransverseMercatorTest.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/TransverseMercatorTest.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -158,6 +158,10 @@ public final strictfp class TransverseMe
          */
         final double[] source = CoordinateDomain.GEOGRAPHIC_RADIANS_HALF_λ.generateRandomInput(new Random(5346144739450824145L), 2, 10);
         final double[] target = new double[source.length];
+        for (int i=0; i<source.length; i+=2) {
+            // A longitude range of [-90 … +90]° is still too wide for Transverse Mercator. Reduce to [-45 … +45]°.
+            source[i] /= 2;
+        }
         transform.transform(source, 0, target, 0, 10);
         transform = assertSerializedEquals(transform);
         tolerance = Formulas.LINEAR_TOLERANCE;

Copied: sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java (from r1750767, sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java)
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java?p2=sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java&p1=sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java&r1=1750767&r2=1750789&rev=1750789&view=diff
==============================================================================
--- sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -42,8 +42,8 @@ import org.apache.sis.internal.jdk7.Obje
  * path in a JUnit test.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @since   0.8
- * @version 0.8
+ * @since   0.7.1
+ * @version 0.7.1
  * @module
  */
 public strictfp class MathTransformWrapper extends FormattableObject implements MathTransform, Serializable {

Modified: sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/internal/system/XMLInputFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/internal/system/XMLInputFactory.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/internal/system/XMLInputFactory.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/internal/system/XMLInputFactory.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -60,9 +60,9 @@ public final class XMLInputFactory exten
     /**
      * Creates a new reader for the given stream.
      *
-     * @param  in Where to read from.
-     * @return The reader.
-     * @throws XMLStreamException If the reader can not be created.
+     * @param  in where to read from.
+     * @return the reader.
+     * @throws XMLStreamException if the reader can not be created.
      */
     public static XMLStreamReader createXMLStreamReader(final InputStream in) throws XMLStreamException {
         return FACTORY.createXMLStreamReader(in);
@@ -71,9 +71,9 @@ public final class XMLInputFactory exten
     /**
      * Creates a new reader for the given stream.
      *
-     * @param  in Where to read from.
-     * @return The reader.
-     * @throws XMLStreamException If the reader can not be created.
+     * @param  in where to read from.
+     * @return the reader.
+     * @throws XMLStreamException if the reader can not be created.
      */
     public static XMLStreamReader createXMLStreamReader(final Reader in) throws XMLStreamException {
         return FACTORY.createXMLStreamReader(in);
@@ -82,9 +82,9 @@ public final class XMLInputFactory exten
     /**
      * Creates a new reader for the given source.
      *
-     * @param  in Where to read from.
-     * @return The reader.
-     * @throws XMLStreamException If the reader can not be created.
+     * @param  in where to read from.
+     * @return the reader.
+     * @throws XMLStreamException if the reader can not be created.
      */
     public static XMLStreamReader createXMLStreamReader(final InputSource in) throws XMLStreamException {
         return FACTORY.createXMLStreamReader(new SAXSource(in));
@@ -93,9 +93,9 @@ public final class XMLInputFactory exten
     /**
      * Creates a new reader for the given source.
      *
-     * @param  in Where to read from.
-     * @return The reader.
-     * @throws XMLStreamException If the reader can not be created.
+     * @param  in where to read from.
+     * @return the reader.
+     * @throws XMLStreamException if the reader can not be created.
      */
     public static XMLStreamReader createXMLStreamReader(final XMLEventReader in) throws XMLStreamException {
         return FACTORY.createXMLStreamReader(new StAXSource(in));
@@ -104,9 +104,9 @@ public final class XMLInputFactory exten
     /**
      * Creates a new reader for the given source.
      *
-     * @param  in Where to read from.
-     * @return The reader.
-     * @throws XMLStreamException If the reader can not be created.
+     * @param  in where to read from.
+     * @return the reader.
+     * @throws XMLStreamException if the reader can not be created.
      */
     public static XMLStreamReader createXMLStreamReader(final Node in) throws XMLStreamException {
         return FACTORY.createXMLStreamReader(new DOMSource(in));
@@ -115,9 +115,9 @@ public final class XMLInputFactory exten
     /**
      * Creates a new reader for the given source.
      *
-     * @param  in Where to read from.
-     * @return The reader.
-     * @throws XMLStreamException If the reader can not be created.
+     * @param  in where to read from.
+     * @return the reader.
+     * @throws XMLStreamException if the reader can not be created.
      */
     public static XMLStreamReader createXMLStreamReader(final Source in) throws XMLStreamException {
         return FACTORY.createXMLStreamReader(in);

Modified: sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/util/Locales.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/util/Locales.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/util/Locales.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/util/Locales.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -103,10 +103,10 @@ public final class Locales extends Stati
      */
     private static final short[] ISO3, ISO2;
     static {
-        final Short CONFLICT = 0; // Sentinal value for conflicts (paranoiac safety).
+        final Short CONFLICT = 0;                           // Sentinal value for conflicts (paranoiac safety).
         final Map<Short,Short> map = new TreeMap<Short,Short>();
         for (final Locale locale : POOL.values()) {
-            short type = LANGUAGE; // 0 for language, or leftmost bit set for country.
+            short type = LANGUAGE;                          // 0 for language, or leftmost bit set for country.
             do { // Executed exactly twice: once for language, than once for country.
                 final short alpha2 = toNumber((type == LANGUAGE) ? locale.getLanguage() : locale.getCountry(), type);
                 if (alpha2 != 0) {
@@ -114,7 +114,7 @@ public final class Locales extends Stati
                     try {
                         alpha3 = toNumber((type == LANGUAGE) ? locale.getISO3Language() : locale.getISO3Country(), type);
                     } catch (MissingResourceException e) {
-                        continue; // No 3-letters code to map for this locale.
+                        continue;                           // No 3-letters code to map for this locale.
                     }
                     if (alpha3 != 0 && alpha3 != alpha2) {
                         final Short p = map.put(alpha3, alpha2);
@@ -127,7 +127,7 @@ public final class Locales extends Stati
                 }
             } while ((type ^= COUNTRY) != LANGUAGE);
         }
-        while (map.values().remove(CONFLICT)); // Remove all conflicts that we may have found.
+        while (map.values().remove(CONFLICT));              // Remove all conflicts that we may have found.
         ISO3 = new short[map.size()];
         ISO2 = new short[map.size()];
         int i = 0;
@@ -318,8 +318,8 @@ filter: for (final Locale locale : local
     }
 
     /**
-     * Converts a 3-letters ISO code to a 2-letters one. If the given code is not recognized,
-     * then this method returns {@code code} unmodified.
+     * Converts a 3-letters ISO code to a 2-letters one.
+     * If the given code is not recognized, then this method returns {@code code} unmodified.
      *
      * @param  code The 3-letters code.
      * @param  type Either {@link #LANGUAGE} or {@link #COUNTRY}.

Modified: sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java [UTF-8] (original)
+++ sis/branches/0.7/core/sis-utility/src/main/java/org/apache/sis/xml/XML.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -353,7 +353,7 @@ public final class XML extends Static {
      *
      * @param  object The root of content tree to be marshalled.
      * @return The XML representation of the given object.
-     * @throws JAXBException If an error occurred during the marshalling.
+     * @throws JAXBException if an error occurred during the marshalling.
      */
     public static String marshal(final Object object) throws JAXBException {
         ensureNonNull("object", object);
@@ -370,7 +370,7 @@ public final class XML extends Static {
      *
      * @param  object The root of content tree to be marshalled.
      * @param  output The stream where to write.
-     * @throws JAXBException If an error occurred during the marshalling.
+     * @throws JAXBException if an error occurred during the marshalling.
      */
     public static void marshal(final Object object, final OutputStream output) throws JAXBException {
         ensureNonNull("object", object);
@@ -386,7 +386,7 @@ public final class XML extends Static {
      *
      * @param  object The root of content tree to be marshalled.
      * @param  output The file to be written.
-     * @throws JAXBException If an error occurred during the marshalling.
+     * @throws JAXBException if an error occurred during the marshalling.
      */
     public static void marshal(final Object object, final File output) throws JAXBException {
         ensureNonNull("object", object);
@@ -409,7 +409,7 @@ public final class XML extends Static {
      * @param  object The root of content tree to be marshalled.
      * @param  output The file to be written.
      * @param  properties An optional map of properties to give to the marshaller, or {@code null} if none.
-     * @throws JAXBException If a property has an illegal value, or if an error occurred during the marshalling.
+     * @throws JAXBException if a property has an illegal value, or if an error occurred during the marshalling.
      *
      * @since 0.4
      */
@@ -434,7 +434,7 @@ public final class XML extends Static {
      *
      * @param  xml The XML representation of an object.
      * @return The object unmarshalled from the given input.
-     * @throws JAXBException If an error occurred during the unmarshalling.
+     * @throws JAXBException if an error occurred during the unmarshalling.
      */
     public static Object unmarshal(final String xml) throws JAXBException {
         ensureNonNull("input", xml);
@@ -451,7 +451,7 @@ public final class XML extends Static {
      *
      * @param  input The stream from which to read a XML representation.
      * @return The object unmarshalled from the given input.
-     * @throws JAXBException If an error occurred during the unmarshalling.
+     * @throws JAXBException if an error occurred during the unmarshalling.
      */
     public static Object unmarshal(final InputStream input) throws JAXBException {
         ensureNonNull("input", input);
@@ -467,7 +467,7 @@ public final class XML extends Static {
      *
      * @param  input The URL from which to read a XML representation.
      * @return The object unmarshalled from the given input.
-     * @throws JAXBException If an error occurred during the unmarshalling.
+     * @throws JAXBException if an error occurred during the unmarshalling.
      */
     public static Object unmarshal(final URL input) throws JAXBException {
         ensureNonNull("input", input);
@@ -483,7 +483,7 @@ public final class XML extends Static {
      *
      * @param  input The file from which to read a XML representation.
      * @return The object unmarshalled from the given input.
-     * @throws JAXBException If an error occurred during the unmarshalling.
+     * @throws JAXBException if an error occurred during the unmarshalling.
      */
     public static Object unmarshal(final File input) throws JAXBException {
         ensureNonNull("input", input);
@@ -506,7 +506,7 @@ public final class XML extends Static {
      * @param  input The file from which to read a XML representation.
      * @param  properties An optional map of properties to give to the unmarshaller, or {@code null} if none.
      * @return The object unmarshalled from the given input.
-     * @throws JAXBException If a property has an illegal value, or if an error occurred during the unmarshalling.
+     * @throws JAXBException if a property has an illegal value, or if an error occurred during the unmarshalling.
      *
      * @since 0.4
      */

Modified: sis/branches/0.7/ide-project/NetBeans/build.xml
URL: http://svn.apache.org/viewvc/sis/branches/0.7/ide-project/NetBeans/build.xml?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/ide-project/NetBeans/build.xml (original)
+++ sis/branches/0.7/ide-project/NetBeans/build.xml Thu Jun 30 12:25:29 2016
@@ -193,14 +193,6 @@
       </fileset>
     </copy>
     <copy todir="${build.test.classes.dir}">
-      <fileset dir="${project.root}/storage/sis-shapefile/src/test/resources">
-        <include name="**/*.dbf"/>
-        <include name="**/*.prj"/>
-        <include name="**/*.shp"/>
-        <include name="**/*.shx"/>
-      </fileset>
-    </copy>
-    <copy todir="${build.test.classes.dir}">
       <fileset dir="${project.root}/profiles/sis-french-profile/src/test/resources">
         <include name="**/*.xml"/>
       </fileset>

Modified: sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml
URL: http://svn.apache.org/viewvc/sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml (original)
+++ sis/branches/0.7/ide-project/NetBeans/nbproject/build-impl.xml Thu Jun 30 12:25:29 2016
@@ -124,7 +124,6 @@ is divided into following sections:
             <or>
                 <available file="${test.console.dir}"/>
                 <available file="${test.netcdf.dir}"/>
-                <available file="${test.shapefile.dir}"/>
                 <available file="${test.storage.dir}"/>
                 <available file="${test.feature.dir}"/>
                 <available file="${test.referencing.dir}"/>
@@ -139,7 +138,6 @@ is divided into following sections:
                 <available file="${src.webapp.dir}"/>
                 <available file="${src.console.dir}"/>
                 <available file="${src.netcdf.dir}"/>
-                <available file="${src.shapefile.dir}"/>
                 <available file="${src.storage.dir}"/>
                 <available file="${src.feature.dir}"/>
                 <available file="${src.referencing.dir}"/>
@@ -251,7 +249,6 @@ is divided into following sections:
         <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.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>
         <fail unless="src.feature.dir">Must set src.feature.dir</fail>
         <fail unless="src.referencing.dir">Must set src.referencing.dir</fail>
@@ -260,7 +257,6 @@ is divided into following sections:
         <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.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>
         <fail unless="test.feature.dir">Must set test.feature.dir</fail>
         <fail unless="test.referencing.dir">Must set test.referencing.dir</fail>
@@ -287,7 +283,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.netcdf.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 +324,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.netcdf.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 +357,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.netcdf.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>
@@ -454,9 +450,6 @@ is divided into following sections:
                         <fileset dir="${test.netcdf.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
-                        <fileset dir="${test.shapefile.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
                         <fileset dir="${test.storage.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
@@ -510,9 +503,6 @@ is divided into following sections:
                     <fileset dir="${test.netcdf.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
-                    <fileset dir="${test.shapefile.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                        <filename name="@{testincludes}"/>
-                    </fileset>
                     <fileset dir="${test.storage.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
@@ -646,9 +636,6 @@ is divided into following sections:
                         <fileset dir="${test.netcdf.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
-                        <fileset dir="${test.shapefile.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
                         <fileset dir="${test.storage.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
@@ -1031,7 +1018,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.netcdf.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}"/>
@@ -1040,7 +1027,6 @@ is divided into following sections:
             <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.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}"/>
             <fileset dir="${src.feature.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.referencing.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1067,7 +1053,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.netcdf.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. -->
@@ -1345,9 +1331,6 @@ is divided into following sections:
             <fileset dir="${src.netcdf.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
-            <fileset dir="${src.shapefile.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
             <fileset dir="${src.storage.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
@@ -1385,9 +1368,6 @@ is divided into following sections:
             <fileset dir="${src.netcdf.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
-            <fileset dir="${src.shapefile.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
             <fileset dir="${src.storage.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
@@ -1428,14 +1408,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.netcdf.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.netcdf.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.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}"/>
             <fileset dir="${test.feature.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.referencing.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1456,11 +1435,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.netcdf.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.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.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}"/>
             <fileset dir="${test.feature.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.referencing.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>

Modified: sis/branches/0.7/ide-project/NetBeans/nbproject/genfiles.properties
URL: http://svn.apache.org/viewvc/sis/branches/0.7/ide-project/NetBeans/nbproject/genfiles.properties?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/ide-project/NetBeans/nbproject/genfiles.properties [ISO-8859-1] (original)
+++ sis/branches/0.7/ide-project/NetBeans/nbproject/genfiles.properties [ISO-8859-1] Thu Jun 30 12:25:29 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=512f6bd4
+nbproject/build-impl.xml.script.CRC32=522c3e29
 nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48

Modified: sis/branches/0.7/ide-project/NetBeans/nbproject/project.properties
URL: http://svn.apache.org/viewvc/sis/branches/0.7/ide-project/NetBeans/nbproject/project.properties?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/ide-project/NetBeans/nbproject/project.properties [ISO-8859-1] (original)
+++ sis/branches/0.7/ide-project/NetBeans/nbproject/project.properties [ISO-8859-1] Thu Jun 30 12:25:29 2016
@@ -50,8 +50,6 @@ src.console.dir      = ${project.root}/a
 test.console.dir     = ${project.root}/application/sis-console/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
-test.shapefile.dir   = ${project.root}/storage/sis-shapefile/src/test/java
 src.storage.dir      = ${project.root}/storage/sis-storage/src/main/java
 test.storage.dir     = ${project.root}/storage/sis-storage/src/test/java
 src.feature.dir      = ${project.root}/core/sis-feature/src/main/java

Modified: sis/branches/0.7/ide-project/NetBeans/nbproject/project.xml
URL: http://svn.apache.org/viewvc/sis/branches/0.7/ide-project/NetBeans/nbproject/project.xml?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/ide-project/NetBeans/nbproject/project.xml (original)
+++ sis/branches/0.7/ide-project/NetBeans/nbproject/project.xml Thu Jun 30 12:25:29 2016
@@ -27,7 +27,6 @@
                 <root id="src.webapp.dir" name="Web application"/>
                 <root id="src.console.dir" name="Console"/>
                 <root id="src.netcdf.dir" name="NetCDF"/>
-                <root id="src.shapefile.dir" name="Shapefile"/>
                 <root id="src.storage.dir" name="Storage"/>
                 <root id="src.feature.dir" name="Feature"/>
                 <root id="src.referencing.dir" name="Referencing"/>
@@ -38,7 +37,6 @@
             <test-roots>
                 <root id="test.console.dir" name="Test Console"/>
                 <root id="test.netcdf.dir" name="Test NetCDF"/>
-                <root id="test.shapefile.dir" name="Test Shapefile"/>
                 <root id="test.storage.dir" name="Test Storage"/>
                 <root id="test.feature.dir" name="Test Feature"/>
                 <root id="test.referencing.dir" name="Test Referencing"/>

Modified: sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java [UTF-8] (original)
+++ sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -192,8 +192,8 @@ final class MetadataReader {
 
     /**
      * Invoked when a non-fatal exception occurred while reading metadata.
-     * This method will send a record to the registered listeners if any,
-     * or will log the record otherwise.
+     * This method sends a record to the registered listeners if any,
+     * or logs the record otherwise.
      */
     private void warning(final Exception e) {
         decoder.listeners.warning(null, e);

Modified: sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java
URL: http://svn.apache.org/viewvc/sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java?rev=1750789&r1=1750788&r2=1750789&view=diff
==============================================================================
--- sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java [UTF-8] (original)
+++ sis/branches/0.7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java [UTF-8] Thu Jun 30 12:25:29 2016
@@ -56,7 +56,7 @@ public class NetcdfStore extends DataSto
      * needed resource.
      *
      * @param  storage Information about the storage (URL, stream, {@link ucar.nc2.NetcdfFile} instance, <i>etc</i>).
-     * @throws DataStoreException If an error occurred while opening the NetCDF file.
+     * @throws DataStoreException if an error occurred while opening the NetCDF file.
      */
     public NetcdfStore(final StorageConnector storage) throws DataStoreException {
         ArgumentChecks.ensureNonNull("storage", storage);
@@ -73,7 +73,7 @@ public class NetcdfStore extends DataSto
      * data quality, usage constraints and more.
      *
      * @return Information about the dataset.
-     * @throws DataStoreException If an error occurred while reading the data.
+     * @throws DataStoreException if an error occurred while reading the data.
      */
     @Override
     public Metadata getMetadata() throws DataStoreException {
@@ -92,7 +92,7 @@ public class NetcdfStore extends DataSto
     /**
      * Closes this NetCDF store and releases any underlying resources.
      *
-     * @throws DataStoreException If an error occurred while closing the NetCDF file.
+     * @throws DataStoreException if an error occurred while closing the NetCDF file.
      */
     @Override
     public void close() throws DataStoreException {



Mime
View raw message