You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2015/01/26 20:12:27 UTC

svn commit: r1654875 [2/2] - in /sis/branches/JDK6: ./ core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/ core/sis-metadata/src/test/java/org/apache/sis/metadata/ core...

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -26,6 +26,7 @@ import org.opengis.parameter.ParameterDe
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.parameter.GeneralParameterDescriptor;
 import org.opengis.parameter.ParameterValueGroup;
+import org.opengis.parameter.ParameterValue;
 import org.apache.sis.test.DependsOnMethod;
 import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
@@ -43,7 +44,7 @@ import static org.apache.sis.metadata.is
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.4
+ * @version 0.5
  * @module
  */
 @DependsOn(ParameterBuilderTest.class)
@@ -308,13 +309,14 @@ public final strictfp class ParameterFor
     }
 
     /**
-     * Tests the formatting of a parameter value group with an invalid cardinality.
-     * While not allowed by ISO 19111, the Apache SIS implementation shall be robust
-     * to those cases.
+     * Tests the formatting of a parameter descriptor group with a cardinality
+     * invalid according ISO 19111, but allowed by Apache SIS implementation.
+     * ISO 19111 restricts {@link ParameterDescriptor} cardinality to the [0 … 1] range,
+     * but SIS can handle arbitrary ranges ([0 … 2] in this test).
      */
     @Test
     @DependsOnMethod("testFormatBriefDescriptors")
-    public void testInvalidCardinality() {
+    public void testExtendedCardinality() {
         final ParameterFormat format = new ParameterFormat(null, null);
         format.setContentLevel(ParameterFormat.ContentLevel.BRIEF);
         final String text = format.format(DefaultParameterDescriptorGroupTest.M1_M1_O1_O2);
@@ -329,4 +331,40 @@ public final strictfp class ParameterFor
                 "│ Optional 4  │ Integer │ 0 … 2      │              │            10 │\n" +
                 "└─────────────┴─────────┴────────────┴──────────────┴───────────────┘\n", text);
     }
+
+    /**
+     * Tests the formatting of a parameter value group with a cardinality
+     * invalid according ISO 19111, but allowed by Apache SIS implementation.
+     * ISO 19111 restricts {@link ParameterValue} cardinality to the [0 … 1] range,
+     * but SIS can handle arbitrary number of occurrences (2 in this test).
+     */
+    @Test
+    @DependsOnMethod("testExtendedCardinality")
+    public void testMultiOccurrence() {
+        final ParameterValueGroup group = DefaultParameterDescriptorGroupTest.M1_M1_O1_O2.createValue();
+        group.parameter("Mandatory 2").setValue(20);
+        final ParameterValue<?> value = group.parameter("Optional 4");
+        value.setValue(40);
+        /*
+         * Adding a second occurrence of the same parameter.
+         * Not straightforward because not allowed by ISO 19111.
+         */
+        final ParameterValue<?> secondOccurrence = value.getDescriptor().createValue();
+        group.values().add(secondOccurrence);
+        secondOccurrence.setValue(50);
+
+        final ParameterFormat format = new ParameterFormat(null, null);
+        format.setContentLevel(ParameterFormat.ContentLevel.BRIEF);
+        final String text = format.format(group);
+        assertMultilinesEquals(
+                "Test group\n" +
+                "┌─────────────┬─────────┬──────────────┬───────┐\n" +
+                "│ Name        │ Type    │ Value domain │ Value │\n" +
+                "├─────────────┼─────────┼──────────────┼───────┤\n" +
+                "│ Mandatory 1 │ Integer │              │    10 │\n" +
+                "│ Mandatory 2 │ Integer │              │    20 │\n" +
+                "│ Optional 4  │ Integer │              │    40 │\n" +
+                "│      ″      │    ″    │      ″       │    50 │\n" +
+                "└─────────────┴─────────┴──────────────┴───────┘\n", text);
+    }
 }

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -22,7 +22,9 @@ import javax.measure.unit.SI;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDirection;
 import org.opengis.parameter.ParameterValue;
+import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.metadata.Identifier;
+import org.opengis.parameter.GeneralParameterValue;
 import org.opengis.util.GenericName;
 import org.opengis.util.InternationalString;
 import javax.measure.unit.Unit;
@@ -128,4 +130,30 @@ public final strictfp class ParametersTe
             @Override public String                   toWKT()            {return descriptor.toWKT();}
         }));
     }
+
+    /**
+     * Tests {@link Parameters#copy(ParameterValueGroup, ParameterValueGroup)}.
+     */
+    @Test
+    public void testCopy() {
+        final ParameterValueGroup source = DefaultParameterDescriptorGroupTest.M1_M1_O1_O2.createValue();
+        final ParameterValue<?> o1 = source.parameter("Optional 4");
+        final ParameterValue<?> o2 = o1.getDescriptor().createValue(); // See ParameterFormatTest.testMultiOccurrence()
+        source.parameter("Mandatory 2").setValue(20);
+        source.values().add(o2);
+        o1.setValue(40);
+        o2.setValue(50);
+
+        final ParameterValueGroup destination = DefaultParameterDescriptorGroupTest.M1_M1_O1_O2.createValue();
+        destination.parameter("Mandatory 1").setValue(-10);  // We expect this value to be overwritten.
+        destination.parameter("Optional 3") .setValue( 30);  // We expect this value to be preserved.
+        Parameters.copy(source, destination);
+
+        assertEquals("Mandatory 1", 10, destination.parameter("Mandatory 1").intValue());
+        assertEquals("Mandatory 2", 20, destination.parameter("Mandatory 2").intValue());
+        assertEquals("Optional 3",  30, destination.parameter("Optional 3") .intValue());
+        assertEquals("Optional 4",  40, destination.parameter("Optional 4") .intValue());
+        assertEquals("Optional 4 (second occurrence)", 50,
+                ((ParameterValue<?>) destination.values().get(4)).intValue());
+    }
 }

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/HardCodedDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/HardCodedDatum.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/HardCodedDatum.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/HardCodedDatum.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -103,7 +103,7 @@ public final strictfp class HardCodedDat
      * Mean sea level, which can be used as an approximation of geoid.
      */
     public static final DefaultVerticalDatum MEAN_SEA_LEVEL = new DefaultVerticalDatum(
-            properties("Mean Sea Level", "5700"), VerticalDatumType.GEOIDAL);
+            properties("Mean Sea Level", "5100"), VerticalDatumType.GEOIDAL);
 
     /**
      * Ellipsoid for measurements of height above the ellipsoid.

Copied: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java (from r1654869, sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java?p2=sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java&p1=sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java&r1=1654869&r2=1654875&rev=1654875&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -58,7 +58,7 @@ public final strictfp class DefaultOpera
      * @return The operation method.
      */
     private static DefaultOperationMethod create(final String method, final String identifier, final String formula) {
-        final Map<String,Object> properties = new HashMap<>(8);
+        final Map<String,Object> properties = new HashMap<String,Object>(8);
         assertNull(properties.put(OperationMethod.NAME_KEY, method));
         assertNull(properties.put(Identifier.CODESPACE_KEY, "EPSG"));
         assertNull(properties.put(Identifier.AUTHORITY_KEY, HardCodedCitations.OGP));

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransformTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransformTest.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransformTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransformTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -136,7 +136,7 @@ public final strictfp class Concatenated
         matrix.m13 = 2;
         transform = ConcatenatedTransform.create(MathTransforms.linear(matrix), passth);
         assertInstanceOf("Expected a new passthrough transform.", PassThroughTransform.class, transform);
-        final MathTransform subTransform = ((PassThroughTransform) transform).getSubTransform();
+        final MathTransform subTransform = ((PassThroughTransform) transform).subTransform;
         assertInstanceOf("Expected a new concatenated transform.", ConcatenatedTransform.class, subTransform);
         assertSame(kernel, ((ConcatenatedTransform) subTransform).transform2);
         assertEquals("Source dimensions", 3, transform.getSourceDimensions());

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/CopyTransformTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/CopyTransformTest.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/CopyTransformTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/CopyTransformTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -17,7 +17,7 @@
 package org.apache.sis.referencing.operation.transform;
 
 import org.opengis.referencing.operation.TransformException;
-import org.apache.sis.referencing.operation.provider.Affine;
+import org.apache.sis.internal.referencing.provider.Affine;
 
 // Test imports
 import org.junit.Test;

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -21,7 +21,7 @@ import org.opengis.referencing.operation
 import org.opengis.referencing.operation.MathTransform2D;
 import org.opengis.referencing.operation.MathTransformFactory;
 import org.apache.sis.referencing.operation.matrix.Matrices;
-import org.apache.sis.referencing.operation.provider.Affine;
+import org.apache.sis.internal.referencing.provider.Affine;
 import org.apache.sis.parameter.Parameterized;
 
 // Test imports

Modified: sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -54,6 +54,7 @@ import org.junit.BeforeClass;
     org.apache.sis.referencing.operation.transform.PassThroughTransformTest.class,
     org.apache.sis.referencing.operation.transform.ConcatenatedTransformTest.class,
     org.apache.sis.referencing.operation.transform.TransferFunctionTest.class,
+    org.apache.sis.referencing.operation.transform.MathTransformsTest.class,
 
     org.apache.sis.internal.referencing.VerticalDatumTypesTest.class,
     org.apache.sis.internal.referencing.AxisDirectionsTest.class,
@@ -76,6 +77,10 @@ import org.junit.BeforeClass;
     org.apache.sis.parameter.TensorParametersTest.class,
     org.apache.sis.parameter.TensorValuesTest.class,
 
+    org.apache.sis.referencing.operation.DefaultFormulaTest.class,
+    org.apache.sis.referencing.operation.DefaultOperationMethodTest.class,
+    org.apache.sis.internal.referencing.OperationMethodsTest.class,
+
     org.apache.sis.referencing.datum.BursaWolfParametersTest.class,
     org.apache.sis.referencing.datum.TimeDependentBWPTest.class,
     org.apache.sis.referencing.datum.DefaultEllipsoidTest.class,
@@ -120,6 +125,7 @@ import org.junit.BeforeClass;
 
     org.apache.sis.distance.LatLonPointRadiusTest.class, // Pending refactoring in a geometry package.
 
+    org.apache.sis.referencing.operation.builder.LinearTransformBuilderTest.class,
     org.apache.sis.internal.referencing.ServicesForMetadataTest.class,
     org.apache.sis.test.integration.ReferencingInMetadataTest.class,
     org.apache.sis.test.integration.DefaultMetadataTest.class

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -45,11 +45,16 @@ import org.apache.sis.internal.jdk7.Obje
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-2.2)
- * @version 0.3
+ * @version 0.5
  * @module
  */
 public final class Citations extends Static {
     /**
+     * The {@value} code space.
+     */
+    public static final String EPSG = "EPSG";
+
+    /**
      * Do not allows instantiation of this class.
      */
     private Citations() {
@@ -159,10 +164,12 @@ public final class Citations extends Sta
     }
 
     /**
-     * Returns {@code true} if at least one {@linkplain Citation#getIdentifiers() identifier} in
-     * {@code c1} is equal to an identifier in {@code c2}. The comparison is case-insensitive
-     * and ignores every character which is not a {@linkplain Character#isLetterOrDigit(int)
-     * letter or a digit}. The identifier ordering is not significant.
+     * Returns {@code true} if at least one {@linkplain Citation#getIdentifiers() identifier}
+     * {@linkplain Identifier#getCode() code} in {@code c1} is equal to an identifier code in
+     * {@code c2}. {@linkplain Identifier#getCodeSpace() Code spaces} are compared only if
+     * provided in the two identifiers being compared. Comparisons are case-insensitive and ignores
+     * every character which is not a {@linkplain Character#isLetterOrDigit(int) letter or a digit}.
+     * The identifier ordering is not significant.
      *
      * <p>If (and <em>only</em> if) the citations do not contains any identifier, then this method
      * fallback on titles comparison using the {@link #titleMatches(Citation,Citation) titleMatches}
@@ -195,7 +202,7 @@ public final class Citations extends Sta
             }
             do {
                 final Identifier id = iterator.next();
-                if (id != null && identifierMatches(c1, id.getCode())) {
+                if (id != null && identifierMatches(c1, id, id.getCode())) {
                     return true;
                 }
             } while (iterator.hasNext());
@@ -204,29 +211,43 @@ public final class Citations extends Sta
     }
 
     /**
-     * Returns {@code true} if any {@linkplain Citation#getIdentifiers() identifiers} in the given
-     * citation matches the given string. The comparison is case-insensitive and ignores every
-     * character which is not a {@linkplain Character#isLetterOrDigit(int) letter or a digit}.
+     * Returns {@code true} if at least one {@linkplain Citation#getIdentifiers() identifier}
+     * in the given citation have a {@linkplain Identifier#getCode() code} matching the given
+     * one. The comparison is case-insensitive and ignores every character which is not a
+     * {@linkplain Character#isLetterOrDigit(int) letter or a digit}.
+     *
+     * <p>If a match is found, if the given {@code identifier} is non-null and if the code space
+     * of both objects is non-null, then the code space is also compared.</p>
      *
      * <p>If (and <em>only</em> if) the citation does not contain any identifier, then this method
      * fallback on titles comparison using the {@link #titleMatches(Citation, CharSequence) titleMatches}
      * method. This fallback exists for compatibility with client codes using citation
-     * {@linkplain Citation#getTitle() titles} without identifiers.</p>
+     * {@linkplain Citation#getTitle() title} without identifiers.</p>
      *
-     * @param  citation The citation to check for, or {@code null}.
-     * @param  identifier The identifier to compare, or {@code null}.
+     * @param  citation   The citation to check for, or {@code null}.
+     * @param  identifier The identifier to compare, or {@code null} to unknown.
+     * @param  code       The identifier code to compare, or {@code null}.
      * @return {@code true} if both arguments are non-null, and the title or alternate title
      *         matches the given string.
      */
-    public static boolean identifierMatches(final Citation citation, final CharSequence identifier) {
-        if (citation != null && identifier != null) {
+    public static boolean identifierMatches(final Citation citation, final Identifier identifier, final CharSequence code) {
+        if (citation != null && code != null) {
             final Iterator<? extends Identifier> identifiers = iterator(citation.getIdentifiers());
             if (identifiers == null) {
-                return titleMatches(citation, identifier);
+                return titleMatches(citation, code);
             }
             while (identifiers.hasNext()) {
                 final Identifier id = identifiers.next();
-                if (id != null && equalsFiltered(identifier, id.getCode(), LETTERS_AND_DIGITS, true)) {
+                if (id != null && equalsFiltered(code, id.getCode(), LETTERS_AND_DIGITS, true)) {
+                    if (identifier != null) {
+                        final String codeSpace = identifier.getCodeSpace();
+                        if (codeSpace != null) {
+                            final String cs = id.getCodeSpace();
+                            if (cs != null) {
+                                return equalsFiltered(codeSpace, cs, LETTERS_AND_DIGITS, true);
+                            }
+                        }
+                    }
                     return true;
                 }
             }

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/math/package-info.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -17,10 +17,24 @@
 
 /**
  * A set of mathematical objects and algebraic utilities.
+ * This package provides:
+ *
+ * <ul>
+ *   <li>Static functions in {@link org.apache.sis.math.MathFunctions} and {@link org.apache.sis.math.DecimalFunctions}.</li>
+ *   <li>{@link org.apache.sis.math.Statistics} accumulator, optionally with statistics on derivatives
+ *       and {@linkplain org.apache.sis.math.StatisticsFormat tabular formatting}.</li>
+ *   <li>Simple equations for {@link org.apache.sis.math.Line} and {@link org.apache.sis.math.Plane}
+ *       with capability to determine the coefficients from a set of coordinates.</li>
+ * </ul>
+ *
+ * <div class="note"><b>Note:</b>
+ * {@code Line} and {@code Plane} classes are not geometric objects since they are not bounded in space.
+ * For example the {@link java.awt.geom.Line2D} geometry have starting and ending points, while the
+ * {@code Line} class in this package extends to infinite.</div>
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-2.0)
- * @version 0.3
+ * @version 0.5
  * @module
  */
 package org.apache.sis.math;

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -32,6 +32,7 @@ import org.apache.sis.util.Exceptions;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.internal.util.DefinitionURI;
+import org.apache.sis.internal.util.Citations;
 import org.apache.sis.internal.util.XPaths;
 
 import static java.lang.Math.PI;
@@ -355,7 +356,7 @@ public final class Units extends Static
          * we want to try to parse as a xpointer before to give up.
          */
         if (isURI(uom)) {
-            String code = DefinitionURI.codeOf("uom", "EPSG", uom);
+            String code = DefinitionURI.codeOf("uom", Citations.EPSG, uom);
             if (code != null && code != uom) try { // Really identity check, see above comment.
                 return valueOfEPSG(Integer.parseInt(code));
             } catch (NumberFormatException e) {

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/Characters.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -292,9 +292,9 @@ public final class Characters extends St
 
         /**
          * The subset of all characters for which {@link Character#isUnicodeIdentifierPart(int)}
-         * returns {@code true}, excluding {@linkplain Character#isIdentifierIgnorable(int)
-         * ignorable} characters. This subset includes all the {@link #LETTERS_AND_DIGITS}
-         * categories with the addition of the following ones:
+         * returns {@code true}, excluding {@linkplain Character#isIdentifierIgnorable(int) ignorable} characters.
+         * This subset includes all the {@link #LETTERS_AND_DIGITS} categories with the addition of the following
+         * ones:
          * {@link Character#LETTER_NUMBER},
          * {@link Character#CONNECTOR_PUNCTUATION CONNECTOR_PUNCTUATION},
          * {@link Character#NON_SPACING_MARK NON_SPACING_MARK} and

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -489,6 +489,12 @@ public final class Errors extends Indexe
         public static final short MismatchedPropertyType_1 = 154;
 
         /**
+         * The transform has {2} {0,choice,0#source|1#target} dimension{2,choice,1#|2#s}, while {1} was
+         * expected.
+         */
+        public static final short MismatchedTransformDimension_3 = 178;
+
+        /**
          * Class of “{0}” values is ‘{2}’, but the requested type is ‘{1}’.
          */
         public static final short MismatchedValueClass_3 = 157;

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties [ISO-8859-1] Mon Jan 26 19:12:25 2015
@@ -108,6 +108,7 @@ MismatchedDimension_3             = Argu
 MismatchedMatrixSize_4            = Mismatched matrix sizes: expected {0}\u00d7{1} but got {2}\u00d7{3}.
 MismatchedParameterDescriptor_1   = Mismatched descriptor for \u201c{0}\u201d parameter.
 MismatchedPropertyType_1          = Mismatched type for \u201c{0}\u201d property.
+MismatchedTransformDimension_3    = The transform has {2} {0,choice,0#source|1#target} dimension{2,choice,1#|2#s}, while {1} was expected.
 MismatchedValueClass_3            = Class of \u201c{0}\u201d values is \u2018{2}\u2019, but the requested type is \u2018{1}\u2019.
 MissingAuthority_1                = No authority was specified for code \u201c{0}\u201d. The expected syntax is \u201cAUTHORITY:CODE\u201d.
 MissingNamespace_1                = \u201c{0}\u201d has no namespace.

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties [ISO-8859-1] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties [ISO-8859-1] Mon Jan 26 19:12:25 2015
@@ -98,6 +98,7 @@ MismatchedDimension_3             = L\u2
 MismatchedMatrixSize_4            = Une matrice de taille de {0}\u00d7{1} \u00e9tait attendue mais la matrice donn\u00e9es est de taille {2}\u00d7{3}.
 MismatchedParameterDescriptor_1   = Le descripteur du param\u00e8tre \u00ab\u202f{0}\u202f\u00bb ne correspond pas.
 MismatchedPropertyType_1          = Le type de la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb ne correspond pas.
+MismatchedTransformDimension_3    = La {0,choice,0#source|1#destination} de la transformation a {2} dimension{2,choice,1#|2#s}, alors qu\u2019on en attendait {1}.
 MismatchedValueClass_3            = Les valeurs de \u00ab\u202f{0}\u202f\u00bb sont de la classe \u2018{2}\u2019, alors que le type demand\u00e9 \u00e9tait \u2018{1}\u2019.
 MissingAuthority_1                = Aucune autorit\u00e9 n\u2019a \u00e9t\u00e9 sp\u00e9cifi\u00e9e pour le code \u00ab\u202f{0}\u202f\u00bb. Le format attendu est \u00ab\u202fAUTORIT\u00c9:CODE\u202f\u00bb.
 MissingNamespace_1                = \u201c{0}\u201d est d\u00e9fini sans espace de noms.

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -121,6 +121,11 @@ public final class Vocabulary extends In
         public static final short ConstantPressureSurface = 19;
 
         /**
+         * Correlation
+         */
+        public static final short Correlation = 83;
+
+        /**
          * Current date and time
          */
         public static final short CurrentDateTime = 10;
@@ -166,6 +171,11 @@ public final class Vocabulary extends In
         public static final short Directory = 16;
 
         /**
+         * ″
+         */
+        public static final short DittoMark = 82;
+
+        /**
          * Dublin Julian
          */
         public static final short DublinJulian = 17;

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties [ISO-8859-1] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties [ISO-8859-1] Mon Jan 26 19:12:25 2015
@@ -27,6 +27,7 @@ Classpath               = Classpath
 Code_1                  = {0} code
 Commands                = Commands
 ConstantPressureSurface = Constant pressure surface
+Correlation             = Correlation
 CurrentDateTime         = Current date and time
 CurrentDirectory        = Current directory
 CycleOmitted            = Cycle omitted
@@ -36,6 +37,7 @@ Description             = Description
 Destination             = Destination
 Dimensions              = Dimensions
 Directory               = Directory
+DittoMark               = \u2033
 DublinJulian            = Dublin Julian
 Ellipsoid               = Ellipsoid
 EllipsoidalHeight       = Ellipsoidal height

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties [ISO-8859-1] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties [ISO-8859-1] Mon Jan 26 19:12:25 2015
@@ -27,6 +27,7 @@ Classpath               = Chemin de clas
 Code_1                  = Code {0}
 Commands                = Commandes
 ConstantPressureSurface = Surface \u00e0 pression constante
+Correlation             = Corr\u00e9lation
 CurrentDateTime         = Date et heure courantes
 CurrentDirectory        = R\u00e9pertoire courant
 CycleOmitted            = Cycle omit
@@ -36,6 +37,7 @@ Description             = Description
 Destination             = Destination
 Dimensions              = Dimensions
 Directory               = R\u00e9pertoire
+DittoMark               = \u2033
 DublinJulian            = Julien Dublin
 Ellipsoid               = Ellipso\u00efde
 EllipsoidalHeight       = Hauteur ellipso\u00efdale

Modified: sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -61,6 +61,8 @@ import org.junit.BeforeClass;
     org.apache.sis.math.StatisticsFormatTest.class,
     org.apache.sis.internal.util.UtilitiesTest.class,
     org.apache.sis.internal.util.DoubleDoubleTest.class,
+    org.apache.sis.math.LineTest.class,
+    org.apache.sis.math.PlaneTest.class,
 
     // Collections.
     org.apache.sis.internal.util.CheckedArrayListTest.class,

Modified: sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/util/iso/AbstractNameTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/util/iso/AbstractNameTest.java?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/util/iso/AbstractNameTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/util/iso/AbstractNameTest.java [UTF-8] Mon Jan 26 19:12:25 2015
@@ -21,8 +21,9 @@ import org.opengis.util.GenericName;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
 import static org.opengis.test.Validators.*;
+import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.internal.util.Citations.EPSG;
 import static org.apache.sis.util.iso.DefaultNameSpace.DEFAULT_SEPARATOR_STRING;
 
 
@@ -43,7 +44,6 @@ public final strictfp class AbstractName
      */
     @Test
     public void testGlobalNamespace() {
-        final String EPSG = "EPSG";
         final DefaultLocalName name = new DefaultLocalName(null, EPSG);
         assertSame(EPSG, name.toString());
         assertSame(EPSG, name.toInternationalString().toString());
@@ -59,7 +59,6 @@ public final strictfp class AbstractName
      */
     @Test
     public void testEpsgNamespace() {
-        final String EPSG = "EPSG";
         final DefaultNameSpace ns = DefaultNameSpace.forName(new DefaultLocalName(null, EPSG),
                 DEFAULT_SEPARATOR_STRING, DEFAULT_SEPARATOR_STRING);
         assertSame(EPSG, ns.name().toString());

Modified: sis/branches/JDK6/src/main/javadoc/stylesheet.css
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/src/main/javadoc/stylesheet.css?rev=1654875&r1=1654874&r2=1654875&view=diff
==============================================================================
--- sis/branches/JDK6/src/main/javadoc/stylesheet.css (original)
+++ sis/branches/JDK6/src/main/javadoc/stylesheet.css Mon Jan 26 19:12:25 2015
@@ -218,3 +218,11 @@ h5 {
   font-size: 110%;
   margin-bottom: 3pt;
 }
+
+/* Appareance of links in the "Description" column of class and package summaries.
+ * JDK style uses bold characters for the left column, which contains the class and
+ * package names. But we do not want those bold characters to apply to the descriptions.
+ */
+td.colLast a:link {
+  font-weight: normal;
+}