]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10085 backward runtime compatibility of QGChangeEventListener
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Wed, 27 Dec 2017 09:06:40 +0000 (10:06 +0100)
committerJanos Gyerik <janos.gyerik@sonarsource.com>
Fri, 5 Jan 2018 14:49:51 +0000 (15:49 +0100)
so that sonar-branch plugin implementing previous version of QGChangeEventListener can run on this new version of SonarQube

server/sonar-server/src/main/java/org/sonar/server/qualitygate/changeevent/QGChangeEventListener.java

index 8a525d672ad4c2e476496ab32f44184702b60051..efaa0d4589c38b5f211db2f036c3d08f355d6544 100644 (file)
  */
 package org.sonar.server.qualitygate.changeevent;
 
+import java.util.Collection;
+import java.util.Collections;
 import java.util.Set;
 import org.sonar.api.rules.RuleType;
 
 public interface QGChangeEventListener {
+  /**
+   * @deprecated use {{@link #onIssueChanges(QGChangeEvent, Set)}} instead
+   */
+  // TODO remove this method and turn default method #onIssueChanges(QGChangeEvent, Set) into an interface method when
+  // support for #onIssueChanges(QGChangeEvent, Set) have been merged into sonar-branch's master
+  @Deprecated
+  default void onChanges(Trigger trigger, Collection<QGChangeEvent> changeEvents) {
+    // do nothing
+  }
 
   /**
    * Called consequently to a change done on one or more issue of a given project.
@@ -30,7 +41,9 @@ public interface QGChangeEventListener {
    * @param qualityGateEvent can not be {@code null}
    * @param changedIssues can not be {@code null} nor empty
    */
-  void onIssueChanges(QGChangeEvent qualityGateEvent, Set<ChangedIssue> changedIssues);
+  default void onIssueChanges(QGChangeEvent qualityGateEvent, Set<ChangedIssue> changedIssues) {
+    onChanges(Trigger.ISSUE_CHANGE, Collections.singleton(qualityGateEvent));
+  }
 
   interface ChangedIssue {
     String getKey();