sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1815605 [1/3] - in /sis/branches/JDK7: ./ application/ application/sis-console/src/main/artifact/ application/sis-console/src/main/java/org/apache/sis/console/ application/sis-openoffice/ application/sis-openoffice/src/main/java/org/apache...
Date Fri, 17 Nov 2017 17:56:37 GMT
Author: desruisseaux
Date: Fri Nov 17 17:56:36 2017
New Revision: 1815605

URL: http://svn.apache.org/viewvc?rev=1815605&view=rev
Log:
Merge from JDK8 branch.

Added:
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/description.txt
      - copied unchanged from r1815604, sis/branches/JDK8/application/sis-openoffice/src/main/unopkg/description.txt
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/license.txt
      - copied unchanged from r1815604, sis/branches/JDK8/application/sis-openoffice/src/main/unopkg/license.txt
    sis/branches/JDK7/core/sis-feature/src/main/java/org/apache/sis/feature/FoliationRepresentation.java
      - copied unchanged from r1815604, sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/FoliationRepresentation.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/storage/DataOptionKey.java
      - copied unchanged from r1815604, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/DataOptionKey.java
Removed:
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/index/GeoHashCoder.java
Modified:
    sis/branches/JDK7/   (props changed)
    sis/branches/JDK7/NOTICE
    sis/branches/JDK7/README
    sis/branches/JDK7/application/pom.xml
    sis/branches/JDK7/application/sis-console/src/main/artifact/README
    sis/branches/JDK7/application/sis-console/src/main/java/org/apache/sis/console/AboutCommand.java
    sis/branches/JDK7/application/sis-openoffice/pom.xml
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/AnglePattern.java
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CacheKey.java
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CalcAddins.java
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/ReferencingFunctions.java
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/Registration.java
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.idl
    sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.java
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/Referencing.xcu
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/build-instruction.html
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/description.xml
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/org/apache/sis/openoffice/XReferencing.class
    sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/sis.rdb
    sis/branches/JDK7/application/sis-openoffice/src/test/java/org/apache/sis/openoffice/ReferencingFunctionsTest.java
    sis/branches/JDK7/core/sis-build-helper/src/main/ant/prepare-release.xml
    sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/Assembler.java
    sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/package-info.java
    sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java
    sis/branches/JDK7/core/sis-build-helper/src/main/resources/org/apache/sis/internal/book/SIS.lst
    sis/branches/JDK7/core/sis-feature/src/main/java/org/apache/sis/feature/builder/OperationWrapper.java
    sis/branches/JDK7/core/sis-feature/src/main/java/org/apache/sis/feature/builder/PropertyTypeBuilder.java
    sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java
    sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
    sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
    sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
    sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
    sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java
    sis/branches/JDK7/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ZonedTransverseMercator.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGFactory.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/CoordinateSystemTransform.java
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
    sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java
    sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactoryTest.java
    sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilderTest.java
    sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/test/integration/ConsistencyTest.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/DataDirectory.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/math/Vector.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/setup/package-info.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/collection/Cache.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/Logging.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/logging/package-info.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/TestSuite.java
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/test/package-info.java
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/logging/WarningListenersTest.java
    sis/branches/JDK7/storage/sis-gdal/src/main/resources/native/linux/libproj-binding.so   (props changed)
    sis/branches/JDK7/storage/sis-netcdf/pom.xml
    sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java
    sis/branches/JDK7/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/DocumentedStoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Resources.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Resources.properties
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Resources_fr.properties
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/package-info.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/FolderStoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/package-info.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreProvider.java
    sis/branches/JDK7/storage/sis-storage/src/main/java/org/apache/sis/storage/package-info.java
    sis/branches/JDK7/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java

Propchange: sis/branches/JDK7/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Nov 17 17:56:36 2017
@@ -1,5 +1,5 @@
 /sis/branches/Android:1430670-1480699
 /sis/branches/JDK6:1394913-1508480
-/sis/branches/JDK8:1584960-1813746
+/sis/branches/JDK8:1584960-1815604
 /sis/branches/JDK9:1773327-1803064
 /sis/trunk:1394364-1508466,1519089-1519674

Modified: sis/branches/JDK7/NOTICE
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/NOTICE?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/NOTICE (original)
+++ sis/branches/JDK7/NOTICE Fri Nov 17 17:56:36 2017
@@ -1,5 +1,5 @@
 Apache Spatial Information System (SIS)
-Copyright 2010-2015 The Apache Software Foundation
+Copyright 2010-2017 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
@@ -8,11 +8,28 @@ The Javadoc contains documentation from
 (OGC®) specifications (http://www.opengeospatial.org/standards/), also
 known as OpenGIS.
 
-The matrix package contains code adapted from JAMA Java Matrix Package
-(http://math.nist.gov/javanumerics/jama/)
+Apache SIS depends on GeoAPI published by OGC under BSD-style license.
+http://www.opengeospatial.org/ogc/software
 
-Some modules use the Esri Geometry API developed by ESRI
-(http://github.com/Esri/geometry-api-java/)
+Apache SIS depends on JSR-363 (API only) published under BSD license.
+https://www.jcp.org/aboutJava/communityprocess/final/jsr363/index.html
+
+The 'org.apache.sis.referencing.operation.matrix' package contains code
+adapted from JAMA Java Matrix Package in public domain.
+http://math.nist.gov/javanumerics/jama/
+
+The 'sis-feature' module can optionally use the Esri Geometry API
+developed by ESRI under Apache license 2.
+http://github.com/Esri/geometry-api-java/
+
+The 'sis-netcdf' module can optionally use the UCAR netCDF library
+developed by Unidata under MIT-style license.
+http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/
 
 The test suite uses software developed by the JUnit community
-(http://github.com/junit-team/junit.contrib/)
+under Eclipse public license version 2.
+http://junit.org/junit4/
+
+The 'non-free' group of modules contain geodetic data collected
+by the International Association of Oil and Gas Producers.
+http://www.epsg.org/TermsOfUse

Modified: sis/branches/JDK7/README
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/README?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/README (original)
+++ sis/branches/JDK7/README Fri Nov 17 17:56:36 2017
@@ -2,20 +2,17 @@
 Welcome to Apache SIS <http://sis.apache.org>
 =============================================
 
-SIS is a free software, Java language library for developing geospatial
-applications. The library can be used for desktop or server applications.
-SIS is an implementation of GeoAPI 3.0 interfaces. SIS provides data structures
-for geographic data and associated metadata along with methods to manipulate
-those data structures. The SIS metadata module forms the base of the library
-and enables the creation of metadata objects which comply with the ISO 19115
-metadata model and which can be read from or written to ISO 19139 compliant
-XML documents. The SIS referencing module will enable the construction of
-geodetic data structures for geospatial referencing based on the ISO 19111
-model such as axis, projection and coordinate reference system definitions,
-along with the associated operations which enable the mathematical conversion
-of coordinates between different systems of reference. The SIS storage modules
-will provide a common approach to the reading and writing of grid coverages
-applicable to simple imagery as to many dimensional data structures.
+SIS provides data structures for geographic data and associated metadata
+along with methods to manipulate those data structures. The SIS metadata
+module forms the base of the library and enables the creation of metadata
+objects which comply with the model of ISO 19115 series of standards.
+The SIS referencing module enable the construction of geodetic data structures
+for geospatial referencing such as axis, projection and coordinate reference
+system definitions, along with the associated operations which enable the
+mathematical conversion of coordinates between different systems of reference.
+The SIS storage modules will provide a common approach to the reading and
+writing of grid coverages applicable to simple imagery as to many dimensional
+data structures.
 
 SIS is a project of the Apache Software Foundation <http://www.apache.org/>.
 
@@ -29,7 +26,7 @@ Getting Started
 SIS requires Java 7 and uses the Maven 3 <http://maven.apache.org/>
 build system. To build SIS, use the following command in this directory:
 
-    mvn clean install
+    mvn install
 
 Information for running a command-line tool can be found on the web site:
 (<http://sis.apache.org/command-line.html>)
@@ -55,9 +52,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY
 See the License for the specific language governing permissions and
 limitations under the License.
 
-Apache SIS includes a number of subcomponents with separate copyright
-notices and license terms. Your use of these subcomponents is subject to
-the terms and conditions of the licenses listed in the LICENSE file.
+Some Apache SIS subcomponents have dependencies subject to different
+license terms. All those dependencies except GeoAPI and JSR-363 are
+optional. Your use of those dependencies is subject to the terms and
+conditions of the licenses listed in the NOTICE file.
 
 
 Mailing Lists

Modified: sis/branches/JDK7/application/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/pom.xml?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/pom.xml (original)
+++ sis/branches/JDK7/application/pom.xml Fri Nov 17 17:56:36 2017
@@ -117,7 +117,16 @@
   <modules>
     <module>sis-console</module>
     <module>sis-webapp</module>
-<!--<module>sis-openoffice</module>     Omitted for now because of the numerous warnings emitted by Pack200. -->
   </modules>
 
+  <!-- Following module is omitted for now (unless doing a release)
+       because of the numerous warnings emitted by Pack200. -->
+  <profiles>
+    <profile>
+      <id>apache-release</id>
+      <modules>
+        <module>sis-openoffice</module>
+      </modules>
+    </profile>
+  </profiles>
 </project>

Modified: sis/branches/JDK7/application/sis-console/src/main/artifact/README
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-console/src/main/artifact/README?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-console/src/main/artifact/README [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-console/src/main/artifact/README [UTF-8] Fri Nov 17 17:56:36 2017
@@ -17,8 +17,8 @@ SIS is based on Java 7 and provided as a
 
 Unix
 ----
-1) Unzip 'apache-sis-0.8-bin.zip' in any directory.
-2) Add the 'apache-sis-0.8/bin' directory to the path.
+1) Unzip 'apache-sis-1.0-bin.zip' in any directory.
+2) Add the 'apache-sis-1.0/bin' directory to the path.
 3) Invoke 'sis' on the command line.
 
 Windows
@@ -26,8 +26,8 @@ Windows
 There is not yet 'sis.bat' file for Windows.
 The following steps need to be done manually:
 
-1) Unzip 'apache-sis-0.8-bin.zip' in any directory.
-2) In the 'apache-sis-0.8/lib' directory, execute:
+1) Unzip 'apache-sis-1.0-bin.zip' in any directory.
+2) In the 'apache-sis-1.0/lib' directory, execute:
 
      unpack200 --remove-pack-file sis.pack.gz sis.jar
 

Modified: sis/branches/JDK7/application/sis-console/src/main/java/org/apache/sis/console/AboutCommand.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-console/src/main/java/org/apache/sis/console/AboutCommand.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-console/src/main/java/org/apache/sis/console/AboutCommand.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-console/src/main/java/org/apache/sis/console/AboutCommand.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -39,6 +39,7 @@ import org.apache.sis.util.collection.Ta
 import org.apache.sis.internal.system.Loggers;
 import org.apache.sis.internal.system.Supervisor;
 import org.apache.sis.internal.system.SupervisorMBean;
+import org.apache.sis.internal.system.DataDirectory;
 import org.apache.sis.internal.util.StandardDateFormat;
 import org.apache.sis.internal.util.X364;
 
@@ -84,6 +85,7 @@ final class AboutCommand extends Command
      */
     @Override
     public int run() throws Exception {
+        DataDirectory.quiet();
         /*
          * Check the number of arguments, which can be 0 or 1. If present,
          * the argument is the name and port number of a remote machine.

Modified: sis/branches/JDK7/application/sis-openoffice/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/pom.xml?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/pom.xml (original)
+++ sis/branches/JDK7/application/sis-openoffice/pom.xml Fri Nov 17 17:56:36 2017
@@ -133,6 +133,21 @@
     </dependency>
   </dependencies>
 
+  <!-- Because the EPSG database is not free, require the user to ask it explicitely. -->
+  <profiles>
+    <profile>
+      <id>non-free</id>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.sis.non-free</groupId>
+          <artifactId>sis-embedded-data</artifactId>
+          <version>0.8-SNAPSHOT</version>
+          <scope>runtime</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+
 
   <!-- ===========================================================
            Build Configuration

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/AnglePattern.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/AnglePattern.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/AnglePattern.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/AnglePattern.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -65,7 +65,7 @@ final class AnglePattern {
     /**
      * Converts the given argument to a pattern valid for {@link AngleFormat}.
      *
-     * @param  patternOrVoid the optional pattern argument from the OpenOffice formula.
+     * @param  patternOrVoid  the optional pattern argument from the OpenOffice formula.
      * @throws IllegalArgumentException if {@code patternOrVoid} is not a string value or void.
      */
     AnglePattern(final Object patternOrVoid) throws IllegalArgumentException {
@@ -90,7 +90,7 @@ final class AnglePattern {
      * Returns the angle format to use for this pattern. The formatter is cached on the assumption
      * that the same pattern will be used for formatting more than once.
      *
-     * @param  locale the locale.
+     * @param  locale  the locale.
      * @return the angle format for this pattern and the given locale.
      */
     private AngleFormat getAngleFormat(final Locale locale) {

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CacheKey.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CacheKey.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CacheKey.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CacheKey.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -17,10 +17,8 @@
 package org.apache.sis.openoffice;
 
 import java.util.Arrays;
-import org.apache.sis.util.collection.Cache;
-
-// Branch-dependent imports
 import java.util.Objects;
+import org.apache.sis.util.collection.Cache;
 
 
 /**

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CalcAddins.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CalcAddins.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CalcAddins.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/CalcAddins.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -30,6 +30,7 @@ import com.sun.star.lib.uno.helper.WeakB
 import org.apache.sis.util.Classes;
 import org.apache.sis.util.Exceptions;
 import org.apache.sis.util.logging.Logging;
+import org.apache.sis.util.resources.Vocabulary;
 
 
 /**
@@ -148,10 +149,9 @@ public abstract class CalcAddins extends
      * The string to returns when a formula does not have any value to return.
      *
      * @return the string with a message for missing values.
-     * @todo localize.
      */
-    static String noResultString() {
-        return "(none)";
+    final String noResultString() {
+        return Vocabulary.getResources(getJavaLocale()).getString(Vocabulary.Keys.Unknown);
     }
 
     /**

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/ReferencingFunctions.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/ReferencingFunctions.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/ReferencingFunctions.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/ReferencingFunctions.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -183,6 +183,89 @@ public class ReferencingFunctions extend
     }
 
     /**
+     * Returns the identified object scope from an authority code.
+     *
+     * @param  codeOrPath  the code allocated by an authority, or the path to a file.
+     * @return the object scope.
+     */
+    @Override
+    public String getScope(final String codeOrPath) {
+        final Object value;
+        try {
+            final IdentifiedObject object = getIdentifiedObject(codeOrPath, null);
+            value = IdentifiedObjects.getProperties(object).get(ReferenceSystem.SCOPE_KEY);
+        } catch (Exception exception) {
+            return getLocalizedMessage(exception);
+        }
+        return (value instanceof InternationalString)
+               ? ((InternationalString) value).toString(getJavaLocale()) : noResultString();
+    }
+
+    /**
+     * Returns the domain of validity from an authority code.
+     *
+     * @param  codeOrPath  the code allocated by an authority, or the path to a file.
+     * @return the domain of validity.
+     */
+    @Override
+    public String getDomainOfValidity(final String codeOrPath) {
+        final Object domain;
+        try {
+            final IdentifiedObject object = getIdentifiedObject(codeOrPath, null);
+            domain = IdentifiedObjects.getProperties(object).get(ReferenceSystem.DOMAIN_OF_VALIDITY_KEY);
+        } catch (Exception exception) {
+            return getLocalizedMessage(exception);
+        }
+        if (domain instanceof Extent) {
+            final InternationalString description = ((Extent) domain).getDescription();
+            if (description != null) {
+                return description.toString(getJavaLocale());
+            }
+        }
+        return noResultString();
+    }
+
+    /**
+     * Returns the domain of validity as a geographic bounding box for an identified object.
+     * This method returns a 2×2 matrix:
+     * the first row contains the latitude and longitude of upper left corner,
+     * and the second row contains the latitude and longitude of bottom right corner.
+     * Units are degrees.
+     *
+     * @param  codeOrPath  the code allocated by an authority, or the path to a file.
+     * @return the object bounding box.
+     */
+    @Override
+    public double[][] getGeographicArea(final String codeOrPath) {
+        final CacheKey<GeographicBoundingBox> key = new CacheKey<>(GeographicBoundingBox.class, codeOrPath, null, null);
+        GeographicBoundingBox area = key.peek();
+        if (area == null) {
+            final Cache.Handler<GeographicBoundingBox> handler = key.lock();
+            try {
+                area = handler.peek();
+                if (area == null) try {
+                    final IdentifiedObject object = getIdentifiedObject(codeOrPath, null);
+                    final Object domain = IdentifiedObjects.getProperties(object).get(ReferenceSystem.DOMAIN_OF_VALIDITY_KEY);
+                    if (domain instanceof Extent) {
+                        area = Extents.getGeographicBoundingBox((Extent) domain);
+                    }
+                } catch (Exception exception) {
+                    reportException("getGeographicArea", exception);
+                }
+            } finally {
+                handler.putAndUnlock(area);
+            }
+        }
+        if (area == null) {
+            return new double[][] {};
+        }
+        return new double[][] {
+            new double[] {area.getNorthBoundLatitude(), area.getWestBoundLongitude()},
+            new double[] {area.getSouthBoundLatitude(), area.getEastBoundLongitude()}
+        };
+    }
+
+    /**
      * Returns the axis name and units for the specified dimension in a coordinate reference system or coordinate system.
      * This method returns a short axis name as used in Well Known Text (WKT) format, for example <cite>"Latitude"</cite>
      * instead of <cite>"Geodetic latitude"</cite>.
@@ -245,46 +328,6 @@ public class ReferencingFunctions extend
     }
 
     /**
-     * Returns the domain of validity as a geographic bounding box for an identified object.
-     * This method returns a 2×2 matrix:
-     * the first row contains the latitude and longitude of upper left corner,
-     * and the second row contains the latitude and longitude of bottom right corner.
-     * Units are degrees.
-     *
-     * @param  codeOrPath  the code allocated by an authority, or the path to a file.
-     * @return the object bounding box.
-     */
-    @Override
-    public double[][] getGeographicArea(final String codeOrPath) {
-        final CacheKey<GeographicBoundingBox> key = new CacheKey<>(GeographicBoundingBox.class, codeOrPath, null, null);
-        GeographicBoundingBox area = key.peek();
-        if (area == null) {
-            final Cache.Handler<GeographicBoundingBox> handler = key.lock();
-            try {
-                area = handler.peek();
-                if (area == null) try {
-                    final IdentifiedObject object = getIdentifiedObject(codeOrPath, null);
-                    final Object domain = IdentifiedObjects.getProperties(object).get(ReferenceSystem.DOMAIN_OF_VALIDITY_KEY);
-                    if (domain instanceof Extent) {
-                        area = Extents.getGeographicBoundingBox((Extent) domain);
-                    }
-                } catch (Exception exception) {
-                    reportException("getGeographicArea", exception);
-                }
-            } finally {
-                handler.putAndUnlock(area);
-            }
-        }
-        if (area == null) {
-            return new double[][] {};
-        }
-        return new double[][] {
-            new double[] {area.getNorthBoundLatitude(), area.getWestBoundLongitude()},
-            new double[] {area.getSouthBoundLatitude(), area.getEastBoundLongitude()}
-        };
-    }
-
-    /**
      * Gets the {@code IdentifiedObject} for the given code as a {@code CoordinateReferenceSystem}.
      *
      * @param  codeOrPath  the code allocated by an authority, or the path to a file.

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/Registration.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/Registration.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/Registration.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/Registration.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -62,7 +62,12 @@ public final class Registration implemen
     static final String LOGGER = "org.apache.sis.openoffice";
 
     /**
-     * Whether to force EPSG database startup early.
+     * Whether to force EPSG database startup early, for example in order to force database creation from SQL scripts.
+     * The SQL scripts may be used if this module depends on {@code sis-epsg} module, or if {@code SIS_DATA} directory
+     * contains a {@code "Databases/ExternalSources"} sub-directory. When such database creation is necessary, it may
+     * be less surprising for users to perform this lengthly task at add-in installation time instead than when the
+     * formulas are first used. However if the add-in depend on {@code sis-embedded-data} instead, then early startup
+     * is less useful since there is no database to create.
      */
     private static final boolean FORCE_EPSG_STARTUP = false;
 
@@ -182,8 +187,8 @@ public final class Registration implemen
     /**
      * Filters a directory content in order to retain only the {@code "*.pack"} files.
      *
-     * @param directory the add-in installation directory.
-     * @param name the name of a file in the given directory.
+     * @param directory  the add-in installation directory.
+     * @param name       the name of a file in the given directory.
      */
     @Override
     public boolean accept(final File directory, final String name) {
@@ -194,7 +199,7 @@ public final class Registration implemen
      * Returns a factory for creating the service.
      * This method is called by the {@code com.sun.star.comp.loader.JavaLoader}; do not rename!
      *
-     * @param   implementation the name of the implementation for which a service is desired.
+     * @param   implementation  the name of the implementation for which a service is desired.
      * @return  a factory for creating the component.
      */
     public static XSingleComponentFactory __getComponentFactory(final String implementation) {
@@ -214,7 +219,7 @@ public final class Registration implemen
      * Writes the service information into the given registry key.
      * This method is called by the {@code com.sun.star.comp.loader.JavaLoader}; do not rename!
      *
-     * @param  registry the registry key.
+     * @param  registry  the registry key.
      * @return {@code true} if the operation succeeded.
      */
     public static boolean __writeRegistryServiceInfo(final XRegistryKey registry) {

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.idl
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.idl?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.idl [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.idl [UTF-8] Fri Nov 17 17:56:36 2017
@@ -44,12 +44,16 @@ module org {
             [in] string codeOrPath
           );
 
-          /// Returns the axis name for the specified dimension in an identified object.
-          string getAxis(
+          /// Returns the scope of an identified object.
+          string getScope(
             /// The authority code (e.g. "EPSG:4326").
-            [in] string codeOrPath,
-            /// The dimension (1, 2, ...).
-            [in] long dimension
+            [in] string codeOrPath
+          );
+
+          /// Returns the domain of validity as country or region names for an identified object.
+          string getDomainOfValidity(
+            /// The authority code (e.g. "EPSG:4326").
+            [in] string codeOrPath
           );
 
           /// Returns the domain of validity as a geographic bounding box for an identified object.
@@ -68,6 +72,14 @@ module org {
             [in] any areaOfInterest
           ) raises (com::sun::star::lang::IllegalArgumentException);
 
+          /// Returns the axis name for the specified dimension in an identified object.
+          string getAxis(
+            /// The authority code (e.g. "EPSG:4326").
+            [in] string codeOrPath,
+            /// The dimension (1, 2, ...).
+            [in] long dimension
+          );
+
           /// Transforms a list of coordinates from source CRS to target CRS.
           sequence< sequence< double > > transformPoints(
             /// Authority code of the source coordinate reference system.

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/java/org/apache/sis/openoffice/XReferencing.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -46,15 +46,20 @@ public interface XReferencing extends XI
     String getName(String codeOrPath);
 
     /**
-     * Returns the axis name and units for the specified dimension in a coordinate reference system or coordinate system.
-     * This method returns a short axis name as used in Well Known Text (WKT) format, for example <cite>"Latitude"</cite>
-     * instead of <cite>"Geodetic latitude"</cite>.
+     * Returns the scope of an identified object.
      *
      * @param  codeOrPath  the code allocated by an authority, or the path to a file.
-     * @param  dimension   the dimension (1, 2, …).
-     * @return the name of the requested axis.
+     * @return the object scope.
      */
-    String getAxis(String codeOrPath, int dimension);
+    String getScope(String codeOrPath);
+
+    /**
+     * Returns the domain of validity as country or region names for an identified object.
+     *
+     * @param  codeOrPath  the code allocated by an authority, or the path to a file.
+     * @return the domain of validity.
+     */
+    String getDomainOfValidity(String codeOrPath);
 
     /**
      * Returns the domain of validity as a geographic bounding box for an identified object.
@@ -80,6 +85,17 @@ public interface XReferencing extends XI
     double getAccuracy(String sourceCRS, String targetCRS, Object areaOfInterest) throws IllegalArgumentException;
 
     /**
+     * Returns the axis name and units for the specified dimension in a coordinate reference system or coordinate system.
+     * This method returns a short axis name as used in Well Known Text (WKT) format, for example <cite>"Latitude"</cite>
+     * instead of <cite>"Geodetic latitude"</cite>.
+     *
+     * @param  codeOrPath  the code allocated by an authority, or the path to a file.
+     * @param  dimension   the dimension (1, 2, …).
+     * @return the name of the requested axis.
+     */
+    String getAxis(String codeOrPath, int dimension);
+
+    /**
      * Transforms coordinates from the specified source CRS to the specified target CRS.
      *
      * @param  sourceCRS  the authority code for the source coordinate reference system.

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/Referencing.xcu
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/Referencing.xcu?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/Referencing.xcu (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/Referencing.xcu Fri Nov 17 17:56:36 2017
@@ -51,14 +51,14 @@
           </node>
         </node>
 
-        <node oor:name="getAxis" oor:op="replace">
+        <node oor:name="getScope" oor:op="replace">
           <prop oor:name="DisplayName">
-            <value xml:lang="en">CRS.AXIS</value>
-            <value xml:lang="fr">AXE.SRS</value>
+            <value xml:lang="en">CRS.USAGE</value>
+            <value xml:lang="fr">USAGE.SRS</value>
           </prop>
           <prop oor:name="Description">
-            <value xml:lang="en">Returns the axis name for the specified dimension in a Coordinate Reference System (CRS) identified by the given code.</value>
-            <value xml:lang="fr">Retourne le nom de l’axe à la dimension spécifiée dans un Système de Références Spatiales (SRS) identifié par le code donné.</value>
+            <value xml:lang="en">Returns the usage scope of an object identified by the given code. The object is usually, but not necessarily, a Coordinate Reference System (CRS).</value>
+            <value xml:lang="fr">Retourne le domaine d’utilisation d’un objet identifié par le code donné. L’objet est habituellement, mais pas obligatoirement, un Système de Références Spatiales (SRS).</value>
           </prop>
           <prop oor:name="Category">
             <value>Add-In</value>
@@ -74,14 +74,30 @@
                 <value xml:lang="fr">Le code alloué par une autorité ou le chemin vers un fichier.</value>
               </prop>
             </node>
-            <node oor:name="dimension" oor:op="replace">
+          </node>
+        </node>
+
+        <node oor:name="getDomainOfValidity" oor:op="replace">
+          <prop oor:name="DisplayName">
+            <value xml:lang="en">REGION.NAME</value>
+            <value xml:lang="fr">NOM.REGION</value>
+          </prop>
+          <prop oor:name="Description">
+            <value xml:lang="en">Returns the domain of validity as country or region name(s) for an object identified by the given code.</value>
+            <value xml:lang="fr">Retourne sous forme de nom(s) de pays ou de région(s) le domaine de validité d’un objet identifié par le code donné.</value>
+          </prop>
+          <prop oor:name="Category">
+            <value>Add-In</value>
+          </prop>
+          <node oor:name="Parameters">
+            <node oor:name="codeOrPath" oor:op="replace">
               <prop oor:name="DisplayName">
-                <value xml:lang="en">dimension</value>
-                <value xml:lang="fr">dimension</value>
+                <value xml:lang="en">identifier</value>
+                <value xml:lang="fr">identifiant</value>
               </prop>
               <prop oor:name="Description">
-                <value xml:lang="en">The dimension (1, 2, …) of axis to describe.</value>
-                <value xml:lang="fr">La dimension (1, 2, …) de l’axe à décrire.</value>
+                <value xml:lang="en">The code allocated by authority or the path to a file.</value>
+                <value xml:lang="fr">Le code alloué par une autorité ou le chemin vers un fichier.</value>
               </prop>
             </node>
           </node>
@@ -157,6 +173,42 @@
               </prop>
             </node>
           </node>
+        </node>
+
+        <node oor:name="getAxis" oor:op="replace">
+          <prop oor:name="DisplayName">
+            <value xml:lang="en">CRS.AXIS</value>
+            <value xml:lang="fr">AXE.SRS</value>
+          </prop>
+          <prop oor:name="Description">
+            <value xml:lang="en">Returns the axis name for the specified dimension in a Coordinate Reference System (CRS) identified by the given code.</value>
+            <value xml:lang="fr">Retourne le nom de l’axe à la dimension spécifiée dans un Système de Références Spatiales (SRS) identifié par le code donné.</value>
+          </prop>
+          <prop oor:name="Category">
+            <value>Add-In</value>
+          </prop>
+          <node oor:name="Parameters">
+            <node oor:name="codeOrPath" oor:op="replace">
+              <prop oor:name="DisplayName">
+                <value xml:lang="en">identifier</value>
+                <value xml:lang="fr">identifiant</value>
+              </prop>
+              <prop oor:name="Description">
+                <value xml:lang="en">The code allocated by authority or the path to a file.</value>
+                <value xml:lang="fr">Le code alloué par une autorité ou le chemin vers un fichier.</value>
+              </prop>
+            </node>
+            <node oor:name="dimension" oor:op="replace">
+              <prop oor:name="DisplayName">
+                <value xml:lang="en">dimension</value>
+                <value xml:lang="fr">dimension</value>
+              </prop>
+              <prop oor:name="Description">
+                <value xml:lang="en">The dimension (1, 2, …) of axis to describe.</value>
+                <value xml:lang="fr">La dimension (1, 2, …) de l’axe à décrire.</value>
+              </prop>
+            </node>
+          </node>
         </node>
 
         <node oor:name="transformPoints" oor:op="replace">

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/build-instruction.html
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/build-instruction.html?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/build-instruction.html [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/build-instruction.html [UTF-8] Fri Nov 17 17:56:36 2017
@@ -102,7 +102,7 @@ mvn install</pre></blockquote>
 
 <h2>Test in Apache OpenOffice:</h2>
 <blockquote><pre>cd target
-unopkg add apache-sis-0.8-SNAPSHOT.oxt --log-file log.txt
+unopkg add apache-sis-1.0-SNAPSHOT.oxt --log-file log.txt
 scalc -Xdebug -env:RTL_LOGFILE=log.txt</pre></blockquote>
 
   </body>

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/description.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/description.xml?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/description.xml (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/description.xml Fri Nov 17 17:56:36 2017
@@ -28,7 +28,7 @@
   <platform   value="all"/>
 
   <publisher>
-    <name lang="en" xlink:href="http://sis.apache.org/openoffice/">Apache SIS</name>
+    <name lang="en" xlink:href="http://sis.apache.org/openoffice/index.html">Apache SIS</name>
   </publisher>
 
   <display-name>
@@ -40,14 +40,26 @@
     <default xlink:href="sis.png" />
   </icon>
 
+  <extension-description>
+    <src lang="en" xlink:href="description.txt"/>
+  </extension-description>
+
+  <registration>
+    <simple-license accept-by="admin" suppress-on-update="true" suppress-if-required="true">
+      <license-text lang="en" xlink:href="license.txt"/>
+    </simple-license>
+  </registration>
+
+  <dependencies>
+    <OpenOffice.org-minimal-version value="3.3" d:name="OpenOffice.org 3.3"/>
+  </dependencies>
+
   <release-notes>
-    <src lang="en" xlink:href="http://sis.apache.org/openoffice/"/>
+    <src lang="en" xlink:href="http://sis.apache.org/openoffice/index.html"/>
   </release-notes>
 
-<!--
   <update-information>
     <src xlink:href="http://sis.apache.org/openoffice/update.xml"/>
   </update-information>
--->
 
 </description>

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/org/apache/sis/openoffice/XReferencing.class
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/org/apache/sis/openoffice/XReferencing.class?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
Binary files - no diff available.

Modified: sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/sis.rdb
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/main/unopkg/sis.rdb?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
Binary files - no diff available.

Modified: sis/branches/JDK7/application/sis-openoffice/src/test/java/org/apache/sis/openoffice/ReferencingFunctionsTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-openoffice/src/test/java/org/apache/sis/openoffice/ReferencingFunctionsTest.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/application/sis-openoffice/src/test/java/org/apache/sis/openoffice/ReferencingFunctionsTest.java [UTF-8] (original)
+++ sis/branches/JDK7/application/sis-openoffice/src/test/java/org/apache/sis/openoffice/ReferencingFunctionsTest.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -84,6 +84,15 @@ public final strictfp class ReferencingF
     }
 
     /**
+     * Tests {@link ReferencingFunctions#getScope(String)}.
+     */
+    @Test
+    public void testGetScope() {
+        final String scope = instance.getScope("EPSG:4326");
+        assertTrue(scope, scope.contains("Horizontal component of 3D system"));
+    }
+
+    /**
      * Tests {@link ReferencingFunctions#getAxis(String, int)}.
      */
     @Test
@@ -96,13 +105,22 @@ public final strictfp class ReferencingF
     }
 
     /**
+     * Tests {@link ReferencingFunctions#getDomainOfValidity(String)}.
+     */
+    @Test
+    public void testGetDomainOfValidity() {
+        final String domain = instance.getDomainOfValidity("EPSG:4326");
+        assertTrue(domain, domain.contains("World"));
+    }
+
+    /**
      * Tests {@link ReferencingFunctions#getGeographicArea(String)}.
      */
     @Test
     public void testGetGeographicArea() {
         final double[][] bbox = instance.getGeographicArea("EPSG:32620");     // UTM zone 20
-        assertEquals(2, bbox.length);
-        assumeFalse(Double.isNaN(bbox[0][0]));    // NaN if EPSG dataset is not installed.
+        assumeFalse(bbox.length == 0);            // Empty if EPSG dataset is not installed.
+        assertEquals("bbox.length", 2, bbox.length);
         assertArrayEquals("Upper left corner",  new double[] {84, -66}, bbox[0], STRICT);
         assertArrayEquals("Lower right corner", new double[] { 0, -60}, bbox[1], STRICT);
     }

Modified: sis/branches/JDK7/core/sis-build-helper/src/main/ant/prepare-release.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/ant/prepare-release.xml?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/ant/prepare-release.xml (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/ant/prepare-release.xml Fri Nov 17 17:56:36 2017
@@ -29,12 +29,6 @@
   <!-- Invoked after a branch has been created from the trunk. -->
   <target name="branch">
 
-    <!-- Ensure that the "sis-build-helper" plugin used by the build is the released version. -->
-    <replaceregexp file = "${user.dir}/pom.xml"
-                  match = "&lt;sis\.plugin\.version&gt;.+&lt;/sis\.plugin\.version&gt;"
-                replace = "&lt;sis.plugin.version&gt;${branch.version}-SNAPSHOT&lt;/sis.plugin.version&gt;"/>
-                <!-- The -SNAPSHOT part will be removed later, at tag creation. -->
-
     <!-- Replace the version number in Java code. -->
     <replaceregexp file = "${user.dir}/core/sis-utility/src/main/java/org/apache/sis/util/Version.java"
                   match = "MINOR_VERSION\s*\+\s*&quot;-SNAPSHOT&quot;"
@@ -69,8 +63,6 @@
       <include name="**/pom.xml"/>
       <replacefilter token="&lt;version&gt;${branch.version}-SNAPSHOT&lt;/version&gt;"
                      value="&lt;version&gt;${sis.version}&lt;/version&gt;"/>
-      <replacefilter token="&lt;sis.plugin.version&gt;${branch.version}-SNAPSHOT&lt;/sis.plugin.version&gt;"
-                     value="&lt;sis.plugin.version&gt;${sis.version}&lt;/sis.plugin.version&gt;"/>
     </replace>
   </target>
 </project>

Modified: sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/Assembler.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/Assembler.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/Assembler.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/Assembler.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -63,6 +63,8 @@ import static org.apache.sis.internal.bo
  *   <li>Generate below {@code <h1>} elements the navigation bar with links to the previous and next chapters.</li>
  * </ul>
  *
+ * See package javadoc for usage example.
+ *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.8
  * @since   0.7
@@ -595,6 +597,7 @@ public final class Assembler {
      * Generates the {@code "content/book/en|fr/developer-guide.html"} file from {@code "book/en|fr/index.html"}.
      * The only argument expected by this method is the language: {@code "en"} or {@code "fr"}.
      * The current directory shall be the parent directory of {@code "book"} and {@code "content"}.
+     * See package javadoc for usage example.
      *
      * @param  args  command-line arguments. Should contain exactly on value, which is the language.
      * @throws Exception if an I/O error, a XML parsing error or other kinds of error occurred.

Modified: sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/package-info.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/package-info.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/book/package-info.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -21,7 +21,22 @@
  * {@code http://svn.apache.org/repos/asf/sis/site/trunk/content/book/} directory.
  *
  * <p>The main class in this package is {@link org.apache.sis.internal.book.Assembler}.
- * Other classes are helper classes that should be ignored.</p>
+ * Other classes are helper classes that should be ignored. Assuming the following directory layout:</p>
+ *
+ * <pre>&lt;current directory&gt;
+ * ├─ trunk
+ * └─ site
+ *     ├─ book
+ *     └─ content
+ * </pre>
+ *
+ * Then the command can be used as below on Unix systems:
+ *
+ * <pre>cd site
+ * java -classpath ../trunk/core/sis-build-helper/target/classes org.apache.sis.internal.book.Assembler en
+ * </pre>
+ *
+ * Replace {@code en} by {@code fr} for generating the French version.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.8

Modified: sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -133,6 +133,7 @@ public final class UnoPkg extends Abstra
                name.endsWith(".rdb") || name.endsWith(".RDB") ||
                name.endsWith(".xml") || name.endsWith(".XML") ||
                name.endsWith(".xcu") || name.endsWith(".XCU") ||
+               name.endsWith(".txt") || name.endsWith(".TXT") ||
                name.endsWith(".png") || name.endsWith(".PNG");
     }
 

Modified: sis/branches/JDK7/core/sis-build-helper/src/main/resources/org/apache/sis/internal/book/SIS.lst
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/resources/org/apache/sis/internal/book/SIS.lst?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/resources/org/apache/sis/internal/book/SIS.lst [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/resources/org/apache/sis/internal/book/SIS.lst [UTF-8] Fri Nov 17 17:56:36 2017
@@ -1,5 +1,6 @@
 AbstractMathTransform
 AngleFormat
+DataStore
 DefaultEllipsoid
 DefaultGeodeticDatum
 DefaultMetadata

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

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

Modified: sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -267,7 +267,7 @@ public abstract class Initializer {
                 final LogRecord record = Messages.getResources(null).getLogRecord(
                         Level.CONFIG, Messages.Keys.JNDINotSpecified_1, JNDI);
                 record.setLoggerName(Loggers.SQL);
-                Logging.log(Initializer.class, "getDataSource", record);
+                Logging.log(null, null, record);                // Let Logging.log(…) infers the public caller.
             }
             /*
              * At this point we determined that there is no JNDI context or no object binded to "jdbc/SpatialMetadata".

Modified: sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/MetadataStandard.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -841,23 +841,6 @@ public class MetadataStandard implements
     }
 
     /**
-     * @deprecated Replaced by {@link #asValueMap(Object, Class, KeyNamePolicy, ValueExistencePolicy)}
-     * (i.e. a {@code Class} argument has been inserted after the metadata value).
-     *
-     * @param  metadata     the metadata object to view as a map.
-     * @param  keyPolicy    determines the string representation of map keys.
-     * @param  valuePolicy  whether the entries having null value or empty collection shall be included in the map.
-     * @return a map view over the metadata object.
-     * @throws ClassCastException if the metadata object does not implement a metadata interface of the expected package.
-     */
-    @Deprecated
-    public Map<String,Object> asValueMap(final Object metadata, final KeyNamePolicy keyPolicy,
-            final ValueExistencePolicy valuePolicy) throws ClassCastException
-    {
-        return asValueMap(metadata, null, keyPolicy, valuePolicy);
-    }
-
-    /**
      * Returns the specified metadata object as a tree table.
      * The tree table is backed by the metadata object using Java reflection, so changes in the
      * underlying metadata object are immediately reflected in the tree table and conversely.
@@ -939,20 +922,6 @@ public class MetadataStandard implements
     }
 
     /**
-     * @deprecated Replaced by {@link #asTreeTable(Object, Class, ValueExistencePolicy)}
-     * (i.e. a {@code Class} argument has been inserted after the metadata value).
-     *
-     * @param  metadata     the metadata object to view as a tree table.
-     * @param  valuePolicy  whether the property having null value or empty collection shall be included in the tree.
-     * @return a tree table representation of the specified metadata.
-     * @throws ClassCastException if the metadata object does not implement a metadata interface of the expected package.
-     */
-    @Deprecated
-    public TreeTable asTreeTable(final Object metadata, final ValueExistencePolicy valuePolicy) throws ClassCastException {
-        return asTreeTable(metadata, null, valuePolicy);
-    }
-
-    /**
      * Replaces every properties in the specified metadata by their
      * {@linkplain ModifiableMetadata#unmodifiable() unmodifiable variant}.
      *

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

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

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

Modified: sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -42,7 +42,7 @@ import static org.apache.sis.test.TestUt
 
 /**
  * Tests the {@link ValueMap} class on instances created by
- * {@link MetadataStandard#asValueMap(Object, KeyNamePolicy, ValueExistencePolicy)}.
+ * {@link MetadataStandard#asValueMap(Object, Class, KeyNamePolicy, ValueExistencePolicy)}.
  * Unless otherwise specified, all tests use the {@link MetadataStandard#ISO_19115} constant.
  *
  * @author  Martin Desruisseaux (Geomatys)

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

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

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

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

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

Modified: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -48,7 +48,7 @@ import org.apache.sis.util.Workaround;
  * @author  Martin Desruisseaux (Geomatys)
  * @version 0.6
  *
- * @see <a href="http://www.unidata.ucar.edu/software/netcdf-java/reference/StandardCoordinateTransforms.html">NetCDF projection parameters</a>
+ * @see <a href="http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/reference/StandardCoordinateTransforms.html">NetCDF projection parameters</a>
  *
  * @since 0.6
  * @module

Modified: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java?rev=1815605&r1=1815604&r2=1815605&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java [UTF-8] Fri Nov 17 17:56:36 2017
@@ -194,8 +194,10 @@ final class AuthorityFactories<T extends
             message = e.toString();
         }
         final LogRecord record = new LogRecord(isWarning ? Level.WARNING : Level.CONFIG, message);
+        if (isWarning && !(e instanceof UnavailableFactoryException)) {
+            record.setThrown(e);
+        }
         record.setLoggerName(Loggers.CRS_FACTORY);
-        if (isWarning) record.setThrown(e);
         Logging.log(CRS.class, "getAuthorityFactory", record);
     }
 

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



Mime
View raw message