+ @GetMapping(
+ path = ProducerConsts.API_ROOT + "/eiproducers/{eiProducerId}/status",
+ produces = MediaType.APPLICATION_JSON_VALUE)
+ @ApiOperation(value = "EI producer status")
+ @ApiResponses(
+ value = { //
+ @ApiResponse(code = 200, message = "EI jobs", response = ProducerStatusInfo.class), //
+ @ApiResponse(
+ code = 404,
+ message = "Enrichment Information producer is not found",
+ response = ErrorResponse.ErrorInfo.class)})
+ public ResponseEntity<Object> getEiProducerStatus( //
+ @PathVariable("eiProducerId") String eiProducerId) {
+ try {
+ EiProducer producer = this.eiProducers.getProducer(eiProducerId);
+ return new ResponseEntity<>(gson.toJson(producerStatusInfo(producer)), HttpStatus.OK);
+ } catch (Exception e) {
+ return ErrorResponse.create(e, HttpStatus.NOT_FOUND);
+ }
+ }
+
+ private ProducerStatusInfo producerStatusInfo(EiProducer producer) {
+ ProducerStatusInfo.OperationalState opState =
+ producer.isAvailable() ? ProducerStatusInfo.OperationalState.ENABLED
+ : ProducerStatusInfo.OperationalState.DISABLED;
+ return new ProducerStatusInfo(opState);
+ }
+