diff --git a/java/com/google/gerrit/elasticsearch/builders/XContentBuilder.java b/java/com/google/gerrit/elasticsearch/builders/XContentBuilder.java index 06427f1079..061a37321a 100644 --- a/java/com/google/gerrit/elasticsearch/builders/XContentBuilder.java +++ b/java/com/google/gerrit/elasticsearch/builders/XContentBuilder.java @@ -19,7 +19,8 @@ import static java.time.format.DateTimeFormatter.ISO_INSTANT; import com.fasterxml.jackson.core.JsonEncoding; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.json.JsonReadFeature; +import com.fasterxml.jackson.core.json.JsonWriteFeature; import com.google.common.base.Charsets; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -38,14 +39,14 @@ public final class XContentBuilder implements Closeable { * Inspired from org.elasticsearch.common.xcontent.json.JsonXContent static block. */ public XContentBuilder() throws IOException { - JsonFactory jsonFactory = new JsonFactory(); - jsonFactory.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); - jsonFactory.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, true); - jsonFactory.configure(JsonParser.Feature.ALLOW_COMMENTS, true); - jsonFactory.configure( - JsonFactory.Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW, - false); // this trips on many mappings now... - this.generator = jsonFactory.createGenerator(bos, JsonEncoding.UTF8); + this.generator = + JsonFactory.builder() + .configure(JsonReadFeature.ALLOW_UNQUOTED_FIELD_NAMES, true) + .configure(JsonWriteFeature.QUOTE_FIELD_NAMES, true) + .configure(JsonReadFeature.ALLOW_JAVA_COMMENTS, true) + .configure(JsonFactory.Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW, false) + .build() + .createGenerator(bos, JsonEncoding.UTF8); } public XContentBuilder startObject(String name) throws IOException { diff --git a/java/com/google/gerrit/gpg/server/DeleteGpgKey.java b/java/com/google/gerrit/gpg/server/DeleteGpgKey.java index 24bfd4f854..6233605e15 100644 --- a/java/com/google/gerrit/gpg/server/DeleteGpgKey.java +++ b/java/com/google/gerrit/gpg/server/DeleteGpgKey.java @@ -21,8 +21,8 @@ import com.google.common.collect.ImmutableList; import com.google.common.flogger.FluentLogger; import com.google.common.io.BaseEncoding; import com.google.gerrit.exceptions.EmailException; +import com.google.gerrit.exceptions.StorageException; import com.google.gerrit.extensions.common.Input; -import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestApiException; @@ -108,9 +108,10 @@ public class DeleteGpgKey implements RestModifyView { rsrc.getUser().getAccount().preferredEmail()); } break; + case LOCK_FAILURE: + // should not happen since this case is already handled by PublicKeyStore#save case FORCED: case IO_FAILURE: - case LOCK_FAILURE: case NEW: case NOT_ATTEMPTED: case REJECTED: @@ -119,7 +120,7 @@ public class DeleteGpgKey implements RestModifyView { case REJECTED_MISSING_OBJECT: case REJECTED_OTHER_REASON: default: - throw new ResourceConflictException("Failed to delete public key: " + saveResult); + throw new StorageException(String.format("Failed to delete public key: %s", saveResult)); } } return Response.none(); diff --git a/java/com/google/gerrit/gpg/server/PostGpgKeys.java b/java/com/google/gerrit/gpg/server/PostGpgKeys.java index ac5209e26e..f4a165571a 100644 --- a/java/com/google/gerrit/gpg/server/PostGpgKeys.java +++ b/java/com/google/gerrit/gpg/server/PostGpgKeys.java @@ -274,8 +274,9 @@ public class PostGpgKeys implements RestModifyView ids = query(q).stream().map(c -> c._number).collect(toList()); + private void assertChangeQuery(ChangeData change, boolean assertTrue) throws Exception { + List ids = query("message:second").stream().map(c -> c._number).collect(toList()); if (assertTrue) { assertThat(ids).contains(change.getId().get()); } else { diff --git a/tools/bzl/genrule2.bzl b/tools/bzl/genrule2.bzl index 3113022104..d0b0969438 100644 --- a/tools/bzl/genrule2.bzl +++ b/tools/bzl/genrule2.bzl @@ -21,6 +21,7 @@ def genrule2(cmd, **kwargs): "ROOT=$$PWD", "TMP=$$(mktemp -d || mktemp -d -t bazel-tmp)", "(" + cmd + ")", + "rm -rf $$TMP", ]) native.genrule( cmd = cmd,