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

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

# Conflicts: # src/main/java/com/zjty/adaptationmaster/utils/Inspector.java
......@@ -29,13 +29,4 @@ public class Test {
return ServerResponse.success();
}
@GetMapping("/testCollection")
public ServerResponse testCollection(){
Report report = new Report();
String[] array = {"aa","bb","cc"};
List<String> jarPath = Arrays.asList(array);
report.setJarPath(jarPath);
reportDao.save(report);
return ServerResponse.success();
}
}
package com.zjty.adaptationmaster.adaptor.entity;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.ProjectPom;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency;
import com.zjty.adaptationmaster.utils.Assessor;
import com.zjty.adaptationmaster.utils.Inspector;
import lombok.AllArgsConstructor;
......@@ -17,15 +18,13 @@ import java.util.List;
@AllArgsConstructor
public class Report {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private Language language;//语言
private String framework;//架构
private DatabaseType databaseType;//数据库类型
private int fileNum;
private long lineNum;
private List<Dependency> dependencies;
@Transient
private ProjectPom projectPom;
......@@ -49,6 +48,6 @@ public class Report {
MYSQL,ORACLE,SQLSERVER,POSTGRE
}
public enum Language{
JAVA,PYTHON,CPP,JSP,ASP,ONLYVIEW
JAVA,PYTHON,CPP,JSP,ASP,ONLYVIEW,UNKNOW,JAVASCRIPT
}
}
package com.zjty.adaptationmaster.adaptor.entity;
import com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.Dependency;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.util.List;
/**
* 返回
* @author Mcj
* @date 2020-01-03 10:33
*/
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ReportEntity {
@Id
@GeneratedValue
private Integer id;
private Report.Language language;//语言
private String framework;//架构
private Report.DatabaseType databaseType;//数据库类型
private int fileNum;
private long lineNum;
private Report.Separate isSeparate;//前后端是否分离
private String compileFilePath;//项目编译文件,如果是maven项目,用maven编译,那么就是pom.xml
public Report.DependenceManagement dependenceManagement;//版本管理方式
private String packagePath;
public enum DependenceManagement{
MAVEN,GRADLE,ANT
}
public enum Separate{
WHOLE,SEPARATE
}
public enum DatabaseType{
MYSQL,ORACLE,SQLSERVER,POSTGRE
}
public enum Language{
JAVA,PYTHON,CPP,JSP,ASP,ONLYVIEW
}
}
......@@ -8,12 +8,10 @@ import javax.persistence.Entity;
import javax.persistence.Id;
import java.util.List;
@Entity
@NoArgsConstructor
@Data
public class ProjectPom {
@Id
private int id;
//private Parent parent;
private String modelVersion;
private String groupId;
......@@ -38,7 +36,7 @@ public class ProjectPom {
//private List<Module> modules;//模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径
//private List<Repository> repositories;//发现依赖和扩展的远程仓库列表
//private List<PluginRepository> pluginRepositiries;//发现插件的远程仓库列表,这些插件用于构建和报表
//private List<Dependency> dependencies;
private List<Dependency> dependencies;
//private Repoting repoting;//该元素描述使用报表插件产生报表的规范。当用户执行“mvn site”,这些报表就会运行。 在页面导航栏能看到所有报表的链接
//private DependencyManagement dependencyManagement;//继承自该项目的所有子项目的默认依赖信息。这部分的依赖信息不会被立即解析,而是当子项目声明一个依赖(必须描述group ID和artifact ID信息),如果group ID和artifact ID以外的一些信息没有描述,则通过group ID和artifact ID匹配到这里的依赖,并使用这里的依赖信息
//private DistributionManagement distributionManagement;//项目分发信息,在执行mvn deploy后表示要发布的位置。有了这些信息就可以把网站部署到远程服务器或者把构件部署到远程仓库
......
......@@ -62,5 +62,5 @@ public class Dependency {
//private List<Dependency> parentDependencies;//
private int pomId;
private int reportId;
}
package com.zjty.adaptationmaster.adaptor.repository;
import com.zjty.adaptationmaster.adaptor.entity.Dependency;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
......
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.repository;
import com.zjty.adaptationmaster.adaptor.entity.Report;
import com.zjty.adaptationmaster.adaptor.entity.ReportEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
public interface ReportDao extends JpaRepository<Report, Integer>, JpaSpecificationExecutor {
public interface ReportDao extends JpaRepository<ReportEntity, Integer>, JpaSpecificationExecutor {
}
......@@ -2,6 +2,10 @@ package com.zjty.adaptationmaster.adaptor.service.Impl;
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;
......@@ -14,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
......@@ -23,6 +28,9 @@ public class InspectServiceImpl implements InspectService {
@Autowired
private ReportDao reportDao;
@Autowired
private PomDependencyDao pomDependencyDao;
@Transactional
@Override
......@@ -38,12 +46,30 @@ public class InspectServiceImpl implements InspectService {
//suffixLanguageMapping.put("html",Report.Language.ONLYVIEW);
LoggerFactory.getLogger(getClass()).info("这里rulelist为空,需要设置");
Report report = new Inspector(project, suffixLanguageMapping, new ArrayList<>()).inspect();
ReportEntity reportEntity = new ReportEntity();
reportEntity.setCompileFilePath(report.getCompileFilePath());
reportEntity.setDatabaseType(report.getDatabaseType());
reportEntity.setDependenceManagement(report.getDependenceManagement());
reportEntity.setFileNum(report.getFileNum());
reportEntity.setFramework(report.getFramework());
reportEntity.setIsSeparate(report.getIsSeparate());
reportEntity.setLanguage(report.getLanguage());
reportEntity.setPackagePath(report.getPackagePath());
List<Dependency> dependencies = report.getDependencies();
if(report.getPackagePath() == null){
report.setPackagePath(project.getCodeUrl());
}
reportDao.save(report);
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("未上传源代码");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论