提交 b5f127f7 authored 作者: wyl's avatar wyl

合并分支 'wyl' 到 'master'

Wyl 查看合并请求 ty_wyl/adaptation-master1!55
package com.zjty.adaptationmaster.adaptor.controller;
import com.zjty.adaptationmaster.adaptor.entity.AdaptRequest;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.entity.Report;
import com.zjty.adaptationmaster.adaptor.service.InspectService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -13,10 +15,9 @@ public class InspectController {
@Autowired
private InspectService inspectService;
@PutMapping("/inspect")
public ServerResponse inspect(@RequestBody Project projectId){
return inspectService.inspect(projectId);
public ServerResponse inspect(@RequestBody AdaptRequest adaptRequest){
return inspectService.inspect(adaptRequest.getProject(),adaptRequest.getUuid());
}
@GetMapping("/{id}")
......
......@@ -8,6 +8,8 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.nio.file.Path;
import java.time.LocalDateTime;
import java.util.List;
@Data
......@@ -34,6 +36,7 @@ public class Report {
@ElementCollection
public List<String> jarPath;//依赖文件的地址列表,用于编译,如果不是用版本管理工具
private String packagePath;
private long createTime;
public enum DependenceManagement{
MAVEN,GRADLE,ANT
......
......@@ -29,7 +29,9 @@ public class ReportEntity {
public Report.DependenceManagement dependenceManagement;//版本管理方式
private String packagePath;
public String jarPath;//依赖文件的地址列表,用于编译,如果不是用版本管理工具
@Column(columnDefinition = "text")
private String warnList;
private long createTime;
public enum DependenceManagement{
MAVEN,GRADLE,ANT
}
......
package com.zjty.adaptationmaster.adaptor.repository;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.PomDependency;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface PomDependencyDao extends JpaRepository<Dependency,Integer> {
public interface PomDependencyDao extends JpaRepository<PomDependency,Integer> {
List<Dependency> findAllByReportIdEquals(Integer id);
List<PomDependency> findAllByReportIdEquals(Integer id);
}
......@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.entity.Report;
import com.zjty.adaptationmaster.adaptor.entity.ReportEntity;
import com.zjty.adaptationmaster.adaptor.entity.Rule;
import com.zjty.adaptationmaster.adaptor.repository.PomDependencyDao;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.PomDependency;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.adaptor.repository.ReportDao;
......@@ -15,10 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Service
public class InspectServiceImpl implements InspectService {
......@@ -31,18 +30,60 @@ public class InspectServiceImpl implements InspectService {
@Transactional
@Override
public ServerResponse inspect(Project project) {
public ServerResponse inspect(Project project,String uuid) {
if(project.getCodeUrl() != null && !project.getCodeUrl().equals("")){
//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<>();
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为空,需要设置");
Report report = new Inspector(project, suffixLanguageMapping, new ArrayList<>()).inspect();
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依赖声明"));
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("webOffice","这里用到了weboffice文档展示编辑插件"));
ruleList.add(new Rule("weboffice","这里用到了weboffice文档展示编辑插件"));
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,uuid).inspect();
ReportEntity reportEntity = new ReportEntity();
reportEntity.setCompileFilePath(report.getCompileFilePath());
......@@ -52,9 +93,9 @@ public class InspectServiceImpl implements InspectService {
reportEntity.setFramework(report.getFramework());
reportEntity.setIsSeparate(report.getIsSeparate());
reportEntity.setLanguage(report.getLanguage());
reportEntity.setLineNum(report.getLineNum());
reportEntity.setCreateTime(new Date().getTime());
List<PomDependency> dependencies = report.getDependencies();
String s = JSON.toJSONString(dependencies);
List<Inspector.Warn> warnList = report.getWarnList();
String s1 = JSON.toJSONString(warnList);
reportEntity.setWarnList(s1);
......@@ -67,8 +108,8 @@ public class InspectServiceImpl implements InspectService {
ReportEntity reportEntitySave = reportDao.save(reportEntity);
Project one = projectDao.getOne(project.getId());
List<Dependency> dependencies = report.getDependencies();
for (Dependency dependency : dependencies) {
List<PomDependency> dependencies = report.getDependencies();
for (PomDependency dependency : dependencies) {
dependency.setReportId(reportEntitySave.getId());
}
pomDependencyDao.saveAll(dependencies);
......@@ -80,14 +121,13 @@ public class InspectServiceImpl implements InspectService {
}
@Override
public Report getReportById(Integer id) {
public ServerResponse getReportById(Integer id) {
ReportEntity one = reportDao.getOne(id);
Report report = new Report();
List<Dependency> allByReportIdEquals = pomDependencyDao.findAllByReportIdEquals(id);
List<PomDependency> allByReportIdEquals = pomDependencyDao.findAllByReportIdEquals(id);
report.setId(one.getId());
List<PomDependency> dependencies = JSON.parseArray(one.getDependence(), PomDependency.class);
report.setDependencies(dependencies);
report.setDependencies(allByReportIdEquals);
report.setDatabaseType(one.getDatabaseType());
report.setLanguage(one.getLanguage());
report.setPackagePath(one.getPackagePath());
......@@ -97,12 +137,13 @@ public class InspectServiceImpl implements InspectService {
report.setLineNum(one.getLineNum());
report.setFramework(one.getFramework());
report.setIsSeparate(one.getIsSeparate());
report.setCreateTime(one.getCreateTime());
List<Inspector.Warn> warns = JSON.parseArray(one.getWarnList(), Inspector.Warn.class);
report.setWarnList(warns);
List<String> path = JSON.parseArray(one.getJarPath(), String.class);
report.setJarPath(path);
return report;
return ServerResponse.success(report);
}
}
......@@ -6,7 +6,7 @@ import com.zjty.adaptationmaster.adaptor.entity.ReportEntity;
import com.zjty.adaptationmaster.base.response.ServerResponse;
public interface InspectService {
ServerResponse inspect(Project projectId);
ServerResponse inspect(Project projectId,String uuid);
Report getReportById(Integer id);
ServerResponse getReportById(Integer id);
}
......@@ -2,6 +2,7 @@ package com.zjty.adaptationmaster;
import com.zjty.adaptationmaster.adaptor.entity.db.DBManage;
import com.zjty.adaptationmaster.utils.Regular;
import org.junit.Test;
import org.postgresql.copy.CopyManager;
import org.postgresql.core.BaseConnection;
......@@ -9,6 +10,8 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.SQLException;
......@@ -17,4 +20,13 @@ public class Test4 {
String s = "\"record_alarm\" bit(1) DEFAULT NULL,";
System.out.println(s.replaceAll("bit(1)","boolean"));
}
@Test
public void testSubPath(){
Path path = Paths.get("D:\\project\\adaptation\\apusicLibTest\\src");
System.out.println(path.subpath(0,1));
for(int i = 0;i<10;i++) {
System.out.println(path.subpath(i, 10));
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论