ProjectApi: Add methods to get and set the project config
Change-Id: Ia38e5790a256bacbaa34c11dfa22f64d8212e947
This commit is contained in:
@@ -21,8 +21,11 @@ import com.google.gerrit.acceptance.AbstractDaemonTest;
|
|||||||
import com.google.gerrit.acceptance.NoHttpd;
|
import com.google.gerrit.acceptance.NoHttpd;
|
||||||
import com.google.gerrit.common.data.Permission;
|
import com.google.gerrit.common.data.Permission;
|
||||||
import com.google.gerrit.extensions.api.projects.BranchInput;
|
import com.google.gerrit.extensions.api.projects.BranchInput;
|
||||||
|
import com.google.gerrit.extensions.api.projects.ConfigInfo;
|
||||||
|
import com.google.gerrit.extensions.api.projects.ConfigInput;
|
||||||
import com.google.gerrit.extensions.api.projects.DescriptionInput;
|
import com.google.gerrit.extensions.api.projects.DescriptionInput;
|
||||||
import com.google.gerrit.extensions.api.projects.ProjectInput;
|
import com.google.gerrit.extensions.api.projects.ProjectInput;
|
||||||
|
import com.google.gerrit.extensions.client.SubmitType;
|
||||||
import com.google.gerrit.extensions.restapi.BadRequestException;
|
import com.google.gerrit.extensions.restapi.BadRequestException;
|
||||||
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
||||||
|
|
||||||
@@ -105,4 +108,22 @@ public class ProjectIT extends AbstractDaemonTest {
|
|||||||
eventRecorder.assertRefUpdatedEvents(project.get(), "refs/meta/config",
|
eventRecorder.assertRefUpdatedEvents(project.get(), "refs/meta/config",
|
||||||
initialHead, updatedHead);
|
initialHead, updatedHead);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void config() throws Exception {
|
||||||
|
RevCommit initialHead = getRemoteHead(project, "refs/meta/config");
|
||||||
|
|
||||||
|
ConfigInfo info = gApi.projects().name(project.get()).config();
|
||||||
|
assertThat(info.submitType).isEqualTo(SubmitType.MERGE_IF_NECESSARY);
|
||||||
|
ConfigInput input = new ConfigInput();
|
||||||
|
input.submitType = SubmitType.CHERRY_PICK;
|
||||||
|
info = gApi.projects().name(project.get()).config(input);
|
||||||
|
assertThat(info.submitType).isEqualTo(SubmitType.CHERRY_PICK);
|
||||||
|
info = gApi.projects().name(project.get()).config();
|
||||||
|
assertThat(info.submitType).isEqualTo(SubmitType.CHERRY_PICK);
|
||||||
|
|
||||||
|
RevCommit updatedHead = getRemoteHead(project, "refs/meta/config");
|
||||||
|
eventRecorder.assertRefUpdatedEvents(project.get(), "refs/meta/config",
|
||||||
|
initialHead, updatedHead);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ public interface ProjectApi {
|
|||||||
ProjectAccessInfo access() throws RestApiException;
|
ProjectAccessInfo access() throws RestApiException;
|
||||||
ProjectAccessInfo access(ProjectAccessInput p) throws RestApiException;
|
ProjectAccessInfo access(ProjectAccessInput p) throws RestApiException;
|
||||||
|
|
||||||
|
ConfigInfo config() throws RestApiException;
|
||||||
|
ConfigInfo config(ConfigInput in) throws RestApiException;
|
||||||
|
|
||||||
ListRefsRequest<BranchInfo> branches();
|
ListRefsRequest<BranchInfo> branches();
|
||||||
ListRefsRequest<TagInfo> tags();
|
ListRefsRequest<TagInfo> tags();
|
||||||
|
|
||||||
@@ -139,6 +142,16 @@ public interface ProjectApi {
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ConfigInfo config() throws RestApiException {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ConfigInfo config(ConfigInput in) throws RestApiException {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProjectAccessInfo access(ProjectAccessInput p)
|
public ProjectAccessInfo access(ProjectAccessInput p)
|
||||||
throws RestApiException {
|
throws RestApiException {
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import com.google.gerrit.extensions.api.access.ProjectAccessInput;
|
|||||||
import com.google.gerrit.extensions.api.projects.BranchApi;
|
import com.google.gerrit.extensions.api.projects.BranchApi;
|
||||||
import com.google.gerrit.extensions.api.projects.BranchInfo;
|
import com.google.gerrit.extensions.api.projects.BranchInfo;
|
||||||
import com.google.gerrit.extensions.api.projects.ChildProjectApi;
|
import com.google.gerrit.extensions.api.projects.ChildProjectApi;
|
||||||
|
import com.google.gerrit.extensions.api.projects.ConfigInfo;
|
||||||
|
import com.google.gerrit.extensions.api.projects.ConfigInput;
|
||||||
import com.google.gerrit.extensions.api.projects.DescriptionInput;
|
import com.google.gerrit.extensions.api.projects.DescriptionInput;
|
||||||
import com.google.gerrit.extensions.api.projects.ProjectApi;
|
import com.google.gerrit.extensions.api.projects.ProjectApi;
|
||||||
import com.google.gerrit.extensions.api.projects.ProjectInput;
|
import com.google.gerrit.extensions.api.projects.ProjectInput;
|
||||||
@@ -37,6 +39,7 @@ import com.google.gerrit.server.CurrentUser;
|
|||||||
import com.google.gerrit.server.project.ChildProjectsCollection;
|
import com.google.gerrit.server.project.ChildProjectsCollection;
|
||||||
import com.google.gerrit.server.project.CreateProject;
|
import com.google.gerrit.server.project.CreateProject;
|
||||||
import com.google.gerrit.server.project.GetAccess;
|
import com.google.gerrit.server.project.GetAccess;
|
||||||
|
import com.google.gerrit.server.project.GetConfig;
|
||||||
import com.google.gerrit.server.project.GetDescription;
|
import com.google.gerrit.server.project.GetDescription;
|
||||||
import com.google.gerrit.server.project.ListBranches;
|
import com.google.gerrit.server.project.ListBranches;
|
||||||
import com.google.gerrit.server.project.ListChildProjects;
|
import com.google.gerrit.server.project.ListChildProjects;
|
||||||
@@ -44,6 +47,7 @@ import com.google.gerrit.server.project.ListTags;
|
|||||||
import com.google.gerrit.server.project.ProjectJson;
|
import com.google.gerrit.server.project.ProjectJson;
|
||||||
import com.google.gerrit.server.project.ProjectResource;
|
import com.google.gerrit.server.project.ProjectResource;
|
||||||
import com.google.gerrit.server.project.ProjectsCollection;
|
import com.google.gerrit.server.project.ProjectsCollection;
|
||||||
|
import com.google.gerrit.server.project.PutConfig;
|
||||||
import com.google.gerrit.server.project.PutDescription;
|
import com.google.gerrit.server.project.PutDescription;
|
||||||
import com.google.gerrit.server.project.SetAccess;
|
import com.google.gerrit.server.project.SetAccess;
|
||||||
import com.google.inject.assistedinject.Assisted;
|
import com.google.inject.assistedinject.Assisted;
|
||||||
@@ -74,9 +78,11 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
private final BranchApiImpl.Factory branchApi;
|
private final BranchApiImpl.Factory branchApi;
|
||||||
private final TagApiImpl.Factory tagApi;
|
private final TagApiImpl.Factory tagApi;
|
||||||
private final GetAccess getAccess;
|
private final GetAccess getAccess;
|
||||||
|
private final SetAccess setAccess;
|
||||||
|
private final GetConfig getConfig;
|
||||||
|
private final PutConfig putConfig;
|
||||||
private final ListBranches listBranches;
|
private final ListBranches listBranches;
|
||||||
private final ListTags listTags;
|
private final ListTags listTags;
|
||||||
private final SetAccess setAccess;
|
|
||||||
|
|
||||||
@AssistedInject
|
@AssistedInject
|
||||||
ProjectApiImpl(CurrentUser user,
|
ProjectApiImpl(CurrentUser user,
|
||||||
@@ -92,13 +98,15 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
TagApiImpl.Factory tagApiFactory,
|
TagApiImpl.Factory tagApiFactory,
|
||||||
GetAccess getAccess,
|
GetAccess getAccess,
|
||||||
SetAccess setAccess,
|
SetAccess setAccess,
|
||||||
|
GetConfig getConfig,
|
||||||
|
PutConfig putConfig,
|
||||||
ListBranches listBranches,
|
ListBranches listBranches,
|
||||||
ListTags listTags,
|
ListTags listTags,
|
||||||
@Assisted ProjectResource project) {
|
@Assisted ProjectResource project) {
|
||||||
this(user, createProjectFactory, projectApi, projects, getDescription,
|
this(user, createProjectFactory, projectApi, projects, getDescription,
|
||||||
putDescription, childApi, children, projectJson, branchApiFactory,
|
putDescription, childApi, children, projectJson, branchApiFactory,
|
||||||
tagApiFactory, getAccess, setAccess, listBranches, listTags,
|
tagApiFactory, getAccess, setAccess, getConfig, putConfig, listBranches,
|
||||||
project, null);
|
listTags, project, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AssistedInject
|
@AssistedInject
|
||||||
@@ -115,13 +123,15 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
TagApiImpl.Factory tagApiFactory,
|
TagApiImpl.Factory tagApiFactory,
|
||||||
GetAccess getAccess,
|
GetAccess getAccess,
|
||||||
SetAccess setAccess,
|
SetAccess setAccess,
|
||||||
|
GetConfig getConfig,
|
||||||
|
PutConfig putConfig,
|
||||||
ListBranches listBranches,
|
ListBranches listBranches,
|
||||||
ListTags listTags,
|
ListTags listTags,
|
||||||
@Assisted String name) {
|
@Assisted String name) {
|
||||||
this(user, createProjectFactory, projectApi, projects, getDescription,
|
this(user, createProjectFactory, projectApi, projects, getDescription,
|
||||||
putDescription, childApi, children, projectJson, branchApiFactory,
|
putDescription, childApi, children, projectJson, branchApiFactory,
|
||||||
tagApiFactory, getAccess, setAccess, listBranches, listTags,
|
tagApiFactory, getAccess, setAccess, getConfig, putConfig, listBranches,
|
||||||
null, name);
|
listTags, null, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ProjectApiImpl(CurrentUser user,
|
private ProjectApiImpl(CurrentUser user,
|
||||||
@@ -137,6 +147,8 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
TagApiImpl.Factory tagApiFactory,
|
TagApiImpl.Factory tagApiFactory,
|
||||||
GetAccess getAccess,
|
GetAccess getAccess,
|
||||||
SetAccess setAccess,
|
SetAccess setAccess,
|
||||||
|
GetConfig getConfig,
|
||||||
|
PutConfig putConfig,
|
||||||
ListBranches listBranches,
|
ListBranches listBranches,
|
||||||
ListTags listTags,
|
ListTags listTags,
|
||||||
ProjectResource project,
|
ProjectResource project,
|
||||||
@@ -156,6 +168,8 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
this.tagApi = tagApiFactory;
|
this.tagApi = tagApiFactory;
|
||||||
this.getAccess = getAccess;
|
this.getAccess = getAccess;
|
||||||
this.setAccess = setAccess;
|
this.setAccess = setAccess;
|
||||||
|
this.getConfig = getConfig;
|
||||||
|
this.putConfig = putConfig;
|
||||||
this.listBranches = listBranches;
|
this.listBranches = listBranches;
|
||||||
this.listTags = listTags;
|
this.listTags = listTags;
|
||||||
}
|
}
|
||||||
@@ -225,6 +239,16 @@ public class ProjectApiImpl implements ProjectApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ConfigInfo config() throws RestApiException {
|
||||||
|
return getConfig.apply(checkExists());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ConfigInfo config(ConfigInput in) throws RestApiException {
|
||||||
|
return putConfig.apply(checkExists(), in);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ListRefsRequest<BranchInfo> branches() {
|
public ListRefsRequest<BranchInfo> branches() {
|
||||||
return new ListRefsRequest<BranchInfo>() {
|
return new ListRefsRequest<BranchInfo>() {
|
||||||
|
|||||||
Reference in New Issue
Block a user