sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1517543 [1/2] - in /sis/branches/JDK7: ./ core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ core/sis-metadata/src/test/java/org/apache/sis/metadata/ core/sis...
Date Mon, 26 Aug 2013 14:24:43 GMT
Author: desruisseaux
Date: Mon Aug 26 14:24:42 2013
New Revision: 1517543

URL: http://svn.apache.org/r1517543
Log:
Initial port of "profiles/sis-french-profile" module.

Added:
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
      - copied, changed from r1515995, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java
    sis/branches/JDK7/profiles/
    sis/branches/JDK7/profiles/pom.xml   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/
    sis/branches/JDK7/profiles/sis-french-profile/pom.xml   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_IndirectReferenceSystem.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_LegalConstraints.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_SecurityConstraints.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/package-info.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/resources/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/resources/META-INF/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/resources/META-INF/services/
    sis/branches/JDK7/profiles/sis-french-profile/src/main/resources/META-INF/services/org.apache.sis.internal.jaxb.AdapterReplacement   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/main/resources/META-INF/services/org.apache.sis.internal.jaxb.TypeRegistration   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/test/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/org/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/org/apache/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/org/apache/sis/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/org/apache/sis/profile/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/org/apache/sis/profile/fra/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/java/org/apache/sis/profile/fra/XMLBindingsTest.java   (with props)
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/org/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/org/apache/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/org/apache/sis/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/org/apache/sis/profile/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/org/apache/sis/profile/fra/
    sis/branches/JDK7/profiles/sis-french-profile/src/test/resources/org/apache/sis/profile/fra/DirectReferenceSystem.xml   (with props)
Modified:
    sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java
    sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
    sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
    sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleReferenceIdentifier.java
    sis/branches/JDK7/ide-project/NetBeans/build.xml
    sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml
    sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties
    sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties
    sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml
    sis/branches/JDK7/pom.xml

Modified: sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -16,23 +16,13 @@
  */
 package org.apache.sis.internal.jaxb.metadata;
 
-import java.util.Set;
-import java.util.Collection;
-import java.util.Collections;
-import java.io.Serializable;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.opengis.util.GenericName;
-import org.opengis.util.InternationalString;
-import org.opengis.metadata.citation.Citation;
-import org.opengis.metadata.extent.Extent;
 import org.opengis.referencing.ReferenceSystem;
 import org.opengis.referencing.ReferenceIdentifier;
-import org.apache.sis.util.iso.DefaultNameSpace;
-
-// Related to JDK7
-import java.util.Objects;
+import org.apache.sis.internal.simple.SimpleIdentifiedObject;
+import org.apache.sis.util.ComparisonMode;
 
 
 /**
@@ -54,20 +44,13 @@ import java.util.Objects;
  * @see org.apache.sis.referencing.AbstractReferenceSystem
  */
 @XmlRootElement(name = "MD_ReferenceSystem")
-public class ReferenceSystemMetadata implements ReferenceSystem, Serializable {
+public class ReferenceSystemMetadata extends SimpleIdentifiedObject implements ReferenceSystem {
     /**
      * For cross-version compatibility.
      */
     private static final long serialVersionUID = 2810145397032096087L;
 
     /**
-     * The primary name by which this object is identified.
-     */
-    @XmlElement
-    @XmlJavaTypeAdapter(RS_Identifier.class)
-    private ReferenceIdentifier referenceSystemIdentifier;
-
-    /**
      * Creates a reference system without identifier.
      * This constructor is mainly for JAXB.
      */
@@ -80,7 +63,7 @@ public class ReferenceSystemMetadata imp
      * @param crs The reference system to partially copy.
      */
     public ReferenceSystemMetadata(final ReferenceSystem crs) {
-        referenceSystemIdentifier = crs.getName();
+        super(crs);
     }
 
     /**
@@ -89,142 +72,39 @@ public class ReferenceSystemMetadata imp
      * @param name The primary name by which this object is identified.
      */
     public ReferenceSystemMetadata(final ReferenceIdentifier name) {
-        referenceSystemIdentifier = name;
+        super(name);
     }
 
     /**
      * Returns the primary name by which this object is identified.
+     *
+     * @return The identifier given at construction time.
      */
     @Override
+    @XmlElement(name = "referenceSystemIdentifier")
+    @XmlJavaTypeAdapter(RS_Identifier.class)
     public ReferenceIdentifier getName() {
-        return referenceSystemIdentifier;
-    }
-
-    /**
-     * Current implementation returns an empty set.
-     */
-    @Override
-    public Set<ReferenceIdentifier> getIdentifiers() {
-        return Collections.emptySet();
+        return super.getName();
     }
 
     /**
-     * Current implementation returns an empty set.
-     */
-    @Override
-    public Collection<GenericName> getAlias() {
-        return Collections.emptySet();
-    }
-
-    /**
-     * Current implementation returns {@code null}.
-     */
-    @Override
-    public Extent getDomainOfValidity() {
-        return null;
-    }
-
-    /**
-     * Current implementation returns {@code null}.
-     */
-    @Override
-    public InternationalString getScope() {
-        return null;
-    }
-
-    /**
-     * Current implementation returns {@code null}.
-     */
-    @Override
-    public InternationalString getRemarks() {
-        return null;
-    }
-
-    /**
-     * Returns a hash code value for this object.
+     * Sets the primary name by which this object is identified.
+     *
+     * @param name The new primary name.
      */
-    @Override
-    public int hashCode() {
-        int code = (int) serialVersionUID;
-        final ReferenceIdentifier id = referenceSystemIdentifier;
-        if (id != null) {
-            code ^= id.hashCode();
-        }
-        return code;
+    public void setName(final ReferenceIdentifier name) {
+        referenceSystemIdentifier = name;
     }
 
     /**
      * Compares this object with the given one for equality.
      *
-     * @param object The object to compare with this reference system.
+     * @param  object The object to compare with this reference system.
+     * @param  mode The strictness level of the comparison.
      * @return {@code true} if both objects are equal.
      */
     @Override
-    public boolean equals(final Object object) {
-        if (object == this) {
-            return true;
-        }
-        if (object != null && object.getClass() == getClass()) {
-            final ReferenceSystemMetadata that = (ReferenceSystemMetadata) object;
-            return Objects.equals(referenceSystemIdentifier, that.referenceSystemIdentifier);
-        }
-        return false;
-    }
-
-    /**
-     * Throws an exception in all cases, since this object can't be formatted in a valid WKT.
-     *
-     * @throws UnsupportedOperationException Always thrown.
-     */
-    @Override
-    public String toWKT() throws UnsupportedOperationException {
-        throw new UnsupportedOperationException();
-    }
-
-    /**
-     * Returns a pseudo-WKT representation.
-     */
-    @Override
-    public String toString() {
-        final String code, codespace;
-        final Citation authority;
-        final ReferenceIdentifier id = referenceSystemIdentifier;
-        if (id != null) {
-            code      = id.getCode();
-            codespace = id.getCodeSpace();
-            authority = id.getAuthority();
-        } else {
-            code      = null;
-            codespace = null;
-            authority = null;
-        }
-        return toString("RS", authority, codespace, code, false);
-    }
-
-    /**
-     * Returns a pseudo-WKT representation.
-     *
-     * @param  type       The WKT heading text.
-     * @param  authority  The authority to write in the {@code "AUTHORITY"} element.
-     * @param  codespace  Usually an abbreviation of the authority name.
-     * @param  code       The code to write in the {@code "AUTHORITY"} element, or {@code null} if none.
-     * @param  deprecated {@code true} if the object to format is deprecated.
-     * @return The pseudo-WKT.
-     */
-    public static String toString(final String type, final Citation authority,
-            final String codespace, final String code, final boolean deprecated)
-    {
-        final StringBuilder buffer = new StringBuilder(type).append("[\"");
-        if (codespace != null) {
-            buffer.append(codespace).append(DefaultNameSpace.DEFAULT_SEPARATOR);
-        }
-        buffer.append(code).append('"');
-        if (authority != null) {
-            buffer.append(", AUTHORITY[\"").append(authority.getTitle()).append("\"]");
-        }
-        if (deprecated) {
-            buffer.append(", DEPRECATED");
-        }
-        return buffer.append(']').toString();
+    public boolean equals(final Object object, final ComparisonMode mode) {
+        return super.equals(object, mode) && (object instanceof ReferenceSystem);
     }
 }

Modified: sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -38,8 +38,8 @@ import org.apache.sis.util.iso.SimpleInt
 import org.apache.sis.util.iso.DefaultInternationalString;
 import org.apache.sis.metadata.iso.citation.Citations;
 import org.apache.sis.internal.jaxb.metadata.CI_Citation;
-import org.apache.sis.internal.jaxb.metadata.ReferenceSystemMetadata;
 import org.apache.sis.internal.jaxb.gco.StringAdapter;
+import org.apache.sis.internal.simple.SimpleIdentifiedObject;
 
 import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
 import static org.opengis.referencing.IdentifiedObject.REMARKS_KEY;
@@ -502,6 +502,6 @@ public class ImmutableIdentifier impleme
      */
     @Override
     public String toString() {
-        return ReferenceSystemMetadata.toString("IDENTIFIER", authority, codeSpace, code, isDeprecated());
+        return SimpleIdentifiedObject.toString("IDENTIFIER", authority, codeSpace, code, isDeprecated());
     }
 }

Modified: sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -154,7 +154,7 @@ public final strictfp class MetadataStan
         final Map<String,Object> map = MetadataStandard.ISO_19115.asValueMap(instance,
                 KeyNamePolicy.JAVABEANS_PROPERTY, ValueExistencePolicy.NON_EMPTY);
         assertFalse("The properties map shall not be empty.", map.isEmpty());
-        assertEquals("Unexpected number of properties.", 4, map.size());
+        assertEquals("Unexpected number of properties.", 5, map.size());
         /*
          * Verify the set of keys in the ValueMap.
          *
@@ -163,12 +163,14 @@ public final strictfp class MetadataStan
          * PropertyAccessorTest.testConstructor().
          */
         final Set<String> keys = map.keySet();
-        assertEquals("[title, alternateTitles, identifiers, presentationForms]", keys.toString());
+        assertEquals("[title, alternateTitles, identifiers, citedResponsibleParties, presentationForms]", keys.toString());
         assertTrue  ("Shall exist and be defined.",   keys.contains("title"));
         assertTrue  ("Shall exist and be defined.",   keys.contains("getTitle"));
         assertTrue  ("Shall exist and be defined.",   keys.contains("identifier"));
         assertTrue  ("Shall exist and be defined.",   keys.contains("identifiers"));
         assertTrue  ("Shall exist and be defined.",   keys.contains("getIdentifiers"));
+        assertTrue  ("Shall exist and be defined.",   keys.contains("citedResponsibleParty"));
+        assertTrue  ("Shall exist and be defined.",   keys.contains("citedResponsibleParties"));
         assertFalse ("Shall exist but be undefined.", keys.contains("ISBN"));
         assertFalse ("Shall not exists.",             keys.contains("dummy"));
         /*

Modified: sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/HardCodedCitations.java?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/HardCodedCitations.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/HardCodedCitations.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -16,9 +16,12 @@
  */
 package org.apache.sis.metadata.iso.citation;
 
+import java.net.URI;
 import java.util.Collection;
 import org.opengis.metadata.Identifier;
+import org.opengis.metadata.citation.Role;
 import org.opengis.metadata.citation.Citation;
+import org.opengis.metadata.citation.OnLineFunction;
 import org.opengis.metadata.citation.PresentationForm;
 import org.apache.sis.metadata.iso.DefaultIdentifier;
 import org.apache.sis.util.iso.SimpleInternationalString;
@@ -37,7 +40,7 @@ import static java.util.Collections.sing
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-2.4)
- * @version 0.3
+ * @version 0.4
  * @module
  */
 public final strictfp class HardCodedCitations extends Static {
@@ -91,10 +94,19 @@ public final strictfp class HardCodedCit
      */
     public static final DefaultCitation EPSG;
     static {
-        final DefaultCitation c = new DefaultCitation("European Petroleum Survey Group");
+        final SimpleInternationalString title = new SimpleInternationalString("European Petroleum Survey Group");
+        final DefaultOnlineResource r = new DefaultOnlineResource(URI.create("http://www.epsg.org"));
+        r.setFunction(OnLineFunction.INFORMATION);
+
+        final DefaultResponsibleParty p = new DefaultResponsibleParty(Role.PRINCIPAL_INVESTIGATOR);
+        p.setOrganisationName(title);
+        p.setContactInfo(new DefaultContact(r));
+
+        final DefaultCitation c = new DefaultCitation(title);
         c.setAlternateTitles(singleton(new SimpleInternationalString("EPSG")));
         c.setPresentationForms(singleton(PresentationForm.TABLE_DIGITAL));
         c.getIdentifiers().add(new DefaultIdentifier("EPSG"));
+        c.getCitedResponsibleParties().add(p);
         c.freeze();
         EPSG = c;
     }

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -20,7 +20,6 @@ import java.util.Date;
 import java.util.Collection;
 import java.util.Collections;
 import java.io.Serializable;
-
 import org.opengis.metadata.Identifier;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.citation.CitationDate;
@@ -36,7 +35,7 @@ import java.util.Objects;
 
 
 /**
- * A trivial implementation of {@link Citation}.
+ * A trivial implementation of {@link Citation} containing only a title.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-3.19)
@@ -65,6 +64,8 @@ public class SimpleCitation implements C
 
     /**
      * Returns the title as an international string.
+     *
+     * @return The title given at construction time.
      */
     @Override
     public InternationalString getTitle() {
@@ -75,6 +76,8 @@ public class SimpleCitation implements C
      * Methods inherited from the {@link Citation} interface which are
      * not of interest to this {@code SimpleCitation} implementation.
      * Those methods will be removed in the JDK8 branch.
+     *
+     * @return An empty list.
      */
     @Override public Collection<InternationalString>  getAlternateTitles()         {return Collections.emptyList();}
     @Override public Collection<CitationDate>         getDates()                   {return Collections.emptyList();}

Copied: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java (from r1515995, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java?p2=sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java&p1=sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java&r1=1515995&r2=1517543&rev=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/ReferenceSystemMetadata.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -14,86 +14,76 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.internal.jaxb.metadata;
+package org.apache.sis.internal.simple;
 
 import java.util.Set;
 import java.util.Collection;
 import java.util.Collections;
 import java.io.Serializable;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import org.opengis.util.GenericName;
 import org.opengis.util.InternationalString;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.extent.Extent;
-import org.opengis.referencing.ReferenceSystem;
+import org.opengis.referencing.IdentifiedObject;
 import org.opengis.referencing.ReferenceIdentifier;
 import org.apache.sis.util.iso.DefaultNameSpace;
+import org.apache.sis.util.LenientComparable;
+import org.apache.sis.util.ComparisonMode;
+import org.apache.sis.util.Utilities;
 
 // Related to JDK7
 import java.util.Objects;
 
 
 /**
- * An implementation of {@link ReferenceSystem} marshalled as specified in ISO 19115.
- * This is different than the {@code ReferenceSystem} implementation provided in the
- * referencing module, since the later marshall the CRS as specified in GML (close
- * to ISO 19111 model).
- *
- * <p>Note that this implementation is very simple and serves no other purpose than being
- * a container for XML parsing or formatting. For real referencing service, consider using
- * {@link org.apache.sis.referencing.AbstractReferenceSystem} subclasses instead.</p>
+ * A trivial implementation of {@link IdentifiedObject} containing only a primary name.
  *
  * @author  Guilhem Legal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-3.00)
  * @version 0.3
  * @module
- *
- * @see org.apache.sis.referencing.AbstractReferenceSystem
  */
-@XmlRootElement(name = "MD_ReferenceSystem")
-public class ReferenceSystemMetadata implements ReferenceSystem, Serializable {
+public class SimpleIdentifiedObject implements IdentifiedObject, LenientComparable, Serializable {
     /**
      * For cross-version compatibility.
      */
-    private static final long serialVersionUID = 2810145397032096087L;
+    private static final long serialVersionUID = 4773397959809985024L;
 
     /**
      * The primary name by which this object is identified.
      */
-    @XmlElement
-    @XmlJavaTypeAdapter(RS_Identifier.class)
-    private ReferenceIdentifier referenceSystemIdentifier;
+    protected ReferenceIdentifier referenceSystemIdentifier;
 
     /**
-     * Creates a reference system without identifier.
+     * Creates an identified object without identifier.
      * This constructor is mainly for JAXB.
      */
-    public ReferenceSystemMetadata() {
+    protected SimpleIdentifiedObject() {
     }
 
     /**
-     * Creates a new reference system from the given one.
+     * Creates an identified object with the same identifier than the given one.
      *
-     * @param crs The reference system to partially copy.
+     * @param object The identified object to partially copy.
      */
-    public ReferenceSystemMetadata(final ReferenceSystem crs) {
-        referenceSystemIdentifier = crs.getName();
+    public SimpleIdentifiedObject(final IdentifiedObject object) {
+        referenceSystemIdentifier = object.getName();
     }
 
     /**
-     * Creates a new reference system from the given identifier.
+     * Creates an identified object with the given identifier.
      *
      * @param name The primary name by which this object is identified.
      */
-    public ReferenceSystemMetadata(final ReferenceIdentifier name) {
+    public SimpleIdentifiedObject(final ReferenceIdentifier name) {
         referenceSystemIdentifier = name;
     }
 
     /**
      * Returns the primary name by which this object is identified.
+     *
+     * @return The identifier given at construction time.
      */
     @Override
     public ReferenceIdentifier getName() {
@@ -101,7 +91,10 @@ public class ReferenceSystemMetadata imp
     }
 
     /**
+     * Method required by the {@link IdentifiedObject} interface.
      * Current implementation returns an empty set.
+     *
+     * @return The identifiers, or an empty set if none.
      */
     @Override
     public Set<ReferenceIdentifier> getIdentifiers() {
@@ -109,7 +102,10 @@ public class ReferenceSystemMetadata imp
     }
 
     /**
+     * Method required by the {@link IdentifiedObject} interface.
      * Current implementation returns an empty set.
+     *
+     * @return The aliases, or an empty set if none.
      */
     @Override
     public Collection<GenericName> getAlias() {
@@ -117,23 +113,30 @@ public class ReferenceSystemMetadata imp
     }
 
     /**
+     * Method required by most {@link IdentifiedObject} sub-interfaces.
      * Current implementation returns {@code null}.
+     *
+     * @return The domain of validity, or {@code null} if none.
      */
-    @Override
     public Extent getDomainOfValidity() {
         return null;
     }
 
     /**
+     * Method required by most {@link IdentifiedObject} sub-interfaces.
      * Current implementation returns {@code null}.
+     *
+     * @return The scope, or {@code null} if none.
      */
-    @Override
     public InternationalString getScope() {
         return null;
     }
 
     /**
+     * Method required by the {@link IdentifiedObject} interface.
      * Current implementation returns {@code null}.
+     *
+     * @return The remarks, or {@code null} if none.
      */
     @Override
     public InternationalString getRemarks() {
@@ -144,7 +147,7 @@ public class ReferenceSystemMetadata imp
      * Returns a hash code value for this object.
      */
     @Override
-    public int hashCode() {
+    public final int hashCode() {
         int code = (int) serialVersionUID;
         final ReferenceIdentifier id = referenceSystemIdentifier;
         if (id != null) {
@@ -156,17 +159,36 @@ public class ReferenceSystemMetadata imp
     /**
      * Compares this object with the given one for equality.
      *
-     * @param object The object to compare with this reference system.
+     * @param  object The object to compare with this reference system.
      * @return {@code true} if both objects are equal.
      */
     @Override
-    public boolean equals(final Object object) {
+    public final boolean equals(final Object object) {
+        return equals(object, ComparisonMode.STRICT);
+    }
+
+    /**
+     * Compares this object with the given one for equality.
+     *
+     * @param  object The object to compare with this reference system.
+     * @param  mode The strictness level of the comparison.
+     * @return {@code true} if both objects are equal.
+     */
+    @Override
+    public boolean equals(final Object object, final ComparisonMode mode) {
         if (object == this) {
             return true;
         }
-        if (object != null && object.getClass() == getClass()) {
-            final ReferenceSystemMetadata that = (ReferenceSystemMetadata) object;
-            return Objects.equals(referenceSystemIdentifier, that.referenceSystemIdentifier);
+        if (mode == ComparisonMode.STRICT) {
+            if (object != null && object.getClass() == getClass()) {
+                final SimpleIdentifiedObject that = (SimpleIdentifiedObject) object;
+                return Objects.equals(referenceSystemIdentifier, that.referenceSystemIdentifier);
+            }
+        } else {
+            if (object instanceof IdentifiedObject) {
+                final IdentifiedObject that = (IdentifiedObject) object;
+                return Utilities.deepEquals(referenceSystemIdentifier, that.getName(), mode);
+            }
         }
         return false;
     }
@@ -174,6 +196,7 @@ public class ReferenceSystemMetadata imp
     /**
      * Throws an exception in all cases, since this object can't be formatted in a valid WKT.
      *
+     * @return The Well Known Text.
      * @throws UnsupportedOperationException Always thrown.
      */
     @Override
@@ -198,7 +221,7 @@ public class ReferenceSystemMetadata imp
             codespace = null;
             authority = null;
         }
-        return toString("RS", authority, codespace, code, false);
+        return toString("OBJECT", authority, codespace, code, false);
     }
 
     /**

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleReferenceIdentifier.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleReferenceIdentifier.java?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleReferenceIdentifier.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleReferenceIdentifier.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -85,6 +85,8 @@ public class SimpleReferenceIdentifier i
      * bibliographical reference to an international standard such as ISO 19115.
      *
      * <p>The default implementation returns the citation specified at construction time;</p>
+     *
+     * @return The authority given at construction time, or {@code null} if none.
      */
     @Override
     public Citation getAuthority() {
@@ -95,6 +97,8 @@ public class SimpleReferenceIdentifier i
      * Returns the name or identifier of the person or organization responsible for namespace,
      * or {@code null} if none. The default implementation returns the shortest identifier of
      * the {@linkplain #getAuthority() authority}, if any.
+     *
+     * @return A code space inferred from the authority given at construction time, or {@code null} if none.
      */
     @Override
     public String getCodeSpace() {
@@ -107,6 +111,8 @@ public class SimpleReferenceIdentifier i
      * referenced by the {@linkplain #getAuthority() authority} citation.
      *
      * <p>The default implementation returns the code specified at construction time;</p>
+     *
+     * @return The code given at construction time, or {@code null} if none.
      */
     @Override
     public String getCode() {
@@ -117,6 +123,8 @@ public class SimpleReferenceIdentifier i
      * Version identifier for the namespace, as specified by the code authority.
      * When appropriate, the edition is identified by the effective date, coded
      * using ISO 8601 date format.
+     *
+     * @return A version inferred from the authority given at construction time, or {@code null} if none.
      */
     @Override
     public String getVersion() {

Modified: sis/branches/JDK7/ide-project/NetBeans/build.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/build.xml?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/build.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/build.xml Mon Aug 26 14:24:42 2013
@@ -69,6 +69,13 @@
       </fileset>
     </concat>
 
+    <!-- AdapterReplacement implementations to be loaded by ServiceLoader. -->
+    <concat destfile="${build.classes.dir}/META-INF/services/org.apache.sis.internal.jaxb.AdapterReplacement" encoding="UTF-8" fixlastline="yes">
+      <fileset dir="${project.root}">
+        <include name="*/*/src/main/resources/META-INF/services/org.apache.sis.internal.jaxb.AdapterReplacement"/>
+      </fileset>
+    </concat>
+
     <!-- DataStoreProvider implementations to be loaded by ServiceLoader. -->
     <concat destfile="${build.classes.dir}/META-INF/services/org.apache.sis.storage.DataStoreProvider" encoding="UTF-8" fixlastline="yes">
       <fileset dir="${project.root}">
@@ -86,5 +93,10 @@
         <include name="**/*.xml"/>
       </fileset>
     </copy>
+    <copy todir="${build.test.classes.dir}">
+      <fileset dir="${project.root}/profiles/sis-french-profile/src/test/resources">
+        <include name="**/*.xml"/>
+      </fileset>
+    </copy>
   </target>
 </project>

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/build-impl.xml Mon Aug 26 14:24:42 2013
@@ -142,6 +142,7 @@ is divided into following sections:
                 <available file="${test.referencing.dir}"/>
                 <available file="${test.metadata.dir}"/>
                 <available file="${test.utility.dir}"/>
+                <available file="${test.fra-profile.dir}"/>
             </or>
         </condition>
         <condition property="have.sources">
@@ -155,6 +156,7 @@ is divided into following sections:
                 <available file="${src.referencing.dir}"/>
                 <available file="${src.metadata.dir}"/>
                 <available file="${src.utility.dir}"/>
+                <available file="${src.fra-profile.dir}"/>
             </or>
         </condition>
         <condition property="netbeans.home+have.tests">
@@ -251,6 +253,7 @@ is divided into following sections:
         <fail unless="src.referencing.dir">Must set src.referencing.dir</fail>
         <fail unless="src.metadata.dir">Must set src.metadata.dir</fail>
         <fail unless="src.utility.dir">Must set src.utility.dir</fail>
+        <fail unless="src.fra-profile.dir">Must set src.fra-profile.dir</fail>
         <fail unless="test.console.dir">Must set test.console.dir</fail>
         <fail unless="test.netcdf.dir">Must set test.netcdf.dir</fail>
         <fail unless="test.storage.dir">Must set test.storage.dir</fail>
@@ -258,6 +261,7 @@ is divided into following sections:
         <fail unless="test.referencing.dir">Must set test.referencing.dir</fail>
         <fail unless="test.metadata.dir">Must set test.metadata.dir</fail>
         <fail unless="test.utility.dir">Must set test.utility.dir</fail>
+        <fail unless="test.fra-profile.dir">Must set test.fra-profile.dir</fail>
         <fail unless="build.dir">Must set build.dir</fail>
         <fail unless="dist.dir">Must set dist.dir</fail>
         <fail unless="build.classes.dir">Must set build.classes.dir</fail>
@@ -278,7 +282,7 @@ is divided into following sections:
     </target>
     <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
         <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}" name="srcdir"/>
+            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
             <attribute default="${build.classes.dir}" name="destdir"/>
             <attribute default="${javac.classpath}" name="classpath"/>
             <attribute default="${javac.processorpath}" name="processorpath"/>
@@ -318,7 +322,7 @@ is divided into following sections:
     </target>
     <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
         <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}" name="srcdir"/>
+            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
             <attribute default="${build.classes.dir}" name="destdir"/>
             <attribute default="${javac.classpath}" name="classpath"/>
             <attribute default="${javac.processorpath}" name="processorpath"/>
@@ -350,7 +354,7 @@ is divided into following sections:
     </target>
     <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
         <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}" name="srcdir"/>
+            <attribute default="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}" name="srcdir"/>
             <attribute default="${build.classes.dir}" name="destdir"/>
             <attribute default="${javac.classpath}" name="classpath"/>
             <sequential>
@@ -458,6 +462,9 @@ is divided into following sections:
                         <fileset dir="${test.utility.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${test.fra-profile.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
                         <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
                             <filename name="${test.binarytestincludes}"/>
                         </fileset>
@@ -508,6 +515,9 @@ is divided into following sections:
                     <fileset dir="${test.utility.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
                         <filename name="@{testincludes}"/>
                     </fileset>
+                    <fileset dir="${test.fra-profile.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
                 </union>
                 <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
                 <testng classfilesetref="test.set" failureProperty="tests.failed" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="Apache_SIS_for_JDK7" testname="TestNG tests" workingDir="${work.dir}">
@@ -638,6 +648,9 @@ is divided into following sections:
                         <fileset dir="${test.utility.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
                         </fileset>
+                        <fileset dir="${test.fra-profile.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
                         <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
                             <filename name="${test.binarytestincludes}"/>
                         </fileset>
@@ -1002,7 +1015,7 @@ is divided into following sections:
                 <include name="*"/>
             </dirset>
         </pathconvert>
-        <j2seproject3:depend srcdir="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${build.generated.subdirs}"/>
+        <j2seproject3:depend srcdir="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${build.generated.subdirs}"/>
     </target>
     <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
         <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
@@ -1016,6 +1029,7 @@ is divided into following sections:
             <fileset dir="${src.referencing.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.metadata.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${src.utility.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${src.fra-profile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
         </copy>
     </target>
     <target if="has.persistence.xml" name="-copy-persistence-xml">
@@ -1036,7 +1050,7 @@ is divided into following sections:
     <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
         <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}"/>
+        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.local-src.dir}:${src.webapp.dir}:${src.console.dir}:${src.netcdf.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}"/>
     </target>
     <target name="-post-compile-single">
         <!-- Empty placeholder for easier customization. -->
@@ -1324,6 +1338,9 @@ is divided into following sections:
             <fileset dir="${src.utility.dir}" excludes="*.java,${excludes}" includes="${includes}">
                 <filename name="**/*.java"/>
             </fileset>
+            <fileset dir="${src.fra-profile.dir}" excludes="*.java,${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
             <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
                 <include name="**/*.java"/>
                 <exclude name="*.java"/>
@@ -1358,6 +1375,9 @@ is divided into following sections:
             <fileset dir="${src.utility.dir}" excludes="${excludes}" includes="${includes}">
                 <filename name="**/doc-files/**"/>
             </fileset>
+            <fileset dir="${src.fra-profile.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
             <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
                 <include name="**/doc-files/**"/>
             </fileset>
@@ -1380,10 +1400,10 @@ is divided into following sections:
         <!-- You can override this target in the ../build.xml file. -->
     </target>
     <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}"/>
+        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
     </target>
     <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}"/>
+        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1392,6 +1412,7 @@ is divided into following sections:
             <fileset dir="${test.referencing.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.metadata.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.utility.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${test.fra-profile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
         </copy>
     </target>
     <target name="-post-compile-test">
@@ -1406,7 +1427,7 @@ is divided into following sections:
     <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
         <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}"/>
+        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}" srcdir="${test.console.dir}:${test.netcdf.dir}:${test.storage.dir}:${test.feature.dir}:${test.referencing.dir}:${test.metadata.dir}:${test.utility.dir}:${test.fra-profile.dir}"/>
         <copy todir="${build.test.classes.dir}">
             <fileset dir="${test.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.netcdf.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
@@ -1415,6 +1436,7 @@ is divided into following sections:
             <fileset dir="${test.referencing.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.metadata.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
             <fileset dir="${test.utility.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <fileset dir="${test.fra-profile.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
         </copy>
     </target>
     <target name="-post-compile-test-single">

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/genfiles.properties [ISO-8859-1] Mon Aug 26 14:24:42 2013
@@ -3,6 +3,6 @@
 build.xml.data.CRC32=58e6b21c
 build.xml.script.CRC32=462eaba0
 build.xml.stylesheet.CRC32=28e38971@1.53.1.46
-nbproject/build-impl.xml.data.CRC32=bd5320d7
-nbproject/build-impl.xml.script.CRC32=8f7cbac4
+nbproject/build-impl.xml.data.CRC32=8034da0e
+nbproject/build-impl.xml.script.CRC32=4581ffb3
 nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties [ISO-8859-1] (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/project.properties [ISO-8859-1] Mon Aug 26 14:24:42 2013
@@ -58,6 +58,8 @@ src.metadata.dir     = ${project.root}/c
 test.metadata.dir    = ${project.root}/core/sis-metadata/src/test/java
 src.utility.dir      = ${project.root}/core/sis-utility/src/main/java
 test.utility.dir     = ${project.root}/core/sis-utility/src/test/java
+src.fra-profile.dir  = ${project.root}/profiles/sis-french-profile/src/main/java
+test.fra-profile.dir = ${project.root}/profiles/sis-french-profile/src/test/java
 
 #
 # Version numbers for all dependencies.

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml Mon Aug 26 14:24:42 2013
@@ -32,6 +32,7 @@
                 <root id="src.referencing.dir" name="Referencing"/>
                 <root id="src.metadata.dir" name="Metadata"/>
                 <root id="src.utility.dir" name="Utility"/>
+                <root id="src.fra-profile.dir" name="French profile"/>
             </source-roots>
             <test-roots>
                 <root id="test.console.dir" name="Test Console"/>
@@ -41,6 +42,7 @@
                 <root id="test.referencing.dir" name="Test Referencing"/>
                 <root id="test.metadata.dir" name="Test Metadata"/>
                 <root id="test.utility.dir" name="Test Utility"/>
+                <root id="test.fra-profile.dir" name="Test French profile"/>
             </test-roots>
         </data>
         <spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">

Modified: sis/branches/JDK7/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/pom.xml?rev=1517543&r1=1517542&r2=1517543&view=diff
==============================================================================
--- sis/branches/JDK7/pom.xml (original)
+++ sis/branches/JDK7/pom.xml Mon Aug 26 14:24:42 2013
@@ -630,12 +630,12 @@ Apache SIS is a free software, Java lang
               <packages>org.apache.sis.storage*:org.apache.sis.index*</packages>
             </group>
             <group>
-              <title>Geometry</title>
-              <packages>org.apache.sis.geometry*</packages>
+              <title>Feature and Geometry</title>
+              <packages>org.apache.sis.feature*:org.apache.sis.geometry*</packages>
             </group>
             <group>
               <title>Referencing</title>
-              <packages>org.apache.sis.referencing*:org.apache.sis.parameter*</packages>
+              <packages>org.apache.sis.referencing*:org.apache.sis.parameter*:org.apache.sis.io.wkt</packages>
             </group>
             <group>
               <title>Metadata</title>
@@ -643,7 +643,7 @@ Apache SIS is a free software, Java lang
             </group>
             <group>
               <title>Utilities</title>
-              <packages>org.apache.sis.math*:org.apache.sis.measure*:org.apache.sis.util*:org.apache.sis.io*:org.apache.sis.xml*:org.apache.sis.setup*</packages>
+              <packages>org.apache.sis.math*:org.apache.sis.measure*:org.apache.sis.util*:org.apache.sis.io:org.apache.sis.xml*:org.apache.sis.setup*</packages>
             </group>
           </groups>
 
@@ -747,6 +747,7 @@ Apache SIS is a free software, Java lang
     <module>core</module>
     <module>storage</module>
     <module>application</module>
+    <module>profiles</module>
   </modules>
 
 </project>

Added: sis/branches/JDK7/profiles/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/pom.xml?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/pom.xml (added)
+++ sis/branches/JDK7/profiles/pom.xml Mon Aug 26 14:24:42 2013
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+<project xmlns              = "http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
+                               http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.sis</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.4-jdk7-SNAPSHOT</version>
+  </parent>
+
+
+  <!-- ===========================================================
+           Module Description
+       =========================================================== -->
+  <artifactId>profiles</artifactId>
+  <packaging>pom</packaging>
+  <name>Apache SIS profiles</name>
+  <description>
+    Group of modules for extensions specific to some organizations or countries.
+  </description>
+
+
+  <!-- ===========================================================
+           Developers and Contributors
+       =========================================================== -->
+  <developers>
+    <developer>
+      <name>Martin Desruisseaux</name>
+      <id>desruisseaux</id>
+      <email>desruisseaux@apache.org</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+  <contributors>
+    <contributor>
+      <name>Cédric Briançon</name>
+      <email>cedric.briancon@geomatys.com</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </contributor>
+    <contributor>
+      <name>Guilhem Legal</name>
+      <email>guilhem.legal@geomatys.com</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </contributor>
+  </contributors>
+
+
+  <!-- ===========================================================
+           Dependencies
+       =========================================================== -->
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.sis.core</groupId>
+      <artifactId>sis-utility</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opengis</groupId>
+      <artifactId>geoapi-pending</artifactId>
+    </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.opengis</groupId>
+      <artifactId>geoapi-conformance</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.sis.core</groupId>
+      <artifactId>sis-utility</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+
+  <!-- ===========================================================
+           Sub-modules included in the build
+       =========================================================== -->
+  <modules>
+    <module>sis-french-profile</module>
+  </modules>
+
+</project>

Propchange: sis/branches/JDK7/profiles/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: sis/branches/JDK7/profiles/sis-french-profile/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/sis-french-profile/pom.xml?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/sis-french-profile/pom.xml (added)
+++ sis/branches/JDK7/profiles/sis-french-profile/pom.xml Mon Aug 26 14:24:42 2013
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+<project xmlns              = "http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
+                               http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.sis</groupId>
+    <artifactId>profiles</artifactId>
+    <version>0.4-jdk7-SNAPSHOT</version>
+  </parent>
+
+
+  <!-- ===========================================================
+           Module Description
+       =========================================================== -->
+  <groupId>org.apache.sis.storage</groupId>
+  <artifactId>sis-french-profile</artifactId>
+  <packaging>bundle</packaging>
+  <name>Apache SIS French profiles</name>
+  <description>
+  <!-- Left alignment because this description will be copied in META-INF/MANIFEST.MF
+       The leading space after the first line is necessary for proper formatting. -->
+Extensions to ISO-19115 metadata mandated by the French government.
+  </description>
+
+
+  <!-- ===========================================================
+           Developers and Contributors
+       =========================================================== -->
+  <developers>
+    <developer>
+      <name>Martin Desruisseaux</name>
+      <id>desruisseaux</id>
+      <email>desruisseaux@apache.org</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+  <contributors>
+    <contributor>
+      <name>Cédric Briançon</name>
+      <email>cedric.briancon@geomatys.com</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </contributor>
+    <contributor>
+      <name>Guilhem Legal</name>
+      <email>guilhem.legal@geomatys.com</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </contributor>
+  </contributors>
+
+
+  <!-- ===========================================================
+           Build configuration
+       =========================================================== -->
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <configuration>
+          <instructions>
+            <Bundle-SymbolicName>org.apache.sis.metadata.fra</Bundle-SymbolicName>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+
+  <!-- ===========================================================
+           Dependencies
+       =========================================================== -->
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.sis.core</groupId>
+      <artifactId>sis-metadata</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.apache.sis.core</groupId>
+      <artifactId>sis-metadata</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>

Propchange: sis/branches/JDK7/profiles/sis-french-profile/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/sis-french-profile/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java (added)
+++ sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.profile.fra;
+
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import org.opengis.referencing.ReferenceSystem;
+import org.apache.sis.internal.jaxb.AdapterReplacement;
+import org.apache.sis.profile.fra.FRA_DirectReferenceSystem;
+import org.apache.sis.profile.fra.FRA_IndirectReferenceSystem;
+import org.apache.sis.internal.jaxb.metadata.RS_ReferenceSystem;
+import org.apache.sis.internal.jaxb.metadata.ReferenceSystemMetadata;
+
+
+/**
+ * JAXB adapter in order to map implementing class with the GeoAPI interface. See
+ * package documentation for more information about JAXB and interface.
+ *
+ * @author  Guilhem Legal (Geomatys)
+ * @version 0.4 (derived from geotk-3.00)
+ * @since   0.4
+ * @module
+ */
+public final class FRA_ReferenceSystemAdapter extends RS_ReferenceSystem implements AdapterReplacement {
+    /**
+     * Empty constructor for JAXB only.
+     */
+    public FRA_ReferenceSystemAdapter() {
+    }
+
+    /**
+     * Wraps a Reference System value with a {@code MD_ReferenceSystem} element at marshalling-time.
+     *
+     * @param metadata The metadata value to marshall.
+     */
+    private FRA_ReferenceSystemAdapter(final ReferenceSystem metadata) {
+        super(metadata);
+    }
+
+    /**
+     * Invoked when a new adapter is created by {@link org.apache.sis.xml.MarshallerPool}.
+     *
+     * @param marshaller The marshaller to be configured.
+     */
+    @Override
+    public void register(final Marshaller marshaller) {
+        marshaller.setAdapter(RS_ReferenceSystem.class, this);
+    }
+
+    /**
+     * Invoked when a new adapter is created by {@link org.apache.sis.xml.MarshallerPool}.
+     *
+     * @param unmarshaller The marshaller to be configured.
+     */
+    @Override
+    public void register(final Unmarshaller unmarshaller) {
+        unmarshaller.setAdapter(RS_ReferenceSystem.class, this);
+    }
+
+    /**
+     * Returns the Reference System value covered by a {@code MD_ReferenceSystem} element.
+     *
+     * @param value The value to marshall.
+     * @return The adapter which covers the metadata value.
+     */
+    @Override
+    protected RS_ReferenceSystem wrap(ReferenceSystem value) {
+        return new FRA_ReferenceSystemAdapter(value);
+    }
+
+    /**
+     * Returns {@code null} since we do not marshall the {@code "MD_ReferenceSystem"} element.
+     *
+     * @return The metadata to be marshalled.
+     */
+    @Override
+    public ReferenceSystemMetadata getElement() {
+        if (skip()) return null;
+        final ReferenceSystem metadata = this.metadata;
+        if (metadata instanceof FRA_DirectReferenceSystem || metadata instanceof FRA_IndirectReferenceSystem) {
+            return null;
+        }
+        return super.getElement();
+    }
+
+    /**
+     * Returns the {@link ReferenceSystem} generated from the metadata value for the
+     * French profile of metadata. This method is called at marshalling-time by JAXB.
+     *
+     * @return The metadata to be marshalled.
+     */
+    @Override
+    public ReferenceSystemMetadata getDirectReferenceSystem() {
+        final ReferenceSystem metadata = this.metadata;
+        if (metadata instanceof FRA_DirectReferenceSystem) {
+            return (FRA_DirectReferenceSystem) metadata;
+        }
+        return null;
+    }
+
+    /**
+     * Returns the {@link ReferenceSystem} generated from the metadata value for the
+     * French profile of metadata. This method is called at marshalling-time by JAXB.
+     *
+     * @return The metadata to be marshalled.
+     */
+    @Override
+    public ReferenceSystemMetadata getIndirectReferenceSystem() {
+        final ReferenceSystem metadata = this.metadata;
+        if (metadata instanceof FRA_IndirectReferenceSystem) {
+            return (FRA_IndirectReferenceSystem) metadata;
+        }
+        return null;
+    }
+}

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/FRA_ReferenceSystemAdapter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java (added)
+++ sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.profile.fra;
+
+import java.util.Collection;
+import org.apache.sis.internal.jaxb.TypeRegistration;
+import org.apache.sis.profile.fra.FRA_DirectReferenceSystem;
+import org.apache.sis.profile.fra.FRA_IndirectReferenceSystem;
+
+
+/**
+ * Completes the JAXB context with classes specific to the French profile.
+ * This class is declared in the {@code META-INF/services/org.apache.sis.internal.jaxb.TypeRegistration} file.
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ * @since   0.4
+ * @version 0.4
+ * @module
+ */
+public final class ProfileTypes extends TypeRegistration {
+    /**
+     * Adds to the given collection the metadata types that should be given to the initial JAXB context.
+     */
+    @Override
+    public void getTypes(final Collection<Class<?>> addTo) {
+        addTo.add(FRA_DirectReferenceSystem.class);
+        addTo.add(FRA_IndirectReferenceSystem.class);
+    }
+}

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/internal/profile/fra/ProfileTypes.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java (added)
+++ sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.profile.fra;
+
+import java.util.Collection;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import org.opengis.metadata.citation.Citation;
+import org.opengis.metadata.constraint.Constraints;
+import org.apache.sis.metadata.iso.constraint.DefaultConstraints;
+
+
+/**
+ * AFNOR extension to ISO {@link Constraints}.
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * {@preformat xml
+ *   <complexType name="FRA_Constraints_Type">
+ *     <complexContent>
+ *       <extension base="{http://www.isotc211.org/2005/gmd}MD_Constraints_Type">
+ *         <sequence>
+ *           <element name="citation" type="{http://www.isotc211.org/2005/gmd}CI_Citation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *         </sequence>
+ *       </extension>
+ *     </complexContent>
+ *   </complexType>
+ * }
+ *
+ * @author  Cédric Briançon (Geomatys)
+ * @author  Guilhem Legal (Geomatys)
+ * @author  Martin Desruisseaux (Geomatys)
+ * @version 0.4 (derived from geotk-3.00)
+ * @since   0.4
+ * @module
+ */
+@XmlType(name = "FRA_Constraints_Type")
+@XmlRootElement(name= "FRA_Constraints")
+public class FRA_Constraints extends DefaultConstraints {
+    /**
+     * For serialization purpose.
+     */
+    private static final long serialVersionUID = -5558935205709762055L;
+
+    /**
+     * The documents that specifies the nature of the constraints.
+     */
+    private Collection<Citation> citations;
+
+    /**
+     * Constructs an initially empty constraints.
+     */
+    public FRA_Constraints() {
+    }
+
+    /**
+     * Constructs a metadata entity initialized with the values from the specified metadata.
+     *
+     * @param source The metadata to copy.
+     */
+    public FRA_Constraints(final Constraints source) {
+        super(source);
+    }
+
+    /**
+     * Returns the documents that specifies the nature of the constraints.
+     *
+     * @return Citations to the current documents.
+     */
+    @XmlElement(name = "citation")
+    public Collection<Citation> getCitations() {
+        return citations = nonNullCollection(citations, Citation.class);
+    }
+
+    /**
+     * Sets the documents that specifies the nature of the constraints.
+     *
+     * @param newValues Citation to the new documents.
+     */
+    public void setCitations(final Collection<? extends Citation> newValues) {
+        citations = writeCollection(newValues, citations, Citation.class);
+    }
+}

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_Constraints.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java (added)
+++ sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.profile.fra;
+
+import java.util.Collection;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import org.opengis.metadata.citation.Citation;
+import org.opengis.metadata.identification.DataIdentification;
+import org.apache.sis.metadata.iso.identification.DefaultDataIdentification;
+
+
+/**
+ * AFNOR extension to ISO {@link DataIdentification}.
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * {@preformat xml
+ *   <complexType name="FRA_DataIdentification_Type">
+ *     <complexContent>
+ *       <extension base="{http://www.isotc211.org/2005/gmd}MD_DataIdentification_Type">
+ *         <sequence>
+ *           <element name="relatedCitation" type="{http://www.isotc211.org/2005/gmd}CI_Citation_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
+ *         </sequence>
+ *       </extension>
+ *     </complexContent>
+ *   </complexType>
+ * }
+ *
+ * @author  Cédric Briançon (Geomatys)
+ * @author  Guilhem Legal (Geomatys)
+ * @version 0.4 (derived from geotk-3.00)
+ * @since   0.4
+ * @module
+ */
+@XmlType(name = "FRA_DataIdentification_Type")
+@XmlRootElement(name ="FRA_DataIdentification")
+public class FRA_DataIdentification extends DefaultDataIdentification {
+    /**
+     * For serialization purpose.
+     */
+    private static final long serialVersionUID = 2491310165988749063L;
+
+    /**
+     * The documents at the origin of the creation of the identified resources.
+     */
+    private Collection<Citation> relatedCitations;
+
+    /**
+     * Constructs an initially empty data identification.
+     */
+    public FRA_DataIdentification() {
+    }
+
+    /**
+     * Constructs a metadata entity initialized with the values from the specified metadata.
+     *
+     * @param source The metadata to copy.
+     */
+    public FRA_DataIdentification(final DataIdentification source) {
+        super(source);
+    }
+
+    /**
+     * Returns the documents at the origin of the creation of the identified resources.
+     *
+     * @return Citations to the current documents.
+     */
+    @XmlElement(name = "relatedCitation")
+    public Collection<Citation> getRelatedCitations() {
+        return relatedCitations = nonNullCollection(relatedCitations, Citation.class);
+    }
+
+    /**
+     * Sets the documents at the origin of the creation of the identified resources.
+     *
+     * @param newValues Citation to the new documents.
+     */
+    public void setRelatedCitations(final Collection<? extends Citation> newValues) {
+        relatedCitations = writeCollection(newValues, relatedCitations, Citation.class);
+    }
+}

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DataIdentification.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java?rev=1517543&view=auto
==============================================================================
--- sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java (added)
+++ sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java [UTF-8] Mon Aug 26 14:24:42 2013
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.profile.fra;
+
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlRootElement;
+import org.opengis.metadata.citation.Citation;
+import org.opengis.referencing.ReferenceSystem;
+import org.opengis.referencing.ReferenceIdentifier;
+import org.apache.sis.metadata.iso.ImmutableIdentifier;
+import org.apache.sis.internal.jaxb.metadata.ReferenceSystemMetadata;
+
+
+/**
+ * AFNOR extension to ISO {@link ReferenceSystem}.
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * {@preformat xml
+ *   <complexType name="FRA_DirectReferenceSystem_Type">
+ *     <complexContent>
+ *       <extension base="{http://www.isotc211.org/2005/gmd}MD_ReferenceSystem_Type">
+ *       </extension>
+ *     </complexContent>
+ *   </complexType>
+ * }
+ *
+ * @author  Cédric Briançon (Geomatys)
+ * @author  Guilhem Legal (Geomatys)
+ * @version 0.4 (derived from geotk-3.00)
+ * @since   0.4
+ * @module
+ */
+@XmlType(name = "FRA_DirectReferenceSystem_Type")
+@XmlRootElement(name= "FRA_DirectReferenceSystem")
+public class FRA_DirectReferenceSystem extends ReferenceSystemMetadata {
+    /**
+     * For serialization purpose.
+     */
+    private static final long serialVersionUID = 5184347269686376148L;
+
+    /**
+     * Empty constructor for JAXB.
+     */
+    private FRA_DirectReferenceSystem() {
+    }
+
+    /**
+     * Creates a new reference system from the given one.
+     *
+     * @param crs The reference system to partially copy.
+     */
+    public FRA_DirectReferenceSystem(final ReferenceSystem crs) {
+        super(crs);
+    }
+
+    /**
+     * Creates a new reference system from the given code.
+     *
+     * @param identifier The reference system identifier.
+     */
+    public FRA_DirectReferenceSystem(final ReferenceIdentifier identifier) {
+        super(identifier);
+    }
+
+    /**
+     * Creates a new reference system from the specified code and authority.
+     *
+     * @param authority
+     *          Organization or party responsible for definition and maintenance of the code space or code.
+     * @param codespace
+     *          Name or identifier of the person or organization responsible for namespace.
+     *          This is often an abbreviation of the authority name.
+     * @param code
+     *          Identifier code or name, optionally from a controlled list or pattern defined by a code space.
+     */
+    public FRA_DirectReferenceSystem(final Citation authority, final String codespace, final String code) {
+        super(new ImmutableIdentifier(authority, codespace, code));
+    }
+}

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/profiles/sis-french-profile/src/main/java/org/apache/sis/profile/fra/FRA_DirectReferenceSystem.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8



Mime
View raw message