ReportController.java 5.8 KB

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