sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1607408 - in /sis/branches/JDK8/core/sis-metadata/src: main/java/org/apache/sis/internal/jaxb/metadata/ main/java/org/apache/sis/metadata/iso/ main/java/org/apache/sis/metadata/iso/acquisition/ main/java/org/apache/sis/metadata/iso/citatio...
Date Wed, 02 Jul 2014 16:13:19 GMT
Author: desruisseaux
Date: Wed Jul  2 16:13:19 2014
New Revision: 1607408

URL: http://svn.apache.org/r1607408
Log:
Added classes from the service package (SIS-94).
Fixed an erroneous information in package javadoc.

Added:
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_CoupledResource.java
      - copied, changed from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationChainMetadata.java
      - copied, changed from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationMetadata.java
      - copied, changed from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_Parameter.java
      - copied, changed from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java   (with props)
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java   (with props)
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java   (with props)
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java   (with props)
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java   (with props)
Modified:
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataTestCase.java
    sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java

Copied: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_CoupledResource.java (from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_CoupledResource.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_CoupledResource.java&p1=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java&r1=1607116&r2=1607408&rev=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_CoupledResource.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -17,8 +17,8 @@
 package org.apache.sis.internal.jaxb.metadata;
 
 import javax.xml.bind.annotation.XmlElementRef;
-import org.opengis.metadata.identification.Identification;
-import org.apache.sis.metadata.iso.identification.AbstractIdentification;
+import org.opengis.metadata.service.CoupledResource;
+import org.apache.sis.metadata.iso.service.DefaultCoupledResource;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
 
 
@@ -26,17 +26,16 @@ import org.apache.sis.internal.jaxb.gco.
  * JAXB adapter mapping implementing class to the GeoAPI interface. See
  * package documentation for more information about JAXB and interface.
  *
- * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @since   0.3 (derived from geotk-2.5)
- * @version 0.3
+ * @since   0.5
+ * @version 0.5
  * @module
  */
-public final class MD_Identification extends PropertyType<MD_Identification, Identification> {
+public final class SV_CoupledResource extends PropertyType<SV_CoupledResource, CoupledResource> {
     /**
      * Empty constructor for JAXB only.
      */
-    public MD_Identification() {
+    public SV_CoupledResource() {
     }
 
     /**
@@ -44,42 +43,42 @@ public final class MD_Identification ext
      * This method is indirectly invoked by the private constructor
      * below, so it shall not depend on the state of this object.
      *
-     * @return {@code Identification.class}
+     * @return {@code CoupledResource.class}
      */
     @Override
-    protected Class<Identification> getBoundType() {
-        return Identification.class;
+    protected Class<CoupledResource> getBoundType() {
+        return CoupledResource.class;
     }
 
     /**
      * Constructor for the {@link #wrap} method only.
      */
-    private MD_Identification(final Identification metadata) {
+    private SV_CoupledResource(final CoupledResource metadata) {
         super(metadata);
     }
 
     /**
      * Invoked by {@link PropertyType} at marshalling time for wrapping the given metadata value
-     * in a {@code <gmd:MD_Identification>} XML element.
+     * in a {@code <srv:SV_CoupledResource>} XML element.
      *
      * @param  metadata The metadata element to marshall.
      * @return A {@code PropertyType} wrapping the given the metadata element.
      */
     @Override
-    protected MD_Identification wrap(final Identification metadata) {
-        return new MD_Identification(metadata);
+    protected SV_CoupledResource wrap(final CoupledResource metadata) {
+        return new SV_CoupledResource(metadata);
     }
 
     /**
      * Invoked by JAXB at marshalling time for getting the actual metadata to write
-     * inside the {@code <gmd:MD_Identification>} XML element.
+     * inside the {@code <srv:SV_CoupledResource>} XML element.
      * This is the value or a copy of the value given in argument to the {@code wrap} method.
      *
      * @return The metadata to be marshalled.
      */
     @XmlElementRef
-    public AbstractIdentification getElement() {
-        return AbstractIdentification.castOrCopy(metadata);
+    public DefaultCoupledResource getElement() {
+        return DefaultCoupledResource.castOrCopy(metadata);
     }
 
     /**
@@ -87,7 +86,7 @@ public final class MD_Identification ext
      *
      * @param metadata The unmarshalled metadata.
      */
-    public void setElement(final AbstractIdentification metadata) {
+    public void setElement(final DefaultCoupledResource metadata) {
         this.metadata = metadata;
     }
 }

Copied: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationChainMetadata.java (from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationChainMetadata.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationChainMetadata.java&p1=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java&r1=1607116&r2=1607408&rev=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationChainMetadata.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -17,8 +17,8 @@
 package org.apache.sis.internal.jaxb.metadata;
 
 import javax.xml.bind.annotation.XmlElementRef;
-import org.opengis.metadata.identification.Identification;
-import org.apache.sis.metadata.iso.identification.AbstractIdentification;
+import org.opengis.metadata.service.OperationChainMetadata;
+import org.apache.sis.metadata.iso.service.DefaultOperationChainMetadata;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
 
 
@@ -26,17 +26,16 @@ import org.apache.sis.internal.jaxb.gco.
  * JAXB adapter mapping implementing class to the GeoAPI interface. See
  * package documentation for more information about JAXB and interface.
  *
- * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @since   0.3 (derived from geotk-2.5)
- * @version 0.3
+ * @since   0.5
+ * @version 0.5
  * @module
  */
-public final class MD_Identification extends PropertyType<MD_Identification, Identification> {
+public final class SV_OperationChainMetadata extends PropertyType<SV_OperationChainMetadata, OperationChainMetadata> {
     /**
      * Empty constructor for JAXB only.
      */
-    public MD_Identification() {
+    public SV_OperationChainMetadata() {
     }
 
     /**
@@ -44,42 +43,42 @@ public final class MD_Identification ext
      * This method is indirectly invoked by the private constructor
      * below, so it shall not depend on the state of this object.
      *
-     * @return {@code Identification.class}
+     * @return {@code OperationChainMetadata.class}
      */
     @Override
-    protected Class<Identification> getBoundType() {
-        return Identification.class;
+    protected Class<OperationChainMetadata> getBoundType() {
+        return OperationChainMetadata.class;
     }
 
     /**
      * Constructor for the {@link #wrap} method only.
      */
-    private MD_Identification(final Identification metadata) {
+    private SV_OperationChainMetadata(final OperationChainMetadata metadata) {
         super(metadata);
     }
 
     /**
      * Invoked by {@link PropertyType} at marshalling time for wrapping the given metadata value
-     * in a {@code <gmd:MD_Identification>} XML element.
+     * in a {@code <srv:SV_OperationChainMetadata>} XML element.
      *
      * @param  metadata The metadata element to marshall.
      * @return A {@code PropertyType} wrapping the given the metadata element.
      */
     @Override
-    protected MD_Identification wrap(final Identification metadata) {
-        return new MD_Identification(metadata);
+    protected SV_OperationChainMetadata wrap(final OperationChainMetadata metadata) {
+        return new SV_OperationChainMetadata(metadata);
     }
 
     /**
      * Invoked by JAXB at marshalling time for getting the actual metadata to write
-     * inside the {@code <gmd:MD_Identification>} XML element.
+     * inside the {@code <srv:SV_OperationChainMetadata>} XML element.
      * This is the value or a copy of the value given in argument to the {@code wrap} method.
      *
      * @return The metadata to be marshalled.
      */
     @XmlElementRef
-    public AbstractIdentification getElement() {
-        return AbstractIdentification.castOrCopy(metadata);
+    public DefaultOperationChainMetadata getElement() {
+        return DefaultOperationChainMetadata.castOrCopy(metadata);
     }
 
     /**
@@ -87,7 +86,7 @@ public final class MD_Identification ext
      *
      * @param metadata The unmarshalled metadata.
      */
-    public void setElement(final AbstractIdentification metadata) {
+    public void setElement(final DefaultOperationChainMetadata metadata) {
         this.metadata = metadata;
     }
 }

Copied: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationMetadata.java (from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationMetadata.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationMetadata.java&p1=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java&r1=1607116&r2=1607408&rev=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_OperationMetadata.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -17,8 +17,8 @@
 package org.apache.sis.internal.jaxb.metadata;
 
 import javax.xml.bind.annotation.XmlElementRef;
-import org.opengis.metadata.identification.Identification;
-import org.apache.sis.metadata.iso.identification.AbstractIdentification;
+import org.opengis.metadata.service.OperationMetadata;
+import org.apache.sis.metadata.iso.service.DefaultOperationMetadata;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
 
 
@@ -26,17 +26,16 @@ import org.apache.sis.internal.jaxb.gco.
  * JAXB adapter mapping implementing class to the GeoAPI interface. See
  * package documentation for more information about JAXB and interface.
  *
- * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @since   0.3 (derived from geotk-2.5)
- * @version 0.3
+ * @since   0.5
+ * @version 0.5
  * @module
  */
-public final class MD_Identification extends PropertyType<MD_Identification, Identification> {
+public final class SV_OperationMetadata extends PropertyType<SV_OperationMetadata, OperationMetadata> {
     /**
      * Empty constructor for JAXB only.
      */
-    public MD_Identification() {
+    public SV_OperationMetadata() {
     }
 
     /**
@@ -44,42 +43,42 @@ public final class MD_Identification ext
      * This method is indirectly invoked by the private constructor
      * below, so it shall not depend on the state of this object.
      *
-     * @return {@code Identification.class}
+     * @return {@code OperationMetadata.class}
      */
     @Override
-    protected Class<Identification> getBoundType() {
-        return Identification.class;
+    protected Class<OperationMetadata> getBoundType() {
+        return OperationMetadata.class;
     }
 
     /**
      * Constructor for the {@link #wrap} method only.
      */
-    private MD_Identification(final Identification metadata) {
+    private SV_OperationMetadata(final OperationMetadata metadata) {
         super(metadata);
     }
 
     /**
      * Invoked by {@link PropertyType} at marshalling time for wrapping the given metadata value
-     * in a {@code <gmd:MD_Identification>} XML element.
+     * in a {@code <srv:SV_OperationMetadata>} XML element.
      *
      * @param  metadata The metadata element to marshall.
      * @return A {@code PropertyType} wrapping the given the metadata element.
      */
     @Override
-    protected MD_Identification wrap(final Identification metadata) {
-        return new MD_Identification(metadata);
+    protected SV_OperationMetadata wrap(final OperationMetadata metadata) {
+        return new SV_OperationMetadata(metadata);
     }
 
     /**
      * Invoked by JAXB at marshalling time for getting the actual metadata to write
-     * inside the {@code <gmd:MD_Identification>} XML element.
+     * inside the {@code <srv:SV_OperationMetadata>} XML element.
      * This is the value or a copy of the value given in argument to the {@code wrap} method.
      *
      * @return The metadata to be marshalled.
      */
     @XmlElementRef
-    public AbstractIdentification getElement() {
-        return AbstractIdentification.castOrCopy(metadata);
+    public DefaultOperationMetadata getElement() {
+        return DefaultOperationMetadata.castOrCopy(metadata);
     }
 
     /**
@@ -87,7 +86,7 @@ public final class MD_Identification ext
      *
      * @param metadata The unmarshalled metadata.
      */
-    public void setElement(final AbstractIdentification metadata) {
+    public void setElement(final DefaultOperationMetadata metadata) {
         this.metadata = metadata;
     }
 }

Copied: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_Parameter.java (from r1607116, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_Parameter.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_Parameter.java&p1=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java&r1=1607116&r2=1607408&rev=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/MD_Identification.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/SV_Parameter.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -17,8 +17,8 @@
 package org.apache.sis.internal.jaxb.metadata;
 
 import javax.xml.bind.annotation.XmlElementRef;
-import org.opengis.metadata.identification.Identification;
-import org.apache.sis.metadata.iso.identification.AbstractIdentification;
+import org.opengis.metadata.service.Parameter;
+import org.apache.sis.metadata.iso.service.DefaultParameter;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
 
 
@@ -26,17 +26,16 @@ import org.apache.sis.internal.jaxb.gco.
  * JAXB adapter mapping implementing class to the GeoAPI interface. See
  * package documentation for more information about JAXB and interface.
  *
- * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @since   0.3 (derived from geotk-2.5)
- * @version 0.3
+ * @since   0.5
+ * @version 0.5
  * @module
  */
-public final class MD_Identification extends PropertyType<MD_Identification, Identification> {
+public final class SV_Parameter extends PropertyType<SV_Parameter, Parameter> {
     /**
      * Empty constructor for JAXB only.
      */
-    public MD_Identification() {
+    public SV_Parameter() {
     }
 
     /**
@@ -44,42 +43,42 @@ public final class MD_Identification ext
      * This method is indirectly invoked by the private constructor
      * below, so it shall not depend on the state of this object.
      *
-     * @return {@code Identification.class}
+     * @return {@code Parameter.class}
      */
     @Override
-    protected Class<Identification> getBoundType() {
-        return Identification.class;
+    protected Class<Parameter> getBoundType() {
+        return Parameter.class;
     }
 
     /**
      * Constructor for the {@link #wrap} method only.
      */
-    private MD_Identification(final Identification metadata) {
+    private SV_Parameter(final Parameter metadata) {
         super(metadata);
     }
 
     /**
      * Invoked by {@link PropertyType} at marshalling time for wrapping the given metadata value
-     * in a {@code <gmd:MD_Identification>} XML element.
+     * in a {@code <srv:SV_Parameter>} XML element.
      *
      * @param  metadata The metadata element to marshall.
      * @return A {@code PropertyType} wrapping the given the metadata element.
      */
     @Override
-    protected MD_Identification wrap(final Identification metadata) {
-        return new MD_Identification(metadata);
+    protected SV_Parameter wrap(final Parameter metadata) {
+        return new SV_Parameter(metadata);
     }
 
     /**
      * Invoked by JAXB at marshalling time for getting the actual metadata to write
-     * inside the {@code <gmd:MD_Identification>} XML element.
+     * inside the {@code <srv:SV_Parameter>} XML element.
      * This is the value or a copy of the value given in argument to the {@code wrap} method.
      *
      * @return The metadata to be marshalled.
      */
     @XmlElementRef
-    public AbstractIdentification getElement() {
-        return AbstractIdentification.castOrCopy(metadata);
+    public DefaultParameter getElement() {
+        return DefaultParameter.castOrCopy(metadata);
     }
 
     /**
@@ -87,7 +86,7 @@ public final class MD_Identification ext
      *
      * @param metadata The unmarshalled metadata.
      */
-    public void setElement(final AbstractIdentification metadata) {
+    public void setElement(final DefaultParameter metadata) {
         this.metadata = metadata;
     }
 }

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/acquisition/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -71,7 +71,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -66,7 +66,7 @@
  * See {@link org.apache.sis.xml.IdentifierMap} for more information.
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/constraint/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -45,7 +45,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/content/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -68,7 +68,7 @@
  * {@link org.opengis.metadata.content.RangeDimension}.
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -53,7 +53,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -118,7 +118,7 @@
  * </ul>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -24,6 +24,7 @@ import org.opengis.util.InternationalStr
 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.metadata.iso.ISOMetadata;
 import org.apache.sis.util.iso.Types;
 
@@ -35,7 +36,7 @@ import org.apache.sis.util.iso.Types;
  * @author  Touraïvane (IRD)
  * @author  Cédric Briançon (Geomatys)
  * @since   0.3 (derived from geotk-2.1)
- * @version 0.3
+ * @version 0.5
  * @module
  */
 @XmlType(name = "MD_Keywords_Type", propOrder = {
@@ -66,6 +67,12 @@ public class DefaultKeywords extends ISO
     private Citation thesaurusName;
 
     /**
+     * User-defined categorization of groups of keywords that extend or are orthogonal
+     * to the standardized {@linkplain #getType() keyword type} codes.
+     */
+    private KeywordClass keywordClass;
+
+    /**
      * Constructs an initially empty keywords.
      */
     public DefaultKeywords() {
@@ -195,4 +202,29 @@ public class DefaultKeywords extends ISO
         checkWritePermission();
         thesaurusName = newValue;
     }
+
+    /**
+     * Returns the user-defined categorization of groups of keywords that extend or
+     * are orthogonal to the standardized {@linkplain #getType() keyword type} codes.
+     *
+     * @return User-defined categorization of groups of keywords, or {@code null} if none.
+     *
+     * @since 0.5
+     */
+    @Override
+    public KeywordClass getKeywordClass() {
+        return keywordClass;
+    }
+
+    /**
+     * Sets the user-defined categorization of groups of keywords.
+     *
+     * @param newValue New user-defined categorization of groups of keywords.
+     *
+     * @since 0.5
+     */
+    public void setKeywordClass(final KeywordClass newValue) {
+        checkWritePermission();
+        keywordClass = newValue;
+    }
 }

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -69,7 +69,7 @@
  * </ul>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -49,7 +49,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -43,7 +43,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -65,7 +65,7 @@
  * will have precedence. The later behavior is compliant with INSPIRE rules.
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -93,7 +93,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Added: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java?rev=1607408&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java (added)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -0,0 +1,223 @@
+/*
+ * 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.metadata.iso.service;
+
+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.util.ScopedName;
+import org.opengis.metadata.citation.Citation;
+import org.opengis.metadata.identification.DataIdentification;
+import org.opengis.metadata.service.CoupledResource;
+import org.opengis.metadata.service.OperationMetadata;
+import org.apache.sis.metadata.iso.ISOMetadata;
+
+
+/**
+ * Links a given operation name with a resource identified by an "identifier".
+ *
+ * @author  Rémi Maréchal (Geomatys)
+ * @author  Martin Desruisseaux (Geomatys)
+ * @version 0.5
+ * @since   0.5
+ * @module
+ */
+@XmlType(name = "SV_CoupledResource_Type", propOrder = {
+    "scopedName",
+    "resourceReference",
+    "resource",
+    "operation"
+})
+@XmlRootElement(name = "SV_CoupledResource")
+public class DefaultCoupledResource extends ISOMetadata implements CoupledResource {
+    /**
+     * Serial number for compatibility with different versions.
+     */
+    private static final long serialVersionUID = 154704781596732747L;
+
+    /**
+     * Scoped identifier of the resource in the context of the given service instance.
+     */
+    private ScopedName scopedName;
+
+    /**
+     * References to the resource on which the services operates.
+     */
+    private Collection<Citation> resourceReferences;
+
+    /**
+     * The tightly coupled resources.
+     */
+    private Collection<DataIdentification> resources;
+
+    /**
+     * The service operation.
+     */
+    private OperationMetadata operation;
+
+    /**
+     * Constructs an initially empty coupled resource.
+     */
+    public DefaultCoupledResource() {
+    }
+
+    /**
+     * Constructs a new coupled resource initialized to the specified values.
+     *
+     * @param name       Scoped identifier of the resource in the context of the given service instance.
+     * @param reference  Reference to the reference to the resource on which the services operates.
+     * @param resource   The tightly coupled resource.
+     * @param operation  The service operation.
+     */
+    public DefaultCoupledResource(final ScopedName name,
+                                  final Citation reference,
+                                  final DataIdentification resource,
+                                  final OperationMetadata operation)
+    {
+        this.scopedName         = name;
+        this.resourceReferences = singleton(reference, Citation.class);
+        this.resources          = singleton(resource, DataIdentification.class);
+        this.operation          = operation;
+    }
+
+    /**
+     * Constructs a new instance initialized with the values from the specified metadata object.
+     * This is a <cite>shallow</cite> copy constructor, since the other metadata contained in the
+     * given object are not recursively copied.
+     *
+     * @param object The metadata to copy values from, or {@code null} if none.
+     *
+     * @see #castOrCopy(CoupledResource)
+     */
+    public DefaultCoupledResource(final CoupledResource object) {
+        super(object);
+        if (object != null) {
+            this.scopedName         = object.getScopedName();
+            this.resourceReferences = copyCollection(object.getResourceReferences(), Citation.class);
+            this.resources          = copyCollection(object.getResources(), DataIdentification.class);
+            this.operation          = object.getOperation();
+        }
+    }
+
+    /**
+     * Returns a SIS metadata implementation with the values of the given arbitrary implementation.
+     * This method performs the first applicable action in the following choices:
+     *
+     * <ul>
+     *   <li>If the given object is {@code null}, then this method returns {@code null}.</li>
+     *   <li>Otherwise if the given object is already an instance of
+     *       {@code DefaultCoupledResource}, then it is returned unchanged.</li>
+     *   <li>Otherwise a new {@code DefaultCoupledResource} instance is created using the
+     *       {@linkplain #DefaultCoupledResource(CoupledResource) copy constructor} and returned.
+     *       Note that this is a <cite>shallow</cite> copy operation, since the other
+     *       metadata contained in the given object are not recursively copied.</li>
+     * </ul>
+     *
+     * @param  object The object to get as a SIS implementation, or {@code null} if none.
+     * @return A SIS implementation containing the values of the given object (may be the
+     *         given object itself), or {@code null} if the argument was null.
+     */
+    public static DefaultCoupledResource castOrCopy(final CoupledResource object) {
+        if (object == null || object instanceof DefaultCoupledResource) {
+            return (DefaultCoupledResource) object;
+        }
+        return new DefaultCoupledResource(object);
+    }
+
+    /**
+     * Returns scoped identifier of the resource in the context of the given service instance.
+     *
+     * @return identifier of the resource, or {@code null} if none.
+     */
+    @Override
+    @XmlElement(name = "scopedName")
+    public ScopedName getScopedName() {
+        return scopedName;
+    }
+
+    /**
+     * Sets the identifier of the resource in the context of the given service instance.
+     *
+     * @param newValue The new identifier of the resource.
+     */
+    public void setScopedName(final ScopedName newValue) {
+        checkWritePermission();
+        this.scopedName = newValue;
+    }
+
+    /**
+     * Returns references to the resource on which the services operates.
+     *
+     * @return References to the resource on which the services operates.
+     */
+    @Override
+    @XmlElement(name = "resourceReference")
+    public Collection<Citation> getResourceReferences() {
+        return resourceReferences = nonNullCollection(resourceReferences, Citation.class);
+    }
+
+    /**
+     * Sets references to the resource on which the services operates.
+     *
+     * @param newValues The new references to the resource on which the services operates.
+     */
+    public void setResourceReferences(final Collection<? extends Citation> newValues) {
+        resourceReferences = writeCollection(newValues, resourceReferences, Citation.class);
+    }
+
+    /**
+     * Returns the tightly coupled resources.
+     *
+     * @return tightly coupled resources.
+     */
+    @Override
+    @XmlElement(name = "resource")
+    public Collection<DataIdentification> getResources() {
+        return resources = nonNullCollection(resources, DataIdentification.class);
+    }
+
+    /**
+     * Sets the tightly coupled resources.
+     *
+     * @param newValues The new tightly coupled resources.
+     */
+    public void setResources(final Collection<? extends DataIdentification> newValues) {
+        resources = writeCollection(newValues, resources, DataIdentification.class);
+    }
+
+    /**
+     * Returns the service operation.
+     *
+     * @return The service operation, or {@code null} if none.
+     */
+    @Override
+    @XmlElement(name = "operation")
+    public OperationMetadata getOperation() {
+        return operation;
+    }
+
+    /**
+     * Sets a new service operation.
+     *
+     * @param newValue The new service operation.
+     */
+    public void setOperation(final OperationMetadata newValue) {
+        checkWritePermission();
+        this.operation = newValue;
+    }
+}

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultCoupledResource.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java?rev=1607408&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java (added)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -0,0 +1,188 @@
+/*
+ * 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.metadata.iso.service;
+
+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.service.OperationChainMetadata;
+import org.opengis.metadata.service.OperationMetadata;
+import org.opengis.util.InternationalString;
+import org.apache.sis.metadata.iso.ISOMetadata;
+
+
+/**
+ * Operation chain information.
+ *
+ * @author  Rémi Maréchal (Geomatys)
+ * @author  Martin Desruisseaux (Geomatys)
+ * @version 0.5
+ * @since   0.5
+ * @module
+ */
+@XmlType(name = "SV_OperationChainMetadata_Type", propOrder = {
+    "name",
+    "description",
+    "operation"
+})
+@XmlRootElement(name = "SV_OperationChainMetadata")
+public class DefaultOperationChainMetadata extends ISOMetadata implements OperationChainMetadata {
+    /**
+     * Serial number for compatibility with different versions.
+     */
+    private static final long serialVersionUID = 4132508877114835287L;
+
+    /**
+     * The name as used by the service for this chain.
+     */
+    private InternationalString name;
+
+    /**
+     * A narrative explanation of the services in the chain and resulting output.
+     */
+    private InternationalString description;
+
+    /**
+     * Information about the operations applied by the chain.
+     */
+    private Collection<OperationMetadata> operations;
+
+    /**
+     * Constructs an initially empty operation chain metadata.
+     */
+    public DefaultOperationChainMetadata() {
+    }
+
+    /**
+     * Constructs a new operation chain metadata initialized to the specified values.
+     *
+     * @param name      The name as used by the service for this chain.
+     * @param operation Information about the operations applied by the chain.
+     */
+    public DefaultOperationChainMetadata(final InternationalString name,
+                                         final OperationMetadata operation)
+    {
+        this.name       = name;
+        this.operations = singleton(operation, OperationMetadata.class);
+    }
+
+    /**
+     * Constructs a new instance initialized with the values from the specified metadata object.
+     * This is a <cite>shallow</cite> copy constructor, since the other metadata contained in the
+     * given object are not recursively copied.
+     *
+     * @param object The metadata to copy values from, or {@code null} if none.
+     *
+     * @see #castOrCopy(OperationChainMetadata)
+     */
+    public DefaultOperationChainMetadata(final OperationChainMetadata object) {
+        super(object);
+        if (object != null) {
+            this.name        = object.getName();
+            this.description = object.getDescription();
+            this.operations  = copyCollection(object.getOperations(), OperationMetadata.class);
+        }
+    }
+
+    /**
+     * Returns a SIS metadata implementation with the values of the given arbitrary implementation.
+     * This method performs the first applicable action in the following choices:
+     *
+     * <ul>
+     *   <li>If the given object is {@code null}, then this method returns {@code null}.</li>
+     *   <li>Otherwise if the given object is already an instance of
+     *       {@code DefaultOperationChainMetadata}, then it is returned unchanged.</li>
+     *   <li>Otherwise a new {@code DefaultOperationChainMetadata} instance is created using the
+     *       {@linkplain #DefaultOperationChainMetadata(OperationChainMetadata) copy constructor}
+     *       and returned. Note that this is a <cite>shallow</cite> copy operation, since the other
+     *       metadata contained in the given object are not recursively copied.</li>
+     * </ul>
+     *
+     * @param  object The object to get as a SIS implementation, or {@code null} if none.
+     * @return A SIS implementation containing the values of the given object (may be the
+     *         given object itself), or {@code null} if the argument was null.
+     */
+    public static DefaultOperationChainMetadata castOrCopy(final OperationChainMetadata object) {
+        if (object == null || object instanceof DefaultOperationChainMetadata) {
+            return (DefaultOperationChainMetadata) object;
+        }
+        return new DefaultOperationChainMetadata(object);
+    }
+
+    /**
+     * Returns the name as used by the service for this chain.
+     *
+     * @return Name as used by the service for this chain.
+     */
+    @Override
+    @XmlElement(name = "name", required = true)
+    public InternationalString getName() {
+        return name;
+    }
+
+    /**
+     * Set the name used by the service for this chain.
+     *
+     * @param newValue The new name used by the service for this chain.
+     */
+    public void setName(final InternationalString newValue) {
+        checkWritePermission();
+        name = newValue;
+    }
+
+    /**
+     * Returns a narrative explanation of the services in the chain and resulting output.
+     *
+     * @return Narrative explanation of the services in the chain and resulting output, or {@code null} if none.
+     */
+    @Override
+    @XmlElement(name = "description")
+    public InternationalString getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the narrative explanation of the services in the chain and resulting output.
+     *
+     * @param newValue The new a narrative explanation of the services in the chain and resulting output
+     */
+    public void setDescription(final InternationalString newValue) {
+        checkWritePermission();
+        description = newValue;
+    }
+
+    /**
+     * Returns information about the operations applied by the chain.
+     *
+     * @return Information about the operations applied by the chain.
+     */
+    @Override
+    @XmlElement(name = "operation", required = true)
+    public Collection<OperationMetadata> getOperations() {
+        return operations = nonNullCollection(operations, OperationMetadata.class);
+    }
+
+    /**
+     * Sets the information about the operations applied by the chain.
+     *
+     * @param newValues The new information about the operations applied by the chain.
+     */
+    public void setOperations(final Collection<? extends OperationMetadata> newValues) {
+        operations = writeCollection(newValues, operations, OperationMetadata.class);
+    }
+}

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationChainMetadata.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java?rev=1607408&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java (added)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -0,0 +1,305 @@
+/*
+ * 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.metadata.iso.service;
+
+import java.util.Set;
+import java.util.List;
+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.util.InternationalString;
+import org.apache.sis.metadata.iso.ISOMetadata;
+import org.opengis.metadata.citation.OnlineResource;
+import org.opengis.metadata.service.DistributedComputingPlatform;
+import org.opengis.metadata.service.OperationMetadata;
+import org.opengis.metadata.service.Parameter;
+
+
+/**
+ * Parameter information.
+ *
+ * @author  Rémi Maréchal (Geomatys)
+ * @author  Martin Desruisseaux (Geomatys)
+ * @version 0.5
+ * @since   0.5
+ * @module
+ */
+@XmlType(name = "SV_OperationMetadata_Type", propOrder = {
+    "operationName",
+    "distributedComputingPlatform",
+    "description",
+    "optionality",
+    "repeatibility",
+    "optionality",
+    "repeatibility"
+})
+@XmlRootElement(name = "SV_OperationMetadata")
+public class DefaultOperationMetadata extends ISOMetadata implements OperationMetadata {
+    /**
+     * Serial number for compatibility with different versions.
+     */
+    private static final long serialVersionUID = -6120853428175790473L;
+
+    /**
+     * An unique identifier for this interface.
+     */
+    private InternationalString operationName;
+
+    /**
+     * Distributed computing platforms on which the operation has been implemented.
+     */
+    private Collection<DistributedComputingPlatform> distributedComputingPlatforms;
+
+    /**
+     * Free text description of the intent of the operation and the results of the operation.
+     */
+    private InternationalString operationDescription;
+
+    /**
+     * The name used to invoke this interface within the context of the DCP.
+     */
+    private InternationalString invocationName;
+
+    /**
+     * Handle for accessing the service interface.
+     */
+    private Collection<OnlineResource> connectPoints;
+
+    /**
+     * The parameters that are required for this interface.
+     */
+    private Set<Parameter> parameters;
+
+    /**
+     * List of operation that must be completed immediately.
+     */
+    private List<OperationMetadata> dependsOn;
+
+    /**
+     * Constructs an initially empty operation metadata.
+     */
+    public DefaultOperationMetadata() {
+    }
+
+    /**
+     * Constructs a new operation metadata initialized to the specified values.
+     *
+     * @param operationName An unique identifier for this interface.
+     * @param platform      Distributed computing platforms on which the operation has been implemented.
+     * @param connectPoint  Handle for accessing the service interface.
+     */
+    public DefaultOperationMetadata(final InternationalString operationName,
+                                    final DistributedComputingPlatform platform,
+                                    final OnlineResource connectPoint)
+    {
+        this.operationName                 = operationName;
+        this.distributedComputingPlatforms = singleton(platform, DistributedComputingPlatform.class);
+        this.connectPoints                 = singleton(connectPoint, OnlineResource.class);
+    }
+
+    /**
+     * Constructs a new instance initialized with the values from the specified metadata object.
+     * This is a <cite>shallow</cite> copy constructor, since the other metadata contained in the
+     * given object are not recursively copied.
+     *
+     * @param object The metadata to copy values from, or {@code null} if none.
+     *
+     * @see #castOrCopy(OperationMetadata)
+     */
+    public DefaultOperationMetadata(final OperationMetadata object) {
+        super(object);
+        if (object != null) {
+            this.operationName                 = object.getOperationName();
+            this.distributedComputingPlatforms = copyCollection(object.getDistributedComputingPlatforms(), DistributedComputingPlatform.class);
+            this.operationDescription          = object.getOperationDescription();
+            this.invocationName                = object.getInvocationName();
+            this.connectPoints                 = copyCollection(object.getConnectPoints(), OnlineResource.class);
+            this.parameters                    = copySet(object.getParameters(), Parameter.class);
+            this.dependsOn                     = copyList(object.getDependsOn(), OperationMetadata.class);
+        }
+    }
+
+    /**
+     * Returns a SIS metadata implementation with the values of the given arbitrary implementation.
+     * This method performs the first applicable action in the following choices:
+     *
+     * <ul>
+     *   <li>If the given object is {@code null}, then this method returns {@code null}.</li>
+     *   <li>Otherwise if the given object is already an instance of
+     *       {@code DefaultOperationMetadata}, then it is returned unchanged.</li>
+     *   <li>Otherwise a new {@code DefaultOperationMetadata} instance is created using the
+     *       {@linkplain #DefaultOperationMetadata(OperationMetadata) copy constructor}
+     *       and returned. Note that this is a <cite>shallow</cite> copy operation, since the other
+     *       metadata contained in the given object are not recursively copied.</li>
+     * </ul>
+     *
+     * @param  object The object to get as a SIS implementation, or {@code null} if none.
+     * @return A SIS implementation containing the values of the given object (may be the
+     *         given object itself), or {@code null} if the argument was null.
+     */
+    public static DefaultOperationMetadata castOrCopy(final OperationMetadata object) {
+        if (object == null || object instanceof DefaultOperationMetadata) {
+            return (DefaultOperationMetadata) object;
+        }
+        return new DefaultOperationMetadata(object);
+    }
+
+    /**
+     * Returns an unique identifier for this interface.
+     *
+     * @return An unique identifier for this interface.
+     */
+    @Override
+    @XmlElement(name = "operationName", required = true)
+    public InternationalString getOperationName() {
+        return this.operationName;
+    }
+
+    /**
+     * Set the unique identifier for this interface.
+     *
+     * @param newValue The new unique identifier for this interface.
+     */
+    public void setOperationName(final InternationalString newValue) {
+        checkWritePermission();
+        this.operationName = newValue;
+    }
+
+    /**
+     * Returns the distributed computing platforms (DCPs) on which the operation has been implemented.
+     *
+     * @return Distributed computing platforms on which the operation has been implemented.
+     */
+    @Override
+    @XmlElement(name = "distributedComputingPlatform", required = true)
+    public Collection<DistributedComputingPlatform> getDistributedComputingPlatforms() {
+        return distributedComputingPlatforms = nonNullCollection(distributedComputingPlatforms, DistributedComputingPlatform.class);
+    }
+
+    /**
+     * Sets the distributed computing platforms on which the operation has been implemented.
+     *
+     * @param newValues The new distributed computing platforms on which the operation has been implemented.
+     */
+    public void setDistributedComputingPlatforms(final Collection<? extends DistributedComputingPlatform> newValues) {
+        distributedComputingPlatforms = writeCollection(newValues, distributedComputingPlatforms, DistributedComputingPlatform.class);
+    }
+
+    /**
+     * Returns free text description of the intent of the operation and the results of the operation.
+     *
+     * @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")
+    public InternationalString getOperationDescription() {
+        return operationDescription;
+    }
+
+    /**
+     * Sets free text description of the intent of the operation and the results of the operation.
+     *
+     * @param newValue The new free text description of the intent of the operation and the results of the operation.
+     */
+    public void setOperationDescription(final InternationalString newValue) {
+        checkWritePermission();
+        operationDescription = newValue;
+    }
+
+    /**
+     * Returns the name used to invoke this interface within the context of the DCP.
+     *
+     * @return The name used to invoke this interface within the context of the distributed computing platforms,
+     *         or {@code null} if none.
+     */
+    @Override
+    @XmlElement(name = "invocationName")
+    public InternationalString getInvocationName() {
+        return invocationName;
+    }
+
+    /**
+     * Sets the name used to invoke this interface within the context of the DCP.
+     *
+     * @param newValue The new name used to invoke this interface within the context of the DCP.
+     */
+    public void setInvocationName(final InternationalString newValue) {
+        checkWritePermission();
+        invocationName = newValue;
+    }
+
+    /**
+     * Returns the handle for accessing the service interface.
+     *
+     * @return Handle for accessing the service interface.
+     */
+    @Override
+    @XmlElement(name = "connectPoint", required = true)
+    public Collection<OnlineResource> getConnectPoints() {
+        return connectPoints = nonNullCollection(connectPoints, OnlineResource.class);
+    }
+
+    /**
+     * Sets the handle for accessing the service interface.
+     *
+     * @param newValue The new handle for accessing the service interface.
+     */
+    public void setConnectPoints(final Collection<? extends OnlineResource> newValue) {
+        connectPoints = writeCollection(newValue, connectPoints, OnlineResource.class);
+    }
+
+    /**
+     * Returns the parameters that are required for this interface.
+     *
+     * @return The parameters that are required for this interface, or an empty collection if none.
+     */
+    @Override
+    @XmlElement(name = "parameters")
+    public Set<Parameter> getParameters() {
+        return nonNullSet(parameters, Parameter.class);
+    }
+
+    /**
+     * Sets the parameters that are required for this interface.
+     *
+     * @param newValues The new set of parameters that are required for this interface.
+     */
+    public void setParameters(final Set<? extends Parameter> newValues) {
+        parameters = writeSet(newValues, parameters, Parameter.class);
+    }
+
+    /**
+     * Returns the list of operation that must be completed immediately before current operation is invoked.
+     *
+     * @return List of operation that must be completed immediately, or an empty list if none.
+     */
+    @Override
+    @XmlElement(name = "dependsOn")
+    public List<OperationMetadata> getDependsOn() {
+        return dependsOn = nonNullList(dependsOn, OperationMetadata.class);
+    }
+
+    /**
+     * Set the list of operation that must be completed before current operation is invoked.
+     *
+     * @param newValues The new list of operation.
+     */
+    public void setDependsOn(final List<? extends OperationMetadata> newValues) {
+        dependsOn = writeList(newValues, dependsOn, OperationMetadata.class);
+    }
+}

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultOperationMetadata.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java?rev=1607408&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java (added)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -0,0 +1,250 @@
+/*
+ * 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.metadata.iso.service;
+
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import org.opengis.util.MemberName;
+import org.opengis.util.InternationalString;
+import org.opengis.metadata.service.Parameter;
+import org.opengis.metadata.service.ParameterDirection;
+import org.apache.sis.metadata.iso.ISOMetadata;
+
+
+/**
+ * Parameter information.
+ *
+ * @author  Rémi Maréchal (Geomatys)
+ * @author  Martin Desruisseaux (Geomatys)
+ * @version 0.5
+ * @since   0.5
+ * @module
+ *
+ * @todo Merge with {@link org.apache.sis.parameter}?
+ */
+@XmlType(name = "SV_Parameter_Type", propOrder = {
+    "name",
+    "direction",
+    "description",
+    "optionality",
+    "repeatibility"
+})
+@XmlRootElement(name = "SV_Parameter")
+public class DefaultParameter extends ISOMetadata implements Parameter {
+    /**
+     * Serial number for compatibility with different versions.
+     */
+    private static final long serialVersionUID = -5335736212313243889L;
+
+    /**
+     * The name, as used by the service for this parameter.
+     */
+    private MemberName name;
+
+    /**
+     * Indication if the parameter is an input to the service, an output or both.
+     */
+    private ParameterDirection direction;
+
+    /**
+     * A narrative explanation of the role of the parameter.
+     */
+    private InternationalString description;
+
+    /**
+     * Indication if the parameter is required.
+     */
+    private InternationalString optionality;
+
+    /**
+     * Indication if more than one value of the parameter may be provided.
+     */
+    private boolean repeatability;
+
+    /**
+     * Constructs an initially empty parameter.
+     */
+    public DefaultParameter() {
+    }
+
+    /**
+     * Constructs a new parameter initialized to the specified values.
+     *
+     * @param name          The name, as used by the service for this parameter.
+     * @param optionality   Indication if the parameter is required.
+     * @param repeatability Indication if more than one value of the parameter may be provided.
+     */
+    public DefaultParameter(final MemberName name,
+                            final InternationalString optionality,
+                            final boolean repeatability)
+    {
+        this.name          = name;
+        this.optionality   = optionality;
+        this.repeatability = repeatability;
+    }
+
+    /**
+     * Constructs a new instance initialized with the values from the specified metadata object.
+     * This is a <cite>shallow</cite> copy constructor, since the other metadata contained in the
+     * given object are not recursively copied.
+     *
+     * @param object The metadata to copy values from, or {@code null} if none.
+     *
+     * @see #castOrCopy(Parameter)
+     */
+    public DefaultParameter(final Parameter object) {
+        super(object);
+        if (object != null) {
+            this.name          = object.getName();
+            this.direction     = object.getDirection();
+            this.description   = object.getDescription();
+            this.optionality   = object.getOptionality();
+            this.repeatability = object.getRepeatability();
+        }
+    }
+
+    /**
+     * Returns a SIS metadata implementation with the values of the given arbitrary implementation.
+     * This method performs the first applicable action in the following choices:
+     *
+     * <ul>
+     *   <li>If the given object is {@code null}, then this method returns {@code null}.</li>
+     *   <li>Otherwise if the given object is already an instance of
+     *       {@code DefaultParameter}, then it is returned unchanged.</li>
+     *   <li>Otherwise a new {@code DefaultParameter} instance is created using the
+     *       {@linkplain #DefaultParameter(Parameter) copy constructor}
+     *       and returned. Note that this is a <cite>shallow</cite> copy operation, since the other
+     *       metadata contained in the given object are not recursively copied.</li>
+     * </ul>
+     *
+     * @param  object The object to get as a SIS implementation, or {@code null} if none.
+     * @return A SIS implementation containing the values of the given object (may be the
+     *         given object itself), or {@code null} if the argument was null.
+     */
+    public static DefaultParameter castOrCopy(final Parameter object) {
+        if (object == null || object instanceof DefaultParameter) {
+            return (DefaultParameter) object;
+        }
+        return new DefaultParameter(object);
+    }
+
+    /**
+     * Returns the name, as used by the service for this parameter.
+     *
+     * @return The name, as used by the service for this parameter.
+     */
+    @Override
+    @XmlElement(name = "name", required = true)
+    public MemberName getName() {
+        return name;
+    }
+
+    /**
+     * Sets the name.
+     *
+     * @param newValue The new name, as used by the service for this parameter.
+     */
+    public void setName(final MemberName newValue) {
+        checkWritePermission();
+        this.name = newValue;
+    }
+
+    /**
+     * Returns whether the parameter is an input to the service, an output or both.
+     *
+     * @return Indication if the parameter is an input to the service, an output or both, or {@code null} if none.
+     */
+    @Override
+    @XmlElement(name = "direction")
+    public ParameterDirection getDirection() {
+        return direction;
+    }
+
+    /**
+     * Sets whether the parameter is an input to the service, an output or both.
+     *
+     * @param newValue Whether the parameter is an input to the service, an output or both.
+     */
+    public void setDirection(final ParameterDirection newValue) {
+        checkWritePermission();
+        this.direction = newValue;
+    }
+
+    /**
+     * Returns a narrative explanation of the role of the parameter.
+     *
+     * @return A narrative explanation of the role of the parameter, or {@code null} if none.
+     */
+    @Override
+    @XmlElement(name = "description")
+    public InternationalString getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the narrative explanation of the role of the parameter.
+     *
+     * @param newValue The new narrative explanation of the role of the parameter.
+     */
+    public void setDescription(final InternationalString newValue) {
+        checkWritePermission();
+        this.description = newValue;
+    }
+
+    /**
+     * Returns whether the parameter is required.
+     *
+     * @return Whether the parameter is required.
+     */
+    @Override
+    @XmlElement(name = "optionality", required = true)
+    public InternationalString getOptionality() {
+        return optionality;
+    }
+
+    /**
+     * Sets whether the parameter is required.
+     *
+     * @param newValue Whether the parameter is required.
+     */
+    public void setOptionality(final InternationalString newValue) {
+        checkWritePermission();
+        this.optionality = newValue;
+    }
+
+    /**
+     * Returns whether more than one value of the parameter may be provided.
+     *
+     * @return Whether more than one value of the parameter may be provided.
+     */
+    @Override
+    @XmlElement(name = "repeatability", required = true)
+    public boolean getRepeatability() {
+        return repeatability;
+    }
+
+    /**
+     * Sets whether more than one value of the parameter may be provided.
+     *
+     * @param newValue Whether more than one value of the parameter may be provided.
+     */
+    public void setRepeatability(final boolean newValue) {
+        checkWritePermission();
+        this.repeatability = newValue;
+    }
+}

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/DefaultParameter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Added: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java?rev=1607408&view=auto
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java (added)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+/**
+ * Information about services.
+ * An explanation for this package is provided in the {@linkplain org.opengis.metadata.service OpenGIS® javadoc}.
+ * The remaining discussion on this page is specific to the SIS implementation.
+ *
+ * {@section Overview}
+ * For a global overview of metadata in SIS, see the {@link org.apache.sis.metadata} package javadoc.
+ *
+ * {@section Null values, nil objects and collections}
+ * All constructors and setter methods accept {@code null} arguments.
+ * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
+ * Alternatively, users can specify why a metadata element is missing by providing a value created by
+ * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.
+ *
+ * <p>Unless otherwise noted in the Javadoc, all getter methods may return an empty collection,
+ * an empty array or {@code null} if the type is neither a collection or an array.
+ * Note that non-null values may be {@link org.apache.sis.xml.NilObject}s.</p>
+ *
+ * <p>Unless the metadata object has been marked as unmodifiable and unless otherwise noted in the Javadoc,
+ * all collections returned by getter methods are <cite>live</cite>: adding new elements in the collection
+ * modify directly the underlying metadata object.</p>
+ *
+ * @author  Rémi Maréchal (Geomatys)
+ * @author  Martin Desruisseaux (Geomatys)
+ * @since   0.5
+ * @version 0.5
+ * @module
+ */
+@XmlSchema(elementFormDefault = XmlNsForm.QUALIFIED, namespace = Namespaces.SRV, xmlns = {
+    @XmlNs(prefix = "srv", namespaceURI = Namespaces.SRV),
+    @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
+    @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
+    @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
+})
+@XmlAccessorType(XmlAccessType.NONE)
+package org.apache.sis.metadata.iso.service;
+
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlSchema;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import org.apache.sis.xml.Namespaces;

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/service/package-info.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -67,7 +67,7 @@
  * </td></tr></table>
  *
  * {@section Null values, nil objects and collections}
- * All constructors (except the <cite>copy constructors</cite>) and setter methods accept {@code null} arguments.
+ * All constructors and setter methods accept {@code null} arguments.
  * A null argument value means that the metadata element can not be provided, and the reason for that is unspecified.
  * Alternatively, users can specify why a metadata element is missing by providing a value created by
  * {@link org.apache.sis.xml.NilReason#createNilObject NilReason.createNilObject(Class)}.

Modified: sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataTestCase.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataTestCase.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataTestCase.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataTestCase.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -254,9 +254,8 @@ public abstract strictfp class MetadataT
              */
             final boolean isWritable = isWritable(accessor.implementation, property);
             if (isWritable != accessor.isWritable(i)) {
-                System.out.println(accessor);
+                fail("Non writable property: " + accessor + '.' + property);
             }
-            assertEquals("isWritable", isWritable, accessor.isWritable(i));
             if (isWritable) {
                 final Object newValue = valueFor(property, elementType);
                 final Object oldValue = accessor.set(i, instance, newValue, PropertyAccessor.RETURN_PREVIOUS);

Modified: sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java?rev=1607408&r1=1607407&r2=1607408&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java [UTF-8] Wed Jul  2 16:13:19 2014
@@ -188,6 +188,10 @@ public final strictfp class AllMetadataT
             org.opengis.metadata.quality.ThematicClassificationCorrectness.class,
             org.opengis.metadata.quality.TopologicalConsistency.class,
             org.opengis.metadata.quality.Usability.class,
+            org.opengis.metadata.service.CoupledResource.class,
+            org.opengis.metadata.service.OperationChainMetadata.class,
+            org.opengis.metadata.service.OperationMetadata.class,
+            org.opengis.metadata.service.Parameter.class,
             org.opengis.metadata.spatial.CellGeometry.class,
             org.opengis.metadata.spatial.Dimension.class,
             org.opengis.metadata.spatial.DimensionNameType.class,
@@ -225,6 +229,10 @@ public final strictfp class AllMetadataT
      */
     @Override
     protected String getExpectedNamespace(final Class<?> impl, final Specification specification) {
+        if (impl.getPackage().getName().equals("org.apache.sis.metadata.iso.service")) {
+            assertEquals(Specification.ISO_19115, specification);
+            return Namespaces.SRV;
+        }
         if (impl == org.apache.sis.metadata.iso.identification.DefaultServiceIdentification.class) {
             return Namespaces.SRV;
         }
@@ -263,6 +271,7 @@ public final strictfp class AllMetadataT
      * or {@code null} if no adapter is expected for the given type.
      *
      * @return {@inheritDoc}
+     * @throws ClassNotFoundException {@inheritDoc}
      */
     @Override
     protected Class<?> getWrapperFor(final Class<?> type) throws ClassNotFoundException {



Mime
View raw message