Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. package com.travelagency.rest.resources;
  2.  
  3. import io.swagger.annotations.Api;
  4. import io.swagger.annotations.ApiOperation;
  5. import io.swagger.annotations.ApiParam;
  6. import io.swagger.annotations.ApiResponse;
  7. import io.swagger.annotations.ApiResponses;
  8.  
  9. import java.util.List;
  10.  
  11. import javax.ws.rs.BeanParam;
  12. import javax.ws.rs.GET;
  13. import javax.ws.rs.Path;
  14. import javax.ws.rs.Produces;
  15. import javax.ws.rs.core.MediaType;
  16. import javax.ws.rs.core.Response;
  17.  
  18. import com.travelagency.business.StatisticService;
  19. import com.travelagency.model.business.Statistic;
  20. import com.travelagency.rest.errorhandling.DataNotFoundException;
  21. import com.travelagency.rest.resources.beans.StatisticFilterBean;
  22.  
  23. /**
  24. * Defines the REST requests of the stastic resource.
  25. *
  26. */
  27. @Path("/statistics")
  28. @Api(value = "/statistics")
  29. public class StatisticResource {
  30.  
  31. StatisticService statisticService = new StatisticService();
  32.  
  33. /**
  34. * Defines the GET request for the statistic resource. The statistic can be
  35. * selected via query parameters.
  36. *
  37. * @param filterBean Filter parameter.
  38. * @return Result of the statistic.
  39. */
  40. @ApiOperation(
  41. value = "Get all statistics",
  42. response = Statistic.class
  43. )
  44. @ApiResponses(value = {
  45. @ApiResponse(code = 200, message = "All statistics fetched")
  46. ,
  47. @ApiResponse(code = 500, message = "Internal server error")
  48. ,
  49. @ApiResponse(code = 404, message = "Statistic method not found")
  50. })
  51. @GET
  52. @Produces(MediaType.APPLICATION_JSON)
  53. public Response getStatistics(@ApiParam(value = "statistic method that needs to be fetched", required = false) @BeanParam StatisticFilterBean filterBean) {
  54. Statistic statistic = statisticService.getStatistic();
  55. if (filterBean.getFind().toLowerCase() == "mostvisitedcountries") {
  56. return Response.status(200).entity(statistic.getMostVisitedCountries()).build();
  57. }
  58. else if (filterBean.getFind().toLowerCase() == "mostvisistedcities") {
  59. return Response.status(200).entity(statistic.getMostVisitedCities()).build();
  60. }
  61. else if (filterBean.getFind().toLowerCase() == "mostbookedaccomodations") {
  62. return Response.status(200).entity(statistic.getMostBookedAccomodations()).build();
  63. }
  64. else if (filterBean.getFind().toLowerCase() == "mostbookedactivities") {
  65. return Response.status(200).entity(statistic.getMostBookedAccomodations()).build();
  66. }
  67. else if (filterBean.getFind() != null) {
  68. throw new DataNotFoundException("the statistic " + filterBean.getFind() + " does not exist");
  69. }
  70. else
  71. return Response.status(500).entity(statistic).build();
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement