Class AbstractPostCollection<TId,TResource extends RestResource,TItemInput,TBatchInput extends AbstractBatchInput<TItemInput>>
java.lang.Object
com.google.gerrit.server.restapi.project.AbstractPostCollection<TId,TResource,TItemInput,TBatchInput>
- All Implemented Interfaces:
RestCollectionModifyView<ProjectResource,
,TResource, TBatchInput> RestCollectionView<ProjectResource,
,TResource, TBatchInput> RestView<TResource>
- Direct Known Subclasses:
PostLabels
,PostSubmitRequirements
public abstract class AbstractPostCollection<TId,TResource extends RestResource,TItemInput,TBatchInput extends AbstractBatchInput<TItemInput>>
extends Object
implements RestCollectionModifyView<ProjectResource,TResource,TBatchInput>
Base class for a rest API batch update.
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractPostCollection
(RepoMetaDataUpdater updater, com.google.inject.Provider<CurrentUser> user) -
Method Summary
Modifier and TypeMethodDescriptionResponse
<?> apply
(ProjectResource rsrc, TBatchInput input) Process the modification on the collection resource.protected abstract void
createItem
(ProjectConfig config, TItemInput resource) abstract String
Provides default commit message when user doesn't specify one in the input.protected abstract void
deleteItem
(ProjectConfig config, String name) protected abstract boolean
updateItem
(ProjectConfig config, String name, TItemInput resource) boolean
updateProjectConfig
(ProjectConfig config, AbstractBatchInput<TItemInput> input)
-
Constructor Details
-
AbstractPostCollection
public AbstractPostCollection(RepoMetaDataUpdater updater, com.google.inject.Provider<CurrentUser> user)
-
-
Method Details
-
apply
public Response<?> apply(ProjectResource rsrc, TBatchInput input) throws AuthException, UnprocessableEntityException, PermissionBackendException, IOException, org.eclipse.jgit.errors.ConfigInvalidException, BadRequestException, ResourceConflictException, MethodNotAllowedException Description copied from interface:RestCollectionModifyView
Process the modification on the collection resource.The value of the returned response is automatically converted to JSON unless it is a
BinaryResult
.The returned response defines the status code that is returned to the client. For RestCollectionModifyViews this is usually
200 OK
, but other 2XX or 3XX status codes are also possible (e.g.201 Created
if a resource was created,202 Accepted
if a background task was scheduled,204 No Content
if no content is returned,302 Found
for a redirect).Throwing a subclass of
RestApiException
results in a 4XX response to the client. For any other exception the client will get a500 Internal Server Error
response.- Specified by:
apply
in interfaceRestCollectionModifyView<TId,
TResource extends RestResource, TItemInput> - Parameters:
rsrc
- the collection resource on which the modification is done- Returns:
- response to return to the client
- Throws:
AuthException
UnprocessableEntityException
PermissionBackendException
IOException
org.eclipse.jgit.errors.ConfigInvalidException
BadRequestException
ResourceConflictException
MethodNotAllowedException
-
updateProjectConfig
public boolean updateProjectConfig(ProjectConfig config, AbstractBatchInput<TItemInput> input) throws UnprocessableEntityException, ResourceConflictException, BadRequestException -
defaultCommitMessage
Provides default commit message when user doesn't specify one in the input. -
updateItem
protected abstract boolean updateItem(ProjectConfig config, String name, TItemInput resource) throws BadRequestException, ResourceConflictException, UnprocessableEntityException -
createItem
protected abstract void createItem(ProjectConfig config, TItemInput resource) throws BadRequestException, ResourceConflictException, UnprocessableEntityException -
deleteItem
protected abstract void deleteItem(ProjectConfig config, String name) throws BadRequestException, ResourceConflictException, UnprocessableEntityException
-