Fix implementation of equals(...) and hashCode() in XDocResourceKey Both methods ignored 'metaConfigRevId' and equals would have failed if 'rev' was null. The new implementation uses java.util.Objects rather than com.google.common.base.Objects. The JavaDoc of both methods in com.google.common.base.Objects says that they should be treated as deprecated and that the corresponding Java 7 methods in java.util.Objects should be used instead. Change-Id: Ic1f4d6b0b6480a6ac83ea84a6b63fe63210a8a87 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocResourceKey.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocResourceKey.java index 1f23af0..5bae456 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocResourceKey.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocResourceKey.java
@@ -14,12 +14,13 @@ package com.googlesource.gerrit.plugins.xdocs; -import com.google.common.base.Objects; import com.google.gerrit.extensions.restapi.IdString; import com.google.gerrit.reviewdb.client.Project; import org.eclipse.jgit.lib.ObjectId; +import java.util.Objects; + public class XDocResourceKey { private final String formatter; private final Project.NameKey project; @@ -54,15 +55,18 @@ @Override public int hashCode() { - return Objects.hashCode(formatter, project, resource, revId); + return Objects.hash(formatter, project, resource, revId, metaConfigRevId); } @Override public boolean equals(Object other) { if (other instanceof XDocResourceKey) { XDocResourceKey rk = (XDocResourceKey) other; - return formatter.equals(rk.formatter) && project.equals(rk.project) - && resource.equals(rk.resource) && revId.equals(rk.revId); + return Objects.equals(formatter, rk.formatter) + && Objects.equals(project, rk.project) + && Objects.equals(resource, rk.resource) + && Objects.equals(revId, rk.revId) + && Objects.equals(metaConfigRevId, rk.metaConfigRevId); } return false; }