예제 #1
0
  @RequestMapping(
      value = {"/ws/1.0/status/{requestId}"},
      method = RequestMethod.GET,
      produces = "application/json")
  public ResponseEntity<ReportResponse> status(@PathVariable("requestId") String requestId) {
    Status status = reportService.status(requestId);
    if (status == null) { // başlamamış
      logManager.info("status query :YOK !!! " + requestId);
      return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
    }
    logManager.info("status query :" + requestId);
    switch (status) {
      case WAIT:
        logManager.info("status query :" + requestId + " :başlamış");
        return ResponseEntity.status(HttpStatus.CREATED).body(null);

      case RUN:
        logManager.info("status query :" + requestId + " :devam ediyor");
        return ResponseEntity.status(HttpStatus.PROCESSING).body(null);

      case EXCEPTION:
        logManager.info("status query :" + requestId + " :hata");
        return ResponseEntity.status(420).body(null); // 420 Method Failure

      case FINISH:
        logManager.info("status query :" + requestId + " :bitmiş");
        return ResponseEntity.status(HttpStatus.OK).body(null);

      case CANCEL:
        logManager.info("status query :" + requestId + " :iptal");
        return ResponseEntity.status(HttpStatus.OK).body(null);

      case SCHEDULED:
        logManager.info("status query :" + requestId + " :başlamış");
        return ResponseEntity.status(HttpStatus.CREATED).body(null);
      default:
        throw new IllegalArgumentException(status.name());
    }
  }