]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-12723 Generate hotspots WS lib
authorJacek <jacek.poreda@sonarsource.com>
Wed, 18 Dec 2019 09:58:08 +0000 (10:58 +0100)
committerSonarTech <sonartech@sonarsource.com>
Mon, 13 Jan 2020 19:46:33 +0000 (20:46 +0100)
sonar-ws/src/main/java/org/sonarqube/ws/client/DefaultWsClient.java
sonar-ws/src/main/java/org/sonarqube/ws/client/WsClient.java
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/AddCommentRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/AssignRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/ChangeStatusRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/HotspotsService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/SearchRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/ShowRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/package-info.java [new file with mode: 0644]

index 26b228052e793d19e281d487fd3ab304dad5d72e..e79a30533af816562c39af0249258913f5c0a180 100644 (file)
@@ -34,6 +34,7 @@ import org.sonarqube.ws.client.editions.EditionsService;
 import org.sonarqube.ws.client.emails.EmailsService;
 import org.sonarqube.ws.client.favorites.FavoritesService;
 import org.sonarqube.ws.client.governancereports.GovernanceReportsService;
+import org.sonarqube.ws.client.hotspots.HotspotsService;
 import org.sonarqube.ws.client.issues.IssuesService;
 import org.sonarqube.ws.client.l10n.L10nService;
 import org.sonarqube.ws.client.languages.LanguagesService;
@@ -98,6 +99,7 @@ class DefaultWsClient implements WsClient {
   private final EmailsService emailsService;
   private final FavoritesService favoritesService;
   private final GovernanceReportsService governanceReportsService;
+  private final HotspotsService hotspotsService;
   private final IssuesService issuesService;
   private final L10nService l10nService;
   private final LanguagesService languagesService;
@@ -155,6 +157,7 @@ class DefaultWsClient implements WsClient {
     this.emailsService = new EmailsService(wsConnector);
     this.favoritesService = new FavoritesService(wsConnector);
     this.governanceReportsService = new GovernanceReportsService(wsConnector);
+    this.hotspotsService = new HotspotsService(wsConnector);
     this.issuesService = new IssuesService(wsConnector);
     this.l10nService = new L10nService(wsConnector);
     this.languagesService = new LanguagesService(wsConnector);
@@ -268,6 +271,11 @@ class DefaultWsClient implements WsClient {
     return governanceReportsService;
   }
 
+  @Override
+  public HotspotsService hotspots() {
+    return hotspotsService;
+  }
+
   @Override
   public IssuesService issues() {
     return issuesService;
index 3750817c07cdf24234e831df09fa381b92b73e34..f00373232bf72e87b9a2764b87e6ce8c8605d910 100644 (file)
@@ -34,6 +34,7 @@ import org.sonarqube.ws.client.editions.EditionsService;
 import org.sonarqube.ws.client.emails.EmailsService;
 import org.sonarqube.ws.client.favorites.FavoritesService;
 import org.sonarqube.ws.client.governancereports.GovernanceReportsService;
+import org.sonarqube.ws.client.hotspots.HotspotsService;
 import org.sonarqube.ws.client.issues.IssuesService;
 import org.sonarqube.ws.client.l10n.L10nService;
 import org.sonarqube.ws.client.languages.LanguagesService;
@@ -123,6 +124,8 @@ public interface WsClient {
 
   GovernanceReportsService governanceReports();
 
+  HotspotsService hotspots();
+
   IssuesService issues();
 
   L10nService l10n();
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/AddCommentRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/AddCommentRequest.java
new file mode 100644 (file)
index 0000000..c549971
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonarqube.ws.client.hotspots;
+
+import javax.annotation.Generated;
+
+/**
+ * This is part of the internal API.
+ * This is a POST request.
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/add_comment">Further information about this action online (including a response example)</a>
+ * @since 8.1
+ */
+@Generated("sonar-ws-generator")
+public class AddCommentRequest {
+
+  private String comment;
+  private String hotspot;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "This is safe because user input is validated by the calling code"
+   */
+  public AddCommentRequest setComment(String comment) {
+    this.comment = comment;
+    return this;
+  }
+
+  public String getComment() {
+    return comment;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "AU-TpxcA-iU5OvuD2FL0"
+   */
+  public AddCommentRequest setHotspot(String hotspot) {
+    this.hotspot = hotspot;
+    return this;
+  }
+
+  public String getHotspot() {
+    return hotspot;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/AssignRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/AssignRequest.java
new file mode 100644 (file)
index 0000000..f5cf99d
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonarqube.ws.client.hotspots;
+
+import javax.annotation.Generated;
+
+/**
+ * This is part of the internal API.
+ * This is a POST request.
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/assign">Further information about this action online (including a response example)</a>
+ * @since 8.2
+ */
+@Generated("sonar-ws-generator")
+public class AssignRequest {
+
+  private String assignee;
+  private String comment;
+  private String hotspot;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "admin"
+   */
+  public AssignRequest setAssignee(String assignee) {
+    this.assignee = assignee;
+    return this;
+  }
+
+  public String getAssignee() {
+    return assignee;
+  }
+
+  /**
+   * Example value: "Hey Bob! Could you please have a look and confirm my assertion that we are safe here, please"
+   */
+  public AssignRequest setComment(String comment) {
+    this.comment = comment;
+    return this;
+  }
+
+  public String getComment() {
+    return comment;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public AssignRequest setHotspot(String hotspot) {
+    this.hotspot = hotspot;
+    return this;
+  }
+
+  public String getHotspot() {
+    return hotspot;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/ChangeStatusRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/ChangeStatusRequest.java
new file mode 100644 (file)
index 0000000..c24e740
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonarqube.ws.client.hotspots;
+
+import javax.annotation.Generated;
+
+/**
+ * This is part of the internal API.
+ * This is a POST request.
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/change_status">Further information about this action online (including a response example)</a>
+ * @since 8.1
+ */
+@Generated("sonar-ws-generator")
+public class ChangeStatusRequest {
+
+  private String comment;
+  private String hotspot;
+  private String resolution;
+  private String status;
+
+  /**
+   * Example value: "This is safe because user input is validated by the calling code"
+   */
+  public ChangeStatusRequest setComment(String comment) {
+    this.comment = comment;
+    return this;
+  }
+
+  public String getComment() {
+    return comment;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "AU-TpxcA-iU5OvuD2FL0"
+   */
+  public ChangeStatusRequest setHotspot(String hotspot) {
+    this.hotspot = hotspot;
+    return this;
+  }
+
+  public String getHotspot() {
+    return hotspot;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"FIXED"</li>
+   *   <li>"SAFE"</li>
+   * </ul>
+   */
+  public ChangeStatusRequest setResolution(String resolution) {
+    this.resolution = resolution;
+    return this;
+  }
+
+  public String getResolution() {
+    return resolution;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Possible values:
+   * <ul>
+   *   <li>"TO_REVIEW"</li>
+   *   <li>"REVIEWED"</li>
+   * </ul>
+   */
+  public ChangeStatusRequest setStatus(String status) {
+    this.status = status;
+    return this;
+  }
+
+  public String getStatus() {
+    return status;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/HotspotsService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/HotspotsService.java
new file mode 100644 (file)
index 0000000..be4ec96
--- /dev/null
@@ -0,0 +1,127 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonarqube.ws.client.hotspots;
+
+import java.util.stream.Collectors;
+import javax.annotation.Generated;
+import org.sonarqube.ws.Hotspots;
+import org.sonarqube.ws.MediaTypes;
+import org.sonarqube.ws.client.BaseService;
+import org.sonarqube.ws.client.GetRequest;
+import org.sonarqube.ws.client.PostRequest;
+import org.sonarqube.ws.client.WsConnector;
+
+/**
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class HotspotsService extends BaseService {
+
+  public HotspotsService(WsConnector wsConnector) {
+    super(wsConnector, "api/hotspots");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a POST request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/add_comment">Further information about this action online (including a response example)</a>
+   * @since 8.1
+   */
+  public void addComment(AddCommentRequest request) {
+    call(
+      new PostRequest(path("add_comment"))
+        .setParam("comment", request.getComment())
+        .setParam("hotspot", request.getHotspot())
+        .setMediaType(MediaTypes.JSON)).content();
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a POST request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/assign">Further information about this action online (including a response example)</a>
+   * @since 8.2
+   */
+  public void assign(AssignRequest request) {
+    call(
+      new PostRequest(path("assign"))
+        .setParam("assignee", request.getAssignee())
+        .setParam("comment", request.getComment())
+        .setParam("hotspot", request.getHotspot())
+        .setMediaType(MediaTypes.JSON)).content();
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a POST request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/change_status">Further information about this action online (including a response example)</a>
+   * @since 8.1
+   */
+  public void changeStatus(ChangeStatusRequest request) {
+    call(
+      new PostRequest(path("change_status"))
+        .setParam("comment", request.getComment())
+        .setParam("hotspot", request.getHotspot())
+        .setParam("resolution", request.getResolution())
+        .setParam("status", request.getStatus())
+        .setMediaType(MediaTypes.JSON)).content();
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a GET request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/search">Further information about this action online (including a response example)</a>
+   * @since 8.1
+   */
+  public Hotspots.SearchWsResponse search(SearchRequest request) {
+    return call(
+      new GetRequest(path("search"))
+        .setParam("branch", request.getBranch())
+        .setParam("hotspots", request.getHotspots() == null ? null : request.getHotspots().stream().collect(Collectors.joining(",")))
+        .setParam("onlyMine", request.getOnlyMine())
+        .setParam("p", request.getP())
+        .setParam("projectKey", request.getProjectKey())
+        .setParam("ps", request.getPs())
+        .setParam("pullRequest", request.getPullRequest())
+        .setParam("resolution", request.getResolution())
+        .setParam("sinceLeakPeriod", request.getSinceLeakPeriod())
+        .setParam("status", request.getStatus())
+        .setMediaType(MediaTypes.JSON),
+      Hotspots.SearchWsResponse.parser());
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a GET request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/show">Further information about this action online (including a response example)</a>
+   * @since 8.1
+   */
+  public Hotspots.ShowWsResponse show(ShowRequest request) {
+    return call(
+      new GetRequest(path("show"))
+        .setParam("hotspot", request.getHotspot())
+        .setMediaType(MediaTypes.JSON),
+      Hotspots.ShowWsResponse.parser());
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/SearchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/SearchRequest.java
new file mode 100644 (file)
index 0000000..e20a33c
--- /dev/null
@@ -0,0 +1,186 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonarqube.ws.client.hotspots;
+
+import java.util.List;
+import javax.annotation.Generated;
+
+/**
+ * This is part of the internal API.
+ * This is a POST request.
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/search">Further information about this action online (including a response example)</a>
+ * @since 8.1
+ */
+@Generated("sonar-ws-generator")
+public class SearchRequest {
+
+  private String branch;
+  private List<String> hotspots;
+  private String onlyMine;
+  private String p;
+  private String projectKey;
+  private String ps;
+  private String pullRequest;
+  private String resolution;
+  private String sinceLeakPeriod;
+  private String status;
+
+  /**
+   * This is part of the internal API.
+   * Example value: "feature/my_branch"
+   */
+  public SearchRequest setBranch(String branch) {
+    this.branch = branch;
+    return this;
+  }
+
+  public String getBranch() {
+    return branch;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public SearchRequest setHotspots(List<String> hotspots) {
+    this.hotspots = hotspots;
+    return this;
+  }
+
+  public List<String> getHotspots() {
+    return hotspots;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"true"</li>
+   *   <li>"false"</li>
+   *   <li>"yes"</li>
+   *   <li>"no"</li>
+   * </ul>
+   */
+  public SearchRequest setOnlyMine(String onlyMine) {
+    this.onlyMine = onlyMine;
+    return this;
+  }
+
+  public String getOnlyMine() {
+    return onlyMine;
+  }
+
+  /**
+   * Example value: "42"
+   */
+  public SearchRequest setP(String p) {
+    this.p = p;
+    return this;
+  }
+
+  public String getP() {
+    return p;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public SearchRequest setProjectKey(String projectKey) {
+    this.projectKey = projectKey;
+    return this;
+  }
+
+  public String getProjectKey() {
+    return projectKey;
+  }
+
+  /**
+   * Example value: "20"
+   */
+  public SearchRequest setPs(String ps) {
+    this.ps = ps;
+    return this;
+  }
+
+  public String getPs() {
+    return ps;
+  }
+
+  /**
+   * This is part of the internal API.
+   * Example value: "5461"
+   */
+  public SearchRequest setPullRequest(String pullRequest) {
+    this.pullRequest = pullRequest;
+    return this;
+  }
+
+  public String getPullRequest() {
+    return pullRequest;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"FIXED"</li>
+   *   <li>"SAFE"</li>
+   * </ul>
+   */
+  public SearchRequest setResolution(String resolution) {
+    this.resolution = resolution;
+    return this;
+  }
+
+  public String getResolution() {
+    return resolution;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"true"</li>
+   *   <li>"false"</li>
+   *   <li>"yes"</li>
+   *   <li>"no"</li>
+   * </ul>
+   */
+  public SearchRequest setSinceLeakPeriod(String sinceLeakPeriod) {
+    this.sinceLeakPeriod = sinceLeakPeriod;
+    return this;
+  }
+
+  public String getSinceLeakPeriod() {
+    return sinceLeakPeriod;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"TO_REVIEW"</li>
+   *   <li>"REVIEWED"</li>
+   * </ul>
+   */
+  public SearchRequest setStatus(String status) {
+    this.status = status;
+    return this;
+  }
+
+  public String getStatus() {
+    return status;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/ShowRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/ShowRequest.java
new file mode 100644 (file)
index 0000000..17c449e
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonarqube.ws.client.hotspots;
+
+import javax.annotation.Generated;
+
+/**
+ * This is part of the internal API.
+ * This is a POST request.
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/hotspots/show">Further information about this action online (including a response example)</a>
+ * @since 8.1
+ */
+@Generated("sonar-ws-generator")
+public class ShowRequest {
+
+  private String hotspot;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "AU-TpxcA-iU5OvuD2FL0"
+   */
+  public ShowRequest setHotspot(String hotspot) {
+    this.hotspot = hotspot;
+    return this;
+  }
+
+  public String getHotspot() {
+    return hotspot;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/hotspots/package-info.java
new file mode 100644 (file)
index 0000000..aca64ae
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+@ParametersAreNonnullByDefault
+@Generated("sonar-ws-generator")
+package org.sonarqube.ws.client.hotspots;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;