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;
}