You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/01/12 09:32:07 UTC

[sis] branch geoapi-4.0 updated: Add missing `equals` and `hashCode` method on a legacy metadata property.

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git


The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
     new ae61bb0a20 Add missing `equals` and `hashCode` method on a legacy metadata property.
ae61bb0a20 is described below

commit ae61bb0a205c73c62074e158af6ad8061ab4ceb4
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Jan 12 10:31:19 2023 +0100

    Add missing `equals` and `hashCode` method on a legacy metadata property.
---
 .../internal/metadata/legacy/DateToTemporal.java   | 25 +++++++++++++++++++++-
 .../internal/metadata/legacy/TemporalToDate.java   | 25 +++++++++++++++++++++-
 .../sis/internal/metadata/legacy/package-info.java |  2 +-
 .../transform/TransformResultComparator.java       |  2 +-
 4 files changed, 50 insertions(+), 4 deletions(-)

diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/DateToTemporal.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/DateToTemporal.java
index 42ff27e462..60bc7f0b7b 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/DateToTemporal.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/DateToTemporal.java
@@ -29,7 +29,7 @@ import java.util.Iterator;
  * This adapter may be deleted after deprecated metadata methods have been removed from Apache SIS.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.3
+ * @version 1.4
  * @since   1.3
  */
 public final class DateToTemporal extends AbstractCollection<Temporal> {
@@ -83,4 +83,27 @@ public final class DateToTemporal extends AbstractCollection<Temporal> {
             }
         };
     }
+
+    /**
+     * Returns a hash code value for this collection.
+     * The hash code is determined by the backing collection.
+     *
+     * @return a hash code value for this collection.
+     */
+    @Override
+    public int hashCode() {
+        return source.hashCode() ^ 1137016072;
+    }
+
+    /**
+     * Compares the specified object with this collection for equality.
+     * Two {@code DateToTemporal} collections are equal if their backing collection are equal.
+     *
+     * @param  obj  the other object to compare to.
+     * @return whether the two collections are equal.
+     */
+    @Override
+    public boolean equals(final Object obj) {
+        return (obj instanceof DateToTemporal) && source.equals(((DateToTemporal) obj).source);
+    }
 }
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/TemporalToDate.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/TemporalToDate.java
index b751609fa0..e494a85612 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/TemporalToDate.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/TemporalToDate.java
@@ -31,7 +31,7 @@ import java.util.Iterator;
  * This adapter may be deleted after deprecated metadata methods have been removed from Apache SIS.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.3
+ * @version 1.4
  * @since   1.3
  */
 public final class TemporalToDate extends AbstractCollection<Date> {
@@ -90,4 +90,27 @@ public final class TemporalToDate extends AbstractCollection<Date> {
             }
         };
     }
+
+    /**
+     * Returns a hash code value for this collection.
+     * The hash code is determined by the backing collection.
+     *
+     * @return a hash code value for this collection.
+     */
+    @Override
+    public int hashCode() {
+        return source.hashCode() ^ -553645611;
+    }
+
+    /**
+     * Compares the specified object with this collection for equality.
+     * Two {@code TemporalToDate} collections are equal if their backing collection are equal.
+     *
+     * @param  obj  the other object to compare to.
+     * @return whether the two collections are equal.
+     */
+    @Override
+    public boolean equals(final Object obj) {
+        return (obj instanceof TemporalToDate) && source.equals(((TemporalToDate) obj).source);
+    }
 }
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/package-info.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/package-info.java
index c3c1001d3f..6354913532 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/package-info.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/package-info.java
@@ -26,7 +26,7 @@
  * may change in incompatible ways in any future version without notice.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.0
+ * @version 1.4
  * @since   1.0
  */
 package org.apache.sis.internal.metadata.legacy;
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java
index f142b8f6ad..72818dfe63 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java
@@ -17,6 +17,7 @@
 package org.apache.sis.referencing.operation.transform;
 
 import java.util.Arrays;
+import org.opengis.util.FactoryException;
 import org.opengis.geometry.DirectPosition;
 import org.opengis.geometry.MismatchedDimensionException;
 import org.opengis.referencing.operation.Matrix;
@@ -26,7 +27,6 @@ import org.opengis.referencing.operation.TransformException;
 import org.opengis.referencing.operation.NoninvertibleTransformException;
 
 import static org.opengis.test.Assert.*;
-import org.opengis.util.FactoryException;
 
 
 /**