Author: desruisseaux
Date: Tue Oct 20 16:24:53 2015
New Revision: 1709637

URL: http://svn.apache.org/viewvc?rev=1709637&view=rev
Log:
Merge GML work and ObliqueStereographic projection from JDK6 branch.

Added:
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java
      - copied unchanged from r1709629, 
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultPassThroughOperationTest.java
      - copied, changed from r1709629, 
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultPassThroughOperationTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/InitializerTest.java
      - copied unchanged from r1709629, 
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/InitializerTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ObliqueStereographicTest.java
      - copied, changed from r1709629, 
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ObliqueStereographicTest.java
    
sis/trunk/core/sis-referencing/src/test/resources/org/apache/sis/referencing/operation/PassThroughOperation.xml
      - copied unchanged from r1709629, 
sis/branches/JDK6/core/sis-referencing/src/test/resources/org/apache/sis/referencing/operation/PassThroughOperation.xml
Modified:
    sis/trunk/   (props changed)
    
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identifier.java
    
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
    
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
    
sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/DefaultIdentifierTest.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_Conversion.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_CoordinateOperation.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_Ellipsoid.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_GeodeticDatum.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_PrimeMeridian.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_TemporalDatum.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystem.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystemAxis.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_CRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_SingleCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractLambert.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractMercator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractStereographic.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Equirectangular.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal1SP.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal2SP.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalBelgium.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalMichigan.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalWest.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LongitudeRotation.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator1SP.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator2SP.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MercatorSpherical.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ObliqueStereographic.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicA.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicC.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PseudoMercator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/RegionalMercator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercatorSouth.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractReferenceSystem.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/NameIterator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/SubTypes.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/package-info.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCompoundCS.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxis.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/package-info.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultImageDatum.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/package-info.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConversion.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/package-info.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Initializer.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/LambertConicConformal.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/PolarStereographic.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/TransverseMercator.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PassThroughTransform.java
    
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/referencing/package-info.java
    
sis/trunk/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.OperationMethod
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/AllProvidersTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/MercatorTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/PolarStereographicTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/TransverseMercatorTest.java
    
sis/trunk/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
    
sis/trunk/core/sis-referencing/src/test/resources/org/apache/sis/referencing/operation/ConcatenatedOperation.xml
    
sis/trunk/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml
    
sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Schemas.java
    
sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java
    
sis/trunk/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/SC_VerticalCRS.java
    
sis/trunk/profiles/sis-french-profile/src/test/resources/org/apache/sis/internal/profile/fra/DirectReferenceSystem.xml
    
sis/trunk/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/MetadataReaderTest.java

Propchange: sis/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 20 16:24:53 2015
@@ -1,4 +1,4 @@
 /sis/branches/Android:1430670-1480699
-/sis/branches/JDK6:1394364-1708451
-/sis/branches/JDK7:1394913-1708447
-/sis/branches/JDK8:1584960-1708411
+/sis/branches/JDK6:1394364-1709629
+/sis/branches/JDK7:1394913-1709628
+/sis/branches/JDK8:1584960-1709607

Modified: 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identifier.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identifier.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identifier.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identifier.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -77,6 +77,7 @@ public final class MD_Identifier extends
      * Returns {@code true} if the identifier should be marshalled as a
      * {@code RS_Identifier} instead than {@code MD_Identifier}.
      */
+    @SuppressWarnings("deprecation")
     private boolean isRS() {
         return (metadata instanceof ReferenceIdentifier);
     }

Modified: 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -56,9 +56,6 @@ import static org.opengis.annotation.Spe
  *
  * {@preformat xml
  *   <gmd:MD_Identifier>
- *     <gmd:code>
- *       <gco:CharacterString>4326</gco:CharacterString>
- *     </gmd:code>
  *     <gmd:authority>
  *       <gmd:CI_Citation>
  *         <gmd:title>
@@ -66,6 +63,9 @@ import static org.opengis.annotation.Spe
  *         </gmd:title>
  *       </gmd:CI_Citation>
  *     </gmd:authority>
+ *     <gmd:code>
+ *       <gco:CharacterString>4326</gco:CharacterString>
+ *     </gmd:code>
  *   </gmd:MD_Identifier>
  * }
  *
@@ -82,14 +82,14 @@ import static org.opengis.annotation.Spe
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
  * @since   0.3
- * @version 0.6
+ * @version 0.7
  * @module
  *
  * @see ImmutableIdentifier
  */
 @XmlType(name = "MD_Identifier_Type", propOrder = {
-    "code",
-    "authority"
+    "authority",
+    "code"
 })
 @XmlRootElement(name = "MD_Identifier")
 public class DefaultIdentifier extends ISOMetadata implements Identifier {

Modified: 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -19,6 +19,7 @@ package org.apache.sis.metadata.iso;
 import java.util.Map;
 import java.util.Locale;
 import java.io.Serializable;
+import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import org.opengis.metadata.citation.Citation;
@@ -122,11 +123,17 @@ import org.apache.sis.internal.jdk7.Obje
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3
- * @version 0.6
+ * @version 0.7
  * @module
  *
  * @see DefaultIdentifier
  */
+@XmlType(name = "RS_Identifier_Type", propOrder = {
+    "authority",
+    "code",
+    "codeSpace",
+    "version"
+})
 @XmlRootElement(name = "RS_Identifier")
 public class ImmutableIdentifier extends FormattableObject implements 
ReferenceIdentifier, Serializable {
     /**

Modified: 
sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/DefaultIdentifierTest.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/DefaultIdentifierTest.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/DefaultIdentifierTest.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/DefaultIdentifierTest.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -44,9 +44,6 @@ public final strictfp class DefaultIdent
     private static final String XML =
             "<gmd:MD_Identifier xmlns:gmd=\"" + Namespaces.GMD + "\" " +
                                "xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
-            "  <gmd:code>\n" +
-            "    <gco:CharacterString>4326</gco:CharacterString>\n" +
-            "  </gmd:code>\n" +
             "  <gmd:authority>\n" +
             "    <gmd:CI_Citation>\n" +
             "      <gmd:title>\n" +
@@ -54,6 +51,9 @@ public final strictfp class DefaultIdent
             "      </gmd:title>\n" +
             "    </gmd:CI_Citation>\n" +
             "  </gmd:authority>\n" +
+            "  <gmd:code>\n" +
+            "    <gco:CharacterString>4326</gco:CharacterString>\n" +
+            "  </gmd:code>\n" +
             "</gmd:MD_Identifier>";
 
     /**

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_Conversion.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_Conversion.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_Conversion.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_Conversion.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -30,7 +30,7 @@ import org.apache.sis.referencing.operat
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  */
 public final class CC_Conversion extends PropertyType<CC_Conversion, 
Conversion> {
@@ -100,6 +100,7 @@ public final class CC_Conversion extends
     public void setElement(final DefaultConversion conversion) {
         metadata = conversion;
         Context.setWrapper(Context.current(), this);
+        if (conversion.getMethod() == null) incomplete("method");
     }
 
     /**

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_CoordinateOperation.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_CoordinateOperation.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_CoordinateOperation.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_CoordinateOperation.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -18,6 +18,8 @@ package org.apache.sis.internal.jaxb.ref
 
 import javax.xml.bind.annotation.XmlElementRef;
 import org.opengis.referencing.operation.CoordinateOperation;
+import org.opengis.referencing.operation.PassThroughOperation;
+import org.opengis.referencing.operation.SingleOperation;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
 import org.apache.sis.referencing.operation.AbstractCoordinateOperation;
 
@@ -84,9 +86,14 @@ public final class CC_CoordinateOperatio
     /**
      * Invoked by JAXB at unmarshalling time for storing the result 
temporarily.
      *
-     * @param conversion The unmarshalled element.
+     * @param operation The unmarshalled element.
      */
-    public void setElement(final AbstractCoordinateOperation conversion) {
-        metadata = conversion;
+    public void setElement(final AbstractCoordinateOperation operation) {
+        metadata = operation;
+        if ((operation instanceof PassThroughOperation) && 
((PassThroughOperation) operation).getOperation() == null) {
+            incomplete("coordOperation");
+        } else if ((operation instanceof SingleOperation) && 
((SingleOperation) operation).getMethod() == null) {
+            incomplete("method");
+        }
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_Ellipsoid.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_Ellipsoid.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_Ellipsoid.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_Ellipsoid.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -29,7 +29,7 @@ import org.apache.sis.referencing.datum.
  * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.4
+ * @version 0.7
  * @module
  */
 public final class CD_Ellipsoid extends PropertyType<CD_Ellipsoid, Ellipsoid> {
@@ -89,5 +89,7 @@ public final class CD_Ellipsoid extends
      */
     public void setElement(final DefaultEllipsoid ellipsoid) {
         metadata = ellipsoid;
+        if (!(ellipsoid.getSemiMajorAxis() > 0)) incomplete("semiMajorAxis");  
 // Use '!' for catching NaN.
+        if (!(ellipsoid.getSemiMinorAxis() > 0)) incomplete("semiMinorAxis");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_GeodeticDatum.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_GeodeticDatum.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_GeodeticDatum.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_GeodeticDatum.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -29,7 +29,7 @@ import org.apache.sis.referencing.datum.
  * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.4
+ * @version 0.7
  * @module
  */
 public final class CD_GeodeticDatum extends PropertyType<CD_GeodeticDatum, 
GeodeticDatum> {
@@ -89,5 +89,7 @@ public final class CD_GeodeticDatum exte
      */
     public void setElement(final DefaultGeodeticDatum datum) {
         metadata = datum;
+        if (datum.getEllipsoid()     == null) incomplete("ellipsoid");
+        if (datum.getPrimeMeridian() == null) incomplete("primeMeridian");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_PrimeMeridian.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_PrimeMeridian.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_PrimeMeridian.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_PrimeMeridian.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -89,5 +89,6 @@ public final class CD_PrimeMeridian exte
      */
     public void setElement(final DefaultPrimeMeridian datum) {
         metadata = datum;
+        if (datum.getAngularUnit() == null) incomplete("angularUnit");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_TemporalDatum.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_TemporalDatum.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_TemporalDatum.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_TemporalDatum.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -29,7 +29,7 @@ import org.apache.sis.referencing.datum.
  * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.4
+ * @version 0.7
  * @module
  */
 public final class CD_TemporalDatum extends PropertyType<CD_TemporalDatum, 
TemporalDatum> {
@@ -89,5 +89,6 @@ public final class CD_TemporalDatum exte
      */
     public void setElement(final DefaultTemporalDatum datum) {
         metadata = datum;
+        if (datum.getOrigin() == null) incomplete("origin");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystem.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystem.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystem.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystem.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -88,5 +88,6 @@ public final class CS_CoordinateSystem e
      */
     public void setElement(final AbstractCS cs) {
         metadata = cs;
+        if (cs.getDimension() == 0) incomplete("axis");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystemAxis.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystemAxis.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystemAxis.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystemAxis.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -29,7 +29,7 @@ import org.apache.sis.internal.jaxb.gco.
  * @author  Guilhem Legal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
- * @version 0.4
+ * @version 0.7
  * @module
  */
 public final class CS_CoordinateSystemAxis extends 
PropertyType<CS_CoordinateSystemAxis, CoordinateSystemAxis> {
@@ -89,5 +89,7 @@ public final class CS_CoordinateSystemAx
      */
     public void setElement(final DefaultCoordinateSystemAxis axis) {
         metadata = axis;
+        if (axis.getDirection() == null) incomplete("axisDirection");
+        if (axis.getUnit()      == null) incomplete("unit");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_CRS.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_CRS.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_CRS.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_CRS.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -17,6 +17,8 @@
 package org.apache.sis.internal.jaxb.referencing;
 
 import javax.xml.bind.annotation.XmlElementRef;
+import org.opengis.referencing.crs.SingleCRS;
+import org.opengis.referencing.crs.CompoundCRS;
 import org.opengis.referencing.crs.CoordinateReferenceSystem;
 import org.apache.sis.referencing.crs.AbstractCRS;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
@@ -28,7 +30,7 @@ import org.apache.sis.internal.jaxb.gco.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  */
 public final class SC_CRS extends PropertyType<SC_CRS, 
CoordinateReferenceSystem> {
@@ -84,9 +86,22 @@ public final class SC_CRS extends Proper
     /**
      * Invoked by JAXB at unmarshalling time for storing the result 
temporarily.
      *
+     * <div class="note"><b>Note:</b>
+     * the unmarshalled CRS may be of {@code GeodeticCRS} type, which is not 
the most specific GeoAPI type.
+     * But the {@code GeographicCRS} and {@code GeocentricCRS} sub-types are 
currently not part of ISO 19111.
+     * We could substitute the CRS by a more specific type here, but this 
would break the references specified
+     * by {@code xlink:href} attributes. For now we live with the {@code 
GeodeticCRS} as-is — most of Apache SIS
+     * should be able to work with that.</div>
+     *
      * @param crs The unmarshalled element.
      */
     public void setElement(final AbstractCRS crs) {
         metadata = crs;
+        if (crs.getCoordinateSystem() == null) {
+            incomplete((crs instanceof CompoundCRS) ? 
"componentReferenceSystem" : "coordinateSystem");
+        }
+        if (crs instanceof SingleCRS && ((SingleCRS) crs).getDatum() == null) {
+            incomplete("datum");
+        }
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_SingleCRS.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_SingleCRS.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_SingleCRS.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_SingleCRS.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -86,14 +86,20 @@ public final class SC_SingleCRS extends
     /**
      * Invoked by JAXB at unmarshalling time for storing the result 
temporarily.
      *
+     * <div class="note"><b>Note:</b>
+     * the unmarshalled CRS may be of {@code GeodeticCRS} type, which is not 
the most specific GeoAPI type.
+     * See {@link SC_CRS#setElement(AbstractCRS)} for more discussion.</div>
+     *
      * @param crs The unmarshalled element.
      * @throws IllegalArgumentException if the unmarshalled CRS is not a 
single CRS.
      */
     public void setElement(final AbstractCRS crs) {
-        if (crs != null && !(crs instanceof SingleCRS)) {
+        if (!(crs instanceof SingleCRS)) {
             throw new 
IllegalArgumentException(Errors.format(Errors.Keys.UnexpectedValueInElement_2,
                     "baseCRS", IdentifiedObjects.getName(crs, null)));
         }
         metadata = (SingleCRS) crs;
+        if (crs.getCoordinateSystem()    == null) 
incomplete("coordinateSystem");
+        if (((SingleCRS) crs).getDatum() == null) incomplete("datum");
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractLambert.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractLambert.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractLambert.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractLambert.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.referencing.operation.ConicProjection;
@@ -32,6 +33,7 @@ import org.apache.sis.referencing.operat
  * @version 0.6
  * @module
  */
+@XmlTransient
 class AbstractLambert extends MapProjection {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractMercator.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractMercator.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractMercator.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractMercator.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -17,6 +17,7 @@
 package org.apache.sis.internal.referencing.provider;
 
 import java.util.List;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.parameter.GeneralParameterDescriptor;
@@ -34,6 +35,7 @@ import org.apache.sis.referencing.operat
  * @version 0.6
  * @module
  */
+@XmlTransient
 class AbstractMercator extends MapProjection {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -22,6 +22,7 @@ import java.util.Collection;
 import javax.measure.unit.Unit;
 import javax.measure.unit.SI;
 import javax.measure.unit.NonSI;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.util.GenericName;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
@@ -48,6 +49,7 @@ import org.apache.sis.util.Workaround;
  * @version 0.6
  * @module
  */
+@XmlTransient
 abstract class AbstractProvider extends DefaultOperationMethod implements 
MathTransformProvider {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractStereographic.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractStereographic.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractStereographic.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractStereographic.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.parameter.ParameterNotFoundException;
@@ -33,6 +34,7 @@ import org.apache.sis.referencing.operat
  * @version 0.6
  * @module
  */
+@XmlTransient
 abstract class AbstractStereographic extends MapProjection {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -19,6 +19,7 @@ package org.apache.sis.internal.referenc
 import java.util.Map;
 import java.util.Arrays;
 import java.util.Collections;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterNotFoundException;
@@ -60,6 +61,7 @@ import org.apache.sis.referencing.operat
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class Affine extends AbstractProvider {
     /**
      * Serial number for inter-operability with different versions.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Equirectangular.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Equirectangular.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Equirectangular.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Equirectangular.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -17,6 +17,7 @@
 package org.apache.sis.internal.referencing.provider;
 
 import java.awt.geom.AffineTransform;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.util.FactoryException;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
@@ -70,6 +71,7 @@ import static java.lang.Math.*;
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/equirectangular.html";>Equirectangular
 on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class Equirectangular extends AbstractProvider {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal1SP.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal1SP.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal1SP.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal1SP.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.parameter.ParameterBuilder;
@@ -33,6 +34,7 @@ import org.apache.sis.metadata.iso.citat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_1sp.html";>Lambert
 Conic Conformal 1SP on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class LambertConformal1SP extends AbstractLambert {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal2SP.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal2SP.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal2SP.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformal2SP.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.internal.util.Constants;
@@ -34,6 +35,7 @@ import org.apache.sis.metadata.iso.citat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_2sp.html";>Lambert
 Conic Conformal 2SP on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class LambertConformal2SP extends AbstractLambert {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalBelgium.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalBelgium.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalBelgium.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalBelgium.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.parameter.ParameterBuilder;
 import org.apache.sis.metadata.iso.citation.Citations;
@@ -32,6 +33,7 @@ import org.apache.sis.metadata.iso.citat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_2sp_belgium.html";>Lambert
 Conic Conformal 2SP (Belgium) on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class LambertConformalBelgium extends AbstractLambert {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalMichigan.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalMichigan.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalMichigan.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalMichigan.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import javax.measure.unit.Unit;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
@@ -30,6 +31,7 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class LambertConformalMichigan extends AbstractLambert {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalWest.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalWest.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalWest.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LambertConformalWest.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.parameter.ParameterBuilder;
@@ -40,6 +41,7 @@ import org.apache.sis.util.resources.Mes
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class LambertConformalWest extends AbstractLambert {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LongitudeRotation.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LongitudeRotation.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LongitudeRotation.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/LongitudeRotation.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
@@ -49,6 +50,7 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class LongitudeRotation extends AbstractProvider {
     /**
      * Serial number for inter-operability with different versions.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -19,6 +19,7 @@ package org.apache.sis.internal.referenc
 import java.util.Map;
 import java.util.HashMap;
 import java.util.NoSuchElementException;
+import javax.xml.bind.annotation.XmlTransient;
 import javax.measure.unit.SI;
 import org.opengis.util.FactoryException;
 import org.opengis.util.InternationalString;
@@ -55,9 +56,10 @@ import static org.opengis.metadata.Ident
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  */
+@XmlTransient
 public abstract class MapProjection extends AbstractProvider {
     /**
      * Serial number for inter-operability with different versions.
@@ -211,18 +213,30 @@ public abstract class MapProjection exte
     }
 
     /**
-     * Copies all names and identifiers, but using the given authority as the 
primary name.
-     * This is a convenience method for defining the parameters of an 
ESRI-specific projection
-     * using the EPSG parameters as template.
+     * Copies all aliases and identifiers except the ones for the given 
authority.
+     * If the given replacement is non-null, then it will be used instead of 
the
+     * first occurrence of the omitted name.
+     *
+     * <p>This method does not copy the primary name. It is caller's 
responsibility to add it first.</p>
+     *
+     * @param  source      The parameter from which to copy the names.
+     * @param  except      The authority of the name to omit. Can not be EPSG.
+     * @param  replacement The name to use instead of the omitted one, or 
{@code null} if none.
+     * @param  builder     Where to add the names.
+     * @return The given {@code builder}, for method call chaining.
+     *
+     * @since 0.7
      */
-    static ParameterBuilder addNamesAndIdentifiers(final Citation authority,
-            final ParameterDescriptor<Double> source, final ParameterBuilder 
builder)
+    static ParameterBuilder except(final ParameterDescriptor<Double> source, 
final Citation except,
+            GenericName replacement, final ParameterBuilder builder)
     {
-        builder.addName(sameNameAs(authority, 
source)).addName(source.getName());
-        for (final GenericName alias : source.getAlias()) {
-            if (((Identifier) alias).getAuthority() != authority) {
-                builder.addName(alias);
+        for (GenericName alias : source.getAlias()) {
+            if (((Identifier) alias).getAuthority() == except) {
+                if (replacement == null) continue;
+                alias = replacement;
+                replacement = null;
             }
+            builder.addName(alias);
         }
         for (final ReferenceIdentifier id : source.getIdentifiers()) {
             builder.addIdentifier(id);
@@ -233,6 +247,10 @@ public abstract class MapProjection exte
     /**
      * Copies all names except the EPSG one from the given parameter into the 
builder.
      * The EPSG name is presumed the first name and identifier (this is not 
verified).
+     *
+     * @param  source  The parameter from which to copy the names.
+     * @param  builder Where to add the names.
+     * @return The given {@code builder}, for method call chaining.
      */
     static ParameterBuilder exceptEPSG(final ParameterDescriptor<?> source, 
final ParameterBuilder builder) {
         for (final GenericName alias : source.getAlias()) {
@@ -242,19 +260,10 @@ public abstract class MapProjection exte
     }
 
     /**
-     * Returns the same parameter than the given one, except that the primary 
name is the ESRI name
-     * instead than the EPSG one.
-     */
-    @SuppressWarnings("unchecked")
-    static ParameterDescriptor<Double> forESRI(final 
ParameterDescriptor<Double> source, final ParameterBuilder builder) {
-        return addNamesAndIdentifiers(Citations.ESRI, source, 
builder).createBounded((MeasurementRange<Double>)
-                ((DefaultParameterDescriptor<Double>) 
source).getValueDomain(), source.getDefaultValue());
-    }
-
-    /**
      * Creates a remarks for parameters that are not formally EPSG parameter.
      *
-     * @param origin The name of the projection for where the parameter is 
formally used.
+     * @param  origin The name of the projection for where the parameter is 
formally used.
+     * @return A remarks saying that the parameter is actually defined in 
{@code origin}.
      */
     static InternationalString notFormalParameter(final String origin) {
         return 
Messages.formatInternational(Messages.Keys.NotFormalProjectionParameter_1, 
origin);

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator1SP.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator1SP.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator1SP.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator1SP.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.internal.util.Constants;
@@ -35,6 +36,7 @@ import org.apache.sis.metadata.iso.citat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/mercator_1sp.html";>Mercator
 1SP on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class Mercator1SP extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator2SP.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator2SP.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator2SP.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator2SP.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.util.InternationalString;
@@ -36,6 +37,7 @@ import org.apache.sis.metadata.iso.citat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/mercator_2sp.html";>Mercator
 2SP on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class Mercator2SP extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MercatorSpherical.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MercatorSpherical.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MercatorSpherical.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MercatorSpherical.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.parameter.ParameterBuilder;
@@ -32,6 +33,7 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class MercatorSpherical extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.internal.util.Constants;
 import org.apache.sis.parameter.ParameterBuilder;
@@ -51,6 +52,7 @@ import org.apache.sis.metadata.iso.citat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/miller_cylindrical.html";>Miller
 Cylindrical on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class MillerCylindrical extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ObliqueStereographic.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ObliqueStereographic.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ObliqueStereographic.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ObliqueStereographic.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.parameter.ParameterNotFoundException;
@@ -31,11 +32,12 @@ import org.apache.sis.referencing.operat
  * @author  Rueben Schulz (UBC)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/oblique_stereographic.html";>Oblique
 Stereographic on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class ObliqueStereographic extends AbstractStereographic {
     /**
      * For cross-version compatibility.
@@ -94,6 +96,6 @@ public final class ObliqueStereographic
      */
     @Override
     protected NormalizedProjection createProjection(Parameters parameters) 
throws ParameterNotFoundException {
-        throw new UnsupportedOperationException("Not supported yet.");  // TODO
+        return new 
org.apache.sis.referencing.operation.projection.ObliqueStereographic(this, 
parameters);
     }
 }

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicA.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicA.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicA.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicA.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
@@ -28,11 +29,12 @@ import org.apache.sis.parameter.Paramete
  * @author  Rueben Schulz (UBC)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/polar_stereographic.html";>Polar
 Stereographic on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class PolarStereographicA extends AbstractStereographic {
     /**
      * For cross-version compatibility.
@@ -40,6 +42,11 @@ public final class PolarStereographicA e
     private static final long serialVersionUID = 538262714055500925L;
 
     /**
+     * The EPSG name for this projection.
+     */
+    public static final String NAME = "Polar Stereographic (variant A)";
+
+    /**
      * The EPSG identifier, to be preferred to the name when available.
      */
     public static final String IDENTIFIER = "9810";
@@ -68,7 +75,7 @@ public final class PolarStereographicA e
 
         PARAMETERS = builder
             .addIdentifier(             IDENTIFIER)
-            .addName(                   "Polar Stereographic (variant A)")
+            .addName(                   NAME)
             .addName(Citations.OGC,     "Polar_Stereographic")
             .addName(Citations.GEOTIFF, "CT_PolarStereographic")
             .addName(Citations.PROJ4,   "stere")

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
@@ -33,6 +34,7 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class PolarStereographicB extends AbstractStereographic {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicC.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicC.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicC.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicC.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 
@@ -29,6 +30,7 @@ import org.opengis.parameter.ParameterDe
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class PolarStereographicC extends AbstractStereographic {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -18,6 +18,7 @@ package org.apache.sis.internal.referenc
 
 import java.util.List;
 import javax.measure.unit.NonSI;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.opengis.parameter.GeneralParameterDescriptor;
@@ -35,6 +36,7 @@ import org.apache.sis.measure.Latitude;
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class PolarStereographicNorth extends AbstractStereographic {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -17,11 +17,14 @@
 package org.apache.sis.internal.referencing.provider;
 
 import javax.measure.unit.NonSI;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
 import org.apache.sis.parameter.ParameterBuilder;
+import org.apache.sis.parameter.DefaultParameterDescriptor;
 import org.apache.sis.measure.Latitude;
+import org.apache.sis.measure.MeasurementRange;
 
 
 /**
@@ -30,9 +33,10 @@ import org.apache.sis.measure.Latitude;
  * @author  Rueben Schulz (UBC)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  */
+@XmlTransient
 public final class PolarStereographicSouth extends AbstractStereographic {
     /**
      * For cross-version compatibility.
@@ -40,13 +44,32 @@ public final class PolarStereographicSou
     private static final long serialVersionUID = -6173635411676914083L;
 
     /**
+     * Copies all names and identifiers, but using the ESRI authority as the 
primary name.
+     * This is a convenience method for defining the parameters of an 
ESRI-specific projection
+     * using the EPSG parameters as template.
+     */
+    private static ParameterBuilder addNamesAndIdentifiers(final 
ParameterDescriptor<Double> source, final ParameterBuilder builder) {
+        return except(source, Citations.ESRI, null, 
builder.addName(sameNameAs(Citations.ESRI, source)).addName(source.getName()));
+    }
+
+    /**
+     * Returns the same parameter than the given one, except that the primary 
name is the ESRI name
+     * instead than the EPSG one.
+     */
+    @SuppressWarnings("unchecked")
+    private static ParameterDescriptor<Double> forESRI(final 
ParameterDescriptor<Double> source, final ParameterBuilder builder) {
+        return addNamesAndIdentifiers(source, 
builder).createBounded((MeasurementRange<Double>)
+                ((DefaultParameterDescriptor<Double>) 
source).getValueDomain(), source.getDefaultValue());
+    }
+
+    /**
      * The group of all parameters expected by this coordinate operation.
      */
     static final ParameterDescriptorGroup PARAMETERS;
     static {
         final ParameterBuilder builder = builder();
         final ParameterDescriptor<?>[] parameters = {
-            addNamesAndIdentifiers(Citations.ESRI, 
PolarStereographicB.STANDARD_PARALLEL, builder)
+            addNamesAndIdentifiers(PolarStereographicB.STANDARD_PARALLEL, 
builder)
                    .createBounded(Latitude.MIN_VALUE, 0, Latitude.MIN_VALUE, 
NonSI.DEGREE_ANGLE),
 
             forESRI(PolarStereographicB.LONGITUDE_OF_ORIGIN, builder),

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PseudoMercator.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PseudoMercator.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PseudoMercator.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PseudoMercator.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.parameter.ParameterBuilder;
 
@@ -30,6 +31,7 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
+@XmlTransient
 public final class PseudoMercator extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/RegionalMercator.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/RegionalMercator.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/RegionalMercator.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/RegionalMercator.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
@@ -36,6 +37,7 @@ import org.apache.sis.parameter.Paramete
  * @version 0.6
  * @module
  */
+@XmlTransient
 public class RegionalMercator extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercator.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercator.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercator.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercator.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.parameter.ParameterBuilder;
@@ -35,6 +36,7 @@ import org.apache.sis.referencing.operat
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/transverse_mercator.html";>Transverse
 Mercator on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class TransverseMercator extends AbstractMercator {
     /**
      * For cross-version compatibility.
@@ -68,8 +70,9 @@ public final class TransverseMercator ex
         LATITUDE_OF_ORIGIN = createLatitude(builder
                 .addNamesAndIdentifiers(Mercator1SP.LATITUDE_OF_ORIGIN), true);
 
-        LONGITUDE_OF_ORIGIN = 
createLongitude(builder.addNamesAndIdentifiers(Mercator1SP.LONGITUDE_OF_ORIGIN)
-                .rename(Citations.NETCDF, "longitude_of_central_meridian"));
+        builder.addName(Mercator1SP.LONGITUDE_OF_ORIGIN.getName());
+        LONGITUDE_OF_ORIGIN = 
createLongitude(except(Mercator1SP.LONGITUDE_OF_ORIGIN, Citations.NETCDF,
+                sameNameAs(Citations.NETCDF, 
LambertConformal2SP.LONGITUDE_OF_FALSE_ORIGIN), builder));
 
         SCALE_FACTOR = createScale(builder
                 .addNamesAndIdentifiers(Mercator1SP.SCALE_FACTOR)

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercatorSouth.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercatorSouth.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercatorSouth.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/TransverseMercatorSouth.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.referencing.provider;
 
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.parameter.ParameterDescriptorGroup;
 import org.apache.sis.metadata.iso.citation.Citations;
@@ -38,6 +39,7 @@ import org.apache.sis.util.resources.Mes
  *
  * @see <a 
href="http://www.remotesensing.org/geotiff/proj_list/transverse_mercator_south_oriented.html";>Transverse
 Mercator (South Oriented) on RemoteSensing.org</a>
  */
+@XmlTransient
 public final class TransverseMercatorSouth extends AbstractMercator {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/package-info.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -22,7 +22,7 @@
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
- * @version 0.6
+ * @version 0.7
  * @module
  *
  * @see org.apache.sis.referencing.operation.transform.MathTransformProvider

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -17,6 +17,7 @@
 package org.apache.sis.parameter;
 
 import java.util.Map;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.util.GenericName;
 import org.opengis.parameter.ParameterValueGroup;
 import org.opengis.parameter.ParameterDescriptor;
@@ -51,6 +52,7 @@ import org.apache.sis.util.Workaround;
  *
  * @see <a 
href="http://www.unidata.ucar.edu/software/netcdf-java/reference/StandardCoordinateTransforms.html";>NetCDF
 projection parameters</a>
  */
+@XmlTransient
 final class MapProjectionDescriptor extends DefaultParameterDescriptorGroup {
     /**
      * For cross-version compatibility.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -371,7 +371,7 @@ final class MapProjectionParameters exte
          * This is not a standard parameter.
          */
         static final ParameterDescriptor<Boolean> DESCRIPTOR = new 
DefaultParameterDescriptor<Boolean>(
-                InverseFlattening.toMap(Constants.IS_IVF_DEFINITIVE), 0, 1, 
Boolean.class, null, null, null);
+                InverseFlattening.toMap(Constants.IS_IVF_DEFINITIVE), 0, 1, 
Boolean.class, null, null, Boolean.FALSE);
 
         /**
          * The parameters for the inverse flattening factor.

Modified: 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
URL: 
http://svn.apache.org/viewvc/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java?rev=1709637&r1=1709636&r2=1709637&view=diff
==============================================================================
--- 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
 [UTF-8] (original)
+++ 
sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorValues.java
 [UTF-8] Tue Oct 20 16:24:53 2015
@@ -22,6 +22,7 @@ import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.lang.reflect.Array;
+import javax.xml.bind.annotation.XmlTransient;
 import org.opengis.referencing.operation.Matrix;
 import org.opengis.parameter.ParameterValue;
 import org.opengis.parameter.ParameterValueGroup;
@@ -58,6 +59,7 @@ import org.apache.sis.util.resources.Err
  * @version 0.6
  * @module
  */
+@XmlTransient
 final class TensorValues<E> extends AbstractParameterDescriptor
         implements ParameterDescriptorGroup, ParameterValueGroup, Cloneable
 {
@@ -144,6 +146,7 @@ final class TensorValues<E> extends Abst
      * Returns a clone of this group.
      */
     @Override
+    @SuppressWarnings("CloneDoesntCallSuperClone")
     public ParameterValueGroup clone() {
         return new TensorValues<E>(this, true);
     }


Reply via email to