From 84cef7dbd3798220bf73120c93df3e7bed81b8aa Mon Sep 17 00:00:00 2001 From: Christian Aistleitner Date: Wed, 27 Feb 2013 17:20:56 +0100 Subject: [PATCH] Revert 'Use TreeMaps instead of Maps in a couple of places.' The commit c691ba171d8bb9f4f4e1fb74eefa037d854461a2 traded the problem of TreeMap failing to meet Map to the problem of TreeMap failing to meet TreeMap. So it did only limit genericity without fixing the problem described in that commit. So we still could not compile on OpenJDK 6 (e.g.: OpenJDK Runtime Environment (IcedTea6 1.11.3) (Gentoo build 1.6.0_24-b24) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) ) as we obtained [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project gerrit-server: Compilation failure: Compilation failure: [ERROR] /home/christian/sources/Wikimedia/gerrit/gerrit-git/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java:[91,35] incompatible types; no instance(s) of type variable(s) K,V exist so that java.util.TreeMap conforms to java.util.TreeMap [ERROR] found : java.util.TreeMap [ERROR] required: java.util.TreeMap [ERROR] /home/christian/sources/Wikimedia/gerrit/gerrit-git/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java:[358,23] incompatible types; no instance(s) of type variable(s) K,V exist so that java.util.TreeMap conforms to java.util.TreeMap [ERROR] found : java.util.TreeMap [ERROR] required: java.util.TreeMap [ERROR] /home/christian/sources/Wikimedia/gerrit/gerrit-git/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java:[476,23] incompatible types; no instance(s) of type variable(s) K,V exist so that java.util.TreeMap conforms to java.util.TreeMap [ERROR] found : java.util.TreeMap [ERROR] required: java.util.TreeMap [ERROR] -> [Help 1] when trying to compile using 'mvn compile'. Hence, we revert the above commit, and work around the type inference problem by directly instantiating the TreeMaps in a follow-up commit. Change-Id: Ibaf54e4f51edc80875abac9d15269bf4350682a3 --- .../java/com/google/gerrit/server/change/ChangeJson.java | 5 ++--- .../java/com/google/gerrit/server/change/ReviewerJson.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java index a26494935e..5e7328a89e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java @@ -89,7 +89,6 @@ import java.util.EnumSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.TreeMap; public class ChangeJson { private static final Logger log = LoggerFactory.getLogger(ChangeJson.class); @@ -354,7 +353,7 @@ public class ChangeJson { private Map initLabels(ChangeData cd, boolean standard) throws OrmException { - TreeMap labels = + Map labels = Maps.newTreeMap(LabelOrdering.create(approvalTypes)); for (SubmitRecord rec : submitRecords(cd)) { if (rec.labels == null) { @@ -472,7 +471,7 @@ public class ChangeJson { boolean standard, boolean detailed) throws OrmException { // We can only approximately reconstruct what the submit rule evaluator // would have done. These should really come from a stored submit record. - TreeMap labels = + Map labels = Maps.newTreeMap(LabelOrdering.create(approvalTypes)); for (PatchSetApproval psa : cd.currentApprovals(db)) { ApprovalType type = approvalTypes.byId(psa.getCategoryId()); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java index 3e1e98e27f..d174ef563c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ReviewerJson.java @@ -38,7 +38,7 @@ import com.google.inject.Provider; import java.util.Collection; import java.util.List; -import java.util.TreeMap; +import java.util.Map; public class ReviewerJson { private final Provider db; @@ -132,7 +132,7 @@ public class ReviewerJson { public static class ReviewerInfo extends AccountInfo { final String kind = "gerritcodereview#reviewer"; - TreeMap approvals; + Map approvals; protected ReviewerInfo(Account.Id id) { super(id);