Merge branch 'stable-3.0' into stable-3.1 * stable-3.0: Refine protocol assignment in scenarios using multiple protocols Change-Id: I8bfca55d15def7f10098ce978e5684bc446eb8bf
diff --git a/WORKSPACE b/WORKSPACE index 7ccc4d8..039af8d 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -3,7 +3,7 @@ load("//:bazlets.bzl", "load_bazlets") load_bazlets( - commit = "6d2b8f41ed34dad925b767399d1e4be378abb029", + commit = "3f9dadc615dc4053369a42d9ada37dafd8d4763c", #local_path = "/home/<user>/projects/bazlets", )
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java index eb65106..70ef751 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/AccountReindexRunnable.java
@@ -18,7 +18,7 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet; import com.google.common.flogger.FluentLogger; -import com.google.gerrit.reviewdb.client.Account; +import com.google.gerrit.entities.Account; import com.google.gerrit.server.account.AccountState; import com.google.gerrit.server.account.Accounts; import com.google.gerrit.server.util.OneOffRequestContext; @@ -53,12 +53,11 @@ @Override protected Optional<Timestamp> indexIfNeeded(AccountState as, Timestamp sinceTs) { try { - Account a = as.getAccount(); - Timestamp accountTs = a.getRegisteredOn(); + Account a = as.account(); + Timestamp accountTs = a.registeredOn(); if (accountTs.after(sinceTs)) { - log.atInfo().log( - "Index %s/%s/%s/%s", a.getId(), a.getFullName(), a.getPreferredEmail(), accountTs); - accountIdx.index(a.getId(), Operation.INDEX, Optional.empty()); + log.atInfo().log("Index %s/%s/%s/%s", a.id(), a.fullName(), a.preferredEmail(), accountTs); + accountIdx.index(a.id(), Operation.INDEX, Optional.empty()); return Optional.of(accountTs); } } catch (IOException e) {
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java index dd323b4..0787953 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ChangeReindexRunnable.java
@@ -19,8 +19,8 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet; import com.google.common.collect.Streams; import com.google.common.flogger.FluentLogger; -import com.google.gerrit.reviewdb.client.Change; -import com.google.gerrit.reviewdb.client.Project; +import com.google.gerrit.entities.Change; +import com.google.gerrit.entities.Project; import com.google.gerrit.server.git.GitRepositoryManager; import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.notedb.ChangeNotes.Factory.ChangeNotesResult;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java index ff5a965..00c574d 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/autoreindex/ProjectReindexRunnable.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.autoreindex; import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.AbstractIndexRestApiServlet; -import com.google.gerrit.reviewdb.client.Project; +import com.google.gerrit.entities.Project; import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.util.OneOffRequestContext; import com.google.inject.Inject;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java index bb21f13..a6dfc34 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandler.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder; import com.ericsson.gerrit.plugins.highavailability.Configuration; -import com.google.gerrit.reviewdb.client.Account; +import com.google.gerrit.entities.Account; import com.google.gerrit.server.index.account.AccountIndexer; import com.google.inject.Inject; import com.google.inject.Singleton;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java index 25fc93f..667677d 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
@@ -20,7 +20,7 @@ import com.ericsson.gerrit.plugins.highavailability.index.ChangeCheckerImpl; import com.ericsson.gerrit.plugins.highavailability.index.ForwardedIndexExecutor; import com.google.common.base.Splitter; -import com.google.gerrit.reviewdb.client.Change; +import com.google.gerrit.entities.Change; import com.google.gerrit.server.index.change.ChangeIndexer; import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.project.NoSuchChangeException; @@ -151,7 +151,7 @@ } private static Change.Id parseChangeId(String id) { - return new Change.Id(Integer.parseInt(Splitter.on("~").splitToList(id).get(1))); + return Change.id(Integer.parseInt(Splitter.on("~").splitToList(id).get(1))); } private static boolean isCausedByNoSuchChangeException(Throwable throwable) {
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java index 9272a60..c0f9330 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandler.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder; import com.ericsson.gerrit.plugins.highavailability.Configuration; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.server.index.group.GroupIndexer; import com.google.inject.Inject; import com.google.inject.Singleton;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandler.java index 076a44c..e837770 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandler.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandler.java
@@ -15,8 +15,8 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder; import com.ericsson.gerrit.plugins.highavailability.Configuration; +import com.google.gerrit.entities.Project; import com.google.gerrit.index.project.ProjectIndexer; -import com.google.gerrit.reviewdb.client.Project; import com.google.inject.Inject; import com.google.inject.Singleton; import java.util.Optional;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandler.java index 84f4675..857d2db 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandler.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandler.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder; import com.google.common.flogger.FluentLogger; -import com.google.gerrit.reviewdb.client.Project; +import com.google.gerrit.entities.Project; import com.google.gerrit.server.project.ProjectCache; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -45,7 +45,7 @@ * @throws IOException */ public void update(String projectName, boolean remove) throws IOException { - Project.NameKey projectKey = new Project.NameKey(projectName); + Project.NameKey projectKey = Project.nameKey(projectName); try { Context.setForwardedEvent(true); if (remove) {
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/AbstractIndexRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/AbstractIndexRestApiServlet.java index 5603fc2..4456064 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/AbstractIndexRestApiServlet.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/AbstractIndexRestApiServlet.java
@@ -22,8 +22,8 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; import com.ericsson.gerrit.plugins.highavailability.forwarder.IndexEvent; import com.google.common.base.Charsets; +import com.google.gerrit.server.events.EventGson; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import java.io.IOException; import java.io.InputStreamReader; import java.util.Optional; @@ -32,11 +32,11 @@ public abstract class AbstractIndexRestApiServlet<T> extends AbstractRestApiServlet { private static final long serialVersionUID = -1L; - private static final Gson gson = new GsonBuilder().create(); private final ForwardedIndexingHandler<T> forwardedIndexingHandler; private final IndexName indexName; private final boolean allowDelete; + private final Gson gson; public enum IndexName { CHANGE, @@ -55,15 +55,17 @@ AbstractIndexRestApiServlet( ForwardedIndexingHandler<T> forwardedIndexingHandler, IndexName indexName, - boolean allowDelete) { + boolean allowDelete, + @EventGson Gson gson) { this.forwardedIndexingHandler = forwardedIndexingHandler; this.indexName = indexName; this.allowDelete = allowDelete; + this.gson = gson; } AbstractIndexRestApiServlet( ForwardedIndexingHandler<T> forwardedIndexingHandler, IndexName indexName) { - this(forwardedIndexingHandler, indexName, false); + this(forwardedIndexingHandler, indexName, false, new Gson()); } @Override
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServlet.java index 3d2d25e..37f0f20 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServlet.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServlet.java
@@ -23,7 +23,9 @@ import com.google.common.io.CharStreams; import com.google.common.net.MediaType; import com.google.gerrit.server.events.Event; +import com.google.gerrit.server.events.EventGson; import com.google.gerrit.server.permissions.PermissionBackendException; +import com.google.gson.Gson; import com.google.inject.Inject; import com.google.inject.Singleton; import java.io.IOException; @@ -35,10 +37,10 @@ private static final long serialVersionUID = -1L; private final ForwardedEventHandler forwardedEventHandler; - private final GsonProvider gson; + private final Gson gson; @Inject - EventRestApiServlet(ForwardedEventHandler forwardedEventHandler, GsonProvider gson) { + EventRestApiServlet(ForwardedEventHandler forwardedEventHandler, @EventGson Gson gson) { this.forwardedEventHandler = forwardedEventHandler; this.gson = gson; } @@ -61,6 +63,6 @@ private Event getEventFromRequest(HttpServletRequest req) throws IOException { String jsonEvent = CharStreams.toString(req.getReader()); - return gson.get().fromJson(jsonEvent, Event.class); + return gson.fromJson(jsonEvent, Event.class); } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParser.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParser.java index 8db2488..de02912 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParser.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParser.java
@@ -16,9 +16,12 @@ import com.ericsson.gerrit.plugins.highavailability.cache.Constants; import com.google.common.base.Strings; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.Account; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.server.events.EventGson; import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -27,32 +30,40 @@ private final Gson gson; @Inject - GsonParser(GsonProvider gson) { - this.gson = gson.get(); + public GsonParser(@EventGson Gson gson) { + this.gson = gson; } - public Object fromJson(String cacheName, String json) { + public Object fromJson(String cacheName, String jsonString) { + JsonElement json = gson.fromJson(Strings.nullToEmpty(jsonString), JsonElement.class); Object key; // Need to add a case for 'adv_bases' + if (!json.isJsonObject()) { + return json.getAsString(); + } + JsonObject asJsonObject = json.getAsJsonObject(); switch (cacheName) { case Constants.ACCOUNTS: - key = gson.fromJson(Strings.nullToEmpty(json).trim(), Account.Id.class); + key = asJsonObject.has("id") ? Account.id(asJsonObject.get("id").getAsInt()) : null; break; case Constants.GROUPS: - key = gson.fromJson(Strings.nullToEmpty(json).trim(), AccountGroup.Id.class); + key = asJsonObject.has("id") ? AccountGroup.id(asJsonObject.get("id").getAsInt()) : null; break; case Constants.GROUPS_BYINCLUDE: case Constants.GROUPS_MEMBERS: - key = gson.fromJson(Strings.nullToEmpty(json).trim(), AccountGroup.UUID.class); + key = + asJsonObject.has("uuid") + ? AccountGroup.uuid(asJsonObject.get("uuid").getAsString()) + : null; break; case Constants.PROJECT_LIST: - key = gson.fromJson(Strings.nullToEmpty(json), Object.class); + key = gson.fromJson(json, Object.class); break; default: try { - key = gson.fromJson(Strings.nullToEmpty(json).trim(), String.class); + key = gson.fromJson(json, String.class); } catch (Exception e) { - key = gson.fromJson(Strings.nullToEmpty(json), Object.class); + key = gson.fromJson(json, Object.class); } } return key;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonProvider.java deleted file mode 100644 index e62cec2..0000000 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonProvider.java +++ /dev/null
@@ -1,34 +0,0 @@ -// Copyright (C) 2019 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.ericsson.gerrit.plugins.highavailability.forwarder.rest; - -import com.google.common.base.Supplier; -import com.google.gerrit.server.events.Event; -import com.google.gerrit.server.events.EventDeserializer; -import com.google.gerrit.server.events.SupplierDeserializer; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.inject.Provider; - -public class GsonProvider implements Provider<Gson> { - - @Override - public Gson get() { - return new GsonBuilder() - .registerTypeAdapter(Event.class, new EventDeserializer()) - .registerTypeAdapter(Supplier.class, new SupplierDeserializer()) - .create(); - } -}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSession.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSession.java index f2ac080..6d801f6 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSession.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSession.java
@@ -15,11 +15,9 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder.rest; import com.ericsson.gerrit.plugins.highavailability.forwarder.rest.HttpResponseHandler.HttpResult; -import com.google.common.base.Supplier; import com.google.common.net.MediaType; -import com.google.gerrit.server.events.SupplierSerializer; +import com.google.gerrit.server.events.EventGson; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import com.google.inject.Inject; import java.io.IOException; import java.net.URI; @@ -32,12 +30,12 @@ class HttpSession { private final CloseableHttpClient httpClient; - private final Gson gson = - new GsonBuilder().registerTypeAdapter(Supplier.class, new SupplierSerializer()).create(); + private final Gson gson; @Inject - HttpSession(CloseableHttpClient httpClient) { + HttpSession(CloseableHttpClient httpClient, @EventGson Gson gson) { this.httpClient = httpClient; + this.gson = gson; } HttpResult post(String uri) throws IOException {
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServlet.java index e7f1447..fa38cc3 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServlet.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServlet.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder.rest; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexAccountHandler; -import com.google.gerrit.reviewdb.client.Account; +import com.google.gerrit.entities.Account; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -30,6 +30,6 @@ @Override Account.Id parse(String id) { - return new Account.Id(Integer.parseInt(id)); + return Account.id(Integer.parseInt(id)); } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServlet.java index 046611e..71e10fb 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServlet.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServlet.java
@@ -16,6 +16,8 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexChangeHandler; import com.google.gerrit.extensions.restapi.Url; +import com.google.gerrit.server.events.EventGson; +import com.google.gson.Gson; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -24,8 +26,8 @@ private static final long serialVersionUID = -1L; @Inject - IndexChangeRestApiServlet(ForwardedIndexChangeHandler handler) { - super(handler, IndexName.CHANGE, true); + IndexChangeRestApiServlet(ForwardedIndexChangeHandler handler, @EventGson Gson gson) { + super(handler, IndexName.CHANGE, true, gson); } @Override
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServlet.java index a8bbb5e..35c526f 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServlet.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServlet.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder.rest; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexGroupHandler; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.AccountGroup; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -30,6 +30,6 @@ @Override AccountGroup.UUID parse(String id) { - return new AccountGroup.UUID(id); + return AccountGroup.uuid(id); } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServlet.java index cc87442..31df2bb 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServlet.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServlet.java
@@ -15,8 +15,8 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder.rest; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexProjectHandler; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.restapi.Url; -import com.google.gerrit.reviewdb.client.Project; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -31,6 +31,6 @@ @Override Project.NameKey parse(String projectName) { - return new Project.NameKey(Url.decode(projectName)); + return Project.nameKey(Url.decode(projectName)); } }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java index fb3aba9..3ab9878 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarder.java
@@ -25,6 +25,8 @@ import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.server.events.Event; +import com.google.gerrit.server.events.EventGson; +import com.google.gson.Gson; import com.google.inject.Inject; import com.google.inject.Provider; import java.io.IOException; @@ -48,7 +50,7 @@ private final String pluginRelativePath; private final Configuration cfg; private final Provider<Set<PeerInfo>> peerInfoProvider; - private final GsonProvider gson; + private final Gson gson; @Inject RestForwarder( @@ -56,7 +58,7 @@ @PluginName String pluginName, Configuration cfg, Provider<Set<PeerInfo>> peerInfoProvider, - GsonProvider gson) { + @EventGson Gson gson) { this.httpSession = httpClient; this.pluginRelativePath = Joiner.on("/").join("plugins", pluginName); this.cfg = cfg; @@ -112,7 +114,7 @@ @Override public boolean evict(final String cacheName, final Object key) { - String json = gson.get().toJson(key); + String json = gson.toJson(key); return execute(RequestMethod.POST, "invalidate cache " + cacheName, "cache", cacheName, json); }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java index f88e10b..4a0cad7 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java +++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
@@ -16,8 +16,8 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.IndexEvent; import com.google.common.flogger.FluentLogger; -import com.google.gerrit.reviewdb.client.Change; -import com.google.gerrit.reviewdb.client.Comment; +import com.google.gerrit.entities.Change; +import com.google.gerrit.entities.Comment; import com.google.gerrit.server.CommentsUtil; import com.google.gerrit.server.change.ChangeFinder; import com.google.gerrit.server.git.GitRepositoryManager; @@ -123,7 +123,7 @@ private String getBranchTargetSha() { try (Repository repo = gitRepoMgr.openRepository(changeNotes.get().getProjectName())) { - String refName = changeNotes.get().getChange().getDest().get(); + String refName = changeNotes.get().getChange().getDest().branch(); Ref ref = repo.exactRef(refName); if (ref == null) { log.atWarning().log("Unable to find target ref %s for change %s", refName, changeId);
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md index dd8e675..b2715bb 100644 --- a/src/main/resources/Documentation/config.md +++ b/src/main/resources/Documentation/config.md
@@ -3,8 +3,8 @@ ========================= The @PLUGIN@ plugin must be installed on all the instances. Each instance should -be configured with the same [gerrit.serverId](https://gerrit-documentation.storage.googleapis.com/Documentation/3.0.0/config-gerrit.html#gerrit.serverId). -If there are existing changes in [NoteDb](https://gerrit-documentation.storage.googleapis.com/Documentation/3.0.0/note-db.html) +be configured with the same [gerrit.serverId](https://gerrit-documentation.storage.googleapis.com/Documentation/3.1.0/config-gerrit.html#gerrit.serverId). +If there are existing changes in [NoteDb](https://gerrit-documentation.storage.googleapis.com/Documentation/3.1.0/note-db.html) made with another `serverId`, then this plugin might not be able to access them. Likewise, if the HA gerrit.serverIds differ, then changes conveyed by one instance will not be accessible by the other.
diff --git a/src/test/docker/gerrit/Dockerfile b/src/test/docker/gerrit/Dockerfile index 707e5ae..4a1dfbb 100644 --- a/src/test/docker/gerrit/Dockerfile +++ b/src/test/docker/gerrit/Dockerfile
@@ -1,6 +1,6 @@ -FROM gerritcodereview/gerrit:3.0.12 +FROM gerritcodereview/gerrit:3.1.8 -ENV GERRIT_BRANCH=stable-3.0 +ENV GERRIT_BRANCH=stable-3.1 ENV GERRIT_CI_URL=https://gerrit-ci.gerritforge.com/job
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheEvictionIT.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheEvictionIT.java index 7233aac..e91e2ae 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheEvictionIT.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheEvictionIT.java
@@ -33,7 +33,7 @@ import com.google.gerrit.acceptance.TestPlugin; import com.google.gerrit.acceptance.UseLocalDisk; import com.google.gerrit.acceptance.UseSsh; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.AccountGroup; import com.google.inject.Inject; import com.google.inject.name.Named; import java.util.Collections;
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedCacheEvictionHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedCacheEvictionHandlerTest.java index 44bb1ea..e09adae 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedCacheEvictionHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedCacheEvictionHandlerTest.java
@@ -22,8 +22,8 @@ import com.ericsson.gerrit.plugins.highavailability.cache.Constants; import com.google.common.cache.Cache; +import com.google.gerrit.entities.Account; import com.google.gerrit.extensions.registration.DynamicMap; -import com.google.gerrit.reviewdb.client.Account; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -55,7 +55,7 @@ @Test public void testSuccessfulCacheEviction() throws Exception { - CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, new Account.Id(123)); + CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, Account.id(123)); doReturn(cacheMock).when(cacheMapMock).get(entry.getPluginName(), entry.getCacheName()); handler.evict(entry); @@ -73,7 +73,7 @@ @Test public void shouldSetAndUnsetForwardedContext() throws Exception { - CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, new Account.Id(456)); + CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, Account.id(456)); doReturn(cacheMock).when(cacheMapMock).get(entry.getPluginName(), entry.getCacheName()); // this doAnswer is to allow to assert that context is set to forwarded @@ -96,7 +96,7 @@ @Test public void shouldSetAndUnsetForwardedContextEvenIfExceptionIsThrown() throws Exception { - CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, new Account.Id(789)); + CacheEntry entry = new CacheEntry(Constants.GERRIT, Constants.ACCOUNTS, Account.id(789)); doReturn(cacheMock).when(cacheMapMock).get(entry.getPluginName(), entry.getCacheName()); doAnswer(
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedEventHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedEventHandlerTest.java index 8ef8e2f..3e1f8fd 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedEventHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedEventHandlerTest.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder; import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.fail; +import static com.google.gerrit.testing.GerritJUnit.assertThrows; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.verify; @@ -82,12 +82,9 @@ .postEvent(event); assertThat(Context.isForwardedEvent()).isFalse(); - try { - handler.dispatch(event); - fail("should have throw a PermissionBackendException"); - } catch (PermissionBackendException e) { - assertThat(e.getMessage()).isEqualTo("someMessage"); - } + PermissionBackendException thrown = + assertThrows(PermissionBackendException.class, () -> handler.dispatch(event)); + assertThat(thrown).hasMessageThat().isEqualTo("someMessage"); assertThat(Context.isForwardedEvent()).isFalse(); verify(dispatcherMock).postEvent(event);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandlerTest.java index b88e9c0..33ca11c 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexAccountHandlerTest.java
@@ -16,14 +16,13 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.gerrit.testing.GerritJUnit.assertThrows; -import static org.junit.Assert.fail; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.ericsson.gerrit.plugins.highavailability.Configuration; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; -import com.google.gerrit.reviewdb.client.Account; +import com.google.gerrit.entities.Account; import com.google.gerrit.server.index.account.AccountIndexer; import java.io.IOException; import java.util.Optional; @@ -48,7 +47,7 @@ when(configMock.index()).thenReturn(indexMock); when(indexMock.numStripedLocks()).thenReturn(10); handler = new ForwardedIndexAccountHandler(indexerMock, configMock); - id = new Account.Id(123); + id = Account.id(123); } @Test @@ -98,12 +97,9 @@ .index(id); assertThat(Context.isForwardedEvent()).isFalse(); - try { - handler.index(id, Operation.INDEX, Optional.empty()); - fail("should have thrown an IOException"); - } catch (IOException e) { - assertThat(e.getMessage()).isEqualTo("someMessage"); - } + IOException thrown = + assertThrows(IOException.class, () -> handler.index(id, Operation.INDEX, Optional.empty())); + assertThat(thrown).hasMessageThat().isEqualTo("someMessage"); assertThat(Context.isForwardedEvent()).isFalse(); verify(indexerMock).index(id);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java index df36271..9d852f2 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
@@ -15,7 +15,7 @@ package com.ericsson.gerrit.plugins.highavailability.forwarder; import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.fail; +import static com.google.gerrit.testing.GerritJUnit.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.times; @@ -26,7 +26,7 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; import com.ericsson.gerrit.plugins.highavailability.index.ChangeChecker; import com.ericsson.gerrit.plugins.highavailability.index.ChangeCheckerImpl; -import com.google.gerrit.reviewdb.client.Change; +import com.google.gerrit.entities.Change; import com.google.gerrit.server.index.change.ChangeIndexer; import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.util.OneOffRequestContext; @@ -66,7 +66,7 @@ @Before public void setUp() throws Exception { - id = new Change.Id(TEST_CHANGE_NUMBER); + id = Change.id(TEST_CHANGE_NUMBER); Change change = new Change(null, id, null, null, TimeUtil.nowTs()); when(changeNotes.getChange()).thenReturn(change); when(configMock.index()).thenReturn(indexMock); @@ -138,12 +138,11 @@ .index(any(Change.class)); assertThat(Context.isForwardedEvent()).isFalse(); - try { - handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty()); - fail("should have thrown an IOException"); - } catch (IOException e) { - assertThat(e.getMessage()).isEqualTo("someMessage"); - } + IOException thrown = + assertThrows( + IOException.class, + () -> handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty())); + assertThat(thrown).hasMessageThat().isEqualTo("someMessage"); assertThat(Context.isForwardedEvent()).isFalse(); verify(indexerMock, times(1)).index(any(Change.class));
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandlerTest.java index 845abb0..b4f887c 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexGroupHandlerTest.java
@@ -16,14 +16,13 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.gerrit.testing.GerritJUnit.assertThrows; -import static org.junit.Assert.fail; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.ericsson.gerrit.plugins.highavailability.Configuration; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.server.index.group.GroupIndexer; import java.io.IOException; import java.util.Optional; @@ -48,7 +47,7 @@ when(configMock.index()).thenReturn(indexMock); when(indexMock.numStripedLocks()).thenReturn(10); handler = new ForwardedIndexGroupHandler(indexerMock, configMock); - uuid = new AccountGroup.UUID("123"); + uuid = AccountGroup.uuid("123"); } @Test @@ -98,12 +97,10 @@ .index(uuid); assertThat(Context.isForwardedEvent()).isFalse(); - try { - handler.index(uuid, Operation.INDEX, Optional.empty()); - fail("should have thrown an IOException"); - } catch (IOException e) { - assertThat(e.getMessage()).isEqualTo("someMessage"); - } + IOException thrown = + assertThrows( + IOException.class, () -> handler.index(uuid, Operation.INDEX, Optional.empty())); + assertThat(thrown).hasMessageThat().isEqualTo("someMessage"); assertThat(Context.isForwardedEvent()).isFalse(); verify(indexerMock).index(uuid);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandlerTest.java index a0c6979..5e05fd6 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexProjectHandlerTest.java
@@ -16,15 +16,14 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.gerrit.testing.GerritJUnit.assertThrows; -import static org.junit.Assert.fail; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.ericsson.gerrit.plugins.highavailability.Configuration; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; +import com.google.gerrit.entities.Project; import com.google.gerrit.index.project.ProjectIndexer; -import com.google.gerrit.reviewdb.client.Project; import java.io.IOException; import java.util.Optional; import org.junit.Before; @@ -48,7 +47,7 @@ when(configMock.index()).thenReturn(indexMock); when(indexMock.numStripedLocks()).thenReturn(10); handler = new ForwardedIndexProjectHandler(indexerMock, configMock); - nameKey = new Project.NameKey("project/name"); + nameKey = Project.nameKey("project/name"); } @Test @@ -98,12 +97,10 @@ .index(nameKey); assertThat(Context.isForwardedEvent()).isFalse(); - try { - handler.index(nameKey, Operation.INDEX, Optional.empty()); - fail("should have thrown an IOException"); - } catch (IOException e) { - assertThat(e.getMessage()).isEqualTo("someMessage"); - } + IOException thrown = + assertThrows( + IOException.class, () -> handler.index(nameKey, Operation.INDEX, Optional.empty())); + assertThat(thrown).hasMessageThat().isEqualTo("someMessage"); assertThat(Context.isForwardedEvent()).isFalse(); verify(indexerMock).index(nameKey);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandlerTest.java index f5521c5..2067265 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedProjectListUpdateHandlerTest.java
@@ -19,7 +19,7 @@ import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.verify; -import com.google.gerrit.reviewdb.client.Project; +import com.google.gerrit.entities.Project; import com.google.gerrit.server.project.ProjectCache; import org.junit.Before; import org.junit.Test; @@ -33,7 +33,7 @@ private static final String PROJECT_NAME = "someProject"; private static final String SOME_MESSAGE = "someMessage"; - private static final Project.NameKey PROJECT_KEY = new Project.NameKey(PROJECT_NAME); + private static final Project.NameKey PROJECT_KEY = Project.nameKey(PROJECT_NAME); @Mock private ProjectCache projectCacheMock; private ForwardedProjectListUpdateHandler handler; @@ -108,7 +108,7 @@ assertThat(Context.isForwardedEvent()).isFalse(); RuntimeException thrown = assertThrows(RuntimeException.class, () -> handler.update(PROJECT_NAME, false)); - assertThat(thrown).hasMessageThat().contains(SOME_MESSAGE); + assertThat(thrown).hasMessageThat().isEqualTo(SOME_MESSAGE); assertThat(Context.isForwardedEvent()).isFalse(); verify(projectCacheMock).onCreateProject(PROJECT_KEY); @@ -128,7 +128,7 @@ assertThat(Context.isForwardedEvent()).isFalse(); RuntimeException thrown = assertThrows(RuntimeException.class, () -> handler.update(PROJECT_NAME, true)); - assertThat(thrown).hasMessageThat().contains(SOME_MESSAGE); + assertThat(thrown).hasMessageThat().isEqualTo(SOME_MESSAGE); assertThat(Context.isForwardedEvent()).isFalse(); verify(projectCacheMock).remove(PROJECT_KEY);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java index 8b08d24..44dd7f0 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java
@@ -24,6 +24,7 @@ import com.ericsson.gerrit.plugins.highavailability.cache.Constants; import com.ericsson.gerrit.plugins.highavailability.forwarder.CacheNotFoundException; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedCacheEvictionHandler; +import com.google.gson.Gson; import java.io.BufferedReader; import java.io.IOException; import javax.servlet.http.HttpServletRequest; @@ -45,8 +46,7 @@ @Before public void setUp() { servlet = - new CacheRestApiServlet( - forwardedCacheEvictionHandlerMock, new GsonParser(new GsonProvider())); + new CacheRestApiServlet(forwardedCacheEvictionHandlerMock, new GsonParser(new Gson())); } @Test
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServletTest.java index 7872785..3c6b931 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServletTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/EventRestApiServletTest.java
@@ -25,10 +25,12 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedEventHandler; import com.google.common.net.MediaType; -import com.google.gerrit.reviewdb.client.Project; +import com.google.gerrit.entities.Project; +import com.google.gerrit.server.events.EventGsonProvider; import com.google.gerrit.server.events.EventTypes; import com.google.gerrit.server.events.RefEvent; import com.google.gerrit.server.permissions.PermissionBackendException; +import com.google.gson.Gson; import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; @@ -49,6 +51,7 @@ @Mock private HttpServletRequest requestMock; @Mock private HttpServletResponse responseMock; private EventRestApiServlet eventRestApiServlet; + private Gson gson = new EventGsonProvider().get(); @BeforeClass public static void setup() { @@ -57,7 +60,7 @@ @Before public void createEventsRestApiServlet() throws Exception { - eventRestApiServlet = new EventRestApiServlet(forwardedEventHandlerMock, new GsonProvider()); + eventRestApiServlet = new EventRestApiServlet(forwardedEventHandlerMock, gson); when(requestMock.getContentType()).thenReturn(MediaType.JSON_UTF_8.toString()); } @@ -129,7 +132,7 @@ @Override public Project.NameKey getProjectNameKey() { - return new Project.NameKey(project); + return Project.nameKey(project); } @Override
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParserTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParserTest.java index 2f6ce7e..5b76598 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParserTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/GsonParserTest.java
@@ -17,33 +17,34 @@ import static com.google.common.truth.Truth.assertThat; import com.ericsson.gerrit.plugins.highavailability.cache.Constants; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.Account; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.server.events.EventGsonProvider; import com.google.gson.Gson; import org.junit.Test; public class GsonParserTest { private static final Object EMPTY_JSON = "{}"; - private final Gson gson = new Gson(); - private final GsonParser objectUnderTest = new GsonParser(new GsonProvider()); + private final Gson gson = new EventGsonProvider().get(); + private final GsonParser objectUnderTest = new GsonParser(gson); @Test public void accountIDParse() { - Account.Id accountId = new Account.Id(1); + Account.Id accountId = Account.id(1); String json = gson.toJson(accountId); assertThat(accountId).isEqualTo(objectUnderTest.fromJson(Constants.ACCOUNTS, json)); } @Test public void accountGroupIDParse() { - AccountGroup.Id accountGroupId = new AccountGroup.Id(1); + AccountGroup.Id accountGroupId = AccountGroup.id(1); String json = gson.toJson(accountGroupId); assertThat(accountGroupId).isEqualTo(objectUnderTest.fromJson(Constants.GROUPS, json)); } @Test public void accountGroupUUIDParse() { - AccountGroup.UUID accountGroupUuid = new AccountGroup.UUID("abc123"); + AccountGroup.UUID accountGroupUuid = AccountGroup.uuid("abc123"); String json = gson.toJson(accountGroupUuid); assertThat(accountGroupUuid) .isEqualTo(objectUnderTest.fromJson(Constants.GROUPS_BYINCLUDE, json));
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSessionTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSessionTest.java index 5e0d4c9..1edcd43 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSessionTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/HttpSessionTest.java
@@ -28,6 +28,7 @@ import com.github.tomakehurst.wiremock.http.Fault; import com.github.tomakehurst.wiremock.junit.WireMockRule; import com.github.tomakehurst.wiremock.stubbing.Scenario; +import com.google.gson.Gson; import java.net.SocketTimeoutException; import org.junit.Before; import org.junit.Rule; @@ -70,7 +71,7 @@ when(configMock.http().socketTimeout()).thenReturn(TIMEOUT); when(configMock.http().retryInterval()).thenReturn(RETRY_INTERVAL); - httpSession = new HttpSession(new HttpClientProvider(configMock).get()); + httpSession = new HttpSession(new HttpClientProvider(configMock).get(), new Gson()); } @Test
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServletTest.java index 4622a17..83102a9 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServletTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexAccountRestApiServletTest.java
@@ -26,7 +26,7 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexAccountHandler; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; -import com.google.gerrit.reviewdb.client.Account; +import com.google.gerrit.entities.Account; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -51,7 +51,7 @@ @Before public void setUpMocks() { servlet = new IndexAccountRestApiServlet(handlerMock); - id = new Account.Id(ACCOUNT_NUMBER); + id = Account.id(ACCOUNT_NUMBER); when(requestMock.getRequestURI()) .thenReturn("http://gerrit.com/index/account/" + ACCOUNT_NUMBER); }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServletTest.java index fb3649e..3da35d4 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServletTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexChangeRestApiServletTest.java
@@ -25,6 +25,7 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexChangeHandler; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; +import com.google.gson.Gson; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -50,7 +51,7 @@ @Before public void setUpMocks() { - servlet = new IndexChangeRestApiServlet(handlerMock); + servlet = new IndexChangeRestApiServlet(handlerMock, new Gson()); when(requestMock.getRequestURI()) .thenReturn("http://gerrit.com/index/change/" + PROJECT_NAME_URL_ENC + "~" + CHANGE_NUMBER); }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServletTest.java index 6291142..fb5788d 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServletTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexGroupRestApiServletTest.java
@@ -26,7 +26,7 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexGroupHandler; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.AccountGroup; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -51,7 +51,7 @@ @Before public void setUpMocks() { servlet = new IndexGroupRestApiServlet(handlerMock); - uuid = new AccountGroup.UUID(UUID); + uuid = AccountGroup.uuid(UUID); when(requestMock.getRequestURI()).thenReturn("http://gerrit.com/index/group/" + UUID); }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServletTest.java index 83420b9..da6e70d 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServletTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/IndexProjectRestApiServletTest.java
@@ -26,8 +26,8 @@ import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexProjectHandler; import com.ericsson.gerrit.plugins.highavailability.forwarder.ForwardedIndexingHandler.Operation; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.restapi.Url; -import com.google.gerrit.reviewdb.client.Project; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -52,7 +52,7 @@ @Before public void setUpMocks() { servlet = new IndexProjectRestApiServlet(handlerMock); - nameKey = new Project.NameKey(PROJECT_NAME); + nameKey = Project.nameKey(PROJECT_NAME); when(requestMock.getRequestURI()) .thenReturn("http://gerrit.com/index/project/" + Url.encode(nameKey.get())); }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/ProjectListRestApiServletIT.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/ProjectListRestApiServletIT.java index 55aa2c9..11ae77d 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/ProjectListRestApiServletIT.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/ProjectListRestApiServletIT.java
@@ -20,8 +20,8 @@ import com.google.gerrit.acceptance.NoHttpd; import com.google.gerrit.acceptance.TestPlugin; import com.google.gerrit.acceptance.UseLocalDisk; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.restapi.Url; -import com.google.gerrit.reviewdb.client.Project; import org.junit.Test; @NoHttpd @@ -30,7 +30,7 @@ sysModule = "com.ericsson.gerrit.plugins.highavailability.Module", httpModule = "com.ericsson.gerrit.plugins.highavailability.HttpModule") public class ProjectListRestApiServletIT extends LightweightPluginDaemonTest { - private static final Project.NameKey SOME_PROJECT = new Project.NameKey("org-a/some-project"); + private static final Project.NameKey SOME_PROJECT = Project.nameKey("org-a/some-project"); @Test @UseLocalDisk
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarderTest.java index 55a3c2a..40ef88e 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarderTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/RestForwarderTest.java
@@ -30,8 +30,8 @@ import com.ericsson.gerrit.plugins.highavailability.peers.PeerInfo; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableSet; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.AccountGroup; +import com.google.gerrit.entities.Account; +import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.server.events.Event; import com.google.gson.Gson; import com.google.inject.Provider; @@ -75,9 +75,6 @@ private static final String INDEX_GROUP_ENDPOINT = Joiner.on("/").join(URL, PLUGINS, PLUGIN_NAME, "index/group", UUID); - private GsonProvider gsonProvider = new GsonProvider(); - private Gson gson = gsonProvider.get(); - // Event private static Event event = new TestEvent(); private static final String EVENT_ENDPOINT = @@ -85,6 +82,7 @@ private RestForwarder forwarder; private HttpSession httpSessionMock; + private Gson gson = new Gson(); @SuppressWarnings("unchecked") @Before @@ -97,11 +95,7 @@ when(peersMock.get()).thenReturn(ImmutableSet.of(new PeerInfo(URL))); forwarder = new RestForwarder( - httpSessionMock, - PLUGIN_NAME, - configMock, - peersMock, - gsonProvider); // TODO: Create provider + httpSessionMock, PLUGIN_NAME, configMock, peersMock, gson); // TODO: Create provider } @Test @@ -214,7 +208,7 @@ @Test public void testEvictAccountsOK() throws Exception { - Account.Id key = new Account.Id(123); + Account.Id key = Account.id(123); String keyJson = gson.toJson(key); when(httpSessionMock.post(buildCacheEndpoint(Constants.ACCOUNTS), keyJson)) .thenReturn(new HttpResult(SUCCESSFUL, EMPTY_MSG)); @@ -223,7 +217,7 @@ @Test public void testEvictGroupsOK() throws Exception { - AccountGroup.Id key = new AccountGroup.Id(123); + AccountGroup.Id key = AccountGroup.id(123); String keyJson = gson.toJson(key); String endpoint = buildCacheEndpoint(Constants.GROUPS); when(httpSessionMock.post(endpoint, keyJson)).thenReturn(new HttpResult(SUCCESSFUL, EMPTY_MSG)); @@ -232,7 +226,7 @@ @Test public void testEvictGroupsByIncludeOK() throws Exception { - AccountGroup.UUID key = new AccountGroup.UUID("90b3042d9094a37985f3f9281391dbbe9a5addad"); + AccountGroup.UUID key = AccountGroup.uuid("90b3042d9094a37985f3f9281391dbbe9a5addad"); String keyJson = gson.toJson(key); when(httpSessionMock.post(buildCacheEndpoint(Constants.GROUPS_BYINCLUDE), keyJson)) .thenReturn(new HttpResult(SUCCESSFUL, EMPTY_MSG)); @@ -241,7 +235,7 @@ @Test public void testEvictGroupsMembersOK() throws Exception { - AccountGroup.UUID key = new AccountGroup.UUID("90b3042d9094a37985f3f9281391dbbe9a5addad"); + AccountGroup.UUID key = AccountGroup.uuid("90b3042d9094a37985f3f9281391dbbe9a5addad"); String keyJson = gson.toJson(key); when(httpSessionMock.post(buildCacheEndpoint(Constants.GROUPS_MEMBERS), keyJson)) .thenReturn(new HttpResult(SUCCESSFUL, EMPTY_MSG));
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java index 2d12ca8..eff8185 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java +++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java
@@ -33,9 +33,9 @@ import com.ericsson.gerrit.plugins.highavailability.index.IndexEventHandler.IndexChangeTask; import com.ericsson.gerrit.plugins.highavailability.index.IndexEventHandler.IndexGroupTask; import com.google.common.util.concurrent.MoreExecutors; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.AccountGroup; -import com.google.gerrit.reviewdb.client.Change; +import com.google.gerrit.entities.Account; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.entities.Change; import com.google.gerrit.server.util.OneOffRequestContext; import com.google.gerrit.server.util.RequestContext; import com.google.gerrit.server.util.ThreadLocalRequestContext; @@ -76,9 +76,9 @@ @Before public void setUpMocks() throws Exception { - changeId = new Change.Id(CHANGE_ID); - accountId = new Account.Id(ACCOUNT_ID); - accountGroupUUID = new AccountGroup.UUID(UUID); + changeId = Change.id(CHANGE_ID); + accountId = Account.id(ACCOUNT_ID); + accountGroupUUID = AccountGroup.uuid(UUID); when(changeCheckerFactoryMock.create(any())).thenReturn(changeCheckerMock); when(changeCheckerMock.newIndexEvent()).thenReturn(Optional.of(new IndexEvent()));