Merge changes I3b55501b,Iea7d1265
* changes:
AtomicityHelper: Remove usage of deprecated SubmitInput.waitForMerge
Adapt to upstream changes in Submit.apply(...)
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
index 00604e4..e9e548d 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AtomicityHelper.java
@@ -3,7 +3,6 @@
import com.google.gerrit.common.data.SubmitRecord;
import com.google.gerrit.extensions.api.changes.SubmitInput;
import com.google.gerrit.extensions.common.ChangeInfo;
-import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
@@ -128,16 +127,10 @@
* Merge a review.
*
* @param info
- * @throws RestApiException
- * @throws NoSuchChangeException
- * @throws OrmException
- * @throws IOException
*/
- public void mergeReview(ChangeInfo info) throws RestApiException, NoSuchChangeException, OrmException, IOException {
- final SubmitInput input = new SubmitInput();
- input.waitForMerge = true;
- final RevisionResource r = getRevisionResource(info.project, info._number);
- submitter.apply(r, input);
+ public void mergeReview(ChangeInfo info) throws Exception {
+ submitter.apply(getRevisionResource(info.project, info._number),
+ new SubmitInput());
}
public RevisionResource getRevisionResource(String project, int changeNumber) throws NoSuchChangeException, OrmException {
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
index fbed498..e83f47b 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -34,17 +34,13 @@
import com.google.gerrit.server.events.PatchSetCreatedEvent;
import com.google.gerrit.server.events.TopicChangedEvent;
import com.google.gerrit.server.git.MergeUtil;
-import com.google.gerrit.server.update.UpdateException;
-import com.google.gerrit.server.project.NoSuchChangeException;
import com.google.gerrit.server.query.change.ChangeData;
-import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
import java.util.EnumSet;
import java.util.List;
@@ -115,7 +111,7 @@
try {
autoSubmitIfMergeable(change);
- } catch (OrmException | RestApiException | IOException | UpdateException e) {
+ } catch (Exception e) {
log.error("An exception occured while trying to merge change #" + change.number, e);
}
}
@@ -129,14 +125,13 @@
try {
checkReviewExists(change.number);
autoSubmitIfMergeable(change);
- } catch (RestApiException | OrmException | UpdateException | IOException e) {
+ } catch (Exception e) {
log.error("An exception occured while trying to atomic merge a change.", e);
throw new RuntimeException(e);
}
}
- private void autoSubmitIfMergeable(ChangeAttribute change)
- throws OrmException, RestApiException, NoSuchChangeException, IOException, UpdateException {
+ private void autoSubmitIfMergeable(ChangeAttribute change) throws Exception {
if (atomicityHelper.isSubmittable(change.project, change.number)) {
log.info(String.format("Change %d is submittable. Will try to merge all related changes.", change.number));
attemptToMerge(change);
@@ -167,7 +162,7 @@
return false;
}
- private void attemptToMerge(ChangeAttribute change) throws RestApiException, OrmException, NoSuchChangeException, IOException, UpdateException {
+ private void attemptToMerge(ChangeAttribute change) throws Exception {
final List<ChangeInfo> related = Lists.newArrayList();
if (atomicityHelper.isAtomicReview(change)) {
related.addAll(api.changes().query("status: open AND topic: " + change.topic)
@@ -210,7 +205,7 @@
log.info(String.format("Detected atomic review on change %d.", change.number));
reviewUpdater.commentOnReview(change.project, change.number, AutomergeConfig.ATOMIC_REVIEW_DETECTED_FILE);
}
- } catch (RestApiException | IOException | OrmException | UpdateException e) {
+ } catch (Exception e) {
throw new RuntimeException(e);
}
}
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java b/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
index 9ee5e0e..9c1285f 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
@@ -3,17 +3,10 @@
import com.google.common.base.Charsets;
import com.google.common.io.Files;
import com.google.gerrit.extensions.api.changes.ReviewInput;
-import com.google.gerrit.extensions.restapi.AuthException;
-import com.google.gerrit.extensions.restapi.BadRequestException;
-import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.change.PostReview;
import com.google.gerrit.server.change.RevisionResource;
-import com.google.gerrit.server.update.UpdateException;
-import com.google.gerrit.server.project.NoSuchChangeException;
import com.google.gerrit.server.query.change.ChangeData;
-import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -41,12 +34,12 @@
@Inject
private AtomicityHelper atomicityHelper;
- public void commentOnReview(String project, int number, String commentTemplate) throws RestApiException, OrmException, IOException, NoSuchChangeException, UpdateException {
+ public void commentOnReview(String project, int number, String commentTemplate) throws Exception {
ReviewInput comment = createComment(commentTemplate);
applyComment(project, number, comment);
}
- public void setMinusOne(String project, int number, String commentTemplate) throws RestApiException, OrmException, IOException, NoSuchChangeException, UpdateException {
+ public void setMinusOne(String project, int number, String commentTemplate) throws Exception {
ReviewInput message = createComment(commentTemplate).label("Code-Review", -1);
applyComment(project, number, message);
}
@@ -66,7 +59,7 @@
}
}
- private void applyComment(String project, int number, ReviewInput comment) throws RestApiException, OrmException, IOException, NoSuchChangeException, UpdateException {
+ private void applyComment(String project, int number, ReviewInput comment) throws Exception {
RevisionResource r = atomicityHelper.getRevisionResource(project, number);
reviewer.get().apply(r, comment);
}