Quellcode durchsuchen

存储相似bug扫描信息

MengyangDuan vor 5 Jahren
Ursprung
Commit
d52d09da83

+ 36 - 0
src/main/java/edu/nju/controller/AnalyzeController.java

@@ -158,6 +158,42 @@ public class AnalyzeController {
 			e.printStackTrace();
 		}
 	}
+
+	//存储单个bug的打分等级
+	@RequestMapping(value = "/saveSimiliar")
+	@ResponseBody
+	public void saveSimiliarGrade(String id, String grade,String similiarBug, HttpServletResponse response) {
+		try {
+			JSONObject result = new JSONObject();
+			if(aservice.saveSimiliarGrade(id, Integer.parseInt(grade),similiarBug)) {result.put("status", "200");}
+			else {result.put("status", "500");}
+			PrintWriter out = response.getWriter();
+			out.print(result);
+			out.flush();
+			out.close();
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+	//存储单个bug的打分等级
+	@RequestMapping(value = "/saveByWorker")
+	@ResponseBody
+	public void saveGradeByWorker(String id,String worker_id, String grade, HttpServletResponse response) {
+		try {
+			JSONObject result = new JSONObject();
+			if(aservice.saveGradeByWorker(id, worker_id,Integer.parseInt(grade))) {result.put("status", "200");}
+			else {result.put("status", "500");}
+			PrintWriter out = response.getWriter();
+			out.print(result);
+			out.flush();
+			out.close();
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
 	
 	//获取页面和种类的分布情况
 	@RequestMapping(value = "/bugDetail")

+ 1 - 12
src/main/java/edu/nju/dao/BugScoreByWorkerDao.java

@@ -19,20 +19,9 @@ public class BugScoreByWorkerDao {
         mongoOperations.save(score);
     }
 
-
-    public BugScoreByWorker findById(String id) {
-        Query query = new Query();
-        query.addCriteria(Criteria.where("_id").is(id));
-        List<BugScoreByWorker> list = mongoOperations.find(query, BugScoreByWorker.class);
-        if (list != null && list.size() != 0) {
-            return list.get(0);
-        }
-        return null;
-    }
-
     public void remove(List<String> ids) {
         Query query = new Query();
-        query.addCriteria(Criteria.where("_id").in(ids));
+        query.addCriteria(Criteria.where("bug_id").in(ids));
         mongoOperations.remove(query, BugScoreByWorker.class);
     }
 }

+ 17 - 0
src/main/java/edu/nju/dao/BugSimiliarScoreDao.java

@@ -0,0 +1,17 @@
+package edu.nju.dao;
+
+import edu.nju.entities.BugSimiliarScore;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class BugSimiliarScoreDao {
+
+    @Autowired
+    private MongoOperations mongoOperations;
+
+    public void save(BugSimiliarScore score) {
+        mongoOperations.save(score);
+    }
+}

+ 16 - 6
src/main/java/edu/nju/entities/BugScoreByWorker.java

@@ -11,14 +11,16 @@ public class BugScoreByWorker implements java.io.Serializable{
     @Id
     private String id;
 
+    private String bug_id;
+
     private int score;
 
-    private String workerId;
+    private String worker_id;
 
-    public BugScoreByWorker(String id, int score, String workerId) {
-        this.id = id;
+    public BugScoreByWorker(String bugId, int score, String workerId) {
+        this.bug_id = bugId;
         this.score = score;
-        this.workerId = workerId;
+        this.worker_id = workerId;
     }
 
     public String getId() {
@@ -29,6 +31,14 @@ public class BugScoreByWorker implements java.io.Serializable{
         this.id = id;
     }
 
+    public String getBugId() {
+        return bug_id;
+    }
+
+    public void setBugId(String bugId) {
+        this.bug_id = bugId;
+    }
+
     public int getScore() {
         return score;
     }
@@ -38,10 +48,10 @@ public class BugScoreByWorker implements java.io.Serializable{
     }
 
     public String getWorkerId() {
-        return workerId;
+        return worker_id;
     }
 
     public void setWorkerId(String workerId) {
-        this.workerId = workerId;
+        this.worker_id = workerId;
     }
 }

+ 47 - 0
src/main/java/edu/nju/entities/BugSimiliarScore.java

@@ -0,0 +1,47 @@
+package edu.nju.entities;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Document
+public class BugSimiliarScore  implements java.io.Serializable{
+
+    private static final long serialVersionUID = 2611054051608086766L;
+
+    @Id
+    private String id;
+
+    private int grade;
+
+    private String similiar_bug_id;
+
+    public BugSimiliarScore(String id, int grade, String similiar_bug_id) {
+        this.id = id;
+        this.grade = grade;
+        this.similiar_bug_id = similiar_bug_id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public int getGrade() {
+        return grade;
+    }
+
+    public void setGrade(int grade) {
+        this.grade = grade;
+    }
+
+    public String getSimiliar_bug_id() {
+        return similiar_bug_id;
+    }
+
+    public void setSimiliar_bug_id(String similiar_bug_id) {
+        this.similiar_bug_id = similiar_bug_id;
+    }
+}

+ 26 - 12
src/main/java/edu/nju/service/AnalyzeService.java

@@ -2,24 +2,14 @@ package edu.nju.service;
 
 import java.util.*;
 
+import edu.nju.dao.*;
+import edu.nju.entities.*;
 import edu.nju.util.HTTP;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import edu.nju.dao.BugDao;
-import edu.nju.dao.BugHistoryDao;
-import edu.nju.dao.BugMirrorDao;
-import edu.nju.dao.BugScoreDao;
-import edu.nju.dao.CTBDao;
-import edu.nju.dao.StuInfoDao;
-import edu.nju.entities.Bug;
-import edu.nju.entities.BugHistory;
-import edu.nju.entities.BugMirror;
-import edu.nju.entities.BugScore;
-import edu.nju.entities.CaseToBug;
-
 @Service
 public class AnalyzeService {
 	
@@ -43,6 +33,12 @@ public class AnalyzeService {
 	
 	@Autowired
 	HistoryService hservice;
+
+	@Autowired
+	BugScoreByWorkerDao bugScoreByWorkerDao;
+
+	@Autowired
+	BugSimiliarScoreDao bugSimiliarScoreDao;
 	
 	//获取所有bug
 	public List<String> getValid(String case_take_id) {
@@ -89,6 +85,24 @@ public class AnalyzeService {
 			return false;
 		}
 	}
+
+	public boolean saveGradeByWorker(String id, String workerId, int grade) {
+		try {
+			bsdao.save(new BugScore(id, grade, 0));
+			return true;
+		} catch(Exception e) {
+			return false;
+		}
+	}
+
+	public boolean saveSimiliarGrade(String id, int grade,String similiarBug) {
+		try {
+			bugSimiliarScoreDao.save(new BugSimiliarScore(id, grade, similiarBug));
+			return true;
+		} catch(Exception e) {
+			return false;
+		}
+	}
 	
 	public int mark(String id, Map<String, Integer> grades, BugMirror mirror) {
 		int mark = 0;