Adapt to upstream changes in Submit.apply(...)

The signature of Submit.apply(...) was changed in Id3c18e9db to only
declare throwing Exception.

Change-Id: Iea7d12656ee709f4849fb37140c36f1e6502837a
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..451e770 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,12 +127,8 @@
    * Merge a review.
    *
    * @param info
-   * @throws RestApiException
-   * @throws NoSuchChangeException
-   * @throws OrmException
-   * @throws IOException
    */
-  public void mergeReview(ChangeInfo info) throws RestApiException, NoSuchChangeException, OrmException, IOException {
+  public void mergeReview(ChangeInfo info) throws Exception {
     final SubmitInput input = new SubmitInput();
     input.waitForMerge = true;
     final RevisionResource r = getRevisionResource(info.project, info._number);
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);
   }