/**
  * insert biotic data for mission.
  *
  * @param missiontype
  * @param year
  * @param delivery
  * @param platform
  * @param missionType
  */
 @PerformanceLogging
 @ArgumentLogging
 @RequestMapping(value = "/{missiontype}/{year}/{platform}/{delivery}", method = RequestMethod.PUT)
 @ResponseStatus(HttpStatus.OK)
 @ResponseBody
 public void updateByMission(
     @PathVariable(value = "missiontype") String missiontype,
     @PathVariable(value = "year") String year,
     @PathVariable(value = "platform") String platform,
     @PathVariable(value = "delivery") String delivery,
     @RequestBody MissionType missionType) {
   LOGGER.info("Start BioticController.updateByMission");
   nmdBioticService.updateData(missiontype, year, platform, delivery, missionType);
 }
 /**
  * Get data by id or cruise number.
  *
  * @param httpServletResponse
  * @param cruisenr
  * @param shipname
  */
 @PerformanceLogging
 @ArgumentLogging
 @RequestMapping(value = "/find", method = RequestMethod.HEAD)
 @ResponseBody
 public void find(
     HttpServletResponse httpServletResponse,
     @RequestParam(value = "cruisenr", required = false) String cruisenr,
     @RequestParam(value = "shipname", required = true) String shipname) {
   LOGGER.info("Start BioticController.find");
   if (nmdBioticService.hasDataByCruiseNr(cruisenr, shipname)) {
     httpServletResponse.setStatus(HttpServletResponse.SC_OK);
   } else {
     httpServletResponse.setStatus(HttpServletResponse.SC_NOT_FOUND);
   }
 }
 /**
  * Get biotic data for mission.
  *
  * @param missiontype
  * @param year
  * @param platform
  * @param delivery
  * @return Response object.
  */
 @PerformanceLogging
 @ArgumentLogging
 @RequestMapping(
     value = "/{missiontype}/{year}/{platform}/{delivery}",
     method = RequestMethod.GET,
     produces = {"application/xml;charset=UTF-8", "application/json;charset=UTF-8"})
 @ResponseStatus(HttpStatus.OK)
 @ResponseBody
 public Object findByMission(
     @PathVariable(value = "missiontype") String missiontype,
     @PathVariable(value = "year") String year,
     @PathVariable(value = "platform") String platform,
     @PathVariable(value = "delivery") String delivery) {
   LOGGER.info("Start BioticController.findByMission");
   return nmdBioticService.getData(missiontype, year, platform, delivery);
 }
 /**
  * Get data by id or cruise number.
  *
  * @param cruisenr
  * @param shipname
  * @param request
  * @return Response object.
  * @throws java.net.MalformedURLException
  * @throws java.net.URISyntaxException
  */
 @PerformanceLogging
 @ArgumentLogging
 @RequestMapping(value = "/find", method = RequestMethod.GET)
 @ResponseStatus(HttpStatus.OK)
 @ResponseBody
 public Object find(
     @RequestParam(value = "cruisenr", required = true) String cruisenr,
     @RequestParam(value = "shipname", required = true) String shipname,
     HttpServletRequest request)
     throws MalformedURLException, URISyntaxException {
   LOGGER.info("Start BioticController.find");
   if (cruisenr != null) {
     URI uri = (new URI(request.getRequestURL().toString())).resolve(".");
     return nmdBioticService.getDataByCruiseNr(cruisenr, shipname, uri.toString());
   } else {
     throw new BadRequestException("Cruisenr parameters must be set.");
   }
 }
 /**
  * Does the mission have data
  *
  * @param httpServletResponse
  * @param missiontype
  * @param year
  * @param platform
  * @param delivery
  */
 @PerformanceLogging
 @ArgumentLogging
 @RequestMapping(
     value = "/{missiontype}/{year}/{platform}/{delivery}",
     method = RequestMethod.HEAD)
 @ResponseBody
 public void hasData(
     HttpServletResponse httpServletResponse,
     @PathVariable(value = "missiontype") String missiontype,
     @PathVariable(value = "year") String year,
     @PathVariable(value = "platform") String platform,
     @PathVariable(value = "delivery") String delivery) {
   LOGGER.info("Start BioticController.hasData");
   if (nmdBioticService.hasData(missiontype, year, platform, delivery)) {
     httpServletResponse.setStatus(HttpServletResponse.SC_OK);
   } else {
     httpServletResponse.setStatus(HttpServletResponse.SC_NOT_FOUND);
   }
 }