Class SetLabel
java.lang.Object
com.google.gerrit.server.restapi.project.SetLabel
- All Implemented Interfaces:
RestModifyView<LabelResource,
,LabelDefinitionInput> RestView<LabelResource>
-
Constructor Summary
ConstructorsConstructorDescriptionSetLabel
(com.google.inject.Provider<CurrentUser> user, PermissionBackend permissionBackend, MetaDataUpdate.User updateFactory, ProjectConfig.Factory projectConfigFactory, ProjectCache projectCache, ApprovalQueryBuilder approvalQueryBuilder) -
Method Summary
Modifier and TypeMethodDescriptionapply
(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 Details
-
SetLabel
@Inject public SetLabel(com.google.inject.Provider<CurrentUser> user, PermissionBackend permissionBackend, MetaDataUpdate.User updateFactory, ProjectConfig.Factory projectConfigFactory, ProjectCache projectCache, ApprovalQueryBuilder approvalQueryBuilder)
-
-
Method Details
-
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
-