Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.37 KB | None | 0 0
  1. public class CricketPlayer extends PlayerProfile {
  2. @Id
  3. private String playerId;
  4. @OneToMany(cascade = CascadeType.ALL, mappedBy = "cricketPlayer")
  5. private List<Performance> performanceList;
  6. @ManyToMany(fetch = FetchType.EAGER)
  7. @JoinColumn(name = "play_for_Team")
  8. private List<PlayForTeam> playForTeamList;
  9. //getters and setters
  10. }
  11.  
  12. public class PlayerProfile {
  13. private String image;
  14. private String name;
  15. private int age;
  16. private LocalDate dob;
  17. private double height;
  18. private String nationality;
  19. private int jerseyNo;
  20. private String game;
  21. }
  22.  
  23. public class Performance {
  24. @Id
  25. private String performanceId;
  26. @OneToOne(cascade = CascadeType.ALL)
  27. @JoinColumn(name = "id")
  28. private Game match;
  29. private long[] runsScored;
  30. private int fours;
  31. private int sixes;
  32. private int ballsFaced;
  33. private String[] oversBowled;
  34. private int bowled;
  35. private int wickets;
  36. private double BattingAverage;
  37. private double BowlingAverage;
  38. private double economy;
  39. private int totalStumping;
  40. private double strikeRate;
  41. private int highestScore;
  42. private int totalMaidens;
  43. private int totalCatches;
  44.  
  45. @OneToMany(cascade = CascadeType.ALL)
  46. private List<Role> performanceRoleList;
  47.  
  48. @ManyToOne(cascade = CascadeType.ALL)
  49. @JoinColumn(name = "player_id")
  50. private CricketPlayer cricketPlayer;
  51. }
  52.  
  53. public class Game {
  54. @Id
  55. private String id;
  56. @Enumerated
  57. private MatchType matchType;
  58. @OneToOne(cascade = CascadeType.ALL)
  59. private Ground ground;
  60. @OneToOne(cascade = CascadeType.ALL)
  61. private Series series;
  62. @OneToMany(cascade = CascadeType.ALL)
  63. private List<CricketPlayer> cricketPlayers;
  64. }
  65.  
  66. public class Ground {
  67. @Id
  68. private String groundId;
  69. private String groundName;
  70. }
  71.  
  72. public enum MatchType {
  73. ODI,
  74. TEST,
  75. T20,
  76. T10;
  77. }
  78.  
  79. @Controller
  80. @RequestMapping(value = "api/cricketplayer")
  81. @AllArgsConstructor
  82. public class CricketPlayerRest {
  83.  
  84. @Autowired
  85. private final CricketPlayerService cricketPlayerService;
  86.  
  87.  
  88. private Game game1;
  89. private Ground ground1;
  90. private Series series1;
  91. private Performance performance1;
  92. private Role role1;
  93. private PlayForTeam playForTeam1;
  94. private CricketPlayer cricketPlayer1;
  95.  
  96. private WrapperClass wrapperClass;
  97.  
  98.  
  99. List<Performance> performanceList = new ArrayList<>();
  100. List<PlayForTeam> playForTeamList = new ArrayList<>();
  101. List<Role> roleList = new ArrayList<>();
  102. List<CricketPlayer> playForTeamCricketer = new ArrayList<>();
  103. List<CricketPlayer> gameListForCricketer = new ArrayList<>();
  104.  
  105. @GetMapping(value = "all")
  106. @ResponseBody
  107. public ResponseEntity<?> getAllPlayers() {
  108. return ResponseEntity.status(HttpStatus.OK).body(cricketPlayerService.findAllPlayers());
  109. }
  110.  
  111. @GetMapping(value = "name")
  112. @ResponseBody
  113. public ResponseEntity<?> getPlayerByName(@RequestParam String name) {
  114.  
  115. Optional<CricketPlayer> cricketPlayer = cricketPlayerService.getPlayerByName(name);
  116.  
  117. if (cricketPlayer.isPresent()) {
  118. return ResponseEntity.status(HttpStatus.OK).body(cricketPlayer.get());
  119. } else {
  120. return ResponseEntity.badRequest().body(null);
  121. }
  122.  
  123. }
  124.  
  125.  
  126. @GetMapping(value = "{id}")
  127. public ResponseEntity<?> getPlayerById(@PathVariable String id) {
  128.  
  129. Optional<CricketPlayer> cricketPlayer = cricketPlayerService.findPlayersById(id);
  130.  
  131. if (cricketPlayer.isPresent()) {
  132. return ResponseEntity.status(HttpStatus.OK).body(cricketPlayer.get());
  133. } else {
  134. return ResponseEntity.badRequest().body(null);
  135. }
  136.  
  137. }
  138.  
  139. @PostMapping(value = "save",
  140. produces = MediaType.APPLICATION_JSON_VALUE,
  141. consumes = MediaType.APPLICATION_JSON_VALUE)
  142. @ResponseBody
  143. public ResponseEntity<?> createPlayer(@RequestBody CricketPlayer cricketPlayer) {
  144. try {
  145.  
  146.  
  147.  
  148. CricketPlayer createdPlayer = cricketPlayerService.save(cricketPlayer);
  149. ResponseEntity<CricketPlayer> cricketPlayerResponseEnity = ResponseEntity
  150. .status(HttpStatus.CREATED)
  151. .body(createdPlayer);
  152. return cricketPlayerResponseEnity;
  153. } catch (Exception e) {
  154. return ResponseEntity.badRequest().body(null);
  155. }
  156.  
  157. }
  158.  
  159. }
  160.  
  161. Postman data:
  162. {
  163. "image": "Musta",
  164. "name": "Musta",
  165. "age": 28,
  166. "dob": "1985-04-02",
  167. "height": 167,
  168. "nationality": "Bangladeshi",
  169. "jerseyNo": 28,
  170. "game": "Cricket",
  171. "playerId": "Musta",
  172. "performanceList": [
  173. {
  174. "performanceId": "BD-NZ",
  175. "match": {
  176. "id": "1",
  177. "matchType": "ODI",
  178. "ground": {
  179. "groundId": "Mirpur",
  180. "groundName": "SHERE Bangla"
  181. },
  182. "series": {
  183. "seriesId": "Walton",
  184. "seriesName": "walton Series"
  185. }
  186. },
  187. "runsScored": [
  188. 2,
  189. 0,
  190. 1,
  191. 3,
  192. 4,
  193. 6
  194. ],
  195. "fours": 4,
  196. "sixes": 2,
  197. "ballsFaced": 12,
  198. "oversBowled": [
  199. "w",
  200. "2",
  201. "6",
  202. "1",
  203. "4",
  204. "0"
  205. ],
  206. "bowled": 0,
  207. "wickets": 1,
  208. "economy": 5.4,
  209. "totalStumping": 1,
  210. "strikeRate": 154.4,
  211. "highestScore": 154,
  212. "totalMaidens": 0,
  213. "totalCatches": 5,
  214. "performanceRoleList": [
  215. {
  216. "roleId": 3,
  217. "type": "All-Rounder"
  218. }
  219. ],
  220. "bowlingAverage": 31.6,
  221. "battingAverage": 25
  222. }
  223. ],
  224. "playForTeamList": [
  225. {
  226. "pftId": "sun",
  227. "team": {
  228. "id": "sun",
  229. "teamName": "sun"
  230. },
  231. "startsDate": "2011-03-01",
  232. "endsDate": "2013-03-31"
  233. }
  234. ]
  235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement