Skip to content

Commit 9800409

Browse files
committed
snoarQube评估代码:一些bug修改
1 parent b276dfe commit 9800409

File tree

1,417 files changed

+120802
-3115
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,417 files changed

+120802
-3115
lines changed

.settings/org.eclipse.core.resources.prefs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,13 @@ encoding//src/main/java/com/njxz/exam/serviceImpl/SystemConfigServiceImpl.java=U
3535
encoding//src/main/java/com/njxz/exam/serviceImpl/UserServiceImpl.java=UTF-8
3636
encoding//src/main/java/com/njxz/exam/serviceImpl/UserSubjectServiceImpl.java=UTF-8
3737
encoding//src/main/java/com/njxz/exam/util=GBK
38+
encoding//src/main/java/com/njxz/exam/util/Constants.java=UTF-8
3839
encoding//src/main/java/com/njxz/exam/util/ErrorUtil.java=UTF-8
40+
encoding//src/main/java/com/njxz/exam/util/ImageConverter.java=UTF-8
41+
encoding//src/main/java/com/njxz/exam/util/ImageUploadUtil.java=UTF-8
3942
encoding//src/main/java/com/njxz/exam/util/Logable.java=UTF-8
4043
encoding//src/main/java/com/njxz/exam/util/ResponseUtil.java=UTF-8
44+
encoding//src/main/java/com/njxz/exam/util/RichHtmlHandler.java=UTF-8
4145
encoding//src/main/java/com/njxz/exam/util/StringUtil.java=UTF-8
4246
encoding//src/main/java/com/njxz/exam/validation=UTF-8
4347
encoding//src/main/java/com/njxz/exam/validation/ValidNumSubNum.java=UTF-8

pom.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@
1616
<dependencies>
1717
<!--javax.servlet-api -->
1818
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
19-
<!-- <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId>
20-
<version>3.1.0</version> <scope>provided</scope> </dependency> -->
19+
<dependency>
20+
<groupId>javax.servlet</groupId>
21+
<artifactId>javax.servlet-api</artifactId>
22+
<version>3.1.0</version>
23+
<scope>provided</scope>
24+
</dependency>
2125

2226
<dependency>
2327
<groupId>jstl</groupId>

src/main/java/com/njxz/exam/controller/KnowledgePointsController.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,7 @@ public String getAllKonwledgePointsBySubjectId(@PathVariable(name = "sId", requi
9696
PageInfo<KnowledgePoints> page = new PageInfo<KnowledgePoints>(listKP);
9797
model.addAttribute("page", page);
9898

99-
/*
100-
* for (KnowledgePoints kp : listKP) { System.out.println(kp.toString()); }
101-
*/
99+
102100
return "knowledgePoints";
103101
}
104102

@@ -107,7 +105,7 @@ public String addKnowledgePointsPage(KnowledgePoints konwledgePoints, Model mode
107105
// --------------------2---------虚拟数据--从session中取--完成
108106
User user= (User) session.getAttribute("user");
109107
List<Subject> listS = subjectService.getSubjectsByUId(user.getuId().toString());
110-
// model.addAttribute("subjects", listS);--------如果输入数据失败,重新请求,失效。因此存入session中
108+
// model.addAttribute("subjects", listS);//--------如果输入数据失败,重新请求,失效。因此存入session中
111109
session.setAttribute("subjects", listS);
112110
model.addAttribute("konwledgePoint", new KnowledgePoints());
113111
return "knowledgePointAdd";
@@ -128,7 +126,8 @@ public ModelAndView addKnowledgePoints(@Valid KnowledgePoints knowledgePoints, B
128126

129127

130128

131-
Subject subject = subjectService.getSubjectById(new Long(knowledgePoints.getSubjectId()));
129+
//String的构造函数和包装原语的对象不应该被使用--原因:表意不明、占用更多内存
130+
Subject subject = subjectService.getSubjectById(Long.valueOf(knowledgePoints.getSubjectId()));
132131

133132
// 增加科目标题
134133
knowledgePoints.setSubjectTitle(subject.getsTitle());

src/main/java/com/njxz/exam/controller/TestPaperController.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -486,12 +486,13 @@ public void test() {
486486
handler.setNextPartId("01D395FD.81B8E900");
487487

488488
//写入文件中,
489+
File file;
489490
try {
490491
handler.handledHtml(request);
491492

492493
String logFile="D:\\log.txt";
493494

494-
File file=new File(logFile);
495+
file=new File(logFile);
495496
//FileOutputStream out=new FileOutputStream(file);
496497
FileWriter fw=new FileWriter(file);
497498

@@ -522,6 +523,8 @@ public void test() {
522523
} catch (IOException e) {
523524
// TODO Auto-generated catch block
524525
e.printStackTrace();
526+
}finally {
527+
525528
}
526529

527530

@@ -855,9 +858,12 @@ public Result generatePaperAuto(@RequestBody Map<String,Object> request) {
855858

856859
//最终结果试题
857860
System.out.println("!!!!!!!!!!!!!!!!!!!!!最终试题!!!!!!!!!!!!!!!!!!!!!!!");
858-
System.out.println("试卷id:"+resultUnit.geteId());
859-
System.out.println("题目数量\t知识点分布\t\t难度系数\t\t适应度");
860-
System.out.println(resultUnit.getQuestionList().size()+"\t"+resultUnit.getKpCoverage()+"\t"+resultUnit.getDifficultyLevel()+"\t"+resultUnit.getAdapterDegree());
861+
if(resultUnit!=null) {
862+
System.out.println("试卷id:"+resultUnit.geteId());
863+
System.out.println("题目数量\t知识点分布\t\t难度系数\t\t适应度");
864+
System.out.println(resultUnit.getQuestionList().size()+"\t"+resultUnit.getKpCoverage()+"\t"+resultUnit.getDifficultyLevel()+"\t"+resultUnit.getAdapterDegree());
865+
866+
}
861867

862868

863869
//将产生的最终试卷存入数据库---未完成

src/main/java/com/njxz/exam/intercept/SecurityFilter.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.njxz.exam.intercept;
22

33
import java.io.IOException;
4-
import java.net.URI;
54
import java.util.regex.Pattern;
65

76
import javax.servlet.Filter;
@@ -106,7 +105,6 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
106105
Pattern.compile("/databaseBabckup/*").matcher(path).find()||
107106
Pattern.compile("/testPaper/*").matcher(path).find()||
108107
Pattern.compile("/knowledgePoints/*").matcher(path).find()||
109-
Pattern.compile("/subject/*").matcher(path).find()||
110108
path.equals("/questions/print")
111109
) {
112110

src/main/java/com/njxz/exam/modle/Subject.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.njxz.exam.modle;
22

3+
import java.io.Serializable;
34
import java.util.Date;
45

56
import javax.validation.constraints.NotNull;
@@ -8,7 +9,10 @@
89
import org.springframework.stereotype.Component;
910

1011
@Component
11-
public class Subject {
12+
public class Subject implements Serializable{
13+
14+
private static final long serialVersionUID = 6042839088724245719L;
15+
1216
private Long sId;
1317

1418
@NotNull(message = "{subject.sTitle.nullOrEmpty}")

src/main/java/com/njxz/exam/modle/User.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.njxz.exam.modle;
22

3+
import java.io.Serializable;
34
import java.util.Date;
45

56
import javax.validation.constraints.NotNull;
@@ -14,7 +15,9 @@
1415
* */
1516
@Alias("User")
1617
@Component
17-
public class User {
18+
public class User implements Serializable{
19+
//生成唯一的序列化Id,考虑兼容性要求
20+
private static final long serialVersionUID = 5656989856162309746L;
1821
// 用户id,自增
1922
private Long uId;
2023
// 用户名

src/main/java/com/njxz/exam/serviceImpl/ExamServiceImpl.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.util.List;
66
import java.util.Map;
77

8-
import org.aspectj.util.LangUtil.ProcessController.Thrown;
98
import org.springframework.beans.factory.annotation.Autowired;
109
import org.springframework.stereotype.Service;
1110
import org.springframework.transaction.annotation.Transactional;
@@ -26,8 +25,6 @@
2625
import com.njxz.exam.service.ExamService;
2726
import com.njxz.exam.service.SubjectService;
2827
import com.njxz.exam.service.UserSubjectService;
29-
import com.njxz.exam.util.StringUtil;
30-
import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;
3128

3229
@Service("examService")
3330
public class ExamServiceImpl implements ExamService{

src/main/java/com/njxz/exam/serviceImpl/GeneratePaperServiceImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,10 +365,12 @@ public Map<String, Object> getQtById(List<Map<String, Object>> qtList, Long qtId
365365
}
366366

367367
// 根据qtId得到题型的分数
368-
public int getScoreById(List<Map<String, Object>> qtList, Long qtId) {
368+
public double getScoreById(List<Map<String, Object>> qtList, Long qtId) {
369369
for (Map<String, Object> map : qtList) {
370370
if (map.get("qtId").toString().equals(qtId.toString())) {
371-
return Integer.parseInt(map.get("qtScore").toString());
371+
//不能是int类型,应该是double
372+
//return Integer.parseInt(map.get("qtScore").toString());
373+
return Double.parseDouble(map.get("qtScore").toString());
372374
}
373375
}
374376
return 0;

src/main/java/com/njxz/exam/util/Constants.java

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,82 @@
11
package com.njxz.exam.util;
22

3-
import org.apache.ibatis.annotations.Case;
43

54
/*
6-
* 将难易程度做成可配置(但是只能配置一次)
7-
* 常量类
5+
* 将难易程度做成可配置(但是只能配置一次)
6+
* 常量类
87
* */
98
public class Constants {
10-
//difficulty_level难度系数取值
9+
//difficulty_level难度系数取值
1110
public static Double DIFFICULTY_LEVEL_VERYEASY=(double) 0.1;
1211
public static Double DIFFICULTY_LEVEL_EASY=(double) 0.3;
1312
public static Double DIFFICULTY_LEVEL_MEDIUM=(double) 0.5;
1413
public static Double DIFFICULTY_LEVEL_HARD=(double) 0.7;
1514
public static Double DIFFICULTY_LEVEL_VERYHARD=(double) 0.9;
1615

1716

18-
public static double KP_COVERAGE_RATE = 0;//知识点覆盖率 占 适应度 比率
19-
public static double DIFFICULTY_RATE = 1;//难度系数 占 适应度比率
17+
public static double KP_COVERAGE_RATE = 0;//知识点覆盖率 占 适应度 比率
18+
public static double DIFFICULTY_RATE = 1;//难度系数 占 适应度比率
2019

21-
//期望适应度
20+
//期望适应度
2221
public static double EXPAND_ADATPER=0.95;
23-
//最大迭代次数
22+
//最大迭代次数
2423
public static int RUN_Count=500;
2524

2625

27-
//上传图片存放位置
26+
//上传图片存放位置
2827
public static String PHOTO_DIRECTORY_NAME="upload";
29-
//word模板存放位置
28+
//word模板存放位置
3029
public static String WORD_TEMPLETE_DIRECTORY_NAME="wordTemplete";
3130

3231

33-
public static String CHINESE_1="一";
32+
public static String CHINESE_1="一";
3433

35-
//得到1-20之间的中文数字
34+
//得到1-20之间的中文数字
3635
public static String numGetChinese(int i) {
3736
if(i<=0||i>20) {
3837
return "";
3938
}
4039
switch (i) {
4140
case 1:
42-
return "一";
41+
return "一";
4342
case 2:
44-
return "二";
43+
return "二";
4544
case 3:
46-
return "三";
45+
return "三";
4746
case 4:
48-
return "四";
47+
return "四";
4948
case 5:
50-
return "五";
49+
return "五";
5150
case 6:
52-
return "六";
51+
return "六";
5352
case 7:
54-
return "七";
53+
return "七";
5554
case 8:
56-
return "八";
55+
return "八";
5756
case 9:
58-
return "九";
57+
return "九";
5958
case 10:
60-
return "十";
59+
return "十";
6160
case 11:
62-
return "十一";
61+
return "十一";
6362
case 12:
64-
return "十二";
63+
return "十二";
6564
case 13:
66-
return "十三";
65+
return "十三";
6766
case 14:
68-
return "十四";
67+
return "十四";
6968
case 15:
70-
return "十五";
69+
return "十五";
7170
case 16:
72-
return "十六";
71+
return "十六";
7372
case 17:
74-
return "十七";
73+
return "十七";
7574
case 18:
76-
return "十八";
75+
return "十八";
7776
case 19:
78-
return "十九";
77+
return "十九";
7978
case 20:
80-
return "二十";
79+
return "二十";
8180
default:
8281
return "";
8382
}
@@ -86,23 +85,23 @@ public static String numGetChinese(int i) {
8685

8786

8887

89-
//得到困难度的中文
88+
//得到困难度的中文
9089
public static String getDiffLevelStrCN(Double level) {
9190
String levelCN="";
9291
if((level-DIFFICULTY_LEVEL_VERYEASY)<0.0001&&(level-DIFFICULTY_LEVEL_VERYEASY)>-0.0001) {
93-
levelCN="很容易";
92+
levelCN="很容易";
9493
}
9594
if((level-DIFFICULTY_LEVEL_EASY)<0.0001&&(level-DIFFICULTY_LEVEL_EASY)>-0.0001) {
96-
levelCN="容易";
95+
levelCN="容易";
9796
}
9897
if((level-DIFFICULTY_LEVEL_MEDIUM)<0.0001&&(level-DIFFICULTY_LEVEL_MEDIUM)>-0.0001) {
99-
levelCN="中等";
98+
levelCN="中等";
10099
}
101100
if((level-DIFFICULTY_LEVEL_HARD)<0.0001&&(level-DIFFICULTY_LEVEL_HARD)>-0.0001) {
102-
levelCN="困难";
101+
levelCN="困难";
103102
}
104103
if((level-DIFFICULTY_LEVEL_VERYHARD)<0.0001&&(level-DIFFICULTY_LEVEL_VERYHARD)>-0.0001) {
105-
levelCN="很困难";
104+
levelCN="很困难";
106105
}
107106
return levelCN;
108107
}

0 commit comments

Comments
 (0)