]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10816 Fix some ws failing on sub porfolios not being analysed
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 31 Jul 2018 16:21:15 +0000 (18:21 +0200)
committerSonarTech <sonartech@sonarsource.com>
Thu, 2 Aug 2018 18:21:37 +0000 (20:21 +0200)
56 files changed:
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/applications/AddProjectRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ApplicationsService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/CreateBranchRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/CreateRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/DeleteBranchRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/DeleteRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/RemoveProjectRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/SearchProjectsRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ShowLeakRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ShowRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/UpdateBranchRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/UpdateRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/applications/package-info.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/developers/DevelopersService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/developers/SearchEventsRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/developers/package-info.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/editions/EditionsService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/editions/SetLicenseRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/editions/package-info.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/DownloadRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/GovernanceReportsService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/StatusRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/SubscribeRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UnsubscribeRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UpdateFrequencyRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UpdateRecipientsRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/package-info.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ExportRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ImportRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ProjectDumpService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/StatusRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/package-info.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/support/SupportService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/support/package-info.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddLocalViewRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddProjectRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddSubViewRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/CreateRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/DefineRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/DeleteRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/LocalViewsRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/ManualMeasureRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/ModeRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/MoveOptionsRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/MoveRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/ProjectsRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/RefreshRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/RegexpRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/RemoveProjectRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/SearchRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/ShowRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/UpdateRequest.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/ViewsService.java [new file with mode: 0644]
sonar-ws/src/main/java/org/sonarqube/ws/client/views/package-info.java [new file with mode: 0644]

index 92d59bd34c2fecefd88533715190339a1cd4ab83..b7406f4af0b53d050c7af67e6fba9ae28167c839 100644 (file)
@@ -21,15 +21,19 @@ package org.sonarqube.ws.client;
 
 import javax.annotation.Generated;
 import org.sonarqube.ws.client.analysisreports.AnalysisReportsService;
+import org.sonarqube.ws.client.applications.ApplicationsService;
 import org.sonarqube.ws.client.authentication.AuthenticationService;
 import org.sonarqube.ws.client.batch.BatchService;
 import org.sonarqube.ws.client.ce.CeService;
 import org.sonarqube.ws.client.components.ComponentsService;
 import org.sonarqube.ws.client.custommeasures.CustomMeasuresService;
+import org.sonarqube.ws.client.developers.DevelopersService;
 import org.sonarqube.ws.client.duplications.DuplicationsService;
+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.favourites.FavouritesService;
+import org.sonarqube.ws.client.governancereports.GovernanceReportsService;
 import org.sonarqube.ws.client.issues.IssuesService;
 import org.sonarqube.ws.client.l10n.L10nService;
 import org.sonarqube.ws.client.languages.LanguagesService;
@@ -44,6 +48,7 @@ import org.sonarqube.ws.client.profiles.ProfilesService;
 import org.sonarqube.ws.client.projectanalyses.ProjectAnalysesService;
 import org.sonarqube.ws.client.projectbadges.ProjectBadgesService;
 import org.sonarqube.ws.client.projectbranches.ProjectBranchesService;
+import org.sonarqube.ws.client.projectdump.ProjectDumpService;
 import org.sonarqube.ws.client.projectlinks.ProjectLinksService;
 import org.sonarqube.ws.client.projectpullrequests.ProjectPullRequestsService;
 import org.sonarqube.ws.client.projects.ProjectsService;
@@ -57,6 +62,7 @@ import org.sonarqube.ws.client.rules.RulesService;
 import org.sonarqube.ws.client.server.ServerService;
 import org.sonarqube.ws.client.settings.SettingsService;
 import org.sonarqube.ws.client.sources.SourcesService;
+import org.sonarqube.ws.client.support.SupportService;
 import org.sonarqube.ws.client.system.SystemService;
 import org.sonarqube.ws.client.tests.TestsService;
 import org.sonarqube.ws.client.timemachine.TimemachineService;
@@ -65,6 +71,7 @@ import org.sonarqube.ws.client.usergroups.UserGroupsService;
 import org.sonarqube.ws.client.userproperties.UserPropertiesService;
 import org.sonarqube.ws.client.users.UsersService;
 import org.sonarqube.ws.client.usertokens.UserTokensService;
+import org.sonarqube.ws.client.views.ViewsService;
 import org.sonarqube.ws.client.webhooks.WebhooksService;
 import org.sonarqube.ws.client.webservices.WebservicesService;
 
@@ -80,14 +87,18 @@ class DefaultWsClient implements WsClient {
   private final WsConnector wsConnector;
 
   private final AnalysisReportsService analysisReportsService;
+  private final ApplicationsService applicationsService;
   private final AuthenticationService authenticationService;
   private final CeService ceService;
   private final ComponentsService componentsService;
   private final CustomMeasuresService customMeasuresService;
+  private final DevelopersService developersService;
   private final DuplicationsService duplicationsService;
+  private final EditionsService editionsService;
   private final EmailsService emailsService;
   private final FavoritesService favoritesService;
   private final FavouritesService favouritesService;
+  private final GovernanceReportsService governanceReportsService;
   private final IssuesService issuesService;
   private final L10nService l10nService;
   private final LanguagesService languagesService;
@@ -102,6 +113,7 @@ class DefaultWsClient implements WsClient {
   private final ProjectAnalysesService projectAnalysesService;
   private final ProjectBadgesService projectBadgesService;
   private final ProjectBranchesService projectBranchesService;
+  private final ProjectDumpService projectDumpService;
   private final ProjectLinksService projectLinksService;
   private final ProjectPullRequestsService projectPullRequestsService;
   private final ProjectTagsService projectTagsService;
@@ -115,6 +127,7 @@ class DefaultWsClient implements WsClient {
   private final ServerService serverService;
   private final SettingsService settingsService;
   private final SourcesService sourcesService;
+  private final SupportService supportService;
   private final SystemService systemService;
   private final TestsService testsService;
   private final TimemachineService timemachineService;
@@ -123,6 +136,7 @@ class DefaultWsClient implements WsClient {
   private final UserPropertiesService userPropertiesService;
   private final UserTokensService userTokensService;
   private final UsersService usersService;
+  private final ViewsService viewsService;
   private final WebhooksService webhooksService;
   private final WebservicesService webservicesService;
   private final BatchService batchService;
@@ -131,14 +145,18 @@ class DefaultWsClient implements WsClient {
     this.wsConnector = wsConnector;
 
     this.analysisReportsService = new AnalysisReportsService(wsConnector);
+    this.applicationsService = new ApplicationsService(wsConnector);
     this.authenticationService = new AuthenticationService(wsConnector);
     this.ceService = new CeService(wsConnector);
     this.componentsService = new ComponentsService(wsConnector);
     this.customMeasuresService = new CustomMeasuresService(wsConnector);
+    this.developersService = new DevelopersService(wsConnector);
     this.duplicationsService = new DuplicationsService(wsConnector);
+    this.editionsService = new EditionsService(wsConnector);
     this.emailsService = new EmailsService(wsConnector);
     this.favoritesService = new FavoritesService(wsConnector);
     this.favouritesService = new FavouritesService(wsConnector);
+    this.governanceReportsService = new GovernanceReportsService(wsConnector);
     this.issuesService = new IssuesService(wsConnector);
     this.l10nService = new L10nService(wsConnector);
     this.languagesService = new LanguagesService(wsConnector);
@@ -153,6 +171,7 @@ class DefaultWsClient implements WsClient {
     this.projectAnalysesService = new ProjectAnalysesService(wsConnector);
     this.projectBadgesService = new ProjectBadgesService(wsConnector);
     this.projectBranchesService = new ProjectBranchesService(wsConnector);
+    this.projectDumpService = new ProjectDumpService(wsConnector);
     this.projectLinksService = new ProjectLinksService(wsConnector);
     this.projectPullRequestsService = new ProjectPullRequestsService(wsConnector);
     this.projectTagsService = new ProjectTagsService(wsConnector);
@@ -166,6 +185,7 @@ class DefaultWsClient implements WsClient {
     this.serverService = new ServerService(wsConnector);
     this.settingsService = new SettingsService(wsConnector);
     this.sourcesService = new SourcesService(wsConnector);
+    this.supportService = new SupportService(wsConnector);
     this.systemService = new SystemService(wsConnector);
     this.testsService = new TestsService(wsConnector);
     this.timemachineService = new TimemachineService(wsConnector);
@@ -174,6 +194,7 @@ class DefaultWsClient implements WsClient {
     this.userPropertiesService = new UserPropertiesService(wsConnector);
     this.userTokensService = new UserTokensService(wsConnector);
     this.usersService = new UsersService(wsConnector);
+    this.viewsService = new ViewsService(wsConnector);
     this.webhooksService = new WebhooksService(wsConnector);
     this.webservicesService = new WebservicesService(wsConnector);
     this.batchService = new BatchService(wsConnector);
@@ -190,6 +211,11 @@ class DefaultWsClient implements WsClient {
     return analysisReportsService;
   }
 
+  @Override
+  public ApplicationsService applications() {
+    return applicationsService;
+  }
+
   @Override
   public AuthenticationService authentication() {
     return authenticationService;
@@ -210,11 +236,21 @@ class DefaultWsClient implements WsClient {
     return customMeasuresService;
   }
 
+  @Override
+  public DevelopersService developers() {
+    return developersService;
+  }
+
   @Override
   public DuplicationsService duplications() {
     return duplicationsService;
   }
 
+  @Override
+  public EditionsService editions() {
+    return editionsService;
+  }
+
   @Override
   public EmailsService emails() {
     return emailsService;
@@ -230,6 +266,11 @@ class DefaultWsClient implements WsClient {
     return favouritesService;
   }
 
+  @Override
+  public GovernanceReportsService governanceReports() {
+    return governanceReportsService;
+  }
+
   @Override
   public IssuesService issues() {
     return issuesService;
@@ -300,6 +341,11 @@ class DefaultWsClient implements WsClient {
     return projectBranchesService;
   }
 
+  @Override
+  public ProjectDumpService projectDump() {
+    return projectDumpService;
+  }
+
   @Override
   public ProjectLinksService projectLinks() {
     return projectLinksService;
@@ -365,6 +411,11 @@ class DefaultWsClient implements WsClient {
     return sourcesService;
   }
 
+  @Override
+  public SupportService support() {
+    return supportService;
+  }
+
   @Override
   public SystemService system() {
     return systemService;
@@ -405,6 +456,11 @@ class DefaultWsClient implements WsClient {
     return usersService;
   }
 
+  @Override
+  public ViewsService views() {
+    return viewsService;
+  }
+
   @Override
   public WebhooksService webhooks() {
     return webhooksService;
@@ -419,4 +475,5 @@ class DefaultWsClient implements WsClient {
   public BatchService batch() {
     return batchService;
   }
+
 }
index f31da1069c5cd4d78b9899e11311cacffb7725ba..387e7258f451762afa06c919dc04b31fee6071c7 100644 (file)
@@ -21,15 +21,19 @@ package org.sonarqube.ws.client;
 
 import javax.annotation.Generated;
 import org.sonarqube.ws.client.analysisreports.AnalysisReportsService;
+import org.sonarqube.ws.client.applications.ApplicationsService;
 import org.sonarqube.ws.client.authentication.AuthenticationService;
 import org.sonarqube.ws.client.batch.BatchService;
 import org.sonarqube.ws.client.ce.CeService;
 import org.sonarqube.ws.client.components.ComponentsService;
 import org.sonarqube.ws.client.custommeasures.CustomMeasuresService;
+import org.sonarqube.ws.client.developers.DevelopersService;
 import org.sonarqube.ws.client.duplications.DuplicationsService;
+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.favourites.FavouritesService;
+import org.sonarqube.ws.client.governancereports.GovernanceReportsService;
 import org.sonarqube.ws.client.issues.IssuesService;
 import org.sonarqube.ws.client.l10n.L10nService;
 import org.sonarqube.ws.client.languages.LanguagesService;
@@ -44,6 +48,7 @@ import org.sonarqube.ws.client.profiles.ProfilesService;
 import org.sonarqube.ws.client.projectanalyses.ProjectAnalysesService;
 import org.sonarqube.ws.client.projectbadges.ProjectBadgesService;
 import org.sonarqube.ws.client.projectbranches.ProjectBranchesService;
+import org.sonarqube.ws.client.projectdump.ProjectDumpService;
 import org.sonarqube.ws.client.projectlinks.ProjectLinksService;
 import org.sonarqube.ws.client.projectpullrequests.ProjectPullRequestsService;
 import org.sonarqube.ws.client.projects.ProjectsService;
@@ -57,6 +62,7 @@ import org.sonarqube.ws.client.rules.RulesService;
 import org.sonarqube.ws.client.server.ServerService;
 import org.sonarqube.ws.client.settings.SettingsService;
 import org.sonarqube.ws.client.sources.SourcesService;
+import org.sonarqube.ws.client.support.SupportService;
 import org.sonarqube.ws.client.system.SystemService;
 import org.sonarqube.ws.client.tests.TestsService;
 import org.sonarqube.ws.client.timemachine.TimemachineService;
@@ -65,6 +71,7 @@ import org.sonarqube.ws.client.usergroups.UserGroupsService;
 import org.sonarqube.ws.client.userproperties.UserPropertiesService;
 import org.sonarqube.ws.client.users.UsersService;
 import org.sonarqube.ws.client.usertokens.UserTokensService;
+import org.sonarqube.ws.client.views.ViewsService;
 import org.sonarqube.ws.client.webhooks.WebhooksService;
 import org.sonarqube.ws.client.webservices.WebservicesService;
 
@@ -93,6 +100,8 @@ public interface WsClient {
 
   AnalysisReportsService analysisReports();
 
+  ApplicationsService applications();
+
   AuthenticationService authentication();
 
   CeService ce();
@@ -101,14 +110,20 @@ public interface WsClient {
 
   CustomMeasuresService customMeasures();
 
+  DevelopersService developers();
+
   DuplicationsService duplications();
 
+  EditionsService editions();
+
   EmailsService emails();
 
   FavoritesService favorites();
 
   FavouritesService favourites();
 
+  GovernanceReportsService governanceReports();
+
   IssuesService issues();
 
   L10nService l10n();
@@ -137,6 +152,8 @@ public interface WsClient {
 
   ProjectBranchesService projectBranches();
 
+  ProjectDumpService projectDump();
+
   ProjectLinksService projectLinks();
 
   ProjectPullRequestsService projectPullRequests();
@@ -163,6 +180,8 @@ public interface WsClient {
 
   SourcesService sources();
 
+  SupportService support();
+
   SystemService system();
 
   TestsService tests();
@@ -179,6 +198,8 @@ public interface WsClient {
 
   UsersService users();
 
+  ViewsService views();
+
   WebhooksService webhooks();
 
   WebservicesService webservices();
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/AddProjectRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/AddProjectRequest.java
new file mode 100644 (file)
index 0000000..3054481
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/add_project">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class AddProjectRequest {
+
+  private String application;
+  private String project;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public AddProjectRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_project"
+   */
+  public AddProjectRequest setProject(String project) {
+    this.project = project;
+    return this;
+  }
+
+  public String getProject() {
+    return project;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ApplicationsService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ApplicationsService.java
new file mode 100644 (file)
index 0000000..85e3430
--- /dev/null
@@ -0,0 +1,224 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+import javax.annotation.Generated;
+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/applications">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class ApplicationsService extends BaseService {
+
+  public ApplicationsService(WsConnector wsConnector) {
+    super(wsConnector, "api/applications");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a POST request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/applications/add_project">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void addProject(AddProjectRequest request) {
+    call(
+      new PostRequest(path("add_project"))
+        .setParam("application", request.getApplication())
+        .setParam("project", request.getProject())
+        .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/applications/create">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public String create(CreateRequest request) {
+    return call(
+      new PostRequest(path("create"))
+        .setParam("description", request.getDescription())
+        .setParam("key", request.getKey())
+        .setParam("name", request.getName())
+        .setParam("visibility", request.getVisibility())
+        .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/applications/create_branch">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void createBranch(CreateBranchRequest request) {
+    call(
+      new PostRequest(path("create_branch"))
+        .setParam("application", request.getApplication())
+        .setParam("branch", request.getBranch())
+        .setParam("project", request.getProject())
+        .setParam("projectBranch", request.getProjectBranch())
+        .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/applications/delete">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void delete(DeleteRequest request) {
+    call(
+      new PostRequest(path("delete"))
+        .setParam("application", request.getApplication())
+        .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/applications/delete_branch">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void deleteBranch(DeleteBranchRequest request) {
+    call(
+      new PostRequest(path("delete_branch"))
+        .setParam("application", request.getApplication())
+        .setParam("branch", request.getBranch())
+        .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/applications/remove_project">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void removeProject(RemoveProjectRequest request) {
+    call(
+      new PostRequest(path("remove_project"))
+        .setParam("application", request.getApplication())
+        .setParam("project", request.getProject())
+        .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/applications/search_projects">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public String searchProjects(SearchProjectsRequest request) {
+    return call(
+      new GetRequest(path("search_projects"))
+        .setParam("application", request.getApplication())
+        .setParam("p", request.getP())
+        .setParam("ps", request.getPs())
+        .setParam("q", request.getQ())
+        .setParam("selected", request.getSelected())
+        .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/applications/show">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public String show(ShowRequest request) {
+    return call(
+      new GetRequest(path("show"))
+        .setParam("application", request.getApplication())
+        .setParam("branch", request.getBranch())
+        .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/applications/show_leak">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public String showLeak(ShowLeakRequest request) {
+    return call(
+      new GetRequest(path("show_leak"))
+        .setParam("application", request.getApplication())
+        .setParam("branch", request.getBranch())
+        .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/applications/update">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void update(UpdateRequest request) {
+    call(
+      new PostRequest(path("update"))
+        .setParam("application", request.getApplication())
+        .setParam("description", request.getDescription())
+        .setParam("name", request.getName())
+        .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/applications/update_branch">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public void updateBranch(UpdateBranchRequest request) {
+    call(
+      new PostRequest(path("update_branch"))
+        .setParam("application", request.getApplication())
+        .setParam("branch", request.getBranch())
+        .setParam("name", request.getName())
+        .setParam("project", request.getProject())
+        .setParam("projectBranch", request.getProjectBranch())
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/CreateBranchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/CreateBranchRequest.java
new file mode 100644 (file)
index 0000000..96b262d
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/create_branch">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class CreateBranchRequest {
+
+  private String application;
+  private String branch;
+  private String project;
+  private String projectBranch;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public CreateBranchRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public CreateBranchRequest setBranch(String branch) {
+    this.branch = branch;
+    return this;
+  }
+
+  public String getBranch() {
+    return branch;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "project=firstProjectKey&project=secondProjectKey&project=thirdProjectKey"
+   */
+  public CreateBranchRequest setProject(String project) {
+    this.project = project;
+    return this;
+  }
+
+  public String getProject() {
+    return project;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "projectBranch=&projectBranch=branch-2.0&projectBranch=branch-2.1"
+   */
+  public CreateBranchRequest setProjectBranch(String projectBranch) {
+    this.projectBranch = projectBranch;
+    return this;
+  }
+
+  public String getProjectBranch() {
+    return projectBranch;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/CreateRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/CreateRequest.java
new file mode 100644 (file)
index 0000000..055dd99
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/create">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class CreateRequest {
+
+  private String description;
+  private String key;
+  private String name;
+  private String visibility;
+
+  /**
+   */
+  public CreateRequest setDescription(String description) {
+    this.description = description;
+    return this;
+  }
+
+  public String getDescription() {
+    return description;
+  }
+
+  /**
+   */
+  public CreateRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public CreateRequest setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"private"</li>
+   *   <li>"public"</li>
+   * </ul>
+   */
+  public CreateRequest setVisibility(String visibility) {
+    this.visibility = visibility;
+    return this;
+  }
+
+  public String getVisibility() {
+    return visibility;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/DeleteBranchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/DeleteBranchRequest.java
new file mode 100644 (file)
index 0000000..4df894e
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/delete_branch">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class DeleteBranchRequest {
+
+  private String application;
+  private String branch;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public DeleteBranchRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public DeleteBranchRequest setBranch(String branch) {
+    this.branch = branch;
+    return this;
+  }
+
+  public String getBranch() {
+    return branch;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/DeleteRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/DeleteRequest.java
new file mode 100644 (file)
index 0000000..aefe04f
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/delete">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class DeleteRequest {
+
+  private String application;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public DeleteRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/RemoveProjectRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/RemoveProjectRequest.java
new file mode 100644 (file)
index 0000000..f9540a3
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/remove_project">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class RemoveProjectRequest {
+
+  private String application;
+  private String project;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public RemoveProjectRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_project"
+   */
+  public RemoveProjectRequest setProject(String project) {
+    this.project = project;
+    return this;
+  }
+
+  public String getProject() {
+    return project;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/SearchProjectsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/SearchProjectsRequest.java
new file mode 100644 (file)
index 0000000..809fe22
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/search_projects">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class SearchProjectsRequest {
+
+  private String application;
+  private String p;
+  private String ps;
+  private String q;
+  private String selected;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_application"
+   */
+  public SearchProjectsRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * Example value: "42"
+   */
+  public SearchProjectsRequest setP(String p) {
+    this.p = p;
+    return this;
+  }
+
+  public String getP() {
+    return p;
+  }
+
+  /**
+   * Example value: "20"
+   */
+  public SearchProjectsRequest setPs(String ps) {
+    this.ps = ps;
+    return this;
+  }
+
+  public String getPs() {
+    return ps;
+  }
+
+  /**
+   * Example value: "project"
+   */
+  public SearchProjectsRequest setQ(String q) {
+    this.q = q;
+    return this;
+  }
+
+  public String getQ() {
+    return q;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"all"</li>
+   *   <li>"deselected"</li>
+   *   <li>"selected"</li>
+   * </ul>
+   */
+  public SearchProjectsRequest setSelected(String selected) {
+    this.selected = selected;
+    return this;
+  }
+
+  public String getSelected() {
+    return selected;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ShowLeakRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ShowLeakRequest.java
new file mode 100644 (file)
index 0000000..feaee11
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/show_leak">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class ShowLeakRequest {
+
+  private String application;
+  private String branch;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_application"
+   */
+  public ShowLeakRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * Example value: "branch-2.0"
+   */
+  public ShowLeakRequest setBranch(String branch) {
+    this.branch = branch;
+    return this;
+  }
+
+  public String getBranch() {
+    return branch;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ShowRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/ShowRequest.java
new file mode 100644 (file)
index 0000000..16f6a03
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/show">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class ShowRequest {
+
+  private String application;
+  private String branch;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_application"
+   */
+  public ShowRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * Example value: "branch-2.0"
+   */
+  public ShowRequest setBranch(String branch) {
+    this.branch = branch;
+    return this;
+  }
+
+  public String getBranch() {
+    return branch;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/UpdateBranchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/UpdateBranchRequest.java
new file mode 100644 (file)
index 0000000..f2eacd2
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/update_branch">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class UpdateBranchRequest {
+
+  private String application;
+  private String branch;
+  private String name;
+  private String project;
+  private String projectBranch;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_application"
+   */
+  public UpdateBranchRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "branch-2.0"
+   */
+  public UpdateBranchRequest setBranch(String branch) {
+    this.branch = branch;
+    return this;
+  }
+
+  public String getBranch() {
+    return branch;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public UpdateBranchRequest setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "project=firstProjectKey&project=secondProjectKey&project=thirdProjectKey"
+   */
+  public UpdateBranchRequest setProject(String project) {
+    this.project = project;
+    return this;
+  }
+
+  public String getProject() {
+    return project;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "projectBranch=&projectBranch=branch-2.0&projectBranch=branch-2.1"
+   */
+  public UpdateBranchRequest setProjectBranch(String projectBranch) {
+    this.projectBranch = projectBranch;
+    return this;
+  }
+
+  public String getProjectBranch() {
+    return projectBranch;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/UpdateRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/UpdateRequest.java
new file mode 100644 (file)
index 0000000..de39d8f
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+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/applications/update">Further information about this action online (including a response example)</a>
+ * @since 7.3
+ */
+@Generated("sonar-ws-generator")
+public class UpdateRequest {
+
+  private String application;
+  private String description;
+  private String name;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public UpdateRequest setApplication(String application) {
+    this.application = application;
+    return this;
+  }
+
+  public String getApplication() {
+    return application;
+  }
+
+  /**
+   */
+  public UpdateRequest setDescription(String description) {
+    this.description = description;
+    return this;
+  }
+
+  public String getDescription() {
+    return description;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public UpdateRequest setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public String getName() {
+    return name;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/applications/package-info.java
new file mode 100644 (file)
index 0000000..ba86bc2
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.applications;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/developers/DevelopersService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/developers/DevelopersService.java
new file mode 100644 (file)
index 0000000..c56e6ec
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.developers;
+
+import java.util.stream.Collectors;
+import javax.annotation.Generated;
+import org.sonarqube.ws.MediaTypes;
+import org.sonarqube.ws.client.BaseService;
+import org.sonarqube.ws.client.GetRequest;
+import org.sonarqube.ws.client.WsConnector;
+
+/**
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/developers">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class DevelopersService extends BaseService {
+
+  public DevelopersService(WsConnector wsConnector) {
+    super(wsConnector, "api/developers");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a GET request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/developers/search_events">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String searchEvents(SearchEventsRequest request) {
+    return call(
+      new GetRequest(path("search_events"))
+        .setParam("from", request.getFrom() == null ? null : request.getFrom().stream().collect(Collectors.joining(",")))
+        .setParam("projects", request.getProjects() == null ? null : request.getProjects().stream().collect(Collectors.joining(",")))
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/developers/SearchEventsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/developers/SearchEventsRequest.java
new file mode 100644 (file)
index 0000000..f884ead
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.developers;
+
+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/developers/search_events">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class SearchEventsRequest {
+
+  private List<String> from;
+  private List<String> projects;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "2017-10-19T13:00:00+0200"
+   */
+  public SearchEventsRequest setFrom(List<String> from) {
+    this.from = from;
+    return this;
+  }
+
+  public List<String> getFrom() {
+    return from;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_project,another_project"
+   */
+  public SearchEventsRequest setProjects(List<String> projects) {
+    this.projects = projects;
+    return this;
+  }
+
+  public List<String> getProjects() {
+    return projects;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/developers/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/developers/package-info.java
new file mode 100644 (file)
index 0000000..4bd570b
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.developers;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/editions/EditionsService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/editions/EditionsService.java
new file mode 100644 (file)
index 0000000..b209267
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.editions;
+
+import javax.annotation.Generated;
+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/editions">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class EditionsService extends BaseService {
+
+  public EditionsService(WsConnector wsConnector) {
+    super(wsConnector, "api/editions");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a GET request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/editions/is_valid_license">Further information about this action online (including a response example)</a>
+   * @since 7.3
+   */
+  public String isValidLicense() {
+    return call(
+      new GetRequest(path("is_valid_license"))
+        .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/editions/set_license">Further information about this action online (including a response example)</a>
+   * @since 7.2
+   */
+  public void setLicense(SetLicenseRequest request) {
+    call(
+      new PostRequest(path("set_license"))
+        .setParam("license", request.getLicense())
+        .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/editions/show_license">Further information about this action online (including a response example)</a>
+   * @since 7.2
+   */
+  public String showLicense() {
+    return call(
+      new GetRequest(path("show_license"))
+        .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/editions/unset_license">Further information about this action online (including a response example)</a>
+   * @since 7.2
+   */
+  public void unsetLicense() {
+    call(
+      new PostRequest(path("unset_license"))
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/editions/SetLicenseRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/editions/SetLicenseRequest.java
new file mode 100644 (file)
index 0000000..eafc55f
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.editions;
+
+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/editions/set_license">Further information about this action online (including a response example)</a>
+ * @since 7.2
+ */
+@Generated("sonar-ws-generator")
+public class SetLicenseRequest {
+
+  private String license;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public SetLicenseRequest setLicense(String license) {
+    this.license = license;
+    return this;
+  }
+
+  public String getLicense() {
+    return license;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/editions/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/editions/package-info.java
new file mode 100644 (file)
index 0000000..1620a14
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.editions;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/DownloadRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/DownloadRequest.java
new file mode 100644 (file)
index 0000000..56bf457
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+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/governance_reports/download">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class DownloadRequest {
+
+  private String componentId;
+  private String componentKey;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public DownloadRequest setComponentId(String componentId) {
+    this.componentId = componentId;
+    return this;
+  }
+
+  public String getComponentId() {
+    return componentId;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public DownloadRequest setComponentKey(String componentKey) {
+    this.componentKey = componentKey;
+    return this;
+  }
+
+  public String getComponentKey() {
+    return componentKey;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/GovernanceReportsService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/GovernanceReportsService.java
new file mode 100644 (file)
index 0000000..e12c8b2
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+import java.util.stream.Collectors;
+import javax.annotation.Generated;
+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/governance_reports">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class GovernanceReportsService extends BaseService {
+
+  public GovernanceReportsService(WsConnector wsConnector) {
+    super(wsConnector, "api/governance_reports");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a GET request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/governance_reports/download">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String download(DownloadRequest request) {
+    return call(
+      new GetRequest(path("download"))
+        .setParam("componentId", request.getComponentId())
+        .setParam("componentKey", request.getComponentKey())
+        .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/governance_reports/status">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String status(StatusRequest request) {
+    return call(
+      new GetRequest(path("status"))
+        .setParam("componentId", request.getComponentId())
+        .setParam("componentKey", request.getComponentKey())
+        .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/governance_reports/subscribe">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void subscribe(SubscribeRequest request) {
+    call(
+      new PostRequest(path("subscribe"))
+        .setParam("componentId", request.getComponentId())
+        .setParam("componentKey", request.getComponentKey())
+        .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/governance_reports/unsubscribe">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void unsubscribe(UnsubscribeRequest request) {
+    call(
+      new PostRequest(path("unsubscribe"))
+        .setParam("componentId", request.getComponentId())
+        .setParam("componentKey", request.getComponentKey())
+        .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/governance_reports/update_frequency">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void updateFrequency(UpdateFrequencyRequest request) {
+    call(
+      new PostRequest(path("update_frequency"))
+        .setParam("componentId", request.getComponentId())
+        .setParam("componentKey", request.getComponentKey())
+        .setParam("frequency", request.getFrequency())
+        .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/governance_reports/update_recipients">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void updateRecipients(UpdateRecipientsRequest request) {
+    call(
+      new PostRequest(path("update_recipients"))
+        .setParam("componentId", request.getComponentId())
+        .setParam("componentKey", request.getComponentKey())
+        .setParam("recipients", request.getRecipients() == null ? null : request.getRecipients().stream().collect(Collectors.joining(",")))
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/StatusRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/StatusRequest.java
new file mode 100644 (file)
index 0000000..33f34e2
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+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/governance_reports/status">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class StatusRequest {
+
+  private String componentId;
+  private String componentKey;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public StatusRequest setComponentId(String componentId) {
+    this.componentId = componentId;
+    return this;
+  }
+
+  public String getComponentId() {
+    return componentId;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public StatusRequest setComponentKey(String componentKey) {
+    this.componentKey = componentKey;
+    return this;
+  }
+
+  public String getComponentKey() {
+    return componentKey;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/SubscribeRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/SubscribeRequest.java
new file mode 100644 (file)
index 0000000..1563abb
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+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/governance_reports/subscribe">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class SubscribeRequest {
+
+  private String componentId;
+  private String componentKey;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public SubscribeRequest setComponentId(String componentId) {
+    this.componentId = componentId;
+    return this;
+  }
+
+  public String getComponentId() {
+    return componentId;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public SubscribeRequest setComponentKey(String componentKey) {
+    this.componentKey = componentKey;
+    return this;
+  }
+
+  public String getComponentKey() {
+    return componentKey;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UnsubscribeRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UnsubscribeRequest.java
new file mode 100644 (file)
index 0000000..6d2243d
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+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/governance_reports/unsubscribe">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class UnsubscribeRequest {
+
+  private String componentId;
+  private String componentKey;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public UnsubscribeRequest setComponentId(String componentId) {
+    this.componentId = componentId;
+    return this;
+  }
+
+  public String getComponentId() {
+    return componentId;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public UnsubscribeRequest setComponentKey(String componentKey) {
+    this.componentKey = componentKey;
+    return this;
+  }
+
+  public String getComponentKey() {
+    return componentKey;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UpdateFrequencyRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UpdateFrequencyRequest.java
new file mode 100644 (file)
index 0000000..5d3429b
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+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/governance_reports/update_frequency">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class UpdateFrequencyRequest {
+
+  private String componentId;
+  private String componentKey;
+  private String frequency;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public UpdateFrequencyRequest setComponentId(String componentId) {
+    this.componentId = componentId;
+    return this;
+  }
+
+  public String getComponentId() {
+    return componentId;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public UpdateFrequencyRequest setComponentKey(String componentKey) {
+    this.componentKey = componentKey;
+    return this;
+  }
+
+  public String getComponentKey() {
+    return componentKey;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"daily"</li>
+   *   <li>"weekly"</li>
+   *   <li>"monthly"</li>
+   * </ul>
+   */
+  public UpdateFrequencyRequest setFrequency(String frequency) {
+    this.frequency = frequency;
+    return this;
+  }
+
+  public String getFrequency() {
+    return frequency;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UpdateRecipientsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/UpdateRecipientsRequest.java
new file mode 100644 (file)
index 0000000..5526256
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+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/governance_reports/update_recipients">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class UpdateRecipientsRequest {
+
+  private String componentId;
+  private String componentKey;
+  private List<String> recipients;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public UpdateRecipientsRequest setComponentId(String componentId) {
+    this.componentId = componentId;
+    return this;
+  }
+
+  public String getComponentId() {
+    return componentId;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public UpdateRecipientsRequest setComponentKey(String componentKey) {
+    this.componentKey = componentKey;
+    return this;
+  }
+
+  public String getComponentKey() {
+    return componentKey;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "john@smith.com,jane@doo.fr"
+   */
+  public UpdateRecipientsRequest setRecipients(List<String> recipients) {
+    this.recipients = recipients;
+    return this;
+  }
+
+  public List<String> getRecipients() {
+    return recipients;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/governancereports/package-info.java
new file mode 100644 (file)
index 0000000..c7ea12e
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.governancereports;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ExportRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ExportRequest.java
new file mode 100644 (file)
index 0000000..d66339b
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.projectdump;
+
+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/project_dump/export">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class ExportRequest {
+
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_project"
+   */
+  public ExportRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ImportRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ImportRequest.java
new file mode 100644 (file)
index 0000000..abaacc8
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.projectdump;
+
+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/project_dump/import">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class ImportRequest {
+
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_project"
+   */
+  public ImportRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ProjectDumpService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/ProjectDumpService.java
new file mode 100644 (file)
index 0000000..46ceb73
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.projectdump;
+
+import javax.annotation.Generated;
+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/project_dump">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class ProjectDumpService extends BaseService {
+
+  public ProjectDumpService(WsConnector wsConnector) {
+    super(wsConnector, "api/project_dump");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a POST request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/project_dump/export">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String export(ExportRequest request) {
+    return call(
+      new PostRequest(path("export"))
+        .setParam("key", request.getKey())
+        .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/project_dump/status">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String status(StatusRequest request) {
+    return call(
+      new GetRequest(path("status"))
+        .setParam("id", request.getId())
+        .setParam("key", request.getKey())
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/StatusRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/StatusRequest.java
new file mode 100644 (file)
index 0000000..5c0f56c
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.projectdump;
+
+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/project_dump/status">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class StatusRequest {
+
+  private String id;
+  private String key;
+
+  /**
+   * Example value: "AU-Tpxb--iU5OvuD2FLy"
+   */
+  public StatusRequest setId(String id) {
+    this.id = id;
+    return this;
+  }
+
+  public String getId() {
+    return id;
+  }
+
+  /**
+   * Example value: "my_project"
+   */
+  public StatusRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/projectdump/package-info.java
new file mode 100644 (file)
index 0000000..27eaf26
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.projectdump;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/support/SupportService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/support/SupportService.java
new file mode 100644 (file)
index 0000000..96fabd2
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.support;
+
+import javax.annotation.Generated;
+import org.sonarqube.ws.MediaTypes;
+import org.sonarqube.ws.client.BaseService;
+import org.sonarqube.ws.client.GetRequest;
+import org.sonarqube.ws.client.WsConnector;
+
+/**
+ * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/support">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class SupportService extends BaseService {
+
+  public SupportService(WsConnector wsConnector) {
+    super(wsConnector, "api/support");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a GET request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/support/info">Further information about this action online (including a response example)</a>
+   * @since 3.1
+   */
+  public String info() {
+    return call(
+      new GetRequest(path("info"))
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/support/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/support/package-info.java
new file mode 100644 (file)
index 0000000..2290345
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.support;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddLocalViewRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddLocalViewRequest.java
new file mode 100644 (file)
index 0000000..472f3eb
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/add_local_view">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class AddLocalViewRequest {
+
+  private String key;
+  private String refKey;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public AddLocalViewRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public AddLocalViewRequest setRefKey(String refKey) {
+    this.refKey = refKey;
+    return this;
+  }
+
+  public String getRefKey() {
+    return refKey;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddProjectRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddProjectRequest.java
new file mode 100644 (file)
index 0000000..5668408
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/add_project">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class AddProjectRequest {
+
+  private String key;
+  private String project;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public AddProjectRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Example value: "my_project"
+   */
+  public AddProjectRequest setProject(String project) {
+    this.project = project;
+    return this;
+  }
+
+  public String getProject() {
+    return project;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddSubViewRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/AddSubViewRequest.java
new file mode 100644 (file)
index 0000000..08b1240
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/add_sub_view">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class AddSubViewRequest {
+
+  private String description;
+  private String key;
+  private String name;
+  private String subKey;
+
+  /**
+   */
+  public AddSubViewRequest setDescription(String description) {
+    this.description = description;
+    return this;
+  }
+
+  public String getDescription() {
+    return description;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public AddSubViewRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public AddSubViewRequest setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  /**
+   */
+  public AddSubViewRequest setSubKey(String subKey) {
+    this.subKey = subKey;
+    return this;
+  }
+
+  public String getSubKey() {
+    return subKey;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/CreateRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/CreateRequest.java
new file mode 100644 (file)
index 0000000..136849c
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/create">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class CreateRequest {
+
+  private String description;
+  private String key;
+  private String name;
+  private String qualifier;
+  private String visibility;
+
+  /**
+   */
+  public CreateRequest setDescription(String description) {
+    this.description = description;
+    return this;
+  }
+
+  public String getDescription() {
+    return description;
+  }
+
+  /**
+   */
+  public CreateRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public CreateRequest setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"VW"</li>
+   *   <li>"APP"</li>
+   * </ul>
+   * @deprecated since 7.3
+   */
+  @Deprecated
+  public CreateRequest setQualifier(String qualifier) {
+    this.qualifier = qualifier;
+    return this;
+  }
+
+  public String getQualifier() {
+    return qualifier;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"private"</li>
+   *   <li>"public"</li>
+   * </ul>
+   */
+  public CreateRequest setVisibility(String visibility) {
+    this.visibility = visibility;
+    return this;
+  }
+
+  public String getVisibility() {
+    return visibility;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/DefineRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/DefineRequest.java
new file mode 100644 (file)
index 0000000..8b84734
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/define">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class DefineRequest {
+
+  private String def;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public DefineRequest setDef(String def) {
+    this.def = def;
+    return this;
+  }
+
+  public String getDef() {
+    return def;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/DeleteRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/DeleteRequest.java
new file mode 100644 (file)
index 0000000..5088aae
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/delete">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class DeleteRequest {
+
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public DeleteRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/LocalViewsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/LocalViewsRequest.java
new file mode 100644 (file)
index 0000000..c79b96e
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/local_views">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class LocalViewsRequest {
+
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public LocalViewsRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ManualMeasureRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ManualMeasureRequest.java
new file mode 100644 (file)
index 0000000..8d73c87
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/manual_measure">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class ManualMeasureRequest {
+
+  private String key;
+  private String measure;
+  private String value;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public ManualMeasureRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public ManualMeasureRequest setMeasure(String measure) {
+    this.measure = measure;
+    return this;
+  }
+
+  public String getMeasure() {
+    return measure;
+  }
+
+  /**
+   */
+  public ManualMeasureRequest setValue(String value) {
+    this.value = value;
+    return this;
+  }
+
+  public String getValue() {
+    return value;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ModeRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ModeRequest.java
new file mode 100644 (file)
index 0000000..1e3485d
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/mode">Further information about this action online (including a response example)</a>
+ * @since 2.6
+ */
+@Generated("sonar-ws-generator")
+public class ModeRequest {
+
+  private String key;
+  private String measure;
+  private String regexp;
+  private String selectionMode;
+  private String value;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public ModeRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   */
+  public ModeRequest setMeasure(String measure) {
+    this.measure = measure;
+    return this;
+  }
+
+  public String getMeasure() {
+    return measure;
+  }
+
+  /**
+   */
+  public ModeRequest setRegexp(String regexp) {
+    this.regexp = regexp;
+    return this;
+  }
+
+  public String getRegexp() {
+    return regexp;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   * Possible values:
+   * <ul>
+   *   <li>"MANUAL"</li>
+   *   <li>"REGEXP"</li>
+   *   <li>"MANUAL_MEASURE"</li>
+   *   <li>"REST"</li>
+   * </ul>
+   */
+  public ModeRequest setSelectionMode(String selectionMode) {
+    this.selectionMode = selectionMode;
+    return this;
+  }
+
+  public String getSelectionMode() {
+    return selectionMode;
+  }
+
+  /**
+   */
+  public ModeRequest setValue(String value) {
+    this.value = value;
+    return this;
+  }
+
+  public String getValue() {
+    return value;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/MoveOptionsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/MoveOptionsRequest.java
new file mode 100644 (file)
index 0000000..2353f52
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/move_options">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class MoveOptionsRequest {
+
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public MoveOptionsRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/MoveRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/MoveRequest.java
new file mode 100644 (file)
index 0000000..7a2744a
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/move">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class MoveRequest {
+
+  private String destination;
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public MoveRequest setDestination(String destination) {
+    this.destination = destination;
+    return this;
+  }
+
+  public String getDestination() {
+    return destination;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public MoveRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ProjectsRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ProjectsRequest.java
new file mode 100644 (file)
index 0000000..34165ef
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/projects">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class ProjectsRequest {
+
+  private String key;
+  private String p;
+  private String ps;
+  private String query;
+  private String selected;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public ProjectsRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   */
+  public ProjectsRequest setP(String p) {
+    this.p = p;
+    return this;
+  }
+
+  public String getP() {
+    return p;
+  }
+
+  /**
+   */
+  public ProjectsRequest setPs(String ps) {
+    this.ps = ps;
+    return this;
+  }
+
+  public String getPs() {
+    return ps;
+  }
+
+  /**
+   */
+  public ProjectsRequest setQuery(String query) {
+    this.query = query;
+    return this;
+  }
+
+  public String getQuery() {
+    return query;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"all"</li>
+   *   <li>"deselected"</li>
+   *   <li>"selected"</li>
+   * </ul>
+   */
+  public ProjectsRequest setSelected(String selected) {
+    this.selected = selected;
+    return this;
+  }
+
+  public String getSelected() {
+    return selected;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/RefreshRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/RefreshRequest.java
new file mode 100644 (file)
index 0000000..4de0246
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/refresh">Further information about this action online (including a response example)</a>
+ * @since 7.1
+ */
+@Generated("sonar-ws-generator")
+public class RefreshRequest {
+
+  private String key;
+
+  /**
+   */
+  public RefreshRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/RegexpRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/RegexpRequest.java
new file mode 100644 (file)
index 0000000..cb6ab50
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/regexp">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class RegexpRequest {
+
+  private String key;
+  private String regexp;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public RegexpRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public RegexpRequest setRegexp(String regexp) {
+    this.regexp = regexp;
+    return this;
+  }
+
+  public String getRegexp() {
+    return regexp;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/RemoveProjectRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/RemoveProjectRequest.java
new file mode 100644 (file)
index 0000000..595c90c
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/remove_project">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class RemoveProjectRequest {
+
+  private String key;
+  private String project;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public RemoveProjectRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public RemoveProjectRequest setProject(String project) {
+    this.project = project;
+    return this;
+  }
+
+  public String getProject() {
+    return project;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/SearchRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/SearchRequest.java
new file mode 100644 (file)
index 0000000..4556a2b
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/search">Further information about this action online (including a response example)</a>
+ * @since 2.0
+ */
+@Generated("sonar-ws-generator")
+public class SearchRequest {
+
+  private String onlyFavorites;
+  private String p;
+  private String ps;
+  private String q;
+  private String qualifiers;
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"true"</li>
+   *   <li>"false"</li>
+   *   <li>"yes"</li>
+   *   <li>"no"</li>
+   * </ul>
+   */
+  public SearchRequest setOnlyFavorites(String onlyFavorites) {
+    this.onlyFavorites = onlyFavorites;
+    return this;
+  }
+
+  public String getOnlyFavorites() {
+    return onlyFavorites;
+  }
+
+  /**
+   * Example value: "42"
+   */
+  public SearchRequest setP(String p) {
+    this.p = p;
+    return this;
+  }
+
+  public String getP() {
+    return p;
+  }
+
+  /**
+   * Example value: "20"
+   */
+  public SearchRequest setPs(String ps) {
+    this.ps = ps;
+    return this;
+  }
+
+  public String getPs() {
+    return ps;
+  }
+
+  /**
+   * Example value: "sona"
+   */
+  public SearchRequest setQ(String q) {
+    this.q = q;
+    return this;
+  }
+
+  public String getQ() {
+    return q;
+  }
+
+  /**
+   * Possible values:
+   * <ul>
+   *   <li>"APP"</li>
+   *   <li>"VW"</li>
+   *   <li>"SVW"</li>
+   * </ul>
+   */
+  public SearchRequest setQualifiers(String qualifiers) {
+    this.qualifiers = qualifiers;
+    return this;
+  }
+
+  public String getQualifiers() {
+    return qualifiers;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ShowRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ShowRequest.java
new file mode 100644 (file)
index 0000000..2f57366
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/show">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class ShowRequest {
+
+  private String key;
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public ShowRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/UpdateRequest.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/UpdateRequest.java
new file mode 100644 (file)
index 0000000..ee2df0c
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+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/views/update">Further information about this action online (including a response example)</a>
+ * @since 1.0
+ */
+@Generated("sonar-ws-generator")
+public class UpdateRequest {
+
+  private String description;
+  private String key;
+  private String name;
+
+  /**
+   */
+  public UpdateRequest setDescription(String description) {
+    this.description = description;
+    return this;
+  }
+
+  public String getDescription() {
+    return description;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public UpdateRequest setKey(String key) {
+    this.key = key;
+    return this;
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  /**
+   * This is a mandatory parameter.
+   */
+  public UpdateRequest setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public String getName() {
+    return name;
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ViewsService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/ViewsService.java
new file mode 100644 (file)
index 0000000..802a668
--- /dev/null
@@ -0,0 +1,394 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+import javax.annotation.Generated;
+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/views">Further information about this web service online</a>
+ */
+@Generated("sonar-ws-generator")
+public class ViewsService extends BaseService {
+
+  public ViewsService(WsConnector wsConnector) {
+    super(wsConnector, "api/views");
+  }
+
+  /**
+   *
+   * This is part of the internal API.
+   * This is a POST request.
+   * @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/views/add_local_view">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void addLocalView(AddLocalViewRequest request) {
+    call(
+      new PostRequest(path("add_local_view"))
+        .setParam("key", request.getKey())
+        .setParam("ref_key", request.getRefKey())
+        .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/views/add_project">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void addProject(AddProjectRequest request) {
+    call(
+      new PostRequest(path("add_project"))
+        .setParam("key", request.getKey())
+        .setParam("project", request.getProject())
+        .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/views/add_sub_view">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void addSubView(AddSubViewRequest request) {
+    call(
+      new PostRequest(path("add_sub_view"))
+        .setParam("description", request.getDescription())
+        .setParam("key", request.getKey())
+        .setParam("name", request.getName())
+        .setParam("subKey", request.getSubKey())
+        .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/views/app">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String app() {
+    return call(
+      new GetRequest(path("app"))
+        .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/views/create">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void create(CreateRequest request) {
+    call(
+      new PostRequest(path("create"))
+        .setParam("description", request.getDescription())
+        .setParam("key", request.getKey())
+        .setParam("name", request.getName())
+        .setParam("qualifier", request.getQualifier())
+        .setParam("visibility", request.getVisibility())
+        .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/views/define">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void define(DefineRequest request) {
+    call(
+      new PostRequest(path("define"))
+        .setParam("def", request.getDef())
+        .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/views/definition">Further information about this action online (including a response example)</a>
+   * @since 2.0
+   */
+  public String definition() {
+    return call(
+      new GetRequest(path("definition"))
+        .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/views/delete">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void delete(DeleteRequest request) {
+    call(
+      new PostRequest(path("delete"))
+        .setParam("key", request.getKey())
+        .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/views/list">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String list() {
+    return call(
+      new GetRequest(path("list"))
+        .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/views/local_views">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String localViews(LocalViewsRequest request) {
+    return call(
+      new GetRequest(path("local_views"))
+        .setParam("key", request.getKey())
+        .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/views/manual_measure">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void manualMeasure(ManualMeasureRequest request) {
+    call(
+      new PostRequest(path("manual_measure"))
+        .setParam("key", request.getKey())
+        .setParam("measure", request.getMeasure())
+        .setParam("value", request.getValue())
+        .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/views/mode">Further information about this action online (including a response example)</a>
+   * @since 2.6
+   */
+  public void mode(ModeRequest request) {
+    call(
+      new PostRequest(path("mode"))
+        .setParam("key", request.getKey())
+        .setParam("measure", request.getMeasure())
+        .setParam("regexp", request.getRegexp())
+        .setParam("selectionMode", request.getSelectionMode())
+        .setParam("value", request.getValue())
+        .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/views/move">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void move(MoveRequest request) {
+    call(
+      new PostRequest(path("move"))
+        .setParam("destination", request.getDestination())
+        .setParam("key", request.getKey())
+        .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/views/move_options">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String moveOptions(MoveOptionsRequest request) {
+    return call(
+      new GetRequest(path("move_options"))
+        .setParam("key", request.getKey())
+        .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/views/projects">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String projects(ProjectsRequest request) {
+    return call(
+      new GetRequest(path("projects"))
+        .setParam("key", request.getKey())
+        .setParam("p", request.getP())
+        .setParam("ps", request.getPs())
+        .setParam("query", request.getQuery())
+        .setParam("selected", request.getSelected())
+        .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/views/refresh">Further information about this action online (including a response example)</a>
+   * @since 7.1
+   */
+  public void refresh(RefreshRequest request) {
+    call(
+      new PostRequest(path("refresh"))
+        .setParam("key", request.getKey())
+        .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/views/regexp">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void regexp(RegexpRequest request) {
+    call(
+      new PostRequest(path("regexp"))
+        .setParam("key", request.getKey())
+        .setParam("regexp", request.getRegexp())
+        .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/views/remove_project">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void removeProject(RemoveProjectRequest request) {
+    call(
+      new PostRequest(path("remove_project"))
+        .setParam("key", request.getKey())
+        .setParam("project", request.getProject())
+        .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/views/run">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   * @deprecated since 7.1
+   */
+  @Deprecated
+  public String run() {
+    return call(
+      new PostRequest(path("run"))
+        .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/views/search">Further information about this action online (including a response example)</a>
+   * @since 2.0
+   */
+  public String search(SearchRequest request) {
+    return call(
+      new GetRequest(path("search"))
+        .setParam("onlyFavorites", request.getOnlyFavorites())
+        .setParam("p", request.getP())
+        .setParam("ps", request.getPs())
+        .setParam("q", request.getQ())
+        .setParam("qualifiers", request.getQualifiers())
+        .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/views/show">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public String show(ShowRequest request) {
+    return call(
+      new GetRequest(path("show"))
+        .setParam("key", request.getKey())
+        .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/views/update">Further information about this action online (including a response example)</a>
+   * @since 1.0
+   */
+  public void update(UpdateRequest request) {
+    call(
+      new PostRequest(path("update"))
+        .setParam("description", request.getDescription())
+        .setParam("key", request.getKey())
+        .setParam("name", request.getName())
+        .setMediaType(MediaTypes.JSON)
+      ).content();
+  }
+}
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/views/package-info.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/views/package-info.java
new file mode 100644 (file)
index 0000000..4504d29
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2018 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.views;
+
+import javax.annotation.Generated;
+import javax.annotation.ParametersAreNonnullByDefault;
+