sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tlpin...@apache.org
Subject svn commit: r1517321 [7/16] - in /sis/branches/Shapefile: ./ application/ application/sis-console/ application/sis-console/src/main/artifact/ application/sis-console/src/main/java/org/apache/sis/console/ application/sis-console/src/main/resources/org/a...
Date Sun, 25 Aug 2013 15:49:59 GMT
Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -129,20 +129,22 @@ public class DefaultDataIdentification e
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(DataIdentification)
      */
     public DefaultDataIdentification(final DataIdentification object) {
         super(object);
-        spatialRepresentationTypes = copyCollection(object.getSpatialRepresentationTypes(), SpatialRepresentationType.class);
-        spatialResolutions         = copyCollection(object.getSpatialResolutions(), Resolution.class);
-        languages                  = copyCollection(object.getLanguages(), Locale.class);
-        characterSets              = copyCollection(object.getCharacterSets(), CharacterSet.class);
-        topicCategories            = copyCollection(object.getTopicCategories(), TopicCategory.class);
-        environmentDescription     = object.getEnvironmentDescription();
-        extents                    = copyCollection(object.getExtents(), Extent.class);
-        supplementalInformation    = object.getSupplementalInformation();
+        if (object != null) {
+            spatialRepresentationTypes = copyCollection(object.getSpatialRepresentationTypes(), SpatialRepresentationType.class);
+            spatialResolutions         = copyCollection(object.getSpatialResolutions(), Resolution.class);
+            languages                  = copyCollection(object.getLanguages(), Locale.class);
+            characterSets              = copyCollection(object.getCharacterSets(), CharacterSet.class);
+            topicCategories            = copyCollection(object.getTopicCategories(), TopicCategory.class);
+            environmentDescription     = object.getEnvironmentDescription();
+            extents                    = copyCollection(object.getExtents(), Extent.class);
+            supplementalInformation    = object.getSupplementalInformation();
+        }
     }
 
     /**
@@ -172,6 +174,8 @@ public class DefaultDataIdentification e
 
     /**
      * Returns the method used to spatially represent geographic information.
+     *
+     * @return Method(s) used to spatially represent geographic information.
      */
     @Override
     @XmlElement(name = "spatialRepresentationType")
@@ -189,8 +193,9 @@ public class DefaultDataIdentification e
     }
 
     /**
-     * Returns the factor which provides a general understanding of the density of spatial data
-     * in the dataset.
+     * Returns the factor which provides a general understanding of the density of spatial data in the dataset.
+     *
+     * @return Factor which provides a general understanding of the density of spatial data.
      */
     @Override
     @XmlElement(name = "spatialResolution")
@@ -199,8 +204,7 @@ public class DefaultDataIdentification e
     }
 
     /**
-     * Sets the factor which provides a general understanding of the density of spatial data
-     * in the dataset.
+     * Sets the factor which provides a general understanding of the density of spatial data in the dataset.
      *
      * @param newValues The new spatial resolutions.
      */
@@ -210,6 +214,8 @@ public class DefaultDataIdentification e
 
     /**
      * Returns the language(s) used within the dataset.
+     *
+     * @return Language(s) used.
      */
     @Override
     @XmlElement(name = "language", required = true)
@@ -228,6 +234,8 @@ public class DefaultDataIdentification e
 
     /**
      * Returns the full name of the character coding standard used for the dataset.
+     *
+     * @return Name(s) of the character coding standard(s) used.
      */
     @Override
     @XmlElement(name = "characterSet")
@@ -246,6 +254,8 @@ public class DefaultDataIdentification e
 
     /**
      * Returns the main theme(s) of the dataset.
+     *
+     * @return Main theme(s).
      */
     @Override
     @XmlElement(name = "topicCategory")
@@ -265,6 +275,8 @@ public class DefaultDataIdentification e
     /**
      * Returns a description of the dataset in the producer's processing environment. This includes
      * items such as the software, the computer operating system, file name, and the dataset size.
+     *
+     * @return Description of the dataset in the producer's processing environment, or {@code null}.
      */
     @Override
     @XmlElement(name = "environmentDescription")
@@ -285,6 +297,8 @@ public class DefaultDataIdentification e
     /**
      * Returns additional extent information including the bounding polygon, vertical, and temporal
      * extent of the dataset.
+     *
+     * @return Additional extent information.
      */
     @Override
     @XmlElement(name = "extent")
@@ -303,6 +317,8 @@ public class DefaultDataIdentification e
 
     /**
      * Any other descriptive information about the dataset.
+     *
+     * @return Other descriptive information, or {@code null}.
      */
     @Override
     @XmlElement(name = "supplementalInformation")

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultKeywords.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -96,15 +96,17 @@ public class DefaultKeywords extends ISO
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Keywords)
      */
     public DefaultKeywords(final Keywords object) {
         super(object);
-        keywords      = copyCollection(object.getKeywords(), InternationalString.class);
-        type          = object.getType();
-        thesaurusName = object.getThesaurusName();
+        if (object != null) {
+            keywords      = copyCollection(object.getKeywords(), InternationalString.class);
+            type          = object.getType();
+            thesaurusName = object.getThesaurusName();
+        }
     }
 
     /**
@@ -134,6 +136,8 @@ public class DefaultKeywords extends ISO
 
     /**
      * Returns commonly used word(s) or formalised word(s) or phrase(s) used to describe the subject.
+     *
+     * @return Word(s) or phrase(s) used to describe the subject.
      */
     @Override
     @XmlElement(name = "keyword", required = true)
@@ -152,6 +156,8 @@ public class DefaultKeywords extends ISO
 
     /**
      * Returns the subject matter used to group similar keywords.
+     *
+     * @return Subject matter used to group similar keywords, or {@code null}.
      */
     @Override
     @XmlElement(name = "type")
@@ -170,8 +176,9 @@ public class DefaultKeywords extends ISO
     }
 
     /**
-     * Returns the name of the formally registered thesaurus
-     * or a similar authoritative source of keywords.
+     * Returns the name of the formally registered thesaurus or a similar authoritative source of keywords.
+     *
+     * @return Name of registered thesaurus or similar authoritative source of keywords, or {@code null}.
      */
     @Override
     @XmlElement(name = "thesaurusName")
@@ -180,8 +187,7 @@ public class DefaultKeywords extends ISO
     }
 
     /**
-     * Sets the name of the formally registered thesaurus or a similar authoritative source
-     * of keywords.
+     * Sets the name of the formally registered thesaurus or a similar authoritative source of keywords.
      *
      * @param newValue The new thesaurus name.
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFraction.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -16,13 +16,28 @@
  */
 package org.apache.sis.metadata.iso.identification;
 
+import java.util.Collection;
+import javax.xml.bind.annotation.XmlID;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import org.opengis.metadata.Identifier;
 import org.opengis.metadata.identification.RepresentativeFraction;
+import org.apache.sis.internal.jaxb.IdentifierMapWithSpecialCases;
+import org.apache.sis.internal.jaxb.gco.GO_Integer64;
+import org.apache.sis.internal.util.CheckedArrayList;
+import org.apache.sis.xml.IdentifierMap;
+import org.apache.sis.xml.IdentifierSpace;
+import org.apache.sis.xml.IdentifiedObject;
+import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.resources.Errors;
 
+import static org.apache.sis.util.collection.Containers.isNullOrEmpty;
+
 
 /**
  * A scale defined as the inverse of a denominator.
@@ -36,12 +51,12 @@ import org.apache.sis.util.resources.Err
  * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-2.4)
- * @version 0.3
+ * @version 0.4
  * @module
  */
 @XmlType(name = "MD_RepresentativeFraction_Type")
 @XmlRootElement(name = "MD_RepresentativeFraction")
-public class DefaultRepresentativeFraction extends Number implements RepresentativeFraction {
+public class DefaultRepresentativeFraction extends Number implements RepresentativeFraction, IdentifiedObject {
     /**
      * Serial number for compatibility with different versions.
      */
@@ -53,6 +68,12 @@ public class DefaultRepresentativeFracti
     private long denominator;
 
     /**
+     * All identifiers associated with this metadata, or {@code null} if none.
+     * This field is initialized to a non-null value when first needed.
+     */
+    private Collection<Identifier> identifiers;
+
+    /**
      * Creates a uninitialized representative fraction.
      * The {@linkplain #getDenominator() denominator} is initially zero
      * and the {@linkplain #doubleValue() double value} is NaN.
@@ -74,13 +95,14 @@ public class DefaultRepresentativeFracti
     /**
      * Constructs a new representative fraction initialized to the value of the given object.
      *
-     * @param  object The representative fraction to copy.
+     * @param  object The metadata to copy values from, or {@code null} if none.
      * @throws IllegalArgumentException If the denominator of the given source is negative.
      */
     public DefaultRepresentativeFraction(final RepresentativeFraction object) throws IllegalArgumentException {
-        ArgumentChecks.ensureNonNull("object", object);
-        denominator = object.getDenominator();
-        ArgumentChecks.ensurePositive("object", denominator);
+        if (object != null) {
+            denominator = object.getDenominator();
+            ArgumentChecks.ensurePositive("object", denominator);
+        }
     }
 
     /**
@@ -102,8 +124,11 @@ public class DefaultRepresentativeFracti
 
     /**
      * Returns the denominator of this representative fraction.
+     *
+     * @return The denominator.
      */
     @Override
+    @XmlJavaTypeAdapter(value = GO_Integer64.class, type = long.class)
     @XmlElement(name = "denominator", required = true)
     public long getDenominator() {
         return denominator;
@@ -205,4 +230,78 @@ public class DefaultRepresentativeFracti
     public int hashCode() {
         return (int) denominator;
     }
+
+
+
+
+    // --------------------------------------------------------------------------------------
+    // Code below this point is basically a copy-and-paste of ISOMetadata, with some edition.
+    // The JAXB attributes defined here shall be the same than the ISOMetadata ones.
+    // --------------------------------------------------------------------------------------
+
+    /**
+     * Returns all identifiers associated to this object, or an empty collection if none.
+     * Those identifiers are marshalled in XML as {@code id} or {@code uuid} attributes.
+     */
+    @Override
+    public Collection<Identifier> getIdentifiers() {
+        if (identifiers == null) {
+            identifiers = new CheckedArrayList<Identifier>(Identifier.class);
+        }
+        return identifiers;
+    }
+
+    /**
+     * Returns a map view of the {@linkplain #getIdentifiers() identifiers} collection as (<var>authority</var>,
+     * <var>code</var>) entries. That map is <cite>live</cite>: changes in the identifiers list will be reflected
+     * in the map, and conversely.
+     */
+    @Override
+    public IdentifierMap getIdentifierMap() {
+        return new IdentifierMapWithSpecialCases(getIdentifiers());
+    }
+
+    /**
+     * Invoked by JAXB for fetching the unique identifier unique for the XML document.
+     *
+     * @see org.apache.sis.metadata.iso.ISOMetadata#getID()
+     */
+    @XmlID
+    @XmlAttribute  // Defined in "gco" as unqualified attribute.
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    private String getID() {
+        return isNullOrEmpty(identifiers) ? null : getIdentifierMap().getSpecialized(IdentifierSpace.ID);
+    }
+
+    /**
+     * Invoked by JAXB for specifying the unique identifier.
+     *
+     * @see org.apache.sis.metadata.iso.ISOMetadata#setID(String)
+     */
+    private void setID(String id) {
+        id = CharSequences.trimWhitespaces(id);
+        if (id != null && !id.isEmpty()) {
+            getIdentifierMap().putSpecialized(IdentifierSpace.ID, id);
+        }
+    }
+
+    /**
+     * Invoked by JAXB for fetching the unique identifier unique "worldwide".
+     *
+     * @see org.apache.sis.metadata.iso.ISOMetadata#getUUID()
+     */
+    @XmlAttribute  // Defined in "gco" as unqualified attribute.
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    private String getUUID() {
+        return isNullOrEmpty(identifiers) ? null : getIdentifierMap().get(IdentifierSpace.UUID);
+    }
+
+    /**
+     * Invoked by JAXB for specifying the unique identifier.
+     *
+     * @see org.apache.sis.metadata.iso.ISOMetadata#setUUID(String)
+     */
+    private void setUUID(final String id) {
+        getIdentifierMap().put(IdentifierSpace.UUID, id);
+    }
 }

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultResolution.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -22,11 +22,12 @@ import javax.xml.bind.annotation.XmlRoot
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import org.opengis.metadata.identification.RepresentativeFraction;
 import org.opengis.metadata.identification.Resolution;
-// import org.apache.sis.internal.jaxb.gco.GO_Distance; // TODO
+import org.apache.sis.internal.jaxb.gco.GO_Distance;
+import org.apache.sis.internal.metadata.MetadataUtilities;
 import org.apache.sis.metadata.iso.ISOMetadata;
 import org.apache.sis.measure.ValueRange;
 import org.apache.sis.util.resources.Messages;
-import org.apache.sis.internal.metadata.MetadataUtilities;
+import org.apache.sis.util.Workaround;
 
 
 /**
@@ -46,10 +47,7 @@ import org.apache.sis.internal.metadata.
  * @version 0.3
  * @module
  */
-@XmlType(name = "MD_Resolution_Type", propOrder = {
-    "equivalentScale",
-// TODO    "distance"
-})
+@XmlType(name = "MD_Resolution_Type") // No need for propOrder since this structure is a union (see javadoc).
 @XmlRootElement(name = "MD_Resolution")
 public class DefaultResolution extends ISOMetadata implements Resolution {
     /**
@@ -70,6 +68,20 @@ public class DefaultResolution extends I
     }
 
     /**
+     * Creates a new resolution initialized to the given scale.
+     *
+     * @param scale The scale, or {@code null} if none.
+     *
+     * @since 0.4
+     */
+    public DefaultResolution(final RepresentativeFraction scale) {
+        scaleOrDistance = scale;
+    }
+
+    // Note: there is not yet DefaultResolution(double) method because
+    //       we need to update the Unit Of Measurement package first.
+
+    /**
      * 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.
@@ -77,15 +89,17 @@ public class DefaultResolution extends I
      * <p>If both {@linkplain #getEquivalentScale() scale} and {@linkplain #getDistance() distance}
      * are specified, then the scale will have precedence and the distance is silently discarded.</p>
      *
-     * @param object The metadata to copy values from.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Resolution)
      */
     public DefaultResolution(final Resolution object) {
         super(object);
-        scaleOrDistance = object.getEquivalentScale();
-        if (scaleOrDistance == null) {
-            scaleOrDistance = object.getDistance();
+        if (object != null) {
+            scaleOrDistance = object.getEquivalentScale();
+            if (scaleOrDistance == null) {
+                scaleOrDistance = object.getDistance();
+            }
         }
     }
 
@@ -134,7 +148,9 @@ public class DefaultResolution extends I
     /**
      * Returns the level of detail expressed as the scale of a comparable hardcopy map or chart.
      * Only one of {@linkplain #getEquivalentScale() equivalent scale} and
-     * {@linkplain #getDistance() ground sample distance} may be provided.
+     * {@linkplain #getDistance() ground sample distance} shall be provided.
+     *
+     * @return Level of detail expressed as the scale of a comparable hardcopy, or {@code null}.
      */
     @Override
     @XmlElement(name = "equivalentScale")
@@ -165,12 +181,12 @@ public class DefaultResolution extends I
     /**
      * Returns the ground sample distance.
      * Only one of {@linkplain #getEquivalentScale equivalent scale} and
-     * {@linkplain #getDistance ground sample distance} may be provided.
+     * {@linkplain #getDistance ground sample distance} shall be provided.
+     *
+     * @return The ground sample distance, or {@code null}.
      */
     @Override
     @ValueRange(minimum=0, isMinIncluded=false)
-//    @XmlJavaTypeAdapter(GO_Distance.class) // TODO
-//    @XmlElement(name = "distance")
     public Double getDistance() {
         return isDistance() ? (Double) scaleOrDistance : null;
     }
@@ -190,4 +206,31 @@ public class DefaultResolution extends I
         }
         scaleOrDistance = newValue;
     }
+
+    /**
+     * Workaround for a strange JAXB behavior (bug?). For an unknown reason, we are unable to annotate the
+     * {@link #getDistance()} method directly. Doing so cause JAXB to randomly ignores the {@code <gmd:distance>}
+     * property. Annotating a separated method which in turn invokes the real method seems to work.
+     *
+     * <p>In order to check if this workaround is still needed with more recent JAXB versions, move the
+     * {@link XmlElement} and {@link XmlJavaTypeAdapter} annotations to the {@link #getDistance()} method,
+     * then execute the {@link DefaultResolutionTest#testXML()} test at least 10 times (because the failure
+     * happen randomly). If the test succeeded every time, then the {@code getValue()} and {@code setValue(Double)}
+     * methods can be completely deleted.</p>
+     *
+     * @see DefaultResolutionTest#testXML()
+     */
+    @XmlElement(name = "distance")
+    @XmlJavaTypeAdapter(GO_Distance.class)
+    @Workaround(library = "JAXB", version = "2.2.4-2")
+    private Double getValue() {
+        return getDistance();
+    }
+
+    /**
+     * The corresponding setter for the {@link #getValue()} workaround.
+     */
+    private void setValue(final Double newValue) {
+        setDistance(newValue);
+    }
 }

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentification.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -52,7 +52,7 @@ public class DefaultServiceIdentificatio
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(ServiceIdentification)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultUsage.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -64,7 +64,7 @@ public class DefaultUsage extends ISOMet
      * Values are milliseconds elapsed since January 1st, 1970,
      * or {@link Long#MIN_VALUE} if this value is not set.
      */
-    private long usageDate;
+    private long usageDate = Long.MIN_VALUE;
 
     /**
      * Applications, determined by the user for which the resource and/or resource series
@@ -82,7 +82,6 @@ public class DefaultUsage extends ISOMet
      * Constructs an initially empty usage.
      */
     public DefaultUsage() {
-        usageDate = Long.MIN_VALUE;
     }
 
     /**
@@ -94,7 +93,6 @@ public class DefaultUsage extends ISOMet
     public DefaultUsage(final CharSequence specificUsage,
                         final ResponsibleParty userContactInfo)
     {
-        this(); // Initialize the date field.
         this.specificUsage   = Types.toInternationalString(specificUsage);
         this.userContactInfo = singleton(userContactInfo, ResponsibleParty.class);
     }
@@ -104,16 +102,18 @@ public class DefaultUsage extends ISOMet
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Usage)
      */
     public DefaultUsage(final Usage object) {
         super(object);
-        specificUsage             = object.getSpecificUsage();
-        usageDate                 = toMilliseconds(object.getUsageDate());
-        userDeterminedLimitations = object.getUserDeterminedLimitations();
-        userContactInfo           = copyCollection(object.getUserContactInfo(), ResponsibleParty.class);
+        if (object != null) {
+            specificUsage             = object.getSpecificUsage();
+            usageDate                 = toMilliseconds(object.getUsageDate());
+            userDeterminedLimitations = object.getUserDeterminedLimitations();
+            userContactInfo           = copyCollection(object.getUserContactInfo(), ResponsibleParty.class);
+        }
     }
 
     /**
@@ -143,6 +143,8 @@ public class DefaultUsage extends ISOMet
 
     /**
      * Returns a brief description of the resource and/or resource series usage.
+     *
+     * @return Description of the resource usage, or {@code null}.
      */
     @Override
     @XmlElement(name = "specificUsage", required = true)
@@ -163,6 +165,8 @@ public class DefaultUsage extends ISOMet
     /**
      * Returns the date and time of the first use or range of uses
      * of the resource and/or resource series.
+     *
+     * @return Date of the first use of the resource, or {@code null}.
      */
     @Override
     @XmlElement(name = "usageDateTime")
@@ -183,6 +187,8 @@ public class DefaultUsage extends ISOMet
     /**
      * Returns applications, determined by the user for which the resource and/or resource series
      * is not suitable.
+     *
+     * @return Applications for which the resource and/or resource series is not suitable, or {@code null}.
      */
     @Override
     @XmlElement(name = "userDeterminedLimitations")
@@ -204,6 +210,8 @@ public class DefaultUsage extends ISOMet
     /**
      * Returns identification of and means of communicating with person(s) and organization(s)
      * using the resource(s).
+     *
+     * @return Means of communicating with person(s) and organization(s) using the resource(s).
      */
     @Override
     @XmlElement(name = "userContactInfo", required = true)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -122,9 +122,7 @@
     @XmlJavaTypeAdapter(LocaleAdapter.class),
     @XmlJavaTypeAdapter(StringAdapter.class),
     @XmlJavaTypeAdapter(InternationalStringAdapter.class),
-//  @XmlJavaTypeAdapter(GO_DateTime.class), TODO
-    @XmlJavaTypeAdapter(GO_Decimal.class),        @XmlJavaTypeAdapter(type=double.class, value=GO_Decimal.class),
-    @XmlJavaTypeAdapter(GO_Integer.AsLong.class), @XmlJavaTypeAdapter(type=long.class,   value=GO_Integer.AsLong.class)
+    @XmlJavaTypeAdapter(GO_DateTime.class)
 })
 package org.apache.sis.metadata.iso.identification;
 

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultAlgorithm.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -68,14 +68,16 @@ public class DefaultAlgorithm extends IS
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Algorithm)
      */
     public DefaultAlgorithm(final Algorithm object) {
         super(object);
-        citation    = object.getCitation();
-        description = object.getDescription();
+        if (object != null) {
+            citation    = object.getCitation();
+            description = object.getDescription();
+        }
     }
 
     /**
@@ -105,6 +107,8 @@ public class DefaultAlgorithm extends IS
 
     /**
      * Returns the information identifying the algorithm and version or date.
+     *
+     * @return Algorithm and version or date, or {@code null}.
      */
     @Override
     @XmlElement(name = "citation", namespace = Namespaces.GMI, required = true)
@@ -124,6 +128,8 @@ public class DefaultAlgorithm extends IS
 
     /**
      * Returns the information describing the algorithm used to generate the data.
+     *
+     * @return Algorithm used to generate the data, or {@code null}.
      */
     @Override
     @XmlElement(name = "description", namespace = Namespaces.GMI, required = true)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultLineage.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -83,15 +83,17 @@ public class DefaultLineage extends ISOM
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Lineage)
      */
     public DefaultLineage(final Lineage object) {
         super(object);
-        statement    = object.getStatement();
-        processSteps = copyCollection(object.getProcessSteps(), ProcessStep.class);
-        sources      = copyCollection(object.getSources(), Source.class);
+        if (object != null) {
+            statement    = object.getStatement();
+            processSteps = copyCollection(object.getProcessSteps(), ProcessStep.class);
+            sources      = copyCollection(object.getSources(), Source.class);
+        }
     }
 
     /**
@@ -123,6 +125,8 @@ public class DefaultLineage extends ISOM
      * Returns the general explanation of the data producer's knowledge about the lineage of a dataset.
      * Can be provided only if {@linkplain DefaultScope#getLevel scope level}
      * is {@link ScopeCode#DATASET DATASET} or {@link ScopeCode#SERIES SERIES}.
+     *
+     * @return Explanation of the data producer's knowledge about the lineage, or {@code null}.
      */
     @Override
     @XmlElement(name = "statement")
@@ -142,6 +146,8 @@ public class DefaultLineage extends ISOM
 
     /**
      * Returns the information about an event in the creation process for the data specified by the scope.
+     *
+     * @return Information about an event in the creation process.
      */
     @Override
     @XmlElement(name = "processStep")
@@ -160,6 +166,8 @@ public class DefaultLineage extends ISOM
 
     /**
      * Returns information about the source data used in creating the data specified by the scope.
+     *
+     * @return Information about the source data.
      */
     @Override
     @XmlElement(name = "source")

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultNominalResolution.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -68,14 +68,16 @@ public class DefaultNominalResolution ex
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(NominalResolution)
      */
     public DefaultNominalResolution(final NominalResolution object) {
         super(object);
-        scanningResolution = object.getScanningResolution();
-        groundResolution   = object.getGroundResolution();
+        if (object != null) {
+            scanningResolution = object.getScanningResolution();
+            groundResolution   = object.getGroundResolution();
+        }
     }
 
     /**
@@ -106,6 +108,8 @@ public class DefaultNominalResolution ex
     /**
      * Returns the distance between consistent parts of (centre, left side, right side)
      * adjacent pixels in the scan plane.
+     *
+     * @return Distance between consistent parts of adjacent pixels in the scan plane, or {@code null}.
      */
     @Override
     @ValueRange(minimum=0, isMinIncluded=false)
@@ -128,6 +132,8 @@ public class DefaultNominalResolution ex
     /**
      * Returns the distance between consistent parts of (centre, left side, right side) adjacent
      * pixels in the object space.
+     *
+     * @return Distance between consistent parts of adjacent pixels in the object space, or {@code null}.
      */
     @Override
     @ValueRange(minimum=0, isMinIncluded=false)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -79,7 +79,7 @@ public class DefaultProcessStep extends 
      * in milliseconds elapsed since January 1st, 1970. If there is no such date, then this
      * field is set to the special value {@link Long#MIN_VALUE}.
      */
-    private long date;
+    private long date = Long.MIN_VALUE;
 
     /**
      * Identification of, and means of communication with, person(s) and
@@ -113,7 +113,6 @@ public class DefaultProcessStep extends 
      * Creates an initially empty process step.
      */
     public DefaultProcessStep() {
-        date = Long.MIN_VALUE;
     }
 
     /**
@@ -122,7 +121,6 @@ public class DefaultProcessStep extends 
      * @param description Description of the event, including related parameters or tolerances.
      */
     public DefaultProcessStep(final CharSequence description) {
-        this(); // Initialize the date field.
         this.description = Types.toInternationalString(description);
     }
 
@@ -131,20 +129,22 @@ public class DefaultProcessStep extends 
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(ProcessStep)
      */
     public DefaultProcessStep(final ProcessStep object) {
         super(object);
-        description           = object.getDescription();
-        rationale             = object.getRationale();
-        date                  = toMilliseconds(object.getDate());
-        processors            = copyCollection(object.getProcessors(), ResponsibleParty.class);
-        sources               = copyCollection(object.getSources(), Source.class);
-        outputs               = copyCollection(object.getOutputs(), Source.class);
-        processingInformation = object.getProcessingInformation();
-        reports               = copyCollection(object.getReports(), ProcessStepReport.class);
+        if (object != null) {
+            description           = object.getDescription();
+            rationale             = object.getRationale();
+            date                  = toMilliseconds(object.getDate());
+            processors            = copyCollection(object.getProcessors(), ResponsibleParty.class);
+            sources               = copyCollection(object.getSources(), Source.class);
+            outputs               = copyCollection(object.getOutputs(), Source.class);
+            processingInformation = object.getProcessingInformation();
+            reports               = copyCollection(object.getReports(), ProcessStepReport.class);
+        }
     }
 
     /**
@@ -172,8 +172,10 @@ public class DefaultProcessStep extends 
         return new DefaultProcessStep(object);
     }
 
-     /**
+    /**
      * Returns the description of the event, including related parameters or tolerances.
+     *
+     * @return Description of the event, or {@code null}.
      */
     @Override
     @XmlElement(name = "description", required = true)
@@ -193,6 +195,8 @@ public class DefaultProcessStep extends 
 
     /**
      * Returns the requirement or purpose for the process step.
+     *
+     * @return Requirement or purpose for the process step, or {@code null}.
      */
     @Override
     @XmlElement(name = "rationale")
@@ -211,8 +215,9 @@ public class DefaultProcessStep extends 
     }
 
     /**
-     * Returns the date and time or range of date and time on or over which
-     * the process step occurred.
+     * Returns the date and time or range of date and time on or over which the process step occurred.
+     *
+     * @return Date on or over which the process step occurred, or {@code null}.
      */
     @Override
     @XmlElement(name = "dateTime")
@@ -221,8 +226,7 @@ public class DefaultProcessStep extends 
     }
 
     /**
-     * Sets the date and time or range of date and time on or over which the process
-     * step occurred.
+     * Sets the date and time or range of date and time on or over which the process step occurred.
      *
      * @param newValue The new date.
      */
@@ -234,6 +238,8 @@ public class DefaultProcessStep extends 
     /**
      * Returns the identification of, and means of communication with, person(s) and
      * organization(s) associated with the process step.
+     *
+     * @return Means of communication with person(s) and organization(s) associated with the process step.
      */
     @Override
     @XmlElement(name = "processor")
@@ -252,8 +258,9 @@ public class DefaultProcessStep extends 
     }
 
     /**
-     * Returns the information about the source data used in creating the data specified
-     * by the scope.
+     * Returns the information about the source data used in creating the data specified by the scope.
+     *
+     * @return Information about the source data used in creating the data.
      */
     @Override
     @XmlElement(name = "source")
@@ -272,6 +279,8 @@ public class DefaultProcessStep extends 
 
     /**
      * Returns the description of the product generated as a result of the process step.
+     *
+     * @return Product generated as a result of the process step.
      */
     @Override
     @XmlElement(name = "output", namespace = Namespaces.GMI)
@@ -291,7 +300,9 @@ public class DefaultProcessStep extends 
     /**
      * Returns the comprehensive information about the procedure by which the algorithm
      * was applied to derive geographic data from the raw instrument measurements, such
-     * as datasets, software used, and the processing environment. {@code null} if unspecified.
+     * as datasets, software used, and the processing environment.
+     *
+     * @return Procedure by which the algorithm was applied to derive geographic data, or {@code null}.
      */
     @Override
     @XmlElement(name = "processingInformation", namespace = Namespaces.GMI)
@@ -313,6 +324,8 @@ public class DefaultProcessStep extends 
 
     /**
      * Returns the report generated by the process step.
+     *
+     * @return Report generated by the process step.
      */
     @Override
     @XmlElement(name = "report", namespace = Namespaces.GMI)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessStepReport.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -73,15 +73,17 @@ public class DefaultProcessStepReport ex
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(ProcessStepReport)
      */
     public DefaultProcessStepReport(final ProcessStepReport object) {
         super(object);
-        name        = object.getName();
-        description = object.getDescription();
-        fileType    = object.getFileType();
+        if (object != null) {
+            name        = object.getName();
+            description = object.getDescription();
+            fileType    = object.getFileType();
+        }
     }
 
     /**
@@ -111,6 +113,8 @@ public class DefaultProcessStepReport ex
 
     /**
      * Returns the name of the processing report.
+     *
+     * @return Name of the processing report, or {@code null}.
      */
     @Override
     @XmlElement(name = "name", namespace = Namespaces.GMI, required = true)
@@ -130,7 +134,8 @@ public class DefaultProcessStepReport ex
 
     /**
      * Returns the textual description of what occurred during the process step.
-     * Returns {@code null} if unspecified.
+     *
+     * @return What occurred during the process step, or {@code null}.
      */
     @Override
     @XmlElement(name = "description", namespace = Namespaces.GMI)
@@ -149,7 +154,9 @@ public class DefaultProcessStepReport ex
     }
 
     /**
-     * Returns the type of file that contains the processing report. {@code null} if unspecified.
+     * Returns the type of file that contains the processing report.
+     *
+     * @return Type of file that contains the processing report, or {@code null}.
      */
     @Override
     @XmlElement(name = "fileType", namespace = Namespaces.GMI)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultProcessing.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -93,18 +93,20 @@ public class DefaultProcessing extends I
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Processing)
      */
     public DefaultProcessing(final Processing object) {
         super(object);
-        identifiers          = singleton(object.getIdentifier(), Identifier.class); // TODO
-        softwareReferences   = copyCollection(object.getSoftwareReferences(), Citation.class);
-        procedureDescription = object.getProcedureDescription();
-        documentations       = copyCollection(object.getDocumentations(), Citation.class);
-        runTimeParameters    = object.getRunTimeParameters();
-        algorithms           = copyCollection(object.getAlgorithms(), Algorithm.class);
+        if (object != null) {
+            identifiers          = singleton(object.getIdentifier(), Identifier.class);
+            softwareReferences   = copyCollection(object.getSoftwareReferences(), Citation.class);
+            procedureDescription = object.getProcedureDescription();
+            documentations       = copyCollection(object.getDocumentations(), Citation.class);
+            runTimeParameters    = object.getRunTimeParameters();
+            algorithms           = copyCollection(object.getAlgorithms(), Algorithm.class);
+        }
     }
 
     /**
@@ -134,6 +136,8 @@ public class DefaultProcessing extends I
 
     /**
      * Returns the information to identify the processing package that produced the data.
+     *
+     * @return Identifier of the processing package that produced the data, or {@code null}.
      */
     @Override
     @XmlElement(name = "identifier", namespace = Namespaces.GMI, required = true)
@@ -154,6 +158,8 @@ public class DefaultProcessing extends I
 
     /**
      * Returns the reference to document describing processing software.
+     *
+     * @return Document describing processing software.
      */
     @Override
     @XmlElement(name = "softwareReference", namespace = Namespaces.GMI)
@@ -172,6 +178,8 @@ public class DefaultProcessing extends I
 
     /**
      * Returns the additional details about the processing procedures. {@code null} if unspecified.
+     *
+     * @return Processing procedures, or {@code null}.
      */
     @Override
     @XmlElement(name = "procedureDescription", namespace = Namespaces.GMI)
@@ -191,6 +199,8 @@ public class DefaultProcessing extends I
 
     /**
      * Returns the reference to documentation describing the processing.
+     *
+     * @return Documentation describing the processing.
      */
     @Override
     @XmlElement(name = "documentation", namespace = Namespaces.GMI)
@@ -209,7 +219,8 @@ public class DefaultProcessing extends I
 
     /**
      * Returns the parameters to control the processing operations, entered at run time.
-     * {@code null} if unspecified.
+     *
+     * @return Parameters to control the processing operations, or {@code null}.
      */
     @Override
     @XmlElement(name = "runTimeParameters", namespace = Namespaces.GMI)
@@ -230,6 +241,8 @@ public class DefaultProcessing extends I
     /**
      * Returns the details of the methodology by which geographic information was derived from the
      * instrument readings.
+     *
+     * @return Methodology by which geographic information was derived from the instrument readings.
      */
     @Override
     @XmlElement(name = "algorithm", namespace = Namespaces.GMI)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/DefaultSource.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -127,20 +127,22 @@ public class DefaultSource extends ISOMe
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Source)
      */
     public DefaultSource(final Source object) {
         super(object);
-        description           = object.getDescription();
-        scaleDenominator      = object.getScaleDenominator();
-        sourceCitation        = object.getSourceCitation();
-        sourceExtents         = copyCollection(object.getSourceExtents(), Extent.class);
-        sourceSteps           = copyCollection(object.getSourceSteps(), ProcessStep.class);
-        processedLevel        = object.getProcessedLevel();
-        resolution            = object.getResolution();
-        sourceReferenceSystem = object.getSourceReferenceSystem();
+        if (object != null) {
+            description           = object.getDescription();
+            scaleDenominator      = object.getScaleDenominator();
+            sourceCitation        = object.getSourceCitation();
+            sourceExtents         = copyCollection(object.getSourceExtents(), Extent.class);
+            sourceSteps           = copyCollection(object.getSourceSteps(), ProcessStep.class);
+            processedLevel        = object.getProcessedLevel();
+            resolution            = object.getResolution();
+            sourceReferenceSystem = object.getSourceReferenceSystem();
+        }
     }
 
     /**
@@ -170,6 +172,8 @@ public class DefaultSource extends ISOMe
 
     /**
      * Returns a detailed description of the level of the source data.
+     *
+     * @return Description of the level of the source data, or {@code null}.
      */
     @Override
     @XmlElement(name = "description")
@@ -189,6 +193,8 @@ public class DefaultSource extends ISOMe
 
     /**
      * Returns the denominator of the representative fraction on a source map.
+     *
+     * @return Representative fraction on a source map, or {@code null}.
      */
     @Override
     @XmlElement(name = "scaleDenominator")
@@ -209,7 +215,9 @@ public class DefaultSource extends ISOMe
     /**
      * Returns the spatial reference system used by the source data.
      *
-     * @todo needs to annotate the referencing module before.
+     * @return Spatial reference system used by the source data, or {@code null}.
+     *
+     * @todo We need to annotate the referencing module before we can annotate this method.
      */
     @Override
     public ReferenceSystem getSourceReferenceSystem()  {
@@ -228,6 +236,8 @@ public class DefaultSource extends ISOMe
 
     /**
      * Returns the recommended reference to be used for the source data.
+     *
+     * @return Recommended reference to be used for the source data, or {@code null}.
      */
     @Override
     @XmlElement(name = "sourceCitation")
@@ -247,6 +257,8 @@ public class DefaultSource extends ISOMe
 
     /**
      * Returns the information about the spatial, vertical and temporal extent of the source data.
+     *
+     * @return Information about the extent of the source data.
      */
     @Override
     @XmlElement(name = "sourceExtent")
@@ -265,6 +277,8 @@ public class DefaultSource extends ISOMe
 
     /**
      * Returns information about an event in the creation process for the source data.
+     *
+     * @return Information about an event in the creation process.
      */
     @Override
     @XmlElement(name = "sourceStep")
@@ -283,6 +297,8 @@ public class DefaultSource extends ISOMe
 
     /**
      * Returns the processing level of the source data. {@code null} if unspecified.
+     *
+     * @return Processing level of the source data, or {@code null}.
      */
     @Override
     @XmlElement(name = "processedLevel", namespace = Namespaces.GMI)
@@ -301,8 +317,9 @@ public class DefaultSource extends ISOMe
     }
 
     /**
-     * Returns the distance between consistent parts (centre, left side, right side) of
-     * two adjacent pixels. {@code null} if unspecified.
+     * Returns the distance between consistent parts (centre, left side, right side) of two adjacent pixels.
+     *
+     * @return Distance between consistent parts of two adjacent pixels, or {@code null}.
      */
     @Override
     @XmlElement(name = "resolution", namespace = Namespaces.GMI)
@@ -311,8 +328,7 @@ public class DefaultSource extends ISOMe
     }
 
     /**
-     * Sets the distance between consistent parts (centre, left side, right side) of
-     * two adjacent pixels.
+     * Sets the distance between consistent parts (centre, left side, right side) of two adjacent pixels.
      *
      * @param newValue The new nominal resolution value.
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/lineage/package-info.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -89,7 +89,7 @@
     @XmlJavaTypeAdapter(MD_RepresentativeFraction.class),
 
     // Java types, primitive types and basic OGC types handling
-//    @XmlJavaTypeAdapter(GO_DateTime.class), // TODO
+    @XmlJavaTypeAdapter(GO_DateTime.class),
     @XmlJavaTypeAdapter(InternationalStringAdapter.class)
 })
 package org.apache.sis.metadata.iso.lineage;

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -48,7 +48,7 @@ import static org.apache.sis.internal.me
 @XmlType(name = "MD_MaintenanceInformation_Type", propOrder = {
     "maintenanceAndUpdateFrequency",
     "dateOfNextUpdate",
-// TODO    "userDefinedMaintenanceFrequency",
+    "userDefinedMaintenanceFrequency",
     "updateScopes",
     "updateScopeDescriptions",
     "maintenanceNotes",
@@ -72,7 +72,7 @@ public class DefaultMaintenanceInformati
      * since January 1st, 1970. If there is no such date, then this field
      * is set to the special value {@link Long#MIN_VALUE}.
      */
-    private long dateOfNextUpdate;
+    private long dateOfNextUpdate = Long.MIN_VALUE;
 
     /**
      * Maintenance period other than those defined, in milliseconds.
@@ -104,7 +104,6 @@ public class DefaultMaintenanceInformati
      * Creates a an initially empty maintenance information.
      */
     public DefaultMaintenanceInformation() {
-        dateOfNextUpdate = Long.MIN_VALUE;
     }
 
     /**
@@ -114,7 +113,6 @@ public class DefaultMaintenanceInformati
      *        made to the resource after the initial resource is completed, or {@code null} if none.
      */
     public DefaultMaintenanceInformation(final MaintenanceFrequency maintenanceAndUpdateFrequency) {
-        this(); // Initialize the date field.
         this.maintenanceAndUpdateFrequency = maintenanceAndUpdateFrequency;
     }
 
@@ -123,19 +121,21 @@ public class DefaultMaintenanceInformati
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(MaintenanceInformation)
      */
     public DefaultMaintenanceInformation(final MaintenanceInformation object) {
         super(object);
-        maintenanceAndUpdateFrequency   = object.getMaintenanceAndUpdateFrequency();
-        dateOfNextUpdate                = toMilliseconds(object.getDateOfNextUpdate());
-        userDefinedMaintenanceFrequency = object.getUserDefinedMaintenanceFrequency();
-        updateScopes                    = copyCollection(object.getUpdateScopes(), ScopeCode.class);
-        updateScopeDescriptions         = copyCollection(object.getUpdateScopeDescriptions(), ScopeDescription.class);
-        maintenanceNotes                = copyCollection(object.getMaintenanceNotes(), InternationalString.class);
-        contacts                        = copyCollection(object.getContacts(), ResponsibleParty.class);
+        if (object != null) {
+            maintenanceAndUpdateFrequency   = object.getMaintenanceAndUpdateFrequency();
+            dateOfNextUpdate                = toMilliseconds(object.getDateOfNextUpdate());
+            userDefinedMaintenanceFrequency = object.getUserDefinedMaintenanceFrequency();
+            updateScopes                    = copyCollection(object.getUpdateScopes(), ScopeCode.class);
+            updateScopeDescriptions         = copyCollection(object.getUpdateScopeDescriptions(), ScopeDescription.class);
+            maintenanceNotes                = copyCollection(object.getMaintenanceNotes(), InternationalString.class);
+            contacts                        = copyCollection(object.getContacts(), ResponsibleParty.class);
+        }
     }
 
     /**
@@ -166,6 +166,8 @@ public class DefaultMaintenanceInformati
     /**
      * Returns the frequency with which changes and additions are made to the resource
      * after the initial resource is completed.
+     *
+     * @return Frequency with which changes and additions are made to the resource, or {@code null}.
      */
     @Override
     @XmlElement(name = "maintenanceAndUpdateFrequency", required = true)
@@ -186,6 +188,8 @@ public class DefaultMaintenanceInformati
 
     /**
      * Returns the scheduled revision date for resource.
+     *
+     * @return Scheduled revision date, or {@code null}.
      */
     @Override
     @XmlElement(name = "dateOfNextUpdate")
@@ -206,10 +210,10 @@ public class DefaultMaintenanceInformati
     /**
      * Returns the maintenance period other than those defined.
      *
-     * @todo needs an implementation of org.opengis.temporal modules to anntote this parameter.
+     * @return The Maintenance period, or {@code null}.
      */
     @Override
-    // TODO @XmlElement(name = "userDefinedMaintenanceFrequency")
+    @XmlElement(name = "userDefinedMaintenanceFrequency")
     public PeriodDuration getUserDefinedMaintenanceFrequency() {
         return userDefinedMaintenanceFrequency;
     }
@@ -226,6 +230,8 @@ public class DefaultMaintenanceInformati
 
     /**
      * Returns the scope of data to which maintenance is applied.
+     *
+     * @return Scope of data to which maintenance is applied.
      */
     @Override
     @XmlElement(name = "updateScope")
@@ -244,6 +250,8 @@ public class DefaultMaintenanceInformati
 
     /**
      * Returns additional information about the range or extent of the resource.
+     *
+     * @return Additional information about the range or extent of the resource.
      */
     @Override
     @XmlElement(name = "updateScopeDescription")
@@ -262,6 +270,8 @@ public class DefaultMaintenanceInformati
 
     /**
      * Returns information regarding specific requirements for maintaining the resource.
+     *
+     * @return Information regarding specific requirements for maintaining the resource.
      */
     @Override
     @XmlElement(name = "maintenanceNote")
@@ -281,6 +291,9 @@ public class DefaultMaintenanceInformati
     /**
      * Returns identification of, and means of communicating with,
      * person(s) and organization(s) with responsibility for maintaining the metadata.
+     *
+     * @return Means of communicating with person(s) and organization(s) with responsibility
+     *         for maintaining the metadata.
      */
     @Override
     @XmlElement(name = "contact")

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -48,10 +48,7 @@ import static org.apache.sis.util.collec
  * @version 0.3
  * @module
  */
-@XmlType(name = "MD_ScopeDescription_Type", propOrder = {
-    "dataset",
-    "other"
-})
+@XmlType(name = "MD_ScopeDescription_Type") // No need for propOrder since this structure is a union (see javadoc).
 @XmlRootElement(name = "MD_ScopeDescription")
 public class DefaultScopeDescription extends ISOMetadata implements ScopeDescription {
     /**
@@ -125,40 +122,42 @@ public class DefaultScopeDescription ext
      * {@linkplain #getAttributeInstances() attribute instances}, {@linkplain #getDataset() dataset}
      * and {@linkplain #getOther() other}.</p>
      *
-     * @param object The metadata to copy values from.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(ScopeDescription)
      */
     @SuppressWarnings("unchecked")
     public DefaultScopeDescription(final ScopeDescription object) {
         super(object);
-        for (byte i=ATTRIBUTES; i<=OTHER; i++) {
-            Object candidate;
-            switch (i) {
-                case ATTRIBUTES:          candidate = object.getAttributes();         break;
-                case FEATURES:            candidate = object.getFeatures();           break;
-                case FEATURE_INSTANCES:   candidate = object.getFeatureInstances();   break;
-                case ATTRIBUTE_INSTANCES: candidate = object.getAttributeInstances(); break;
-                case DATASET:             candidate = object.getDataset();            break;
-                case OTHER:               candidate = object.getOther();              break;
-                default: throw new AssertionError(i);
-            }
-            if (candidate != null) {
+        if (object != null) {
+            for (byte i=ATTRIBUTES; i<=OTHER; i++) {
+                Object candidate;
                 switch (i) {
-                    case ATTRIBUTES:
-                    case ATTRIBUTE_INSTANCES: {
-                        candidate = copySet((Set<AttributeType>) candidate, AttributeType.class);
-                        break;
-                    }
-                    case FEATURES:
-                    case FEATURE_INSTANCES: {
-                        candidate = copySet((Set<FeatureType>) candidate, FeatureType.class);
-                        break;
+                    case ATTRIBUTES:          candidate = object.getAttributes();         break;
+                    case FEATURES:            candidate = object.getFeatures();           break;
+                    case FEATURE_INSTANCES:   candidate = object.getFeatureInstances();   break;
+                    case ATTRIBUTE_INSTANCES: candidate = object.getAttributeInstances(); break;
+                    case DATASET:             candidate = object.getDataset();            break;
+                    case OTHER:               candidate = object.getOther();              break;
+                    default: throw new AssertionError(i);
+                }
+                if (candidate != null) {
+                    switch (i) {
+                        case ATTRIBUTES:
+                        case ATTRIBUTE_INSTANCES: {
+                            candidate = copySet((Set<AttributeType>) candidate, AttributeType.class);
+                            break;
+                        }
+                        case FEATURES:
+                        case FEATURE_INSTANCES: {
+                            candidate = copySet((Set<FeatureType>) candidate, FeatureType.class);
+                            break;
+                        }
                     }
+                    value = candidate;
+                    property = i;
+                    break;
                 }
-                value = candidate;
-                property = i;
-                break;
             }
         }
     }
@@ -255,6 +254,8 @@ public class DefaultScopeDescription ext
     /**
      * Returns the attributes to which the information applies.
      *
+     * @return Attributes to which the information applies.
+     *
      * {@section Conditions}
      * This method returns a modifiable collection only if no other property is set.
      * Otherwise, this method returns an unmodifiable empty collection.
@@ -280,6 +281,8 @@ public class DefaultScopeDescription ext
     /**
      * Returns the features to which the information applies.
      *
+     * @return Features to which the information applies.
+     *
      * {@section Conditions}
      * This method returns a modifiable collection only if no other property is set.
      * Otherwise, this method returns an unmodifiable empty collection.
@@ -305,6 +308,8 @@ public class DefaultScopeDescription ext
     /**
      * Returns the feature instances to which the information applies.
      *
+     * @return Feature instances to which the information applies.
+     *
      * {@section Conditions}
      * This method returns a modifiable collection only if no other property is set.
      * Otherwise, this method returns an unmodifiable empty collection.
@@ -330,6 +335,8 @@ public class DefaultScopeDescription ext
     /**
      * Returns the attribute instances to which the information applies.
      *
+     * @return Attribute instances to which the information applies.
+     *
      * {@section Conditions}
      * This method returns a modifiable collection only if no other property is set.
      * Otherwise, this method returns an unmodifiable empty collection.
@@ -354,6 +361,8 @@ public class DefaultScopeDescription ext
 
     /**
      * Returns the dataset to which the information applies.
+     *
+     * @return Dataset to which the information applies, or {@code null}.
      */
     @Override
     @XmlElement(name = "dataset")
@@ -380,8 +389,9 @@ public class DefaultScopeDescription ext
     }
 
     /**
-     * Returns the class of information that does not fall into the other categories to
-     * which the information applies.
+     * Returns the class of information that does not fall into the other categories to which the information applies.
+     *
+     * @return Class of information that does not fall into the other categories, or {@code null}.
      */
     @Override
     @XmlElement(name = "other")

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/package-info.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -75,10 +75,10 @@
     @XmlJavaTypeAdapter(MD_MaintenanceInformation.class),
     @XmlJavaTypeAdapter(MD_ScopeCode.class),
     @XmlJavaTypeAdapter(MD_ScopeDescription.class),
-//    @XmlJavaTypeAdapter(TM_PeriodDuration.class), // TODO
+    @XmlJavaTypeAdapter(TM_PeriodDuration.class),
 
     // Java types, primitive types and basic OGC types handling
-//    @XmlJavaTypeAdapter(GO_DateTime.class), // TODO
+    @XmlJavaTypeAdapter(GO_DateTime.class),
     @XmlJavaTypeAdapter(StringAdapter.class),
     @XmlJavaTypeAdapter(InternationalStringAdapter.class)
 })
@@ -95,5 +95,5 @@ import javax.xml.bind.annotation.adapter
 import org.apache.sis.xml.Namespaces;
 import org.apache.sis.internal.jaxb.gco.*;
 import org.apache.sis.internal.jaxb.code.*;
-//import org.apache.sis.internal.jaxb.gts.TM_PeriodDuration; // TODO
+import org.apache.sis.internal.jaxb.gts.TM_PeriodDuration;
 import org.apache.sis.internal.jaxb.metadata.*;

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/package-info.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -118,7 +118,7 @@
     @XmlJavaTypeAdapter(LocaleAdapter.class),
     @XmlJavaTypeAdapter(StringAdapter.class),
     @XmlJavaTypeAdapter(InternationalStringAdapter.class),
-//    @XmlJavaTypeAdapter(GO_DateTime.class), // TODO
+    @XmlJavaTypeAdapter(GO_DateTime.class),
     @XmlJavaTypeAdapter(GO_Boolean.class), @XmlJavaTypeAdapter(type=boolean.class, value=GO_Boolean.class),
     @XmlJavaTypeAdapter(GO_Integer.class), @XmlJavaTypeAdapter(type=int.class,     value=GO_Integer.class)
 })

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractCompleteness.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -56,7 +56,7 @@ public class AbstractCompleteness extend
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Completeness)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractElement.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -297,7 +297,6 @@ public class AbstractElement extends ISO
      *               acceptable conformance quality level.
      */
     public AbstractElement(final Result result) {
-        this(); // Initialize date fields.
         results = singleton(result, Result.class);
     }
 
@@ -306,20 +305,22 @@ public class AbstractElement extends ISO
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Element)
      */
     public AbstractElement(final Element object) {
         super(object);
-        namesOfMeasure              = copyCollection(object.getNamesOfMeasure(), InternationalString.class);
-        measureIdentification       = object.getMeasureIdentification();
-        measureDescription          = object.getMeasureDescription();
-        evaluationMethodType        = object.getEvaluationMethodType();
-        evaluationMethodDescription = object.getEvaluationMethodDescription();
-        evaluationProcedure         = object.getEvaluationProcedure();
-        results                     = copyCollection(object.getResults(), Result.class);
-        writeDates(object.getDates());
+        if (object != null) {
+            namesOfMeasure              = copyCollection(object.getNamesOfMeasure(), InternationalString.class);
+            measureIdentification       = object.getMeasureIdentification();
+            measureDescription          = object.getMeasureDescription();
+            evaluationMethodType        = object.getEvaluationMethodType();
+            evaluationMethodDescription = object.getEvaluationMethodDescription();
+            evaluationProcedure         = object.getEvaluationProcedure();
+            results                     = copyCollection(object.getResults(), Result.class);
+            writeDates(object.getDates());
+        }
     }
 
     /**
@@ -374,6 +375,8 @@ public class AbstractElement extends ISO
 
     /**
      * Returns the name of the test applied to the data.
+     *
+     * @return Name of the test applied to the data.
      */
     @Override
     @XmlElement(name = "nameOfMeasure")
@@ -392,6 +395,8 @@ public class AbstractElement extends ISO
 
     /**
      * Returns the code identifying a registered standard procedure, or {@code null} if none.
+     *
+     * @return Code identifying a registered standard procedure, or {@code null}.
      */
     @Override
     @XmlElement(name = "measureIdentification")
@@ -411,6 +416,8 @@ public class AbstractElement extends ISO
 
     /**
      * Returns the description of the measure being determined.
+     *
+     * @return Description of the measure being determined, or {@code null}.
      */
     @Override
     @XmlElement(name = "measureDescription")
@@ -429,8 +436,9 @@ public class AbstractElement extends ISO
     }
 
     /**
-     * Returns the type of method used to evaluate quality of the dataset,
-     * or {@code null} if unspecified.
+     * Returns the type of method used to evaluate quality of the dataset.
+     *
+     * @return Type of method used to evaluate quality, or {@code null}.
      */
     @Override
     @XmlElement(name = "evaluationMethodType")
@@ -450,6 +458,8 @@ public class AbstractElement extends ISO
 
     /**
      * Returns the description of the evaluation method.
+     *
+     * @return Description of the evaluation method, or {@code null}.
      */
     @Override
     @XmlElement(name = "evaluationMethodDescription")
@@ -469,6 +479,8 @@ public class AbstractElement extends ISO
 
     /**
      * Returns the reference to the procedure information, or {@code null} if none.
+     *
+     * @return Reference to the procedure information, or {@code null}.
      */
     @Override
     @XmlElement(name = "evaluationProcedure")
@@ -490,6 +502,8 @@ public class AbstractElement extends ISO
      * Returns the date or range of dates on which a data quality measure was applied.
      * The collection size is 1 for a single date, or 2 for a range.
      * Returns an empty collection if this information is not available.
+     *
+     * @return Date or range of dates on which a data quality measure was applied.
      */
     @Override
     @XmlElement(name = "dateTime")
@@ -535,6 +549,8 @@ public class AbstractElement extends ISO
      * Returns the value (or set of values) obtained from applying a data quality measure or
      * the out come of evaluating the obtained value (or set of values) against a specified
      * acceptable conformance quality level.
+     *
+     * @return Set of values obtained from applying a data quality measure.
      */
     @Override
     @XmlElement(name = "result", required = true)

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractLogicalConsistency.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -61,7 +61,7 @@ public class AbstractLogicalConsistency 
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(LogicalConsistency)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractPositionalAccuracy.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -69,7 +69,7 @@ public class AbstractPositionalAccuracy 
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(PositionalAccuracy)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractResult.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -59,7 +59,7 @@ public class AbstractResult extends ISOM
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(Result)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractTemporalAccuracy.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -58,7 +58,7 @@ public class AbstractTemporalAccuracy ex
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(TemporalAccuracy)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/AbstractThematicAccuracy.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -59,7 +59,7 @@ public class AbstractThematicAccuracy ex
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(ThematicAccuracy)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAbsoluteExternalPositionalAccuracy.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -62,7 +62,7 @@ public class DefaultAbsoluteExternalPosi
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(AbsoluteExternalPositionalAccuracy)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultAccuracyOfATimeMeasurement.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -51,7 +51,7 @@ public class DefaultAccuracyOfATimeMeasu
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(AccuracyOfATimeMeasurement)
      */

Modified: sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java
URL: http://svn.apache.org/viewvc/sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java?rev=1517321&r1=1517320&r2=1517321&view=diff
==============================================================================
--- sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java [UTF-8] (original)
+++ sis/branches/Shapefile/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCompletenessCommission.java [UTF-8] Sun Aug 25 15:49:51 2013
@@ -49,7 +49,7 @@ public class DefaultCompletenessCommissi
      * 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.
+     * @param object The metadata to copy values from, or {@code null} if none.
      *
      * @see #castOrCopy(CompletenessCommission)
      */



Mime
View raw message