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

Merge branch 'master' of 192.168.1.249:ty_wyl/adaptation-master1 into wyl

......@@ -4,6 +4,7 @@ import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.service.InspectService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
......@@ -11,8 +12,15 @@ import org.springframework.web.bind.annotation.*;
public class InspectController {
@Autowired
private InspectService inspectService;
@PutMapping("/inspect")
public ServerResponse inspect(@RequestBody Project projectId){
return inspectService.inspect(projectId);
}
@GetMapping("/{id}")
public ResponseEntity report(@PathVariable Integer id){
return ResponseEntity.ok(inspectService.getReportById(id));
}
}
package com.zjty.adaptationmaster.adaptor.entity;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency;
import com.zjty.adaptationmaster.utils.Inspector;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -29,12 +30,13 @@ public class ReportEntity {
private Report.DatabaseType databaseType;//数据库类型
private int fileNum;
private long lineNum;
private String dependence;
private Report.Separate isSeparate;//前后端是否分离
private String compileFilePath;//项目编译文件,如果是maven项目,用maven编译,那么就是pom.xml
public Report.DependenceManagement dependenceManagement;//版本管理方式
private String packagePath;
public String jarPath;//依赖文件的地址列表,用于编译,如果不是用版本管理工具
private String warnList;
public enum DependenceManagement{
MAVEN,GRADLE,ANT
}
......
package com.zjty.adaptationmaster.adaptor.repository;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency;
import org.springframework.data.jpa.repository.JpaRepository;
public interface PomDependencyDao extends JpaRepository<Dependency, Integer> {
}
package com.zjty.adaptationmaster.adaptor.service.Impl;
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.pomEntity.SecondFloor.Dependency;
import com.zjty.adaptationmaster.adaptor.repository.DependencyDao;
import com.zjty.adaptationmaster.adaptor.repository.PomDependencyDao;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.adaptor.repository.ReportDao;
import com.zjty.adaptationmaster.adaptor.service.InspectService;
......@@ -28,9 +27,6 @@ public class InspectServiceImpl implements InspectService {
@Autowired
private ReportDao reportDao;
@Autowired
private PomDependencyDao pomDependencyDao;
@Transactional
@Override
......@@ -56,23 +52,53 @@ public class InspectServiceImpl implements InspectService {
reportEntity.setIsSeparate(report.getIsSeparate());
reportEntity.setLanguage(report.getLanguage());
reportEntity.setPackagePath(report.getPackagePath());
List<Dependency> dependencies = report.getDependencies();
String s = JSON.toJSONString(dependencies);
List<Inspector.Warn> warnList = report.getWarnList();
String s1 = JSON.toJSONString(warnList);
reportEntity.setWarnList(s1);
List<String> jarPath = report.getJarPath();
String s2 = JSON.toJSONString(jarPath);
reportEntity.setJarPath(s2);
reportEntity.setDependence(s);
if(report.getPackagePath() == null){
report.setPackagePath(project.getCodeUrl());
}
Project one = projectDao.getOne(project.getId());
ReportEntity reportEntitySave = reportDao.save(reportEntity);
for (Dependency dependency : dependencies) {
dependency.setReportId(reportEntitySave.getId());
}
one.setReport(report);
report.setId(reportEntitySave.getId());
pomDependencyDao.saveAll(dependencies);
return ServerResponse.success(report);
}else{
return ServerResponse.error("未上传源代码");
}
}
@Override
public Report getReportById(Integer id) {
ReportEntity one = reportDao.getOne(id);
Report report = new Report();
report.setId(one.getId());
List<Dependency> dependencies = JSON.parseArray(one.getDependence(), Dependency.class);
report.setDependencies(dependencies);
report.setDatabaseType(one.getDatabaseType());
report.setLanguage(one.getLanguage());
report.setPackagePath(one.getPackagePath());
report.setCompileFilePath(one.getCompileFilePath());
report.setDependenceManagement(one.getDependenceManagement());
report.setFileNum(one.getFileNum());
report.setLineNum(one.getLineNum());
report.setFramework(one.getFramework());
report.setIsSeparate(one.getIsSeparate());
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;
}
}
package com.zjty.adaptationmaster.adaptor.service;
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.base.response.ServerResponse;
public interface InspectService {
ServerResponse inspect(Project projectId);
Report getReportById(Integer id);
}
......@@ -72,7 +72,33 @@ public class FileUtil {
}
}
}
private static void recursiveFiles(String path){
// 创建 File对象
File file = new File(path);
// 取 文件/文件夹
File files[] = file.listFiles();
// 对象为空 直接返回
if(files == null){
return;
}
// 存在文件 遍历 判断
for (File f : files) {
// 判断是否为 文件夹
if(f.isDirectory()){
// 为 文件夹继续遍历
recursiveFiles(f.getAbsolutePath());
// 判断是否为 文件
} else if(f.isFile()){
if("pom.xml".equals(f.getName())){
System.out.println("解析pom");
}
System.out.println(f.getName());
// System.out.println(f.getAbsolutePath());
} else {
System.out.print("未知错误文件");
}
}
}
public static void main(String[] args) {
String filePath = "C:\\Users\\wyl\\Desktop\\alllib.zip";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论