Try to autosubmit on new patch-sets

Do not wait for code-review comments or reviews and try to auto-submit
even when a new patch-set is created.

Change-Id: I34975f1df836b92308291845efc47256be17bb71
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 87a3092..fbed498 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -112,6 +112,12 @@
     if (atomicityHelper.isAtomicReview(change)) {
       processNewAtomicPatchSet(change);
     }
+
+    try {
+      autoSubmitIfMergeable(change);
+    } catch (OrmException | RestApiException | IOException | UpdateException e) {
+      log.error("An exception occured while trying to merge change #" + change.number, e);
+    }
   }
 
   private void onCommentAdded(final CommentAddedEvent newComment) {
@@ -122,16 +128,21 @@
     ChangeAttribute change = newComment.change.get();
     try {
       checkReviewExists(change.number);
-      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);
-      }
+      autoSubmitIfMergeable(change);
     } catch (RestApiException | OrmException | UpdateException | IOException 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 {
+    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);
+    }
+  }
+
   /**
    * Returns true if the plugin must handle this comment, i.e. if we are sure it does not come
    * from this plugin (to avoid infinite loop).