CTBDao.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package edu.nju.dao;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.data.mongodb.core.MongoOperations;
  6. import org.springframework.data.mongodb.core.query.Criteria;
  7. import org.springframework.data.mongodb.core.query.Query;
  8. import org.springframework.stereotype.Repository;
  9. import edu.nju.entities.CaseToBug;
  10. @Repository
  11. public class CTBDao {
  12. @Autowired
  13. private MongoOperations mongoOperations;
  14. public void save(CaseToBug ctb) {
  15. mongoOperations.save(ctb);
  16. }
  17. public void save(String useCase, String bug_id, String case_take_id, String report_id) {
  18. Query query = new Query();
  19. query.addCriteria(Criteria.where("_id").is(useCase));
  20. List<CaseToBug> result = mongoOperations.find(query, CaseToBug.class);
  21. System.out.println(useCase);
  22. if(result.size() != 0) {
  23. CaseToBug ctb = result.get(0);
  24. // System.out.println("1"+ctb.getId());
  25. if(!ctb.getBug_id().contains(bug_id)) {
  26. ctb.getBug_id().add(bug_id);
  27. mongoOperations.save(ctb);
  28. }
  29. } else {
  30. List<String> list = new ArrayList<String>();
  31. list.add(bug_id);
  32. CaseToBug ctb = new CaseToBug(useCase, list, case_take_id, report_id);
  33. // System.out.println("2"+ctb.getId());
  34. mongoOperations.save(ctb);
  35. }
  36. }
  37. public CaseToBug find(String id) {
  38. Query query = new Query();
  39. query.addCriteria(Criteria.where("_id").is(id));
  40. // System.out.println("3"+id);
  41. return mongoOperations.find(query, CaseToBug.class).get(0);
  42. }
  43. //根据testCaseId获取bugIdList
  44. public List<String> findById(String id) {
  45. // System.out.println("3"+id);
  46. Query query = new Query();
  47. query.addCriteria(Criteria.where("_id").is(id));
  48. List<CaseToBug> result = mongoOperations.find(query, CaseToBug.class);
  49. if(result.size() == 0 || result == null) {return new ArrayList<String>();}
  50. return result.get(0).getBug_id();
  51. }
  52. public List<CaseToBug> findByCase(String case_take_id) {
  53. Query query = new Query();
  54. query.addCriteria(Criteria.where("case_take_id").is(case_take_id));
  55. return mongoOperations.find(query, CaseToBug.class);
  56. }
  57. public List<CaseToBug> findByReport(String report_id) {
  58. Query query = new Query();
  59. query.addCriteria(Criteria.where("report_id").is(report_id));
  60. return mongoOperations.find(query, CaseToBug.class);
  61. }
  62. public void remove(String useCase, String bug_id) {
  63. Query query = new Query();
  64. query.addCriteria(Criteria.where("_id").is(useCase));
  65. CaseToBug result = mongoOperations.find(query, CaseToBug.class).get(0);
  66. result.getBug_id().remove(bug_id);
  67. mongoOperations.save(result);
  68. }
  69. public void removeAll(String case_take_id) {
  70. Query query = new Query();
  71. query.addCriteria(Criteria.where("case_take_id").is(case_take_id));
  72. mongoOperations.remove(query, CaseToBug.class);
  73. }
  74. public void remove(String useCase) {
  75. Query query = new Query();
  76. query.addCriteria(Criteria.where("_id").is(useCase));
  77. mongoOperations.remove(query, CaseToBug.class);
  78. }
  79. }