Define Gson once in AbstractElasticIndex instead of in each sub class

Change-Id: I667d536343553d21e547b264656f5fc53a6765c1
Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
Edwin Kempin
2017-01-13 16:14:32 +01:00
committed by David Pursehouse
parent 0a51533197
commit 2492a34d21
4 changed files with 6 additions and 19 deletions

View File

@@ -15,6 +15,7 @@
package com.google.gerrit.elasticsearch; package com.google.gerrit.elasticsearch;
import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Preconditions.checkState;
import static com.google.gson.FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
import static org.apache.commons.codec.binary.Base64.decodeBase64; import static org.apache.commons.codec.binary.Base64.decodeBase64;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
@@ -28,6 +29,8 @@ import com.google.gerrit.server.index.Index;
import com.google.gerrit.server.index.IndexUtils; import com.google.gerrit.server.index.IndexUtils;
import com.google.gerrit.server.index.Schema; import com.google.gerrit.server.index.Schema;
import com.google.gerrit.server.index.Schema.Values; import com.google.gerrit.server.index.Schema.Values;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gwtorm.protobuf.ProtobufCodec; import com.google.gwtorm.protobuf.ProtobufCodec;
@@ -70,6 +73,7 @@ abstract class AbstractElasticIndex<K, V> implements Index<K, V> {
protected final boolean refresh; protected final boolean refresh;
protected final String indexName; protected final String indexName;
protected final JestHttpClient client; protected final JestHttpClient client;
protected final Gson gson;
AbstractElasticIndex(@GerritServerConfig Config cfg, AbstractElasticIndex(@GerritServerConfig Config cfg,
FillArgs fillArgs, FillArgs fillArgs,
@@ -79,6 +83,8 @@ abstract class AbstractElasticIndex<K, V> implements Index<K, V> {
this.fillArgs = fillArgs; this.fillArgs = fillArgs;
this.sitePaths = sitePaths; this.sitePaths = sitePaths;
this.schema = schema; this.schema = schema;
this.gson = new GsonBuilder()
.setFieldNamingPolicy(LOWER_CASE_WITH_UNDERSCORES).create();
String protocol = getRequiredConfigOption(cfg, "protocol"); String protocol = getRequiredConfigOption(cfg, "protocol");
String hostname = getRequiredConfigOption(cfg, "hostname"); String hostname = getRequiredConfigOption(cfg, "hostname");
String port = getRequiredConfigOption(cfg, "port"); String port = getRequiredConfigOption(cfg, "port");

View File

@@ -15,7 +15,6 @@
package com.google.gerrit.elasticsearch; package com.google.gerrit.elasticsearch;
import static com.google.gerrit.server.index.account.AccountField.ID; import static com.google.gerrit.server.index.account.AccountField.ID;
import static com.google.gson.FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
@@ -34,8 +33,6 @@ import com.google.gerrit.server.index.account.AccountIndex;
import com.google.gerrit.server.query.DataSource; import com.google.gerrit.server.query.DataSource;
import com.google.gerrit.server.query.Predicate; import com.google.gerrit.server.query.Predicate;
import com.google.gerrit.server.query.QueryParseException; import com.google.gerrit.server.query.QueryParseException;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
@@ -80,7 +77,6 @@ public class ElasticAccountIndex extends
private static final Logger log = private static final Logger log =
LoggerFactory.getLogger(ElasticAccountIndex.class); LoggerFactory.getLogger(ElasticAccountIndex.class);
private final Gson gson;
private final AccountMapping mapping; private final AccountMapping mapping;
private final Provider<AccountCache> accountCache; private final Provider<AccountCache> accountCache;
private final ElasticQueryBuilder queryBuilder; private final ElasticQueryBuilder queryBuilder;
@@ -96,8 +92,6 @@ public class ElasticAccountIndex extends
this.accountCache = accountCache; this.accountCache = accountCache;
this.mapping = new AccountMapping(schema); this.mapping = new AccountMapping(schema);
this.queryBuilder = new ElasticQueryBuilder(); this.queryBuilder = new ElasticQueryBuilder();
this.gson = new GsonBuilder()
.setFieldNamingPolicy(LOWER_CASE_WITH_UNDERSCORES).create();
} }
@Override @Override

View File

@@ -16,7 +16,6 @@ package com.google.gerrit.elasticsearch;
import static com.google.gerrit.server.index.change.ChangeIndexRewriter.CLOSED_STATUSES; import static com.google.gerrit.server.index.change.ChangeIndexRewriter.CLOSED_STATUSES;
import static com.google.gerrit.server.index.change.ChangeIndexRewriter.OPEN_STATUSES; import static com.google.gerrit.server.index.change.ChangeIndexRewriter.OPEN_STATUSES;
import static com.google.gson.FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
import static java.nio.charset.StandardCharsets.UTF_8; import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.commons.codec.binary.Base64.decodeBase64; import static org.apache.commons.codec.binary.Base64.decodeBase64;
@@ -50,8 +49,6 @@ import com.google.gerrit.server.query.Predicate;
import com.google.gerrit.server.query.QueryParseException; import com.google.gerrit.server.query.QueryParseException;
import com.google.gerrit.server.query.change.ChangeData; import com.google.gerrit.server.query.change.ChangeData;
import com.google.gerrit.server.query.change.ChangeDataSource; import com.google.gerrit.server.query.change.ChangeDataSource;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
@@ -102,7 +99,6 @@ class ElasticChangeIndex extends AbstractElasticIndex<Change.Id, ChangeData>
static final String OPEN_CHANGES = "open_changes"; static final String OPEN_CHANGES = "open_changes";
static final String CLOSED_CHANGES = "closed_changes"; static final String CLOSED_CHANGES = "closed_changes";
private final Gson gson;
private final ChangeMapping mapping; private final ChangeMapping mapping;
private final Provider<ReviewDb> db; private final Provider<ReviewDb> db;
private final ElasticQueryBuilder queryBuilder; private final ElasticQueryBuilder queryBuilder;
@@ -122,8 +118,6 @@ class ElasticChangeIndex extends AbstractElasticIndex<Change.Id, ChangeData>
mapping = new ChangeMapping(schema); mapping = new ChangeMapping(schema);
this.queryBuilder = new ElasticQueryBuilder(); this.queryBuilder = new ElasticQueryBuilder();
this.gson = new GsonBuilder()
.setFieldNamingPolicy(LOWER_CASE_WITH_UNDERSCORES).create();
} }
@Override @Override

View File

@@ -14,8 +14,6 @@
package com.google.gerrit.elasticsearch; package com.google.gerrit.elasticsearch;
import static com.google.gson.FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@@ -32,8 +30,6 @@ import com.google.gerrit.server.index.group.GroupIndex;
import com.google.gerrit.server.query.DataSource; import com.google.gerrit.server.query.DataSource;
import com.google.gerrit.server.query.Predicate; import com.google.gerrit.server.query.Predicate;
import com.google.gerrit.server.query.QueryParseException; import com.google.gerrit.server.query.QueryParseException;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
@@ -79,7 +75,6 @@ public class ElasticGroupIndex
private static final Logger log = private static final Logger log =
LoggerFactory.getLogger(ElasticGroupIndex.class); LoggerFactory.getLogger(ElasticGroupIndex.class);
private final Gson gson;
private final GroupMapping mapping; private final GroupMapping mapping;
private final Provider<GroupCache> groupCache; private final Provider<GroupCache> groupCache;
private final ElasticQueryBuilder queryBuilder; private final ElasticQueryBuilder queryBuilder;
@@ -95,8 +90,6 @@ public class ElasticGroupIndex
this.groupCache = groupCache; this.groupCache = groupCache;
this.mapping = new GroupMapping(schema); this.mapping = new GroupMapping(schema);
this.queryBuilder = new ElasticQueryBuilder(); this.queryBuilder = new ElasticQueryBuilder();
this.gson = new GsonBuilder()
.setFieldNamingPolicy(LOWER_CASE_WITH_UNDERSCORES).create();
} }
@Override @Override