diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/project/ProjectIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/project/ProjectIT.java index 7de4712917..33e4f97ec5 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/project/ProjectIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/project/ProjectIT.java @@ -38,8 +38,7 @@ public class ProjectIT extends AbstractDaemonTest { String name = "foo"; assertThat(name).isEqualTo( gApi.projects() - .name(name) - .create() + .create(name) .get() .name); } @@ -49,8 +48,7 @@ public class ProjectIT extends AbstractDaemonTest { String name = "foo"; assertThat(name).isEqualTo( gApi.projects() - .name(name + ".git") - .create() + .create(name + ".git") .get() .name); } @@ -69,10 +67,8 @@ public class ProjectIT extends AbstractDaemonTest { ProjectInput in = new ProjectInput(); in.name = "baz"; gApi.projects() - .name("baz") .create(in); gApi.projects() - .name("baz") .create(in); } @@ -89,8 +85,8 @@ public class ProjectIT extends AbstractDaemonTest { public void listProjects() throws Exception { List initialProjects = gApi.projects().list().get(); - gApi.projects().name("foo").create(); - gApi.projects().name("bar").create(); + gApi.projects().create("foo"); + gApi.projects().create("bar"); List allProjects = gApi.projects().list().get(); assertThat(allProjects).hasSize(initialProjects.size() + 2); diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java index 68c9a5e894..78132a90eb 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/CreateProjectIT.java @@ -49,7 +49,7 @@ public class CreateProjectIT extends AbstractDaemonTest { @Test public void testCreateProjectApi() throws Exception { final String newProjectName = "newProject"; - ProjectInfo p = gApi.projects().name(newProjectName).create().get(); + ProjectInfo p = gApi.projects().create(newProjectName).get(); assertThat(p.name).isEqualTo(newProjectName); ProjectState projectState = projectCache.get(new Project.NameKey(newProjectName)); assertThat(projectState).isNotNull(); @@ -60,7 +60,7 @@ public class CreateProjectIT extends AbstractDaemonTest { @Test public void testCreateProjectApiWithGitSuffix() throws Exception { final String newProjectName = "newProject"; - ProjectInfo p = gApi.projects().name(newProjectName + ".git").create().get(); + ProjectInfo p = gApi.projects().create(newProjectName + ".git").get(); assertThat(p.name).isEqualTo(newProjectName); ProjectState projectState = projectCache.get(new Project.NameKey(newProjectName)); assertThat(projectState).isNotNull(); diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java index c12b719352..fda48f5cbc 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/ListProjectsIT.java @@ -81,7 +81,7 @@ public class ListProjectsIT extends AbstractDaemonTest { ProjectInput projectInput = new ProjectInput(); projectInput.name = "some-project"; projectInput.description = "Description of some-project"; - gApi.projects().name(projectInput.name).create(projectInput); + gApi.projects().create(projectInput); // description not be included in the results by default. Map result = gApi.projects().list().getAsMap(); diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/Projects.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/Projects.java index ab0d3aec4c..7a626f1112 100644 --- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/Projects.java +++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/Projects.java @@ -40,6 +40,24 @@ public interface Projects { */ ProjectApi name(String name) throws RestApiException; + /** + * Create a project using the default configuration. + * + * @param name project name. + * @return API for accessing the newly-created project. + * @throws RestApiException if an error occurred. + */ + ProjectApi create(String name) throws RestApiException; + + /** + * Create a project. + * + * @param in project creation input; name must be set. + * @return API for accessing the newly-created project. + * @throws RestApiException if an error occurred. + */ + ProjectApi create(ProjectInput in) throws RestApiException; + ListRequest list(); public abstract class ListRequest { @@ -163,6 +181,16 @@ public interface Projects { throw new NotImplementedException(); } + @Override + public ProjectApi create(ProjectInput in) throws RestApiException { + throw new NotImplementedException(); + } + + @Override + public ProjectApi create(String name) throws RestApiException { + throw new NotImplementedException(); + } + @Override public ListRequest list() { throw new NotImplementedException(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectsImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectsImpl.java index f8c98804a7..db31d42ef8 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectsImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectsImpl.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.api.projects; import com.google.gerrit.extensions.api.projects.ProjectApi; +import com.google.gerrit.extensions.api.projects.ProjectInput; import com.google.gerrit.extensions.api.projects.Projects; import com.google.gerrit.extensions.common.ProjectInfo; import com.google.gerrit.extensions.restapi.BadRequestException; @@ -56,6 +57,18 @@ class ProjectsImpl implements Projects { } } + @Override + public ProjectApi create(String name) throws RestApiException { + ProjectInput in = new ProjectInput(); + in.name = name; + return create(in); + } + + @Override + public ProjectApi create(ProjectInput in) throws RestApiException { + return name(in.name).create(in); + } + @Override public ListRequest list() { return new ListRequest() { diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java index 4e151b3055..b93eb75a7e 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/CreateProjectCommand.java @@ -181,7 +181,7 @@ final class CreateProjectCommand extends SshCommand { input.pluginConfigValues = parsePluginConfigValues(pluginConfigValues); } - gApi.projects().name(projectName).create(input); + gApi.projects().create(input); } else { List parentCandidates = suggestParentCandidates.getNameKeys();