提交 92cf482c authored 作者: 孙洁清's avatar 孙洁清

关键技术接口根据name查询功能

......@@ -35,12 +35,12 @@ public class ReportVo {
/**
* 架构,整合型还是分离型,根据jsp数量决定
*/
private String framework;
private Integer framework;
/**
* 代码管理方式,
*/
private String manager;
private Integer manager;
/**
* 数据库类型
......@@ -50,7 +50,7 @@ public class ReportVo {
/**
* 语言
*/
private String language;
private Integer language;
/**
* 生成报告存储地址
......
......@@ -11,10 +11,27 @@ public enum DependenceManagement {
/**
* maven方式
*/
MAVEN,
MAVEN("maven",1),
/**
* gradle方式
*/
GRADLE,
GRADLE("gradle",2);
DependenceManagement(String name,Integer status){
this.name=name;
this.status=status;
}
private String name;
private Integer status;
public String getName() {
return name;
}
public Integer getStatus() {
return status;
}
}
......@@ -9,29 +9,56 @@ public enum Language {
/**
* java类型
*/
JAVA,
JAVA("java",1),
/**
* java类型
*/
VUE("java",2),
/**
* java类型
*/
CPP("cpp",2),
/**
* pyth类型
*/
PYTHON,
PYTHON("python",3),
/**
* asp
*/
ASP,
ASP("asp",4),
/**
* js
*/
JAVASCRIPT,
JAVASCRIPT("js",5),
/**
* go
*/
GO,
GO("go",6),
/**
* html
*/
HTML,
UNKNOW,
HTML("html",7),
UNKNOW("unknowun",8);
Language(String name,Integer status){
this.name=name;
this.status=status;
}
private String name;
private Integer status;
public String getName() {
return name;
}
public Integer getStatus() {
return status;
}
}
......@@ -2,6 +2,9 @@ package com.zjty.inspect.inspect;
import com.zjty.inspect.dao.*;
import com.zjty.inspect.entity.*;
import com.zjty.inspect.enums.DependenceManagement;
import com.zjty.inspect.enums.Framework;
import com.zjty.inspect.enums.Language;
import com.zjty.inspect.utils.*;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -15,8 +18,6 @@ import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
......@@ -95,7 +96,7 @@ public class Inspector {
* key:properties
* value:[{/Users/path},{/Users/path}]
*/
private Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
private Map<String, Language> suffixLanguageMapping = new HashMap<>();
/**
* 规则列表
......@@ -267,7 +268,7 @@ public class Inspector {
for (Path path : entry.getValue()) {
if (path.getFileName().endsWith("pom.xml")) {
// TODO: 2020-02-28 解析maven树文件,设置依赖保存到redis
report.setManager(Report.DependenceManagement.MAVEN.name());
report.setManager(DependenceManagement.MAVEN.getStatus());
ProjectPom projectPom = analysisFile.analysisPom(path);
StringBuilder stringBuilder = new StringBuilder();
......@@ -282,7 +283,7 @@ public class Inspector {
for (Path path : entry.getValue()) {
if (path.getFileName().endsWith("build.gradle")) {
ProjectPom projectPom = new ProjectPom();
report.setManager(Report.DependenceManagement.GRADLE.name());
report.setManager(DependenceManagement.GRADLE.getStatus());
List<PomDependency> pomDependencies = AnalysisFile.analysisGradle(path);
projectPom.setDependencies(pomDependencies);
//设置依赖
......@@ -355,18 +356,21 @@ public class Inspector {
private void setReportLanguageAndFrame() {
String most = null;
int mostStatus = 0;
int maxnum = 0;
//统计文件最多的
for (Map.Entry<String, Counter> entry : languageMatchMap.entrySet()) {
if (entry.getValue().getNumber() > maxnum) {
most = suffixLanguageMapping.get(entry.getKey()).name();
Language language = Language.valueOf(most);
mostStatus=language.getStatus();
maxnum = entry.getValue().getNumber();
}
}
//设置语言
report.setLanguage(most == null ? Report.Language.UNKNOW.name() : most);
report.setLanguage(most == null ? Language.UNKNOW.getStatus() : mostStatus);
//设置架构
report.setFramework(languageMatchMap.get("jsp").i > 0 ? "混合型架构" : "分离型架构");
report.setFramework(languageMatchMap.get("jsp").i > 0 ? Framework.混合型架构.getStatus() : Framework.分离型架构.getStatus());
//设置是否需要重构
if (languageMatchMap.get("jsp").i == 0 & languageMatchMap.get("java").i == 0) {
report.setRecastMethod("建议重构");
......
......@@ -3,6 +3,7 @@ package com.zjty.inspect.service.impl;
import com.zjty.inspect.entity.InspectParameter;
import com.zjty.inspect.entity.Report;
import com.zjty.inspect.entity.ReportVo;
import com.zjty.inspect.enums.Language;
import com.zjty.inspect.service.InspectService;
import com.zjty.inspect.inspect.Inspector;
import freemarker.cache.StringTemplateLoader;
......@@ -31,15 +32,15 @@ public class InspectServiceImpl implements InspectService {
@Override
public ReportVo inspect(ReportVo reportVo,InspectParameter inspectParameter) {
//统计文件后缀数量
Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java", Report.Language.JAVA);
suffixLanguageMapping.put("vue", Report.Language.VUE);
suffixLanguageMapping.put("cpp", Report.Language.CPP);
suffixLanguageMapping.put("py", Report.Language.PYTHON);
suffixLanguageMapping.put("jsp", Report.Language.JAVA);
suffixLanguageMapping.put("go", Report.Language.GO);
suffixLanguageMapping.put("js", Report.Language.JAVASCRIPT);
suffixLanguageMapping.put("html", Report.Language.HTML);
Map<String, Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java", Language.JAVA);
suffixLanguageMapping.put("vue", Language.VUE);
suffixLanguageMapping.put("cpp", Language.CPP);
suffixLanguageMapping.put("py", Language.PYTHON);
suffixLanguageMapping.put("jsp", Language.JAVA);
suffixLanguageMapping.put("go", Language.GO);
suffixLanguageMapping.put("js", Language.JAVASCRIPT);
suffixLanguageMapping.put("html", Language.HTML);
//构造成员变量
inspector.setInspectParameter(inspectParameter);
//构造报告vo
......
......@@ -54,4 +54,6 @@ public class ReportServiceImpl implements ReportService {
return null;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论