diff --git a/distro/changelog.xml b/distro/changelog.xml index f09bc6d..67941f5 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,5 +1,10 @@ - + First Release + + Fixed bug in QueryBox to prevented correct working of hashcode() and equals() in subclasses. + As a result, different queries appeared the same with consequences downstream where queries where used for caching. + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 069d133..9594dd5 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.gcube.resources.discovery discovery-client - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT Discovery Client Base API for resource discovery clients diff --git a/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryBox.java b/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryBox.java index c78a59d..9c01d69 100644 --- a/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryBox.java +++ b/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryBox.java @@ -26,7 +26,7 @@ public class QueryBox implements Query { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((expression == null) ? 0 : expression.hashCode()); + result = prime * result + ((expression() == null) ? 0 : expression().hashCode()); return result; } @@ -39,10 +39,10 @@ public class QueryBox implements Query { if (getClass() != obj.getClass()) return false; QueryBox other = (QueryBox) obj; - if (expression == null) { - if (other.expression != null) + if (expression() == null) { + if (other.expression() != null) return false; - } else if (!expression.equals(other.expression)) + } else if (!expression().equals(other.expression())) return false; return true; } diff --git a/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryTemplate.java b/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryTemplate.java index de3a2c3..7a3f27e 100644 --- a/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryTemplate.java +++ b/src/main/java/org/gcube/resources/discovery/client/queries/impl/QueryTemplate.java @@ -181,4 +181,6 @@ public class QueryTemplate extends QueryBox implements Query { throw new RuntimeException("cannot replace parameters " + parameters + " in query " + expression,e); } } + + }