}
@Override
public BatchResponse execute(final BatchRequest request, @SuppressWarnings("unused") UriInfo uriInfo) {
final BatchResponse response = new BatchResponse();
final String responseBody;
response.setRequestId(request.getRequestId());
response.setHeaders(request.getHeaders());
final String[] pathParameters = request.getRelativeUrl().split("/");
Long clientId = Long.parseLong(pathParameters[1].substring(0, pathParameters[1].indexOf("?")));
// Try-catch blocks to map exceptions to appropriate status codes
try {
// Calls 'activate' function from 'ClientsApiResource' to activate a client
responseBody = clientsApiResource.activate(clientId, "activate", request.getBody());
response.setStatusCode(200);
// Sets the body of the response after the successful activation of
// the client
response.setBody(responseBody);
} catch (RuntimeException e) {
// Gets an object of type ErrorInfo, containing information about
// raised exception
ErrorInfo ex = ErrorHandler.handler(e);
response.setStatusCode(ex.getStatusCode());
response.setBody(ex.getMessage());
}
return response;
}