sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1819383 - in /sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis: internal/jaxb/metadata/ metadata/iso/identification/ metadata/iso/lineage/ metadata/iso/maintenance/
Date Thu, 28 Dec 2017 00:46:41 GMT
Author: desruisseaux
Date: Thu Dec 28 00:46:41 2017
New Revision: 1819383

URL: http://svn.apache.org/viewvc?rev=1819383&view=rev
Log:
Upgrade JAXB bindings of some more classes to ISO 19115-3.
This is part of commit e780d66b4d7d59368e742ba01777a151d8827ea8 from Image Matter.

The project at this revision can be built but is known to have test failure.
Tests will pass only after we completed the port of all ISO 19115-3 work.

Modified:
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_KeywordClass.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
    sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_KeywordClass.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_KeywordClass.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_KeywordClass.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_KeywordClass.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -27,15 +27,15 @@ import org.apache.sis.internal.jaxb.gco.
  * package documentation for more information about JAXB and interface.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.5
+ * @version 1.0
  * @since   0.5
  * @module
  */
-public final class MD_KeywordClass extends PropertyType<MD_KeywordClass, KeywordClass>
{
+public class MD_KeywordClass extends PropertyType<MD_KeywordClass, KeywordClass> {
     /**
      * Empty constructor for JAXB only.
      */
-    public MD_KeywordClass() {
+    MD_KeywordClass() {
     }
 
     /**
@@ -46,7 +46,7 @@ public final class MD_KeywordClass exten
      * @return {@code KeywordClass.class}
      */
     @Override
-    protected Class<KeywordClass> getBoundType() {
+    protected final Class<KeywordClass> getBoundType() {
         return KeywordClass.class;
     }
 
@@ -77,7 +77,7 @@ public final class MD_KeywordClass exten
      * @return the metadata to be marshalled.
      */
     @XmlElementRef
-    public DefaultKeywordClass getElement() {
+    public final DefaultKeywordClass getElement() {
         return DefaultKeywordClass.castOrCopy(metadata);
     }
 
@@ -86,7 +86,26 @@ public final class MD_KeywordClass exten
      *
      * @param  metadata  the unmarshalled metadata.
      */
-    public void setElement(final DefaultKeywordClass metadata) {
+    public final void setElement(final DefaultKeywordClass metadata) {
         this.metadata = metadata;
     }
+
+    /**
+     * Wraps the value only if marshalling ISO 19115-3 element.
+     * Otherwise (i.e. if marshalling a legacy ISO 19139:2007 document), omit the element.
+     */
+    public static final class Since2014 extends MD_KeywordClass {
+        /** Empty constructor used only by JAXB. */
+        private Since2014() {
+        }
+
+        /**
+         * Wraps the given value in an ISO 19115-3 element, unless we are marshalling an
older document.
+         *
+         * @return a non-null value only if marshalling ISO 19115-3 or newer.
+         */
+        @Override protected MD_KeywordClass wrap(final KeywordClass value) {
+            return accept2014() ? super.wrap(value) : null;
+        }
+    }
 }

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -73,13 +73,10 @@ import org.apache.sis.internal.util.Coll
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs
shallow clones.
 @XmlType(name = "MD_DataIdentification_Type", propOrder = {
-    // ISO 19115:2003 legacy
-    "language",
-    "characterSets",
-
-    // ISO 19115:2014
-    "defaultLocale",
-    "otherLocale",
+    "language",                 // Legacy ISO 19115:2003
+    "characterSets",            // Legacy ISO 19115:2003
+    "defaultLocale",            // New in ISO 19115:2014
+    "otherLocale",              // New in ISO 19115:2014
     "topicCategory",
     "environmentDescription",
     "extent",
@@ -344,6 +341,7 @@ public class DefaultDataIdentification e
 
     /**
      * For JAXB marhalling of ISO 19115:2003 document only.
+     * For the more recent ISO 19115:2014, we inherit {@link #getExtents()} from the parent
class instead.
      */
     @XmlElement(name = "extent", namespace = LegacyNamespaces.GMD)
     private Collection<Extent> getExtent() {

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -20,11 +20,13 @@ import java.util.Collection;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import org.opengis.util.InternationalString;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.identification.Keywords;
 import org.opengis.metadata.identification.KeywordType;
 import org.opengis.metadata.identification.KeywordClass;
+import org.apache.sis.internal.jaxb.metadata.MD_KeywordClass;
 import org.apache.sis.metadata.iso.ISOMetadata;
 import org.apache.sis.util.iso.Types;
 
@@ -48,7 +50,8 @@ import org.apache.sis.util.iso.Types;
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -56,7 +59,8 @@ import org.apache.sis.util.iso.Types;
 @XmlType(name = "MD_Keywords_Type", propOrder = {
     "keywords",
     "type",
-    "thesaurusName"
+    "thesaurusName",
+    "keywordClass"
 })
 @XmlRootElement(name = "MD_Keywords")
 public class DefaultKeywords extends ISOMetadata implements Keywords {
@@ -226,6 +230,8 @@ public class DefaultKeywords extends ISO
      * @since 0.5
      */
     @Override
+    @XmlElement(name = "keywordClass")
+    @XmlJavaTypeAdapter(MD_KeywordClass.Since2014.class)
     public KeywordClass getKeywordClass() {
         return keywordClass;
     }

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultOperationMetadata.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -22,12 +22,13 @@ import javax.xml.bind.annotation.XmlType
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import org.opengis.util.InternationalString;
-import org.apache.sis.metadata.iso.ISOMetadata;
-import org.apache.sis.metadata.TitleProperty;
+import org.opengis.parameter.ParameterDescriptor;
 import org.opengis.metadata.citation.OnlineResource;
 import org.opengis.metadata.identification.DistributedComputingPlatform;
 import org.opengis.metadata.identification.OperationMetadata;
-import org.opengis.parameter.ParameterDescriptor;
+import org.apache.sis.internal.jaxb.FilterByVersion;
+import org.apache.sis.metadata.iso.ISOMetadata;
+import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.xml.Namespaces;
 
 
@@ -52,7 +53,8 @@ import org.apache.sis.xml.Namespaces;
  *
  * @author  Rémi Maréchal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.5
  * @module
  */
@@ -60,7 +62,8 @@ import org.apache.sis.xml.Namespaces;
 @TitleProperty(name = "operationName")
 @XmlType(name = "SV_OperationMetadata_Type", namespace = Namespaces.SRV, propOrder = {
     "operationName",
-    "distributedComputingPlatforms",
+    "distributedComputingPlatform",     // Name used in ISO 19115:2014.
+    "DCP",                              // Former name of "distributedComputingPlatform"
used in ISO 19115:2003.
     "operationDescription",
     "invocationName",
     "parameters",
@@ -140,7 +143,7 @@ public class DefaultOperationMetadata ex
      *
      * @see #castOrCopy(OperationMetadata)
      */
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked", "rawtypes"})
     public DefaultOperationMetadata(final OperationMetadata object) {
         super(object);
         if (object != null) {
@@ -185,7 +188,7 @@ public class DefaultOperationMetadata ex
      * @return an unique identifier for this interface.
      */
     @Override
-    @XmlElement(name = "operationName", namespace = Namespaces.SRV, required = true)
+    @XmlElement(name = "operationName", required = true)
     public String getOperationName() {
         return operationName;
     }
@@ -206,7 +209,7 @@ public class DefaultOperationMetadata ex
      * @return distributed computing platforms on which the operation has been implemented.
      */
     @Override
-    @XmlElement(name = "DCP", namespace = Namespaces.SRV, required = true)
+    // @XmlElement at the end of this class.
     public Collection<DistributedComputingPlatform> getDistributedComputingPlatforms()
{
         return distributedComputingPlatforms = nonNullCollection(distributedComputingPlatforms,
DistributedComputingPlatform.class);
     }
@@ -226,7 +229,7 @@ public class DefaultOperationMetadata ex
      * @return free text description of the intent of the operation and the results of the
operation, or {@code null} if none.
      */
     @Override
-    @XmlElement(name = "operationDescription", namespace = Namespaces.SRV)
+    @XmlElement(name = "operationDescription")
     public InternationalString getOperationDescription() {
         return operationDescription;
     }
@@ -248,7 +251,7 @@ public class DefaultOperationMetadata ex
      *         or {@code null} if none.
      */
     @Override
-    @XmlElement(name = "invocationName", namespace = Namespaces.SRV)
+    @XmlElement(name = "invocationName")
     public InternationalString getInvocationName() {
         return invocationName;
     }
@@ -269,7 +272,7 @@ public class DefaultOperationMetadata ex
      * @return handle for accessing the service interface.
      */
     @Override
-    @XmlElement(name = "connectPoint", namespace = Namespaces.SRV, required = true)
+    @XmlElement(name = "connectPoint", required = true)
     public Collection<OnlineResource> getConnectPoints() {
         return connectPoints = nonNullCollection(connectPoints, OnlineResource.class);
     }
@@ -289,8 +292,8 @@ public class DefaultOperationMetadata ex
      * @return the parameters that are required for this interface, or an empty collection
if none.
      */
     @Override
-    @SuppressWarnings("unchecked")
-    @XmlElement(name = "parameters", namespace = Namespaces.SRV)
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    @XmlElement(name = "parameters")
     public Collection<ParameterDescriptor<?>> getParameters() {
         return parameters = nonNullCollection(parameters, (Class) ParameterDescriptor.class);
     }
@@ -300,7 +303,7 @@ public class DefaultOperationMetadata ex
      *
      * @param  newValues  the new set of parameters that are required for this interface.
      */
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked", "rawtypes"})
     public void setParameters(final Collection<? extends ParameterDescriptor<?>>
newValues) {
         parameters = writeCollection(newValues, parameters, (Class) ParameterDescriptor.class);
     }
@@ -311,7 +314,7 @@ public class DefaultOperationMetadata ex
      * @return list of operation that must be completed immediately, or an empty list if
none.
      */
     @Override
-    @XmlElement(name = "dependsOn", namespace = Namespaces.SRV)
+    @XmlElement(name = "dependsOn")
     public List<OperationMetadata> getDependsOn() {
         return dependsOn = nonNullList(dependsOn, OperationMetadata.class);
     }
@@ -324,4 +327,38 @@ public class DefaultOperationMetadata ex
     public void setDependsOn(final List<? extends OperationMetadata> newValues) {
         dependsOn = writeList(newValues, dependsOn, OperationMetadata.class);
     }
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////                                                                            
     ////////
+    ////////                               XML support with JAXB                        
     ////////
+    ////////                                                                            
     ////////
+    ////////        The following methods are invoked by JAXB using reflection (even if 
     ////////
+    ////////        they are private) or are helpers for other methods invoked by JAXB. 
     ////////
+    ////////        Those methods can be safely removed if Geographic Markup Language   
     ////////
+    ////////        (GML) support is not needed.                                        
     ////////
+    ////////                                                                            
     ////////
+    //////////////////////////////////////////////////////////////////////////////////////////////////
+
+    /**
+     * Invoked by JAXB at both marshalling and unmarshalling time.
+     * This attribute has been added by ISO 19115:2014 standard.
+     * If (and only if) marshalling an older standard version, we omit this attribute.
+     */
+    @XmlElement(name = "distributedComputingPlatform")
+    private Collection<DistributedComputingPlatform> getDistributedComputingPlatform()
{
+        return FilterByVersion.CURRENT_METADATA.accept() ? getDistributedComputingPlatforms()
: null;
+    }
+
+    /**
+     * Invoked by JAXB at both marshalling and unmarshalling time.
+     * This attribute was defined by ISO 19115:2003 standard.
+     * If (and only if) marshalling a more recent standard version, we omit this attribute.
+     */
+    @XmlElement(name = "DCP")
+    private Collection<DistributedComputingPlatform> getDCP() {
+        return FilterByVersion.LEGACY_METADATA.accept() ? getDistributedComputingPlatforms()
: null;
+    }
 }

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -22,6 +22,7 @@ import javax.xml.bind.annotation.XmlType
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import org.opengis.util.GenericName;
+import org.opengis.metadata.extent.Extent;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.identification.DataIdentification;
 import org.opengis.metadata.distribution.StandardOrderProcess;
@@ -30,6 +31,7 @@ import org.opengis.metadata.identificati
 import org.opengis.metadata.identification.CouplingType;
 import org.opengis.metadata.identification.OperationChainMetadata;
 import org.opengis.metadata.identification.OperationMetadata;
+import org.apache.sis.internal.jaxb.FilterByVersion;
 import org.apache.sis.xml.Namespaces;
 
 
@@ -67,23 +69,25 @@ import org.apache.sis.xml.Namespaces;
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
  * @author  Rémi Maréchal (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.5
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs
shallow clones.
-@XmlType(name = "MD_ServiceIdentification_Type", propOrder = {  // ISO 19139 still use the
old prefix.
+@XmlType(name = "MD_ServiceIdentification_Type", namespace = Namespaces.SRV, propOrder =
{
     "serviceType",
     "serviceTypeVersions",
-/// "accessProperties",
+    "accessProperties",
+    "extent",                   // Legacy ISO 19115:2003
     "coupledResources",
     "couplingType",
-/// "operatedDatasets",
-/// "profiles",
-/// "serviceStandards",
+    "operatedDataset",
+    "profile",
+    "serviceStandard",
     "containsOperations",
     "operatesOn",
-/// "containsChain"
+    "operationChain"            // Actually "containsChain"
 })
 @XmlRootElement(name = "SV_ServiceIdentification", namespace = Namespaces.SRV)
 public class DefaultServiceIdentification extends AbstractIdentification implements ServiceIdentification
{
@@ -227,7 +231,7 @@ public class DefaultServiceIdentificatio
      * @return a service type name.
      */
     @Override
-    @XmlElement(name = "serviceType", namespace = Namespaces.SRV, required = true)
+    @XmlElement(name = "serviceType", required = true)
     public GenericName getServiceType() {
         return serviceType;
     }
@@ -248,7 +252,7 @@ public class DefaultServiceIdentificatio
      * @return the versions of the service.
      */
     @Override
-    @XmlElement(name = "serviceTypeVersion", namespace = Namespaces.SRV)
+    @XmlElement(name = "serviceTypeVersion")
     public Collection<String> getServiceTypeVersions() {
         return serviceTypeVersions = nonNullCollection(serviceTypeVersions, String.class);
     }
@@ -270,7 +274,7 @@ public class DefaultServiceIdentificatio
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "accessProperties", namespace = Namespaces.SRV)
+    @XmlElement(name = "accessProperties")
     public StandardOrderProcess getAccessProperties() {
         return accessProperties;
 
@@ -294,7 +298,7 @@ public class DefaultServiceIdentificatio
      * @return type of coupling between service and associated data, or {@code null} if none.
      */
     @Override
-    @XmlElement(name = "couplingType", namespace = Namespaces.SRV)
+    @XmlElement(name = "couplingType")
     public CouplingType getCouplingType() {
         return couplingType;
     }
@@ -315,7 +319,7 @@ public class DefaultServiceIdentificatio
      * @return further description(s) of the data coupling in the case of tightly coupled
services.
      */
     @Override
-    @XmlElement(name = "coupledResource", namespace = Namespaces.SRV)
+    @XmlElement(name = "coupledResource")
     public Collection<CoupledResource> getCoupledResources() {
         return coupledResources = nonNullCollection(coupledResources, CoupledResource.class);
     }
@@ -337,7 +341,7 @@ public class DefaultServiceIdentificatio
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "operatedDataset", namespace = Namespaces.SRV)
+    // @XmlElement at the end of this class.
     public Collection<Citation> getOperatedDatasets() {
         return operatedDatasets = nonNullCollection(operatedDatasets, Citation.class);
     }
@@ -361,7 +365,7 @@ public class DefaultServiceIdentificatio
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "profile", namespace = Namespaces.SRV)
+    // @XmlElement at the end of this class.
     public Collection<Citation> getProfiles() {
         return profiles = nonNullCollection(profiles, Citation.class);
     }
@@ -383,7 +387,7 @@ public class DefaultServiceIdentificatio
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "serviceStandard", namespace = Namespaces.SRV)
+    // @XmlElement at the end of this class.
     public Collection<Citation> getServiceStandards() {
         return serviceStandards = nonNullCollection(serviceStandards, Citation.class);
     }
@@ -447,7 +451,7 @@ public class DefaultServiceIdentificatio
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "containsChain", namespace = Namespaces.SRV)
+    // @XmlElement at the end of this class.
     public Collection<OperationChainMetadata> getContainsChain() {
         return containsChain = nonNullCollection(containsChain, OperationChainMetadata.class);
     }
@@ -478,8 +482,43 @@ public class DefaultServiceIdentificatio
     //////////////////////////////////////////////////////////////////////////////////////////////////
 
     /**
+     * Invoked by JAXB at both marshalling and unmarshalling time.
+     * This attribute has been added by ISO 19115:2014 standard.
+     * If (and only if) marshalling an older standard version, we omit this attribute.
+     */
+    @XmlElement(name = "operatedDataset")
+    private Collection<Citation> getOperatedDataset() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getOperatedDatasets() : null;
+    }
+
+    @XmlElement(name = "profile")
+    private Collection<Citation> getProfile() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getProfiles() : null;
+    }
+
+    @XmlElement(name = "serviceStandard")
+    private Collection<Citation> getServiceStandard() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getServiceStandards() : null;
+    }
+
+    @XmlElement(name = "containsChain")
+    private Collection<OperationChainMetadata> getOperationChain() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getContainsChain() : null;
+    }
+
+    /**
+     * For JAXB marhalling of ISO 19115:2003 document only.
+     * For the more recent ISO 19115:2014, we inherit {@link #getExtents()} from the parent
class instead.
+     */
+    @XmlElement(name = "extent")
+    private Collection<Extent> getExtent() {
+        return FilterByVersion.LEGACY_METADATA.accept() ? getExtents() : null;
+    }
+
+    /**
      * Invoked after JAXB has unmarshalled this object.
      */
+    @SuppressWarnings("unused")
     private void afterUnmarshal(Unmarshaller unmarshaller, Object parent) {
         if (containsOperations != null && coupledResources != null) {
             OperationName.resolve(containsOperations, coupledResources);

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -25,6 +25,7 @@ import org.opengis.util.InternationalStr
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.citation.Responsibility;
 import org.opengis.metadata.identification.Usage;
+import org.apache.sis.internal.jaxb.FilterByVersion;
 import org.apache.sis.metadata.iso.ISOMetadata;
 import org.apache.sis.metadata.TitleProperty;
 import org.apache.sis.util.iso.Types;
@@ -58,7 +59,8 @@ import static org.apache.sis.internal.me
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
  * @author  Rémi Maréchal (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -68,7 +70,10 @@ import static org.apache.sis.internal.me
     "specificUsage",
     "usageDate",
     "userDeterminedLimitations",
-    "userContactInfo"
+    "userContactInfo",
+    "response",                     // New in ISO 19115:2014
+    "additionalDocumentations",     // New in ISO 19115:2014
+    "issues"                        // New in ISO 19115:2014. Actually "identifiedIssues"
 })
 @XmlRootElement(name = "MD_Usage")
 public class DefaultUsage extends ISOMetadata implements Usage {
@@ -273,8 +278,8 @@ public class DefaultUsage extends ISOMet
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "response")
-    public Collection<? extends InternationalString> getResponses() {
+    // @XmlElement at the end of this class.
+    public Collection<InternationalString> getResponses() {
         return responses = nonNullCollection(responses, InternationalString.class);
     }
 
@@ -297,7 +302,7 @@ public class DefaultUsage extends ISOMet
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "additionalDocumentation")
+    // @XmlElement at the end of this class.
     public Collection<Citation> getAdditionalDocumentation() {
         return additionalDocumentation = nonNullCollection(additionalDocumentation, Citation.class);
     }
@@ -322,8 +327,8 @@ public class DefaultUsage extends ISOMet
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "identifiedIssues")
-    public Collection<? extends Citation> getIdentifiedIssues() {
+    // @XmlElement at the end of this class.
+    public Collection<Citation> getIdentifiedIssues() {
         return identifiedIssues = nonNullCollection(identifiedIssues, Citation.class);
     }
 
@@ -338,4 +343,38 @@ public class DefaultUsage extends ISOMet
     public void setIdentifiedIssues(final Collection<? extends Citation> newValues)
{
         identifiedIssues = writeCollection(newValues, identifiedIssues, Citation.class);
     }
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////                                                                            
     ////////
+    ////////                               XML support with JAXB                        
     ////////
+    ////////                                                                            
     ////////
+    ////////        The following methods are invoked by JAXB using reflection (even if 
     ////////
+    ////////        they are private) or are helpers for other methods invoked by JAXB. 
     ////////
+    ////////        Those methods can be safely removed if Geographic Markup Language   
     ////////
+    ////////        (GML) support is not needed.                                        
     ////////
+    ////////                                                                            
     ////////
+    //////////////////////////////////////////////////////////////////////////////////////////////////
+
+    /**
+     * Invoked by JAXB at both marshalling and unmarshalling time.
+     * This attribute has been added by ISO 19115:2014 standard.
+     * If (and only if) marshalling an older standard version, we omit this attribute.
+     */
+    @XmlElement(name = "response")
+    private Collection<InternationalString> getResponse() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getResponses() : null;
+    }
+
+    @XmlElement(name = "additionalDocumentation")
+    private Collection<Citation> getAdditionalDocumentations() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getAdditionalDocumentation() :
null;
+    }
+
+    @XmlElement(name = "identifiedIssues")
+    private Collection<Citation> getIssues() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getIdentifiedIssues() : null;
+    }
 }

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -95,13 +95,18 @@
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
-@XmlSchema(location=Schemas.METADATA_XSD, elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.GMD,
xmlns = {
-    @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
+@XmlSchema(location=Schemas.METADATA_XSD_IDENTIFICATION, elementFormDefault=XmlNsForm.QUALIFIED,
namespace=Namespaces.MRI, xmlns = {
+    @XmlNs(prefix = "mri", namespaceURI = Namespaces.MRI),
+    @XmlNs(prefix = "lan", namespaceURI = Namespaces.LAN),
+    @XmlNs(prefix = "mcc", namespaceURI = Namespaces.MCC),
+    @XmlNs(prefix = "cit", namespaceURI = Namespaces.CIT),
     @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
+    @XmlNs(prefix = "gmw", namespaceURI = Namespaces.GMW),
     @XmlNs(prefix = "srv", namespaceURI = Namespaces.SRV),
     @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
 })
@@ -131,16 +136,17 @@
     @XmlJavaTypeAdapter(MD_StandardOrderProcess.class),
     @XmlJavaTypeAdapter(MD_TopicCategoryCode.class),
     @XmlJavaTypeAdapter(MD_Usage.class),
+    @XmlJavaTypeAdapter(PT_Locale.class),
     @XmlJavaTypeAdapter(SV_CoupledResource.class),
     @XmlJavaTypeAdapter(SV_CouplingType.class),
     @XmlJavaTypeAdapter(SV_OperationMetadata.class),
     @XmlJavaTypeAdapter(SV_OperationChainMetadata.class),
     @XmlJavaTypeAdapter(SV_Parameter.class),
     @XmlJavaTypeAdapter(SV_ParameterDirection.class),
+    @XmlJavaTypeAdapter(TM_Duration.class),
 
     // Java types, primitive types and basic OGC types handling
     @XmlJavaTypeAdapter(URIAdapter.class),
-    @XmlJavaTypeAdapter(LocaleAdapter.class),
     @XmlJavaTypeAdapter(StringAdapter.class),
     @XmlJavaTypeAdapter(InternationalStringAdapter.class),
     @XmlJavaTypeAdapter(GO_DateTime.class),
@@ -159,6 +165,6 @@ import javax.xml.bind.annotation.adapter
 import org.apache.sis.xml.Namespaces;
 import org.apache.sis.internal.jaxb.Schemas;
 import org.apache.sis.internal.jaxb.gco.*;
-import org.apache.sis.internal.jaxb.gmd.*;
+import org.apache.sis.internal.jaxb.gts.*;
 import org.apache.sis.internal.jaxb.code.*;
 import org.apache.sis.internal.jaxb.metadata.*;

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -65,13 +65,15 @@
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
-@XmlSchema(location=Schemas.METADATA_XSD, elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.GMD,
xmlns = {
-    @XmlNs(prefix = "gmi", namespaceURI = Namespaces.GMI),
-    @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
+@XmlSchema(location=Schemas.METADATA_XSD_LINEAGE, elementFormDefault=XmlNsForm.QUALIFIED,
namespace=Namespaces.MRL, xmlns = {
+    @XmlNs(prefix = "mrl", namespaceURI = Namespaces.MRL),
+    @XmlNs(prefix = "mcc", namespaceURI = Namespaces.MCC),
+    @XmlNs(prefix = "gmw", namespaceURI = Namespaces.GMW),
     @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
     @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
 })

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -37,6 +37,7 @@ import org.apache.sis.metadata.iso.ISOMe
 import org.apache.sis.metadata.iso.citation.DefaultCitationDate;
 import org.apache.sis.internal.metadata.LegacyPropertyAdapter;
 import org.apache.sis.internal.metadata.Dependencies;
+import org.apache.sis.internal.jaxb.FilterByVersion;
 
 
 /**
@@ -60,17 +61,20 @@ import org.apache.sis.internal.metadata.
  * @author  Cédric Briançon (Geomatys)
  * @author  Guilhem Legal (Geomatys)
  * @author  Rémi Maréchal (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs
shallow clones.
 @XmlType(name = "MD_MaintenanceInformation_Type", propOrder = {
     "maintenanceAndUpdateFrequency",
-    "dateOfNextUpdate",
+    "maintenanceDate",                          // New in ISO 19115:2014
+    "dateOfNextUpdate",                         // Legacy ISO 19115:2003
     "userDefinedMaintenanceFrequency",
-    "updateScopes",
-    "updateScopeDescriptions",
+    "maintenanceScope",                         // New in ISO 19115:2014 - contains information
from the two below
+    "updateScopes",                             // Legacy ISO 19115:2003
+    "updateScopeDescriptions",                  // Legacy ISO 19115:2003
     "maintenanceNotes",
     "contacts"
 })
@@ -206,7 +210,7 @@ public class DefaultMaintenanceInformati
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "maintenanceDate", required = true)
+    // @XmlElement at the end of this class.
     public Collection<CitationDate> getMaintenanceDates() {
         return maintenanceDates = nonNullCollection(maintenanceDates, CitationDate.class);
     }
@@ -237,11 +241,13 @@ public class DefaultMaintenanceInformati
     @XmlElement(name = "dateOfNextUpdate")
     @Dependencies("getMaintenanceDates")
     public Date getDateOfNextUpdate() {
-        final Collection<CitationDate> dates = getMaintenanceDates();
-        if (dates != null) {                                                    // May be
null on XML marshalling.
-            for (final CitationDate date : dates) {
-                if (DateType.NEXT_UPDATE.equals(date.getDateType())) {
-                    return date.getDate();
+        if (FilterByVersion.LEGACY_METADATA.accept()) {
+            final Collection<CitationDate> dates = getMaintenanceDates();
+            if (dates != null) {                                                    // May
be null on XML marshalling.
+                for (final CitationDate date : dates) {
+                    if (DateType.NEXT_UPDATE.equals(date.getDateType())) {
+                        return date.getDate();
+                    }
                 }
             }
         }
@@ -313,7 +319,7 @@ public class DefaultMaintenanceInformati
      * @since 0.5
      */
     @Override
-/// @XmlElement(name = "maintenanceScope")
+    // @XmlElement at the end of this class.
     public Collection<Scope> getMaintenanceScopes() {
         return maintenanceScopes = nonNullCollection(maintenanceScopes, Scope.class);
     }
@@ -344,6 +350,7 @@ public class DefaultMaintenanceInformati
     @XmlElement(name = "updateScope")
     @Dependencies("getMaintenanceScopes")
     public final Collection<ScopeCode> getUpdateScopes() {
+        if (!FilterByVersion.LEGACY_METADATA.accept()) return null;
         return new LegacyPropertyAdapter<ScopeCode,Scope>(getMaintenanceScopes()) {
             /** Stores a legacy value into the new kind of value. */
             @Override protected Scope wrap(final ScopeCode value) {
@@ -395,6 +402,7 @@ public class DefaultMaintenanceInformati
     @XmlElement(name = "updateScopeDescription")
     @Dependencies("getMaintenanceScopes")
     public final Collection<ScopeDescription> getUpdateScopeDescriptions() {
+        if (!FilterByVersion.LEGACY_METADATA.accept()) return null;
         return new LegacyPropertyAdapter<ScopeDescription,Scope>(getMaintenanceScopes())
{
             /** Stores a legacy value into the new kind of value. */
             @Override protected Scope wrap(final ScopeDescription value) {
@@ -477,4 +485,33 @@ public class DefaultMaintenanceInformati
     public void setContacts(final Collection<? extends Responsibility> newValues) {
         contacts = writeCollection(newValues, contacts, Responsibility.class);
     }
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////                                                                            
     ////////
+    ////////                               XML support with JAXB                        
     ////////
+    ////////                                                                            
     ////////
+    ////////        The following methods are invoked by JAXB using reflection (even if 
     ////////
+    ////////        they are private) or are helpers for other methods invoked by JAXB. 
     ////////
+    ////////        Those methods can be safely removed if Geographic Markup Language   
     ////////
+    ////////        (GML) support is not needed.                                        
     ////////
+    ////////                                                                            
     ////////
+    //////////////////////////////////////////////////////////////////////////////////////////////////
+
+    /**
+     * Invoked by JAXB at both marshalling and unmarshalling time.
+     * This attribute has been added by ISO 19115:2014 standard.
+     * If (and only if) marshalling an older standard version, we omit this attribute.
+     */
+    @XmlElement(name = "maintenanceDate", required = true)
+    private Collection<CitationDate> getMaintenanceDate() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getMaintenanceDates() : null;
+    }
+
+    @XmlElement(name = "maintenanceScope")
+    private Collection<Scope> getMaintenanceScope() {
+        return FilterByVersion.CURRENT_METADATA.accept() ? getMaintenanceScopes() : null;
+    }
 }

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScope.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -53,17 +53,18 @@ import org.apache.sis.metadata.iso.ISOMe
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Touraïvane (IRD)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
 @SuppressWarnings("CloneableClassWithoutClone")                 // ModifiableMetadata needs
shallow clones.
-@XmlType(name = "DQ_Scope_Type", propOrder = {
+@XmlType(name = "MD_Scope_Type", propOrder = {
    "level",
    "extents",
    "levelDescription"
 })
-@XmlRootElement(name = "DQ_Scope")
+@XmlRootElement(name = "MD_Scope")
 public class DefaultScope extends ISOMetadata implements Scope {
     /**
      * Serial number for inter-operability with different versions.

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -149,7 +149,6 @@ public class DefaultScopeDescription ext
      *
      * @see #castOrCopy(ScopeDescription)
      */
-    @SuppressWarnings("unchecked")
     public DefaultScopeDescription(final ScopeDescription object) {
         super(object);
         if (object != null) {

Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java?rev=1819383&r1=1819382&r2=1819383&view=diff
==============================================================================
--- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java
[UTF-8] (original)
+++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java
[UTF-8] Thu Dec 28 00:46:41 2017
@@ -62,21 +62,26 @@
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
- * @version 0.5
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
-@XmlSchema(location=Schemas.METADATA_XSD, elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.GMD,
xmlns = {
-    @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
+@XmlSchema(location=Schemas.METADATA_XSD_MAINTENANCE, elementFormDefault=XmlNsForm.QUALIFIED,
namespace=Namespaces.MMI, xmlns = {
+    @XmlNs(prefix = "mmi", namespaceURI = Namespaces.MMI),
+    @XmlNs(prefix = "mcc", namespaceURI = Namespaces.MCC),
+    @XmlNs(prefix = "gmw", namespaceURI = Namespaces.GMW),
     @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
     @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
 })
 @XmlAccessorType(XmlAccessType.NONE)
 @XmlJavaTypeAdapters({
     @XmlJavaTypeAdapter(EX_Extent.class),
+    @XmlJavaTypeAdapter(CI_Date.class),
     @XmlJavaTypeAdapter(CI_Responsibility.class),
     @XmlJavaTypeAdapter(MD_MaintenanceFrequencyCode.class),
     @XmlJavaTypeAdapter(MD_MaintenanceInformation.class),
+    @XmlJavaTypeAdapter(MD_Scope.class),
     @XmlJavaTypeAdapter(MD_ScopeCode.class),
     @XmlJavaTypeAdapter(MD_ScopeDescription.class),
     @XmlJavaTypeAdapter(TM_PeriodDuration.class),



Mime
View raw message