You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/07/20 06:26:41 UTC
[isis] branch master updated: ISIS-2297: ObjectMementoWkt: properly
implement hash function
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new fa21997 ISIS-2297: ObjectMementoWkt: properly implement hash function
fa21997 is described below
commit fa219975ae64add73756be7582c5e457b3eb6359
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jul 20 08:26:27 2020 +0200
ISIS-2297: ObjectMementoWkt: properly implement hash function
---
.../wicket/viewer/services/mementos/ObjectMementoWkt.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java
index ce4b63e..e5b898f 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/services/mementos/ObjectMementoWkt.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.viewer.services.mementos;
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
@@ -289,18 +290,19 @@ final class ObjectMementoWkt implements Serializable {
public boolean equals(
ObjectMementoWkt memento,
ObjectMementoWkt otherMemento) {
- return otherMemento.recreateStrategy == SERIALIZABLE &&
- Objects.equal(memento.serializedObject, otherMemento.serializedObject);
+ return otherMemento.recreateStrategy == SERIALIZABLE
+ && Objects.equal(memento.objectSpecId, otherMemento.objectSpecId)
+ && Objects.equal(memento.serializedObject, otherMemento.serializedObject);
}
@Override
public int hashCode(ObjectMementoWkt memento) {
- return memento.serializedObject.hashCode();
+ return Arrays.hashCode(memento.serializedObject); // potentially expensive, unfortunately cannot be cached in enum
}
@Override
public String toString(ObjectMementoWkt memento) {
- throw _Exceptions.notImplemented();
+ return "ObjectMementoWkt {SERIALIZABLE " + memento.objectSpecId + "}";
}
@Override