class JobManagementSpringResource {

    @ApiOperation("Delete attributes of a job with the specified key names")
    @DeleteMapping(path = "/jobs/{jobId}/attributes")
    public ResponseEntity<Void> deleteJobAttributes(@PathVariable("jobId") String jobId,
                                                    @RequestParam("keys") String delimitedKeys,
                                                    CallMetadataAuthentication authentication) {
        if (Strings.isNullOrEmpty(delimitedKeys)) {
            throw TitusServiceException.invalidArgument("Path parameter 'keys' cannot be empty");
        }

        Set<String> keys = StringExt.splitByCommaIntoSet(delimitedKeys);
        if (keys.isEmpty()) {
            throw TitusServiceException.invalidArgument("Parsed path parameter 'keys' cannot be empty");
        }

        JobAttributesDeleteRequest request = JobAttributesDeleteRequest.newBuilder()
                .setJobId(jobId)
                .addAllKeys(keys)
                .build();
        return Responses.fromVoidMono(
                jobServiceGateway.deleteJobAttributes(request, authentication.getCallMetadata()),
                HttpStatus.OK
        );
    }

    @Inject public  JobManagementSpringResource(JobServiceGateway jobServiceGateway, SystemLogService systemLog);

}