1 package org.onap.vid.controllers;
3 import org.onap.vid.exceptions.GenericUncheckedException;
4 import org.onap.vid.model.ExceptionResponse;
5 import org.onap.vid.model.JobBulk;
6 import org.onap.vid.model.JobModel;
7 import org.onap.vid.services.BulkInstantiationService;
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.http.ResponseEntity;
10 import org.springframework.web.bind.annotation.*;
11 import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
13 import javax.ws.rs.WebApplicationException;
15 import java.util.UUID;
17 import static org.springframework.http.HttpStatus.BAD_REQUEST;
20 @RequestMapping("asyncForTests")
21 public class AsyncControllerForTests extends VidRestrictedBaseController {
23 private BulkInstantiationService bulkInstantiationService;
26 public AsyncControllerForTests(BulkInstantiationService bulkInstantiationService) {
27 this.bulkInstantiationService = bulkInstantiationService;
30 @RequestMapping(method = RequestMethod.POST)
31 public JobBulk createAsyncJob(@RequestBody Map<String, Object> body) {
32 return bulkInstantiationService.saveBulk(body);
35 @RequestMapping(value = "/job/{uuid}", method = RequestMethod.GET)
36 public JobModel getJob(@PathVariable UUID uuid) {
37 return bulkInstantiationService.getJob(uuid);
40 @RequestMapping(value = "/error", method = RequestMethod.GET)
41 public void throwError() {
42 throw new GenericUncheckedException("dummy error");
45 @ExceptionHandler({IllegalArgumentException.class})
46 @ResponseStatus(value=BAD_REQUEST)
47 private ExceptionResponse exceptionHandlerBadRequest(Exception e) {
48 return ControllersUtils.handleException(e, LOGGER);
51 @ExceptionHandler(WebApplicationException.class)
52 private ResponseEntity webApplicationExceptionHandler(WebApplicationException e) {
53 return ControllersUtils.handleWebApplicationException(e, LOGGER);