Class SetLabel
- java.lang.Object
-
- com.google.gerrit.server.restapi.project.SetLabel
-
- All Implemented Interfaces:
RestModifyView<LabelResource,LabelDefinitionInput>
,RestView<LabelResource>
public class SetLabel extends Object implements RestModifyView<LabelResource,LabelDefinitionInput>
-
-
Constructor Summary
Constructors Constructor Description SetLabel(com.google.inject.Provider<CurrentUser> user, PermissionBackend permissionBackend, MetaDataUpdate.User updateFactory, ProjectConfig.Factory projectConfigFactory, ProjectCache projectCache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Response<LabelDefinitionInfo>
apply(LabelResource rsrc, LabelDefinitionInput input)
Process the view operation by altering the resource.boolean
updateLabel(ProjectConfig config, LabelType labelType, LabelDefinitionInput input)
Updates the given label.
-
-
-
Constructor Detail
-
SetLabel
@Inject public SetLabel(com.google.inject.Provider<CurrentUser> user, PermissionBackend permissionBackend, MetaDataUpdate.User updateFactory, ProjectConfig.Factory projectConfigFactory, ProjectCache projectCache)
-
-
Method Detail
-
apply
public Response<LabelDefinitionInfo> apply(LabelResource rsrc, LabelDefinitionInput input) throws AuthException, BadRequestException, ResourceConflictException, PermissionBackendException, IOException, org.eclipse.jgit.errors.ConfigInvalidException
Description copied from interface:RestModifyView
Process the view operation by altering the 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 RestModifyViews this is usually
200 OK
, but other 2XX or 3XX status codes are also possible (e.g.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 interfaceRestModifyView<LabelResource,LabelDefinitionInput>
- Parameters:
rsrc
- resource to modifyinput
- input after parsing from request- Returns:
- response to return to the client
- Throws:
AuthException
- the caller is not permitted to access this view.BadRequestException
- the request was incorrectly specified and cannot be handled by this view.ResourceConflictException
- the resource state does not permit this view to make the changes at this time.PermissionBackendException
IOException
org.eclipse.jgit.errors.ConfigInvalidException
-
updateLabel
public boolean updateLabel(ProjectConfig config, LabelType labelType, LabelDefinitionInput input) throws BadRequestException, ResourceConflictException
Updates the given label.- Parameters:
config
- the project configlabelType
- the label type that should be updatedinput
- the input that describes the label update- Returns:
- whether the label type was modified
- Throws:
BadRequestException
- if there was invalid data in the inputResourceConflictException
- if the update cannot be applied due to a conflict
-
-