Author: desruisseaux
Date: Thu Feb 25 18:30:33 2016
New Revision: 1732337

URL: http://svn.apache.org/viewvc?rev=1732337&view=rev
Log:
Move ReferencingUtilities.toWKTType(...) to WKTUtilities.toType(...).
This is an internal method - no impact on public API.

Added:
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/WKTUtilitiesTest.java
      - copied, changed from r1732307, 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
Modified:
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java?rev=1732337&r1=1732336&r2=1732337&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
 [UTF-8] Thu Feb 25 18:30:33 2016
@@ -296,6 +296,8 @@ public final class ReferencingUtilities
      * @param  type The interface or classes for which to get the XML property 
name.
      * @return The XML property name for the given class or interface, or 
{@code null} if none.
      *
+     * @see WKTUtilities#toType(Class, Class)
+     *
      * @since 0.6
      */
     public static StringBuilder toPropertyName(final Class<?> base, final 
Class<?> type) {
@@ -317,37 +319,6 @@ public final class ReferencingUtilities
                 }
             }
         }
-        return null;
-    }
-
-    /**
-     * Returns the WKT type of the given interface.
-     *
-     * For {@link CoordinateSystem} base type, the returned value shall be one 
of
-     * {@code affine}, {@code Cartesian}, {@code cylindrical}, {@code 
ellipsoidal}, {@code linear},
-     * {@code parametric}, {@code polar}, {@code spherical}, {@code temporal} 
or {@code vertical}.
-     *
-     * @param  base The abstract base interface.
-     * @param  type The interface or classes for which to get the WKT type.
-     * @return The WKT type for the given class or interface, or {@code null} 
if none.
-     */
-    public static String toWKTType(final Class<?> base, final Class<?> type) {
-        if (type != base) {
-            final StringBuilder name = toPropertyName(base, type);
-            if (name != null) {
-                int end = name.length() - 2;
-                if (CharSequences.regionMatches(name, end, "CS")) {
-                    name.setLength(end);
-                    if ("time".contentEquals(name)) {
-                        return "temporal";
-                    }
-                    if (CharSequences.regionMatches(name, 0, "cartesian")) {
-                        name.setCharAt(0, 'C');     // "Cartesian"
-                    }
-                    return name.toString();
-                }
-            }
-        }
         return null;
     }
 

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java?rev=1732337&r1=1732336&r2=1732337&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WKTUtilities.java
 [UTF-8] Thu Feb 25 18:30:33 2016
@@ -40,6 +40,7 @@ import org.apache.sis.io.wkt.ElementKind
 import org.apache.sis.io.wkt.FormattableObject;
 import org.apache.sis.io.wkt.Formatter;
 import org.apache.sis.util.Static;
+import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.resources.Vocabulary;
 
 
@@ -53,7 +54,7 @@ import org.apache.sis.util.resources.Voc
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.6
+ * @version 0.7
  * @module
  */
 public final class WKTUtilities extends Static {
@@ -219,4 +220,37 @@ public final class WKTUtilities extends
             formatter.newLine();
         }
     }
+
+    /**
+     * Returns the WKT type of the given interface.
+     *
+     * For {@link CoordinateSystem} base type, the returned value shall be one 
of
+     * {@code affine}, {@code Cartesian}, {@code cylindrical}, {@code 
ellipsoidal}, {@code linear},
+     * {@code parametric}, {@code polar}, {@code spherical}, {@code temporal} 
or {@code vertical}.
+     *
+     * @param  base The abstract base interface.
+     * @param  type The interface or classes for which to get the WKT type.
+     * @return The WKT type for the given class or interface, or {@code null} 
if none.
+     *
+     * @see ReferencingUtilities#toPropertyName(Class, Class)
+     */
+    public static String toType(final Class<?> base, final Class<?> type) {
+        if (type != base) {
+            final StringBuilder name = 
ReferencingUtilities.toPropertyName(base, type);
+            if (name != null) {
+                int end = name.length() - 2;
+                if (CharSequences.regionMatches(name, end, "CS")) {
+                    name.setLength(end);
+                    if ("time".contentEquals(name)) {
+                        return "temporal";
+                    }
+                    if (CharSequences.regionMatches(name, 0, "cartesian")) {
+                        name.setCharAt(0, 'C');     // "Cartesian"
+                    }
+                    return name.toString();
+                }
+            }
+        }
+        return null;
+    }
 }

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java?rev=1732337&r1=1732336&r2=1732337&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
 [UTF-8] Thu Feb 25 18:30:33 2016
@@ -33,7 +33,7 @@ import org.opengis.referencing.cs.AxisDi
 import org.opengis.referencing.cs.CoordinateSystem;
 import org.opengis.referencing.cs.CoordinateSystemAxis;
 import org.apache.sis.referencing.AbstractIdentifiedObject;
-import org.apache.sis.internal.referencing.ReferencingUtilities;
+import org.apache.sis.internal.referencing.WKTUtilities;
 import org.apache.sis.internal.metadata.AxisDirections;
 import org.apache.sis.internal.metadata.WKTKeywords;
 import org.apache.sis.io.wkt.ElementKind;
@@ -457,7 +457,7 @@ public class AbstractCS extends Abstract
      */
     @Override
     protected String formatTo(final Formatter formatter) {
-        final String type = 
ReferencingUtilities.toWKTType(CoordinateSystem.class, getInterface());
+        final String type = WKTUtilities.toType(CoordinateSystem.class, 
getInterface());
         if (type == null) {
             formatter.setInvalidWKT(this, null);
         }

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java?rev=1732337&r1=1732336&r2=1732337&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
 [UTF-8] Thu Feb 25 18:30:33 2016
@@ -25,7 +25,6 @@ import org.opengis.referencing.datum.Pri
 import org.opengis.referencing.IdentifiedObject;
 import org.apache.sis.referencing.datum.HardCodedDatum;
 import org.apache.sis.referencing.crs.HardCodedCRS;
-import org.apache.sis.internal.metadata.WKTKeywords;
 import org.apache.sis.util.Utilities;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
@@ -98,6 +97,8 @@ public final strictfp class ReferencingU
     /**
      * Tests {@link ReferencingUtilities#toPropertyName(Class, Class)}.
      *
+     * @see WKTUtilitiesTest#testToType()
+     *
      * @since 0.6
      */
     @Test
@@ -114,22 +115,4 @@ public final strictfp class ReferencingU
         assertEquals("timeCS",           
toPropertyName(CoordinateSystem.class, TimeCS          .class).toString());
         assertEquals("verticalCS",       
toPropertyName(CoordinateSystem.class, VerticalCS      .class).toString());
     }
-
-    /**
-     * Tests {@link ReferencingUtilities#toWKTType(Class, Class)}.
-     */
-    @Test
-    public void testType() {
-        assertNull  (                         
toWKTType(CoordinateSystem.class, CoordinateSystem.class));
-        assertEquals(WKTKeywords.affine,      
toWKTType(CoordinateSystem.class, AffineCS        .class));
-        assertEquals(WKTKeywords.Cartesian,   
toWKTType(CoordinateSystem.class, CartesianCS     .class));
-        assertEquals(WKTKeywords.cylindrical, 
toWKTType(CoordinateSystem.class, CylindricalCS   .class));
-        assertEquals(WKTKeywords.ellipsoidal, 
toWKTType(CoordinateSystem.class, EllipsoidalCS   .class));
-        assertEquals(WKTKeywords.linear,      
toWKTType(CoordinateSystem.class, LinearCS        .class));
-//      assertEquals(WKTKeywords.parametric,  
toWKTType(CoordinateSystem.class, ParametricCS    .class));
-        assertEquals(WKTKeywords.polar,       
toWKTType(CoordinateSystem.class, PolarCS         .class));
-        assertEquals(WKTKeywords.spherical,   
toWKTType(CoordinateSystem.class, SphericalCS     .class));
-        assertEquals(WKTKeywords.temporal,    
toWKTType(CoordinateSystem.class, TimeCS          .class));
-        assertEquals(WKTKeywords.vertical,    
toWKTType(CoordinateSystem.class, VerticalCS      .class));
-    }
 }

Copied: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/WKTUtilitiesTest.java
 (from r1732307, 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/WKTUtilitiesTest.java?p2=sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/WKTUtilitiesTest.java&p1=sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java&r1=1732307&r2=1732337&rev=1732337&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/WKTUtilitiesTest.java
 [UTF-8] Thu Feb 25 18:30:33 2016
@@ -16,120 +16,43 @@
  */
 package org.apache.sis.internal.referencing;
 
-import javax.measure.unit.Unit;
-import javax.measure.unit.NonSI;
 import org.opengis.referencing.cs.*;
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.opengis.referencing.crs.GeographicCRS;
-import org.opengis.referencing.datum.PrimeMeridian;
-import org.opengis.referencing.IdentifiedObject;
-import org.apache.sis.referencing.datum.HardCodedDatum;
-import org.apache.sis.referencing.crs.HardCodedCRS;
 import org.apache.sis.internal.metadata.WKTKeywords;
-import org.apache.sis.util.Utilities;
+import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
-import static org.apache.sis.internal.referencing.ReferencingUtilities.*;
+import static org.apache.sis.internal.referencing.WKTUtilities.*;
 
 
 /**
- * Tests {@link ReferencingUtilities}.
+ * Tests {@link WKTUtilities}.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @since   0.5 (derived from 0.4)
+ * @since   0.7
  * @version 0.7
  * @module
  */
-public final strictfp class ReferencingUtilitiesTest extends TestCase {
+@DependsOn(ReferencingUtilitiesTest.class)
+public final strictfp class WKTUtilitiesTest extends TestCase {
     /**
-     * Tests {@link ReferencingUtilities#getGreenwichLongitude(PrimeMeridian, 
Unit)}.
-     */
-    @Test
-    public void testGetGreenwichLongitude() {
-        assertEquals(0,          
getGreenwichLongitude(HardCodedDatum.GREENWICH, NonSI.DEGREE_ANGLE), STRICT);
-        assertEquals(0,          
getGreenwichLongitude(HardCodedDatum.GREENWICH, NonSI.GRADE),        STRICT);
-        assertEquals(2.5969213,  getGreenwichLongitude(HardCodedDatum.PARIS,   
  NonSI.GRADE),        STRICT);
-        assertEquals(2.33722917, getGreenwichLongitude(HardCodedDatum.PARIS,   
  NonSI.DEGREE_ANGLE), 1E-12);
-        assertEquals(2.33720833, 
getGreenwichLongitude(HardCodedDatum.PARIS_RGS, NonSI.DEGREE_ANGLE), 1E-8);
-        assertEquals(2.596898,   
getGreenwichLongitude(HardCodedDatum.PARIS_RGS, NonSI.GRADE),        1E-6);
-    }
-
-    /**
-     * Asserts that normalization of the given CRS produces {@link 
HardCodedCRS#WGS84} (ignoring metadata).
-     *
-     * @param message The message to show in case of failure.
-     * @param createExpected {@code true} if we expect normalization to create 
a new CRS object.
-     * @param crs The CRS for which to test normalization.
-     */
-    private static void assertNormalizedEqualsWGS84(final String message, 
final boolean createExpected,
-            final CoordinateReferenceSystem crs)
-    {
-        final GeographicCRS normalizedCRS = toNormalizedGeographicCRS(crs);
-        assertTrue(message, Utilities.equalsIgnoreMetadata(HardCodedCRS.WGS84, 
normalizedCRS));
-        assertEquals("New CRS instance expected:", createExpected, 
normalizedCRS != HardCodedCRS.WGS84);
-    }
-
-    /**
-     * Tests {@link 
ReferencingUtilities#toNormalizedGeographicCRS(CoordinateReferenceSystem)}.
-     */
-    @Test
-    public void testToNormalizedGeographicCRS() {
-        assertNormalizedEqualsWGS84("Expected identity operation.",    false, 
HardCodedCRS.WGS84);
-        assertNormalizedEqualsWGS84("Shall extract the 2D component.", false, 
HardCodedCRS.GEOID_3D);
-        assertNormalizedEqualsWGS84("Shall extract the 2D component.", false, 
HardCodedCRS.GEOID_4D);
-        assertNormalizedEqualsWGS84("Shall build a the 2D component.", true,  
HardCodedCRS.WGS84_3D);
-        assertNormalizedEqualsWGS84("Shall normalize axis order.",     true,  
HardCodedCRS.WGS84_φλ);
-        assertNull(toNormalizedGeographicCRS(null));
-    }
-
-    /**
-     * Tests {@link 
ReferencingUtilities#getPropertiesForModifiedCRS(IdentifiedObject, String...)}.
+     * Tests {@link ReferencingUtilities#toType(Class, Class)}.
      *
-     * @since 0.7
-     */
-    @Test
-    public void testGetPropertiesForModifiedCRS() {
-        assertEquals("WGS 84", 
getPropertiesForModifiedCRS(HardCodedCRS.WGS84_3D).get(IdentifiedObject.NAME_KEY));
-        assertEquals("WGS 84", 
getPropertiesForModifiedCRS(HardCodedCRS.GEOID_4D).get(IdentifiedObject.NAME_KEY));
-    }
-
-    /**
-     * Tests {@link ReferencingUtilities#toPropertyName(Class, Class)}.
-     *
-     * @since 0.6
-     */
-    @Test
-    public void testToPropertyName() {
-        assertEquals("coordinateSystem", 
toPropertyName(CoordinateSystem.class, CoordinateSystem.class).toString());
-        assertEquals("affineCS",         
toPropertyName(CoordinateSystem.class, AffineCS        .class).toString());
-        assertEquals("cartesianCS",      
toPropertyName(CoordinateSystem.class, CartesianCS     .class).toString());
-        assertEquals("cylindricalCS",    
toPropertyName(CoordinateSystem.class, CylindricalCS   .class).toString());
-        assertEquals("ellipsoidalCS",    
toPropertyName(CoordinateSystem.class, EllipsoidalCS   .class).toString());
-        assertEquals("linearCS",         
toPropertyName(CoordinateSystem.class, LinearCS        .class).toString());
-//      assertEquals("parametricCS",     
toPropertyName(CoordinateSystem.class, ParametricCS    .class).toString());
-        assertEquals("polarCS",          
toPropertyName(CoordinateSystem.class, PolarCS         .class).toString());
-        assertEquals("sphericalCS",      
toPropertyName(CoordinateSystem.class, SphericalCS     .class).toString());
-        assertEquals("timeCS",           
toPropertyName(CoordinateSystem.class, TimeCS          .class).toString());
-        assertEquals("verticalCS",       
toPropertyName(CoordinateSystem.class, VerticalCS      .class).toString());
-    }
-
-    /**
-     * Tests {@link ReferencingUtilities#toWKTType(Class, Class)}.
+     * @see ReferencingUtilitiesTest#testToPropertyName()
      */
     @Test
-    public void testType() {
-        assertNull  (                         
toWKTType(CoordinateSystem.class, CoordinateSystem.class));
-        assertEquals(WKTKeywords.affine,      
toWKTType(CoordinateSystem.class, AffineCS        .class));
-        assertEquals(WKTKeywords.Cartesian,   
toWKTType(CoordinateSystem.class, CartesianCS     .class));
-        assertEquals(WKTKeywords.cylindrical, 
toWKTType(CoordinateSystem.class, CylindricalCS   .class));
-        assertEquals(WKTKeywords.ellipsoidal, 
toWKTType(CoordinateSystem.class, EllipsoidalCS   .class));
-        assertEquals(WKTKeywords.linear,      
toWKTType(CoordinateSystem.class, LinearCS        .class));
-//      assertEquals(WKTKeywords.parametric,  
toWKTType(CoordinateSystem.class, ParametricCS    .class));
-        assertEquals(WKTKeywords.polar,       
toWKTType(CoordinateSystem.class, PolarCS         .class));
-        assertEquals(WKTKeywords.spherical,   
toWKTType(CoordinateSystem.class, SphericalCS     .class));
-        assertEquals(WKTKeywords.temporal,    
toWKTType(CoordinateSystem.class, TimeCS          .class));
-        assertEquals(WKTKeywords.vertical,    
toWKTType(CoordinateSystem.class, VerticalCS      .class));
+    public void testToType() {
+        assertNull  (                         toType(CoordinateSystem.class, 
CoordinateSystem.class));
+        assertEquals(WKTKeywords.affine,      toType(CoordinateSystem.class, 
AffineCS        .class));
+        assertEquals(WKTKeywords.Cartesian,   toType(CoordinateSystem.class, 
CartesianCS     .class));
+        assertEquals(WKTKeywords.cylindrical, toType(CoordinateSystem.class, 
CylindricalCS   .class));
+        assertEquals(WKTKeywords.ellipsoidal, toType(CoordinateSystem.class, 
EllipsoidalCS   .class));
+        assertEquals(WKTKeywords.linear,      toType(CoordinateSystem.class, 
LinearCS        .class));
+//      assertEquals(WKTKeywords.parametric,  toType(CoordinateSystem.class, 
ParametricCS    .class));
+        assertEquals(WKTKeywords.polar,       toType(CoordinateSystem.class, 
PolarCS         .class));
+        assertEquals(WKTKeywords.spherical,   toType(CoordinateSystem.class, 
SphericalCS     .class));
+        assertEquals(WKTKeywords.temporal,    toType(CoordinateSystem.class, 
TimeCS          .class));
+        assertEquals(WKTKeywords.vertical,    toType(CoordinateSystem.class, 
VerticalCS      .class));
     }
 }

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java?rev=1732337&r1=1732336&r2=1732337&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
 [UTF-8] Thu Feb 25 18:30:33 2016
@@ -35,6 +35,7 @@ import org.junit.BeforeClass;
     org.apache.sis.internal.referencing.j2d.ShapeUtilitiesTest.class,
     org.apache.sis.internal.referencing.PositionalAccuracyConstantTest.class,
     org.apache.sis.internal.referencing.ReferencingUtilitiesTest.class,
+    org.apache.sis.internal.referencing.WKTUtilitiesTest.class,
     org.apache.sis.internal.jaxb.referencing.CodeTest.class,
     org.apache.sis.internal.jaxb.referencing.SecondDefiningParameterTest.class,
 


Reply via email to