Added: sis/ip-review/rev/24973/DefaultBand.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24973/DefaultBand.xhtml?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/24973/DefaultBand.xhtml (added) +++ sis/ip-review/rev/24973/DefaultBand.xhtml Wed Mar 6 22:11:27 2013 @@ -0,0 +1,249 @@ + + + + + DefaultBand changes for revisions 24972:24973 + + + +
+

DefaultBand changes for revisions 24972:24973

+

Replacement of Number type by Double. +This change has been forced by a GeoAPI change. Reverting this change causes a compilation failure, +which is resolved by restoring the Double values as required by GeoAPI interfaces. So +rewriting this contribution produces identical result.

+ +

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24972:24973 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/metadata/iso/content/BandImpl.java
+ + + + + + + + + + + + + + + + + + + + + + + + +
Revision 24972Revision 24973
/**
+ * Longest wavelength that the sensor is capable of collecting within a designated band.
+ */
+private Number maxValue;
+
+/**
+ * Shortest wavelength that the sensor is capable of collecting within a designated band.
+ */
+private Number minValue;
+
+/**
+ * Units in which sensor wavelengths are expressed. Should be non-null if
/**
+ * Longest wavelength that the sensor is capable of collecting within a designated band.
+ */
+private Double maxValue;
+
+/**
+ * Shortest wavelength that the sensor is capable of collecting within a designated band.
+ */
+private Double minValue;
+
+/**
+ * Units in which sensor wavelengths are expressed. Should be non-null if
 * Wavelength at which the response is the highest.
+ * {@code null} if unspecified.
+ */
+private Number peakResponse;
+
+/**
+ * Maximum number of significant bits in the uncompressed representation for the value
 * Wavelength at which the response is the highest.
+ * {@code null} if unspecified.
+ */
+private Double peakResponse;
+
+/**
+ * Maximum number of significant bits in the uncompressed representation for the value
 * Scale factor which has been applied to the cell value.
+ * {@code null} if unspecified.
+ */
+private Number scaleFactor;
+
+/**
+ * The physical value corresponding to a cell value of zero.
+ * {@code null} if unspecified.
+ */
+private Number offset;
+
+/**
+ * Constructs an initially empty band.
 * Scale factor which has been applied to the cell value.
+ * {@code null} if unspecified.
+ */
+private Double scaleFactor;
+
+/**
+ * The physical value corresponding to a cell value of zero.
+ * {@code null} if unspecified.
+ */
+private Double offset;
+
+/**
+ * Constructs an initially empty band.
 * Returns the longest wavelength that the sensor is capable of collecting within
+ * a designated band. Returns {@code null} if unspecified.
+ */
+public Number getMaxValue() {
+    return maxValue;
+}
 * Returns the longest wavelength that the sensor is capable of collecting within
+ * a designated band. Returns {@code null} if unspecified.
+ */
+public Double getMaxValue() {
+    return maxValue;
+}
 * Set the longest wavelength that the sensor is capable of collecting within a
+ * designated band. Returns {@code null} if unspecified.
+ */
+public synchronized void setMaxValue(final Number newValue) {
+    checkWritePermission();
+    maxValue = newValue;
+}
 * Set the longest wavelength that the sensor is capable of collecting within a
+ * designated band. Returns {@code null} if unspecified.
+ */
+public synchronized void setMaxValue(final Double newValue) {
+    checkWritePermission();
+    maxValue = newValue;
+}
 * Returns the shortest wavelength that the sensor is capable of collecting
+ * within a designated band.
+ */
+public Number getMinValue() {
+    return minValue;
+}
 * Returns the shortest wavelength that the sensor is capable of collecting
+ * within a designated band.
+ */
+public Double getMinValue() {
+    return minValue;
+}
 * Set the shortest wavelength that the sensor is capable of collecting within
+ * a designated band.
+ */
+public synchronized void setMinValue(final Number newValue) {
+    checkWritePermission();
+    minValue = newValue;
+}
 * Set the shortest wavelength that the sensor is capable of collecting within
+ * a designated band.
+ */
+public synchronized void setMinValue(final Double newValue) {
+    checkWritePermission();
+    minValue = newValue;
+}
 * Returns the wavelength at which the response is the highest.
+ * Returns {@code null} if unspecified.
+ */
+public Number getPeakResponse() {
+    return peakResponse;
+}
+
+/**
+ * Set the wavelength at which the response is the highest.
+ */
+public synchronized void setPeakResponse(final Number newValue) {
+    checkWritePermission();
+    peakResponse = newValue;
+}
 * Returns the wavelength at which the response is the highest.
+ * Returns {@code null} if unspecified.
+ */
+public Double getPeakResponse() {
+    return peakResponse;
+}
+
+/**
+ * Set the wavelength at which the response is the highest.
+ */
+public synchronized void setPeakResponse(final Double newValue) {
+    checkWritePermission();
+    peakResponse = newValue;
+}
 * Returns the scale factor which has been applied to the cell value.
+ * Returns {@code null} if unspecified.
+ */
+public Number getScaleFactor() {
+    return scaleFactor;
+}
+
+/**
+ * Set the scale factor which has been applied to the cell value.
+ */
+public synchronized void setScaleFactor(final Number newValue) {
+    checkWritePermission();
+    scaleFactor = newValue;
+}
 * Returns the scale factor which has been applied to the cell value.
+ * Returns {@code null} if unspecified.
+ */
+public Double getScaleFactor() {
+    return scaleFactor;
+}
+
+/**
+ * Set the scale factor which has been applied to the cell value.
+ */
+public synchronized void setScaleFactor(final Double newValue) {
+    checkWritePermission();
+    scaleFactor = newValue;
+}
     * Returns the physical value corresponding to a cell value of zero.
+     * Returns {@code null} if unspecified.
+     */
+    public Number getOffset() {
+        return offset;
+    }
+
+    /**
+     * Set the physical value corresponding to a cell value of zero.
+:     */
+    public synchronized void setOffset(final Number newValue) {
+        checkWritePermission();
+        offset = newValue;
+    }
     * Returns the physical value corresponding to a cell value of zero.
+     * Returns {@code null} if unspecified.
+     */
+    public Double getOffset() {
+        return offset;
+    }
+
+    /**
+     * Set the physical value corresponding to a cell value of zero.
+:     */
+    public synchronized void setOffset(final Double newValue) {
+        checkWritePermission();
+        offset = newValue;
+    }
 */
+protected void freeze() {
+    super.freeze();
+    maxValue     = (Number) unmodifiable(maxValue);
+    minValue     = (Number) unmodifiable(minValue);
+    units        = (Unit)   unmodifiable(units);
+    peakResponse = (Number) unmodifiable(peakResponse);
+    scaleFactor  = (Number) unmodifiable(scaleFactor);
+    offset       = (Number) unmodifiable(offset);
+}
+
+/**
 */
+protected void freeze() {
+    super.freeze();
+    maxValue     = (Double) unmodifiable(maxValue);
+    minValue     = (Double) unmodifiable(minValue);
+    units        = (Unit)   unmodifiable(units);
+    peakResponse = (Double) unmodifiable(peakResponse);
+    scaleFactor  = (Double) unmodifiable(scaleFactor);
+    offset       = (Double) unmodifiable(offset);
+}
+
+/**
+
+ + Propchange: sis/ip-review/rev/24973/DefaultBand.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24973/DefaultBand.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24973/DefaultFeatureCatalogueDescription.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24973/DefaultFeatureCatalogueDescription.xhtml?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/24973/DefaultFeatureCatalogueDescription.xhtml (added) +++ sis/ip-review/rev/24973/DefaultFeatureCatalogueDescription.xhtml Wed Mar 6 22:11:27 2013 @@ -0,0 +1,67 @@ + + + + + DefaultFeatureCatalogueDescription changes for revisions 24972:24973 + + + +
+

DefaultFeatureCatalogueDescription changes for revisions 24972:24973

+

Replacement of Number type by Double. +This change has been forced by a GeoAPI change. Reverting this change causes a compilation failure, +which is resolved by restoring the Double values as required by GeoAPI interfaces. So +rewriting this contribution produces identical result.

+ +

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24972:24973 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/metadata/iso/content/FeatureCatalogueDescriptionImpl.java
+ + + + + + +
Revision 24972Revision 24973
/**
+ * Indication of whether or not the cited feature catalogue complies with ISO 19110.
+ */
+private boolean compliant;
+
+/**
+ * Language(s) used within the catalogue
/**
+ * Indication of whether or not the cited feature catalogue complies with ISO 19110.
+ */
+private Boolean compliant;
+
+/**
+ * Language(s) used within the catalogue
/**
+ * Returns whether or not the cited feature catalogue complies with ISO 19110.
+ */
+public boolean isCompliant() {
+    return compliant;
+}
+
+/**
+ * Set whether or not the cited feature catalogue complies with ISO 19110.
+ */
+public synchronized void setCompliant(final boolean newValue) {
+    checkWritePermission();
+    compliant = newValue;
+}
/**
+ * Returns whether or not the cited feature catalogue complies with ISO 19110.
+ */
+public Boolean isCompliant() {
+    return compliant;
+}
+
+/**
+ * Set whether or not the cited feature catalogue complies with ISO 19110.
+ */
+public synchronized void setCompliant(final Boolean newValue) {
+    checkWritePermission();
+    compliant = newValue;
+}
+
+ + Propchange: sis/ip-review/rev/24973/DefaultFeatureCatalogueDescription.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24973/DefaultFeatureCatalogueDescription.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24973/DefaultImageDescription.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24973/DefaultImageDescription.xhtml?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/24973/DefaultImageDescription.xhtml (added) +++ sis/ip-review/rev/24973/DefaultImageDescription.xhtml Wed Mar 6 22:11:27 2013 @@ -0,0 +1,314 @@ + + + + + DefaultImageDescription changes for revisions 24972:24973 + + + +
+

DefaultImageDescription changes for revisions 24972:24973

+

Replacement of Number type by Double and boolean by Boolean. +This change has been forced by a GeoAPI change. Reverting this change causes a compilation failure, +which is resolved by restoring the Double values as required by GeoAPI interfaces. So +rewriting this contribution produces identical result.

+

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24972:24973 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/metadata/iso/content/ImageDescriptionImpl.java
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Revision 24972Revision 24973
 * intersection of the optical line of sight with the Earth’s surface. For images from a
+ * scanning device, refer to the centre pixel of the image.
+ */
+private Number illuminationElevationAngle;
+
+/**
+ * Illumination azimuth measured in degrees clockwise from true north at the time the
+ * image is taken. For images from a scanning device, refer to the centre pixel of the image.
+ */
+private Number illuminationAzimuthAngle;
+
+/**
+ * Conditions affected the image.
 * intersection of the optical line of sight with the Earth’s surface. For images from a
+ * scanning device, refer to the centre pixel of the image.
+ */
+private Double illuminationElevationAngle;
+
+/**
+ * Illumination azimuth measured in degrees clockwise from true north at the time the
+ * image is taken. For images from a scanning device, refer to the centre pixel of the image.
+ */
+private Double illuminationAzimuthAngle;
+
+/**
+ * Conditions affected the image.
/**
+ * Area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.
+ */
+private Number cloudCoverPercentage;
+
+/**
+ * Image distributor’s code that identifies the level of radiometric and geometric
/**
+ * Area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.
+ */
+private Double cloudCoverPercentage;
+
+/**
+ * Image distributor’s code that identifies the level of radiometric and geometric
 * Indication of whether or not the radiometric calibration information for generating the
+ * radiometrically calibrated standard data product is available.
+ */
+private boolean radiometricCalibrationDataAvailable;
+
+/**
+ * Indication of whether or not constants are available which allow for camera calibration
+ * corrections.
+ */
+private boolean cameraCalibrationInformationAvailable;
+
+/**
+ * Indication of whether or not Calibration Reseau information is available.
+ */
+private boolean filmDistortionInformationAvailable;
+
+/**
+ * Indication of whether or not lens aberration correction information is available.
+ */
+private boolean lensDistortionInformationAvailable;
+
+/**
+ * Constructs an initially empty image description.
 * Indication of whether or not the radiometric calibration information for generating the
+ * radiometrically calibrated standard data product is available.
+ */
+private Boolean radiometricCalibrationDataAvailable;
+
+/**
+ * Indication of whether or not constants are available which allow for camera calibration
+ * corrections.
+ */
+private Boolean cameraCalibrationInformationAvailable;
+
+/**
+ * Indication of whether or not Calibration Reseau information is available.
+ */
+private Boolean filmDistortionInformationAvailable;
+
+/**
+ * Indication of whether or not lens aberration correction information is available.
+ */
+private Boolean lensDistortionInformationAvailable;
+
+/**
+ * Constructs an initially empty image description.
 * intersection of the optical line of sight with the Earth’s surface. For images from a
+ * scanning device, refer to the centre pixel of the image.
+ */
+public Number getIlluminationElevationAngle() {
+    return illuminationElevationAngle;
+}
 * intersection of the optical line of sight with the Earth’s surface. For images from a
+ * scanning device, refer to the centre pixel of the image.
+ */
+public Double getIlluminationElevationAngle() {
+    return illuminationElevationAngle;
+}
 * intersection of the optical line of sight with the Earth’s surface. For images from a
+ * scanning device, refer to the centre pixel of the image.
+ */
+public synchronized void setIlluminationElevationAngle(final Number newValue) {
+    checkWritePermission();
+    illuminationElevationAngle = newValue;
+}
 * intersection of the optical line of sight with the Earth’s surface. For images from a
+ * scanning device, refer to the centre pixel of the image.
+ */
+public synchronized void setIlluminationElevationAngle(final Double newValue) {
+    checkWritePermission();
+    illuminationElevationAngle = newValue;
+}
 * the image is taken. For images from a scanning device, refer to the centre pixel of the
+ * image.
+ */
+public Number getIlluminationAzimuthAngle() {
+    return illuminationAzimuthAngle;
+}
 * the image is taken. For images from a scanning device, refer to the centre pixel of the
+ * image.
+ */
+public Double getIlluminationAzimuthAngle() {
+    return illuminationAzimuthAngle;
+}
 * Set the illumination azimuth measured in degrees clockwise from true north at the time the
+ * image is taken. For images from a scanning device, refer to the centre pixel of the image.
+ */
+public synchronized void setIlluminationAzimuthAngle(final Number newValue) {
+    checkWritePermission();
+    illuminationAzimuthAngle = newValue;
+}
 * Set the illumination azimuth measured in degrees clockwise from true north at the time the
+ * image is taken. For images from a scanning device, refer to the centre pixel of the image.
+ */
+public synchronized void setIlluminationAzimuthAngle(final Double newValue) {
+    checkWritePermission();
+    illuminationAzimuthAngle = newValue;
+}
 * Returns the area of the dataset obscured by clouds, expressed as a percentage of the spatial
+ * extent.
+ */
+public Number getCloudCoverPercentage() {
+    return cloudCoverPercentage;
+}
 * Returns the area of the dataset obscured by clouds, expressed as a percentage of the spatial
+ * extent.
+ */
+public Double getCloudCoverPercentage() {
+    return cloudCoverPercentage;
+}
 * Set the area of the dataset obscured by clouds, expressed as a percentage of the spatial
+ * extent.
+ */
+public synchronized void setCloudCoverPercentage(final Number newValue) {
+    checkWritePermission();
+    cloudCoverPercentage = newValue;
+}
 * Set the area of the dataset obscured by clouds, expressed as a percentage of the spatial
+ * extent.
+ */
+public synchronized void setCloudCoverPercentage(final Double newValue) {
+    checkWritePermission();
+    cloudCoverPercentage = newValue;
+}
 * Returns theiIndication of whether or not the radiometric calibration information for
+ * generating the radiometrically calibrated standard data product is available.
+ */
+public boolean isRadiometricCalibrationDataAvailable() {
+    return radiometricCalibrationDataAvailable;
+}
 * Returns theiIndication of whether or not the radiometric calibration information for
+ * generating the radiometrically calibrated standard data product is available.
+ */
+public Boolean isRadiometricCalibrationDataAvailable() {
+    return radiometricCalibrationDataAvailable;
+}
 * Set the indication of whether or not the radiometric calibration information for generating
+ * the radiometrically calibrated standard data product is available.
+ */
+public synchronized void setRadiometricCalibrationDataAvailable(final boolean newValue) {
+    checkWritePermission();
+    radiometricCalibrationDataAvailable = newValue;
+}
 * Set the indication of whether or not the radiometric calibration information for generating
+ * the radiometrically calibrated standard data product is available.
+ */
+public synchronized void setRadiometricCalibrationDataAvailable(final Boolean newValue) {
+    checkWritePermission();
+    radiometricCalibrationDataAvailable = newValue;
+}
 * Returns the indication of whether or not constants are available which allow for camera
+ * calibration corrections.
+ */
+public boolean isCameraCalibrationInformationAvailable() {
+    return cameraCalibrationInformationAvailable;
+}
 * Returns the indication of whether or not constants are available which allow for camera
+ * calibration corrections.
+ */
+public Boolean isCameraCalibrationInformationAvailable() {
+    return cameraCalibrationInformationAvailable;
+}
 * Set the indication of whether or not constants are available which allow for camera
+ * calibration corrections.
+ */
+public synchronized void setCameraCalibrationInformationAvailable(final boolean newValue) {
+    checkWritePermission();
+    cameraCalibrationInformationAvailable = newValue;
+}
 * Set the indication of whether or not constants are available which allow for camera
+ * calibration corrections.
+ */
+public synchronized void setCameraCalibrationInformationAvailable(final Boolean newValue) {
+    checkWritePermission();
+    cameraCalibrationInformationAvailable = newValue;
+}
/**
+ * Returns the indication of whether or not Calibration Reseau information is available.
+ */
+public boolean isFilmDistortionInformationAvailable() {
+    return filmDistortionInformationAvailable;
+}
+
+/**
+ * Set the indication of whether or not Calibration Reseau information is available.
+ */
+public synchronized void setFilmDistortionInformationAvailable(final boolean newValue) {
+    checkWritePermission();
+    filmDistortionInformationAvailable = newValue;
+}
/**
+ * Returns the indication of whether or not Calibration Reseau information is available.
+ */
+public Boolean isFilmDistortionInformationAvailable() {
+    return filmDistortionInformationAvailable;
+}
+
+/**
+ * Set the indication of whether or not Calibration Reseau information is available.
+ */
+public synchronized void setFilmDistortionInformationAvailable(final Boolean newValue) {
+    checkWritePermission();
+    filmDistortionInformationAvailable = newValue;
+}
/**
+ * Returns the indication of whether or not lens aberration correction information is available.
+ */
+public boolean isLensDistortionInformationAvailable() {
+    return lensDistortionInformationAvailable;
+}
+
+/**
+ * Set the indication of whether or not lens aberration correction information is available.
+ */
+public synchronized void setLensDistortionInformationAvailable(final boolean newValue) {
+    checkWritePermission();
+    lensDistortionInformationAvailable = newValue;
+}
/**
+ * Returns the indication of whether or not lens aberration correction information is available.
+ */
+public Boolean isLensDistortionInformationAvailable() {
+    return lensDistortionInformationAvailable;
+}
+
+/**
+ * Set the indication of whether or not lens aberration correction information is available.
+ */
+public synchronized void setLensDistortionInformationAvailable(final Boolean newValue) {
+    checkWritePermission();
+    lensDistortionInformationAvailable = newValue;
+}
 */
+protected void freeze() {
+    super.freeze();
+    illuminationElevationAngle = (Number)     unmodifiable(illuminationElevationAngle);
+    illuminationAzimuthAngle   = (Number)     unmodifiable(illuminationAzimuthAngle);
+    imageQualityCode           = (Identifier) unmodifiable(imageQualityCode);
+    cloudCoverPercentage       = (Number)     unmodifiable(cloudCoverPercentage);
+    processingLevelCode        = (Identifier) unmodifiable(processingLevelCode);
+}
 */
+protected void freeze() {
+    super.freeze();
+    illuminationElevationAngle = (Double)     unmodifiable(illuminationElevationAngle);
+    illuminationAzimuthAngle   = (Double)     unmodifiable(illuminationAzimuthAngle);
+    imageQualityCode           = (Identifier) unmodifiable(imageQualityCode);
+    cloudCoverPercentage       = (Double)     unmodifiable(cloudCoverPercentage);
+    processingLevelCode        = (Identifier) unmodifiable(processingLevelCode);
+}
+
+ + Propchange: sis/ip-review/rev/24973/DefaultImageDescription.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24973/DefaultImageDescription.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24973/HEADER.html URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24973/HEADER.html?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/24973/HEADER.html (added) +++ sis/ip-review/rev/24973/HEADER.html Wed Mar 6 22:11:27 2013 @@ -0,0 +1,17 @@ + + + + + Revision 24973 + + +
+

Revision 24973

+ + + + +
Author:chorner
Date:2007-03-30
Message:GEO-93: GeoTools/GeoAPI ISO 19115 Metadata synchronization
+
+ + Propchange: sis/ip-review/rev/24973/HEADER.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24973/HEADER.html ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24990/DefaultCoverageDescription.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24990/DefaultCoverageDescription.xhtml?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/24990/DefaultCoverageDescription.xhtml (added) +++ sis/ip-review/rev/24990/DefaultCoverageDescription.xhtml Wed Mar 6 22:11:27 2013 @@ -0,0 +1,265 @@ + + + + + DefaultCoverageDescription changes for revisions 24867:24990 + + + +
+

DefaultCoverageDescription changes for revisions 24867:24990

+

Type of the attributeDescription property has been changed from Class to RecordType, +and type of the dimension property has been changed from singleton to collection. +Those changes were forced by GeoAPI change. Reverting those changes result in compilation error, +and rewriting the contribution produce identical results since the new types are imposed by GeoAPI.

+ +

The contribution in equals, hashCode and freeze methods do not exist in SIS/Geotk, +since those methods have been rewritten in order to use Java reflection.

+

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24867:24990 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/metadata/iso/content/CoverageDescriptionImpl.java
+ + + + + + + + + + + + + + + + + + +
Revision 24867Revision 24990
package org.geotools.metadata.iso.content;
+
+// Geotools dependencies
+import org.opengis.metadata.content.CoverageDescription;
+
+// OpenGIS dependencies
+import org.geotools.resources.Utilities;
+import org.opengis.metadata.content.CoverageContentType;
+import org.opengis.metadata.content.RangeDimension;
+
+
+/**
+ * Information about the content of a grid data cell.
+ *
+ * @source $URL$
+ * @version $Id$
+ * @author Martin Desruisseaux
+ * @author Touraïvane
+ *
+ * @since 2.1
+ */
+public class CoverageDescriptionImpl extends ContentInformationImpl implements CoverageDescription {
package org.geotools.metadata.iso.content;
+
+// Geotools dependencies
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+import org.opengis.metadata.content.CoverageDescription;
+
+// OpenGIS dependencies
+import org.geotools.resources.Utilities;
+import org.opengis.metadata.content.CoverageContentType;
+import org.opengis.metadata.content.RangeDimension;
+import org.opengis.util.MemberName;
+import org.opengis.util.Record;
+import org.opengis.util.RecordSchema;
+import org.opengis.util.RecordType;
+import org.opengis.util.TypeName;
+
+/**
+ * Information about the content of a grid data cell.
+ *
+ * @source $URL:
+ *         http://svn.geotools.org/geotools/trunk/gt/modules/library/metadata/src/main/java/org/geotools/metadata/iso/content/CoverageDescriptionImpl.java $
+ * @version $Id$
+ * @author Martin Desruisseaux
+ * @author Touraïvane
+ * @since 2.1
+ */
+public class CoverageDescriptionImpl extends ContentInformationImpl implements CoverageDescription {
/**
+ * Description of the attribute described by the measurement value.
+ */
+private Class attributeDescription;
+
+/**
+ * Type of information represented by the cell value.
/**
+ * Description of the attribute described by the measurement value.
+ */
+private RecordType attributeDescription;
+
+/**
+ * Type of information represented by the cell value.
/**
+ * Information on the dimensions of the cell measurement value.
+ */
+private RangeDimension dimension;
+
+/**
+ * Constructs an empty coverage description.
+ */
+public CoverageDescriptionImpl() {
/**
+ * Information on the dimensions of the cell measurement value.
+ * @deprecated
+ */
+private RangeDimension dimension;
+
+/**
+ * Information on the dimensions of the cell measurement value.
+ */
+private Collection dimensions;
+
+/**
+ * Constructs an empty coverage description.
+ */
+public CoverageDescriptionImpl() {
/**
+ * Returns the description of the attribute described by the measurement value.
+ */
+public Class getAttributeDescription() {
+    return attributeDescription;
+}
+
+/**
+ * Set the description of the attribute described by the measurement value.
+ */
+public synchronized void setAttributeDescription(final Class newValue) {
+    checkWritePermission();
+    attributeDescription = newValue;
+}
/**
+ * Returns the description of the attribute described by the measurement value.
+ */
+public RecordType getAttributeDescription() {
+    return attributeDescription;
+}
+
+/**
+ * Set the description of the attribute described by the measurement value.
+ */
+public synchronized void setAttributeDescription(final RecordType newValue) {
+    checkWritePermission();
+    attributeDescription = newValue;
+}
/**
+ * Returns the information on the dimensions of the cell measurement value.
+ */
+public RangeDimension getDimension() {
+    return dimension;
/**
+ * Returns the information on the dimensions of the cell measurement value.
+ *
+ * @deprecated use getDimensions
+ */
+public RangeDimension getDimension() {
+    return dimension;
/**
+ * Set the information on the dimensions of the cell measurement value.
+ */
+public synchronized void setDimension(final RangeDimension newValue) {
+    checkWritePermission();
/**
+ * Set the information on the dimensions of the cell measurement value.
+ *
+ * @deprecated use setDimensions
+ */
+public synchronized void setDimension(final RangeDimension newValue) {
+    checkWritePermission();
}
+
+/**
+ * Declare this metadata and all its attributes as unmodifiable.
+ */
+protected void freeze() {
+    super.freeze();
+    attributeDescription = (Class)          unmodifiable(attributeDescription);
+    dimension            = (RangeDimension) unmodifiable(dimension);
+}
+
+/**
+ * Compare this coverage description with the specified object for equality.
}
+
+/**
+ * Returns the information on the dimensions of the cell measurement value.
+ *
+ * @since 2.4
+ */
+public Collection getDimensions() {
+    if (dimensions == null) {
+        return Collections.singleton(dimension);
+    }
+    return dimensions;
+}
+
+/**
+ * Set the information on the dimensions of the cell measurement value.
+ *
+ * since 2.4
+ */
+public synchronized void setDimensions(final Collection newValue) {
+    checkWritePermission();
+    dimensions = newValue;
+}
+
+/**
+ * Declare this metadata and all its attributes as unmodifiable.
+ */
+protected void freeze() {
+    super.freeze();
+    attributeDescription = (RecordType) unmodifiable(attributeDescription);
+    dimensions = (Collection) unmodifiable(dimensions);
+    if (dimension != null) {
+    dimension            = (RangeDimension) unmodifiable(dimension);
+}
+}
+
+/**
+ * Compare this coverage description with the specified object for equality.
    }
+    if (super.equals(object)) {
+        final CoverageDescriptionImpl that = (CoverageDescriptionImpl) object;
+        return Utilities.equals(this.attributeDescription, that.attributeDescription ) &&
+               Utilities.equals(this.contentType,          that.contentType          ) &&
+               Utilities.equals(this.dimension,            that.dimension            )  ;
+    }
+    return false;
+}
+
+/**
+ * Returns a hash code value for this coverage description. For performance reason, this
+ * method do not uses all attributes for computing the hash code. Instead, it uses the
+ * attributes that are the most likely to be unique.
+ */
+public synchronized int hashCode() {
+    int code = (int)serialVersionUID;
+    if (attributeDescription != null)  code ^= attributeDescription.hashCode();
+    if (contentType          != null)  code ^= contentType         .hashCode();
+    return code;
+}
    }
+    if (super.equals(object)) {
+        final CoverageDescriptionImpl that = (CoverageDescriptionImpl) object;
+        return Utilities.equals(this.attributeDescription, that.attributeDescription)
+                && Utilities.equals(this.contentType, that.contentType)
+                && Utilities.equals(this.dimensions, that.dimensions);
+    }
+    return false;
+}
+
+/**
+ * Returns a hash code value for this coverage description. For performance reasons, this method
+ * does not uses all attributes for computing the hash code. Instead, it uses the attributes that
+ * are the most likely to be unique.
+ */
+public synchronized int hashCode() {
+    int code = (int)serialVersionUID;
+    if (attributeDescription != null)
+        code ^= attributeDescription.hashCode();
+    if (contentType != null)
+        code ^= contentType.hashCode();
+    return code;
+}
+
+ + Propchange: sis/ip-review/rev/24990/DefaultCoverageDescription.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24990/DefaultCoverageDescription.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24990/DefaultRangeDimension.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24990/DefaultRangeDimension.xhtml?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/24990/DefaultRangeDimension.xhtml (added) +++ sis/ip-review/rev/24990/DefaultRangeDimension.xhtml Wed Mar 6 22:11:27 2013 @@ -0,0 +1,105 @@ + + + + + DefaultRangeDimension changes for revisions 24867:24990 + + + +
+

DefaultRangeDimension changes for revisions 24867:24990

+

Type of property values changed from LocalName to MemberName. +This change has been forced by a GeoAPI change. Reverting this change causes a compilation failure, +which is resolved by restoring the MemberName types as required by GeoAPI interfaces. +So rewriting this contribution produces identical result.

+ +

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24867:24990 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/metadata/iso/content/RangeDimensionImpl.java
+ + + + + + + + + + + + +
Revision 24867Revision 24990
package org.geotools.metadata.iso.content;
+
+// OpenGIS dependencies
+import org.opengis.metadata.content.RangeDimension;
+import org.opengis.util.InternationalString;
+import org.opengis.util.LocalName;
+
+// Geotools dependencies
+import org.geotools.metadata.iso.MetadataEntity;
+import org.geotools.resources.Utilities;
+
+
+/**
+ * Information on the range of each dimension of a cell measurement value.
+ *
package org.geotools.metadata.iso.content;
+
+// OpenGIS dependencies
+import org.geotools.metadata.iso.MetadataEntity;
+import org.geotools.resources.Utilities;
+import org.opengis.metadata.content.RangeDimension;
+import org.opengis.util.InternationalString;
+import org.opengis.util.MemberName;
+
+
+/**
+ * Information on the range of each dimension of a cell measurement value.
+ *
 * Number that uniquely identifies instances of bands of wavelengths on which a sensor
+ * operates.
+ */
+private LocalName sequenceIdentifier;
+
+/**
+ * Description of the range of a cell measurement value.
 * Number that uniquely identifies instances of bands of wavelengths on which a sensor
+ * operates.
+ */
+private MemberName sequenceIdentifier;
+
+/**
+ * Description of the range of a cell measurement value.
 * Returns the number that uniquely identifies instances of bands of wavelengths
+ * on which a sensor operates.
+ */
+public LocalName getSequenceIdentifier() {
+    return sequenceIdentifier;
+}
 * Returns the number that uniquely identifies instances of bands of wavelengths
+ * on which a sensor operates.
+ */
+public MemberName getSequenceIdentifier() {
+    return sequenceIdentifier;
+}
 * Set the number that uniquely identifies instances of bands of wavelengths
+ * on which a sensor operates.
+ */
+public synchronized void setSequenceIdentifier(final LocalName newValue) {
+    checkWritePermission();
+    sequenceIdentifier = newValue;
+}
 * Set the number that uniquely identifies instances of bands of wavelengths
+ * on which a sensor operates.
+ */
+public synchronized void setSequenceIdentifier(final MemberName newValue) {
+    checkWritePermission();
+    sequenceIdentifier = newValue;
+}
 */
+protected void freeze() {
+    super.freeze();
+    sequenceIdentifier = (LocalName)           unmodifiable(sequenceIdentifier);
+    descriptor         = (InternationalString) unmodifiable(descriptor);
+}
 */
+protected void freeze() {
+    super.freeze();
+    sequenceIdentifier = (MemberName)          unmodifiable(sequenceIdentifier);
+    descriptor         = (InternationalString) unmodifiable(descriptor);
+}
+
+ + Propchange: sis/ip-review/rev/24990/DefaultRangeDimension.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24990/DefaultRangeDimension.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/25543/DefaultTelephone.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25543/DefaultTelephone.xhtml?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/25543/DefaultTelephone.xhtml (added) +++ sis/ip-review/rev/25543/DefaultTelephone.xhtml Wed Mar 6 22:11:27 2013 @@ -0,0 +1,111 @@ + + + + + DefaultTelephone changes for revisions 25542:25543 + + + +
+

DefaultTelephone changes for revisions 25542:25543

+

Type of properties has been changed from singletons to collections. +Those changes were forced by GeoAPI change. Reverting those changes result in compilation error, +and rewriting the contribution produces identical results since the new types are imposed by GeoAPI.

+

Command line:

+
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r25542:25543 http://svn.osgeo.org/geotools/trunk/modules/library/metadata/src/main/java/org/geotools/metadata/iso/citation/TelephoneImpl.java
+ + + + + + + + + + + + + + +
Revision 25542Revision 25543
 */
+package org.geotools.metadata.iso.citation;
+
+// OpenGIS dependencies
+import org.opengis.metadata.citation.Telephone;
 */
+package org.geotools.metadata.iso.citation;
+
+import java.util.Collection;
+
+// OpenGIS dependencies
+import org.opengis.metadata.citation.Telephone;
/**
+ * Telephone number by which individuals can speak to the responsible organization or individual.
+ */
+private String voice;
+
+/**
+ * Telephone number of a facsimile machine for the responsible organization or individual.
+ */
+private String facsimile;
+
+/**
+ * Constructs a default telephone.
/**
+ * Telephone number by which individuals can speak to the responsible organization or individual.
+ */
+private Collection voice;
+
+/**
+ * Telephone number of a facsimile machine for the responsible organization or individual.
+ */
+private Collection facsimile;
+
+/**
+ * Constructs a default telephone.
 * Returns the telephone number by which individuals can speak to the responsible
+ * organization or individual.
+ */
+public String getVoice() {
+    return voice;
+}
 * Returns the telephone number by which individuals can speak to the responsible
+ * organization or individual.
+ */
+public Collection getVoice() {
+    return voice;
+}
 * Set the telephone number by which individuals can speak to the responsible
+ * organization or individual.
+ */
+public synchronized void setVoice(final String newValue) {
+    checkWritePermission();
+    voice = newValue;
+}
 * Set the telephone number by which individuals can speak to the responsible
+ * organization or individual.
+ */
+public synchronized void setVoice(final Collection newValue) {
+    checkWritePermission();
+    voice = newValue;
+}
 * Returns the telephone number of a facsimile machine for the responsible organization
+ * or individual.
+ */
+public String getFacsimile() {
+    return facsimile;
+}
 * Returns the telephone number of a facsimile machine for the responsible organization
+ * or individual.
+ */
+public Collection getFacsimile() {
+    return facsimile;
+}
 * Set the telephone number of a facsimile machine for the responsible organization
+ * or individual.
+ */
+public synchronized void setFacsimile(final String newValue) {
+    checkWritePermission();
+    facsimile = newValue;
+}
 * Set the telephone number of a facsimile machine for the responsible organization
+ * or individual.
+ */
+public synchronized void setFacsimile(final Collection newValue) {
+    checkWritePermission();
+    facsimile = newValue;
+}
+
+ + Propchange: sis/ip-review/rev/25543/DefaultTelephone.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/25543/DefaultTelephone.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/25543/HEADER.html URL: http://svn.apache.org/viewvc/sis/ip-review/rev/25543/HEADER.html?rev=1453589&view=auto ============================================================================== --- sis/ip-review/rev/25543/HEADER.html (added) +++ sis/ip-review/rev/25543/HEADER.html Wed Mar 6 22:11:27 2013 @@ -0,0 +1,17 @@ + + + + + Revision 25543 + + +
+

Revision 25543

+ + + + +
Author:chorner
Date:2007-05-15
Message:GEO-111: changed return types for Telephone to collections
+
+ + Propchange: sis/ip-review/rev/25543/HEADER.html ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/25543/HEADER.html ------------------------------------------------------------------------------ svn:mime-type = text/html