提交 6c96a16e authored 作者: wyl's avatar wyl

rule

上级 39804980
...@@ -13,7 +13,6 @@ public class InspectController { ...@@ -13,7 +13,6 @@ public class InspectController {
@Autowired @Autowired
private InspectService inspectService; private InspectService inspectService;
@PutMapping("/inspect") @PutMapping("/inspect")
public ServerResponse inspect(@RequestBody Project projectId){ public ServerResponse inspect(@RequestBody Project projectId){
return inspectService.inspect(projectId); return inspectService.inspect(projectId);
......
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.zjty.adaptationmaster.adaptor.entity.Project; import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.entity.Report; import com.zjty.adaptationmaster.adaptor.entity.Report;
import com.zjty.adaptationmaster.adaptor.entity.ReportEntity; import com.zjty.adaptationmaster.adaptor.entity.ReportEntity;
import com.zjty.adaptationmaster.adaptor.entity.Rule;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency; import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao; import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.adaptor.repository.ReportDao; import com.zjty.adaptationmaster.adaptor.repository.ReportDao;
...@@ -33,15 +34,54 @@ public class InspectServiceImpl implements InspectService { ...@@ -33,15 +34,54 @@ public class InspectServiceImpl implements InspectService {
public ServerResponse inspect(Project project) { public ServerResponse inspect(Project project) {
if(project.getCodeUrl() != null && !project.getCodeUrl().equals("")){ if(project.getCodeUrl() != null && !project.getCodeUrl().equals("")){
//Project project = projectDao.getOne(projectId); //Project project = projectDao.getOne(projectId);
// Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
// suffixLanguageMapping.put("java",Report.Language.JAVA);
// suffixLanguageMapping.put("cpp",Report.Language.CPP);
// suffixLanguageMapping.put("py",Report.Language.PYTHON);
// suffixLanguageMapping.put("jsp",Report.Language.JSP);
// suffixLanguageMapping.put("asp",Report.Language.ASP);
// //suffixLanguageMapping.put("html",Report.Language.ONLYVIEW);
// LoggerFactory.getLogger(getClass()).info("这里rulelist为空,需要设置");
Map<String, Report.Language> suffixLanguageMapping = new HashMap<>(); Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java",Report.Language.JAVA); suffixLanguageMapping.put("java",Report.Language.JAVA);
suffixLanguageMapping.put("cpp",Report.Language.CPP); suffixLanguageMapping.put("cpp",Report.Language.CPP);
suffixLanguageMapping.put("py",Report.Language.PYTHON); suffixLanguageMapping.put("py",Report.Language.PYTHON);
suffixLanguageMapping.put("jsp",Report.Language.JSP); suffixLanguageMapping.put("jsp",Report.Language.JSP);
suffixLanguageMapping.put("asp",Report.Language.ASP); suffixLanguageMapping.put("html",Report.Language.ONLYVIEW);
//suffixLanguageMapping.put("html",Report.Language.ONLYVIEW); suffixLanguageMapping.put("js",Report.Language.JAVASCRIPT);
LoggerFactory.getLogger(getClass()).info("这里rulelist为空,需要设置"); suffixLanguageMapping.put("go",Report.Language.GO);
Report report = new Inspector(project, suffixLanguageMapping, new ArrayList<>()).inspect();
List<Rule> ruleList = new ArrayList<>();
//com.mysql.cj.jdbc.Driver//com.mysql.jdbc.Driver
ruleList.add(new Rule("com.mysql.cj.jdbc.Driver","建议修改为postgresql数据库驱动"));
ruleList.add(new Rule("com.mysql.jdbc.Driver","建议修改为postgresql数据库驱动"));
//net.sourceforge.jtds.jdbc.Driver//sqlserver
ruleList.add(new Rule("net.sourceforge.jtds.jdbc.Driver","建议修改为postgresql数据库驱动"));
//COM.ibm.db2.jdbc.app.DB2Driver//com.ibm.db2.jcc.DB2Driver//COM.ibm.db2.jdbc.net.DB2Driver//com.ibm.db2.jcc.DB2Driver
ruleList.add(new Rule("DB2Driver","建议修改为postgresql数据库驱动"));
//oracle.jdbc.OracleDriver//oracle.jdbc.driver.OracleDriver
ruleList.add(new Rule("OracleDriver","建议修改为postgresql数据库驱动"));
ruleList.add(new Rule("mysql-connector-java","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("com.microsoft.sqlserver","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("com.oracle","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("org.mariadb.jdbc","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("com.sap.cloud.db.jdbc","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("com.ibm.informix","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("org.firebirdsql.jdbc","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("org.hsqldb","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("com.h2database","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("org.apache.derby","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("org.mongodb","建议修改为postgresql依赖声明"));
ruleList.add(new Rule("public native","这里用到了JNI"));
ruleList.add(new Rule("<packaging>jar</packaging>","建议修改打包方式为war包并排除掉springboot内置的tomcat,以部署到国产化中间件上"));
ruleList.add(new Rule("WebOffice","这里用到了weboffice文档展示编辑插件"));
ruleList.add(new Rule("pdfobject.min.js","这里用到了pdf文档展示插件"));
ruleList.add(new Rule("pdfobject.js","这里用到了pdf文档展示插件"));
ruleList.add(new Rule(".swf","这里用到了flash流媒体播放插件"));
Report report = new Inspector(project, suffixLanguageMapping, ruleList).inspect();
ReportEntity reportEntity = new ReportEntity(); ReportEntity reportEntity = new ReportEntity();
reportEntity.setCompileFilePath(report.getCompileFilePath()); reportEntity.setCompileFilePath(report.getCompileFilePath());
......
...@@ -39,61 +39,63 @@ public class Inspector { ...@@ -39,61 +39,63 @@ public class Inspector {
//String next = scanner.next(); //String next = scanner.next();
//Project project = new Project(); //Project project = new Project();
//project.setCodeUrl(next); //project.setCodeUrl(next);
Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("java",Report.Language.JAVA);
suffixLanguageMapping.put("cpp",Report.Language.CPP);
suffixLanguageMapping.put("py",Report.Language.PYTHON);
suffixLanguageMapping.put("jsp",Report.Language.JSP);
suffixLanguageMapping.put("html",Report.Language.ONLYVIEW);
suffixLanguageMapping.put("js",Report.Language.JAVASCRIPT);
suffixLanguageMapping.put("go",Report.Language.GO);
List<Rule> ruleList = new ArrayList<>();
//com.mysql.cj.jdbc.Driver//com.mysql.jdbc.Driver
ruleList.add(new Rule("com.mysql.cj.jdbc.Driver","建议修改为postgresql数据库驱动"));
ruleList.add(new Rule("com.mysql.jdbc.Driver","建议修改为postgresql数据库驱动"));
//net.sourceforge.jtds.jdbc.Driver//sqlserver
ruleList.add(new Rule("net.sourceforge.jtds.jdbc.Driver","建议修改为postgresql数据库驱动"));
//COM.ibm.db2.jdbc.app.DB2Driver//com.ibm.db2.jcc.DB2Driver//COM.ibm.db2.jdbc.net.DB2Driver//com.ibm.db2.jcc.DB2Driver
ruleList.add(new Rule("DB2Driver","建议修改为postgresql数据库驱动"));
//oracle.jdbc.OracleDriver//oracle.jdbc.driver.OracleDriver
ruleList.add(new Rule("OracleDriver","建议修改为postgresql数据库驱动"));
ruleList.add(new Rule("mysql-connector-java","建议修改为postgresql依赖声明")); // Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
ruleList.add(new Rule("com.microsoft.sqlserver","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("java",Report.Language.JAVA);
ruleList.add(new Rule("com.oracle","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("cpp",Report.Language.CPP);
ruleList.add(new Rule("org.mariadb.jdbc","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("py",Report.Language.PYTHON);
ruleList.add(new Rule("com.sap.cloud.db.jdbc","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("jsp",Report.Language.JSP);
ruleList.add(new Rule("com.ibm.informix","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("html",Report.Language.ONLYVIEW);
ruleList.add(new Rule("org.firebirdsql.jdbc","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("js",Report.Language.JAVASCRIPT);
ruleList.add(new Rule("org.hsqldb","建议修改为postgresql依赖声明")); // suffixLanguageMapping.put("go",Report.Language.GO);
ruleList.add(new Rule("com.h2database","建议修改为postgresql依赖声明")); //
ruleList.add(new Rule("org.apache.derby","建议修改为postgresql依赖声明")); // List<Rule> ruleList = new ArrayList<>();
ruleList.add(new Rule("org.mongodb","建议修改为postgresql依赖声明")); // //com.mysql.cj.jdbc.Driver//com.mysql.jdbc.Driver
// ruleList.add(new Rule("com.mysql.cj.jdbc.Driver","建议修改为postgresql数据库驱动"));
// ruleList.add(new Rule("com.mysql.jdbc.Driver","建议修改为postgresql数据库驱动"));
// //net.sourceforge.jtds.jdbc.Driver//sqlserver
// ruleList.add(new Rule("net.sourceforge.jtds.jdbc.Driver","建议修改为postgresql数据库驱动"));
// //COM.ibm.db2.jdbc.app.DB2Driver//com.ibm.db2.jcc.DB2Driver//COM.ibm.db2.jdbc.net.DB2Driver//com.ibm.db2.jcc.DB2Driver
// ruleList.add(new Rule("DB2Driver","建议修改为postgresql数据库驱动"));
// //oracle.jdbc.OracleDriver//oracle.jdbc.driver.OracleDriver
// ruleList.add(new Rule("OracleDriver","建议修改为postgresql数据库驱动"));
//
// ruleList.add(new Rule("mysql-connector-java","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("com.microsoft.sqlserver","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("com.oracle","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("org.mariadb.jdbc","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("com.sap.cloud.db.jdbc","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("com.ibm.informix","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("org.firebirdsql.jdbc","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("org.hsqldb","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("com.h2database","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("org.apache.derby","建议修改为postgresql依赖声明"));
// ruleList.add(new Rule("org.mongodb","建议修改为postgresql依赖声明"));
//
// ruleList.add(new Rule("public native","这里用到了JNI"));
// ruleList.add(new Rule("<packaging>jar</packaging>","建议修改打包方式为war包并排除掉springboot内置的tomcat,以部署到国产化中间件上"));
// ruleList.add(new Rule("WebOffice","这里用到了weboffice文档展示编辑插件"));
// ruleList.add(new Rule("pdfobject.min.js","这里用到了pdf文档展示插件"));
// ruleList.add(new Rule("pdfobject.js","这里用到了pdf文档展示插件"));
// ruleList.add(new Rule(".swf","这里用到了flash流媒体播放插件"));
ruleList.add(new Rule("public native","这里用到了JNI")); // //String[] projectSrc = {"D:\\project\\testAccess\\rhasspy-master"};
ruleList.add(new Rule("<packaging>jar</packaging>","建议修改打包方式为war包并排除掉springboot内置的tomcat,以部署到国产化中间件上")); // //多个子项目
ruleList.add(new Rule("WebOffice","这里用到了weboffice文档展示编辑插件")); // String[] projectSrc = {"D:\\project\\testAccess\\SpringBoot-Labs-master"/*"D:\\project\\bservice","D:\\project\\debug","D:\\project\\glutton"*/};
ruleList.add(new Rule("pdfobject.min.js","这里用到了pdf文档展示插件")); // //String[] projectSrc = {"D:\\project\\testAccess\\Telegram-master"};
ruleList.add(new Rule("pdfobject.js","这里用到了pdf文档展示插件")); // for(String s:projectSrc){
ruleList.add(new Rule(".swf","这里用到了flash流媒体播放插件")); // Project project = new Project();
// project.setCodeUrl(s);
//String[] projectSrc = {"D:\\project\\testAccess\\rhasspy-master"}; // Inspector inspector = new Inspector(project,suffixLanguageMapping,ruleList);
//多个子项目 // Report inspect = inspector.inspect();
String[] projectSrc = {"D:\\project\\testAccess\\SpringBoot-Labs-master"/*"D:\\project\\bservice","D:\\project\\debug","D:\\project\\glutton"*/}; // System.out.println("语言:"+inspect.getLanguage()+" 数据库:"+inspect.getDatabaseType()+" 依赖管理:"+inspect.getDependenceManagement()+" 文件数量:"+inspect.getFileNum()+" 代码行数:"+inspect.getLineNum());
//String[] projectSrc = {"D:\\project\\testAccess\\Telegram-master"}; // for(Warn warn:inspect.getWarnList()){
for(String s:projectSrc){ // System.out.println("\t"+warn);
Project project = new Project(); // }
project.setCodeUrl(s); // //System.out.println(inspect);
Inspector inspector = new Inspector(project,suffixLanguageMapping,ruleList); // }
Report inspect = inspector.inspect(); // System.out.println(LocalDateTime.now());
System.out.println("语言:"+inspect.getLanguage()+" 数据库:"+inspect.getDatabaseType()+" 依赖管理:"+inspect.getDependenceManagement()+" 文件数量:"+inspect.getFileNum()+" 代码行数:"+inspect.getLineNum());
for(Warn warn:inspect.getWarnList()){
System.out.println("\t"+warn);
}
//System.out.println(inspect);
}
System.out.println(LocalDateTime.now());
} }
private Project project; private Project project;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论