Merge branch 'stable-3.6'
* stable-3.6:
Remove dependency on //java/com/google/gerrit/proto
Restore dockerized integration tests
Adapt Bazel build and deps to latest stable-3.5
Adapt to the latest Index interface in stable-3.5
Also adapt account and change index implementation to removal of support
for legacy numeric type done in: I6a040f55cc.
Change-Id: I360f99595aec8430de593318eff5c403fe5a9040
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java
index 8967789..beb57bd 100644
--- a/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java
+++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java
@@ -91,15 +91,12 @@
@Override
public DataSource<AccountState> getSource(Predicate<AccountState> p, QueryOptions opts)
throws QueryParseException {
+ boolean useLegacyNumericFields = schema.hasField(AccountField.ID);
JsonArray sortArray =
getSortArray(
- schema.useLegacyNumericFields()
- ? AccountField.ID.getName()
- : AccountField.ID_STR.getName());
+ useLegacyNumericFields ? AccountField.ID.getName() : AccountField.ID_STR.getName());
return new ElasticQuerySource(
- p,
- opts.filterFields(o -> IndexUtils.accountFields(o, schema.useLegacyNumericFields())),
- sortArray);
+ p, opts.filterFields(o -> IndexUtils.accountFields(o, useLegacyNumericFields)), sortArray);
}
@Override
@@ -129,7 +126,7 @@
source
.getAsJsonObject()
.get(
- schema.useLegacyNumericFields()
+ schema.hasField(AccountField.ID)
? AccountField.ID.getName()
: AccountField.ID_STR.getName())
.getAsInt());
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
index 7d4e0c7..83be597 100644
--- a/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
+++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
@@ -69,7 +69,6 @@
private final ChangeMapping mapping;
private final ChangeData.Factory changeDataFactory;
private final Schema<ChangeData> schema;
- private final FieldDef<ChangeData, ?> idField;
private final ImmutableSet<String> skipFields;
@Inject
@@ -84,8 +83,6 @@
this.changeDataFactory = changeDataFactory;
this.schema = schema;
this.mapping = new ChangeMapping(schema, client.adapter());
- this.idField =
- this.schema.useLegacyNumericFields() ? ChangeField.LEGACY_ID : ChangeField.LEGACY_ID_STR;
this.skipFields =
MergeabilityComputationBehavior.fromConfig(gerritConfig).includeInIndex()
? ImmutableSet.of()
@@ -110,8 +107,7 @@
@Override
public DataSource<ChangeData> getSource(Predicate<ChangeData> p, QueryOptions opts)
throws QueryParseException {
- QueryOptions filteredOpts =
- opts.filterFields(o -> IndexUtils.changeFields(o, schema.useLegacyNumericFields()));
+ QueryOptions filteredOpts = opts.filterFields(o -> IndexUtils.changeFields(o));
return new ElasticQuerySource(p, filteredOpts, getSortArray());
}
@@ -122,7 +118,7 @@
JsonArray sortArray = new JsonArray();
addNamedElement(ChangeField.UPDATED.getName(), properties, sortArray);
addNamedElement(ChangeField.MERGED_ON.getName(), getMergedOnSortOptions(), sortArray);
- addNamedElement(idField.getName(), properties, sortArray);
+ addNamedElement(ChangeField.LEGACY_ID_STR.getName(), properties, sortArray);
return sortArray;
}
@@ -160,7 +156,7 @@
JsonElement c = source.get(ChangeField.CHANGE.getName());
if (c == null) {
- int id = source.get(idField.getName()).getAsInt();
+ int id = source.get(ChangeField.LEGACY_ID_STR.getName()).getAsInt();
// IndexUtils#changeFields ensures either CHANGE or PROJECT is always present.
String projectName = requireNonNull(source.get(ChangeField.PROJECT.getName()).getAsString());
return changeDataFactory.create(Project.nameKey(projectName), Change.id(id));