ReportController.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. package edu.nju.controller;
  2. import java.io.PrintWriter;
  3. import java.util.List;
  4. import javax.servlet.http.HttpServletResponse;
  5. import javax.servlet.http.HttpSession;
  6. import edu.nju.controller.interceptor.AuthRequired;
  7. import org.json.JSONArray;
  8. import org.json.JSONObject;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.web.bind.annotation.CrossOrigin;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import edu.nju.entities.BugMirror;
  15. import edu.nju.service.DotService;
  16. import edu.nju.service.GuideService;
  17. import edu.nju.service.ReportService;
  18. @Controller
  19. @RequestMapping(value = "/report")
  20. @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
  21. public class ReportController {
  22. @Autowired
  23. ReportService rservice;
  24. @Autowired
  25. GuideService gservice;
  26. @Autowired
  27. DotService dservice;
  28. //获取用户的有效信息
  29. @AuthRequired
  30. @RequestMapping(value = "/report")
  31. @ResponseBody
  32. public void getReport(String report_id, String case_take_id, HttpServletResponse response) {
  33. try {
  34. PrintWriter out = response.getWriter();
  35. JSONObject result = new JSONObject();
  36. result.put("Valid Thumsup", rservice.getValidThums(report_id) + "/" + rservice.getAllThums(report_id).size());
  37. result.put("Valid Diss", rservice.getValidDiss(report_id) + "/" + rservice.getAllDiss(report_id).size());
  38. result.put("Path Cover", rservice.getUserPath(report_id, case_take_id));
  39. result.put("Valid Bug", rservice.getValid(report_id, case_take_id) + "/" + rservice.getUserBugs(report_id, case_take_id).size());
  40. result.put("Time Gap", rservice.getTimeGap(report_id, case_take_id));
  41. out.print(result);
  42. out.flush();
  43. out.close();
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. }
  47. }
  48. @RequestMapping(value = "/ThumsRank")
  49. @ResponseBody
  50. public void ThumsRank(String case_take_id, HttpServletResponse response) {
  51. try {
  52. PrintWriter out = response.getWriter();
  53. response.setContentType("text/html; charset=utf-8");
  54. out.print(rservice.getThumsRank(case_take_id));
  55. out.flush();
  56. out.close();
  57. } catch (Exception e) {
  58. e.printStackTrace();
  59. }
  60. }
  61. @RequestMapping(value = "/ForkRank")
  62. @ResponseBody
  63. public void ForkRank(String case_take_id, HttpServletResponse response) {
  64. try {
  65. PrintWriter out = response.getWriter();
  66. out.print(rservice.getForkRank(case_take_id));
  67. out.flush();
  68. out.close();
  69. } catch (Exception e) {
  70. e.printStackTrace();
  71. }
  72. }
  73. @RequestMapping(value = "/c")
  74. @ResponseBody
  75. public void relations(String case_take_id, HttpServletResponse response) {
  76. try {
  77. PrintWriter out = response.getWriter();
  78. out.print(rservice.relations(case_take_id));
  79. out.flush();
  80. out.close();
  81. } catch (Exception e) {
  82. e.printStackTrace();
  83. }
  84. }
  85. @RequestMapping(value = "/keyWords")
  86. @ResponseBody
  87. public void keyWords(String id, HttpServletResponse response) {
  88. try {
  89. PrintWriter out = response.getWriter();
  90. out.print(rservice.keyWords(id));
  91. out.flush();
  92. out.close();
  93. } catch (Exception e) {
  94. e.printStackTrace();
  95. }
  96. }
  97. @RequestMapping(value = "/charm")
  98. @ResponseBody
  99. public void charm(String case_take_id, HttpServletResponse response) {
  100. try {
  101. PrintWriter out = response.getWriter();
  102. out.print(rservice.charm(case_take_id));
  103. out.flush();
  104. out.close();
  105. } catch (Exception e) {
  106. e.printStackTrace();
  107. }
  108. }
  109. //我是分隔符////////////
  110. @RequestMapping(value = "/record")
  111. @ResponseBody
  112. public void userRecord(String user_id, String target_id, String action, String remarks, HttpServletResponse response) {
  113. try {
  114. PrintWriter out = response.getWriter();
  115. out.print(dservice.saveRecord(user_id, target_id, action, remarks));
  116. out.flush();
  117. out.close();
  118. } catch (Exception e) {
  119. e.printStackTrace();
  120. }
  121. }
  122. @RequestMapping(value = "/pageRec")
  123. @ResponseBody
  124. public void pageRec(String case_take_id, String report_id, HttpSession session, HttpServletResponse response) {
  125. try {
  126. PrintWriter out = response.getWriter();
  127. String result = gservice.workPlan(report_id, case_take_id, session);
  128. JSONObject object = new JSONObject();
  129. String[] temp1 = result.split(":");
  130. object.put("info", result);
  131. if(temp1.length == 1) { object.put("page", ""); }
  132. else {
  133. String[] pages = temp1[1].split(";");
  134. object.put("page", pages);
  135. }
  136. out.print(object);
  137. dservice.saveRecord(report_id, case_take_id, "pageRec", result);
  138. out.flush();
  139. out.close();
  140. } catch (Exception e) {
  141. e.printStackTrace();
  142. }
  143. }
  144. @RequestMapping(value = "/bugRec")
  145. @ResponseBody
  146. public void bugRec(String case_take_id, String report_id, HttpServletResponse response) {
  147. try {
  148. PrintWriter out = response.getWriter();
  149. List<BugMirror> result = gservice.PMFRecomend(report_id, case_take_id);
  150. out.print(new JSONArray(result));
  151. String remarks = "";
  152. for(BugMirror mirror: result) {
  153. remarks += mirror.getId() + ",";
  154. }
  155. dservice.saveRecord(report_id, case_take_id, "bugRec", remarks);
  156. out.flush();
  157. out.close();
  158. } catch (Exception e) {
  159. e.printStackTrace();
  160. }
  161. }
  162. }