提交 af3f1496 authored 作者: zhangshuang's avatar zhangshuang

zs 初步完成版

上级 5e4ba9a8
...@@ -29,6 +29,8 @@ public class AdaptationController { ...@@ -29,6 +29,8 @@ public class AdaptationController {
} }
@PostMapping("/compile") @PostMapping("/compile")
public ServerResponse compile(@RequestBody AdaptRequest adaptRequest){ public ServerResponse compile(@RequestBody AdaptRequest adaptRequest){
System.out.print("编译");
System.out.print(JSON.toJSONString(adaptRequest));
return adaptationService.compile(adaptRequest.getProject(),adaptRequest.getUuid()); return adaptationService.compile(adaptRequest.getProject(),adaptRequest.getUuid());
} }
@PostMapping("/deploy") @PostMapping("/deploy")
......
...@@ -28,6 +28,7 @@ public class ProjectController { ...@@ -28,6 +28,7 @@ public class ProjectController {
@PutMapping @PutMapping
public ServerResponse saveProject(@RequestBody Project project){ public ServerResponse saveProject(@RequestBody Project project){
System.out.print("添加或修改项目");
System.out.println(JSON.toJSONString(project)); System.out.println(JSON.toJSONString(project));
return projectService.saveProject(project); return projectService.saveProject(project);
} }
......
...@@ -36,7 +36,7 @@ public class Project { ...@@ -36,7 +36,7 @@ public class Project {
private String des;//描述 private String des;//描述
private String stage;//阶段(源代码、替换后、编译后) private Integer stage;//阶段(0:源代码 1:替换后 2:编译后)
private Integer status = 1;//状态(0:删除 1:未删除) private Integer status = 1;//状态(0:删除 1:未删除)
...@@ -61,4 +61,6 @@ public class Project { ...@@ -61,4 +61,6 @@ public class Project {
private boolean deploySuccess = false; private boolean deploySuccess = false;
private String deployPath = "编译路径";//不知道路径,等王永磊改
} }
...@@ -2,6 +2,7 @@ package com.zjty.adaptationmaster.adaptor.service.Impl; ...@@ -2,6 +2,7 @@ package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.zjty.adaptationmaster.adaptor.entity.Project; import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.entity.Rule; import com.zjty.adaptationmaster.adaptor.entity.Rule;
import com.zjty.adaptationmaster.adaptor.entity.RuleSet;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao; import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.base.enums.Const; import com.zjty.adaptationmaster.base.enums.Const;
import com.zjty.adaptationmaster.base.response.ServerResponse; import com.zjty.adaptationmaster.base.response.ServerResponse;
...@@ -16,8 +17,11 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -16,8 +17,11 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import static java.util.stream.Collectors.toList;
@Service @Service
public class AdaptationServiceImpl implements AdaptationService { public class AdaptationServiceImpl implements AdaptationService {
@Autowired @Autowired
...@@ -25,28 +29,37 @@ public class AdaptationServiceImpl implements AdaptationService { ...@@ -25,28 +29,37 @@ public class AdaptationServiceImpl implements AdaptationService {
@Autowired @Autowired
private ProjectDao projectDao; private ProjectDao projectDao;
@Override @Override
@Transactional
public ServerResponse adapt(Project project,List<Rule> rules,String uuid) throws IOException { public ServerResponse adapt(Project project,List<Rule> rules,String uuid) throws IOException {
adaptor.setRuleList(rules); adaptor.setRuleList(rules);
adaptor.setProject(project); adaptor.setProject(project);
adaptor.setUuid(uuid); adaptor.setUuid(uuid);
adaptor.doAdapt(); return adaptor.doAdapt();
return ServerResponse.success(project);
} }
@Override @Override
@Transactional
public ServerResponse compile(Project project, String uuid) { public ServerResponse compile(Project project, String uuid) {
// Project project = new Project(); // Project project = new Project();
// project.setCompileFilePath("C:\\home\\project\\rsc\\hrmbclient\\pom.xml"); // project.setCompileFilePath("C:\\home\\project\\rsc\\hrmbclient\\pom.xml");
// project.setDependenceManagement(Report.DependenceManagement.MAVEN); // project.setDependenceManagement(Report.DependenceManagement.MAVEN);
//Project project = projectDao.getOne(projectId); //Project project = projectDao.getOne(projectId);
if(project.getReport()==null)return ServerResponse.error("请进行项目体检或完善项目信息"); try {
switch (project.getReport().getDependenceManagement()) { if(project.getReport()==null)return ServerResponse.error("请进行项目体检或完善项目信息");
case MAVEN:
new MavenCompiler(project, Const.MAVENHOME, uuid).compiler();
switch (project.getReport().getDependenceManagement()) {
case MAVEN:
new MavenCompiler(project, Const.MAVENHOME, uuid).compiler();
}
Project one = projectDao.getOne(project.getId());
one.setStage(2);
return ServerResponse.success("编译成功",filter(one));
}catch (Exception e){
return ServerResponse.error("编译失败");
} }
return ServerResponse.success(project);
} }
@Override @Override
...@@ -63,14 +76,17 @@ public class AdaptationServiceImpl implements AdaptationService { ...@@ -63,14 +76,17 @@ public class AdaptationServiceImpl implements AdaptationService {
public ServerResponse unZipProject(String path, Project project) { public ServerResponse unZipProject(String path, Project project) {
Project project1 = projectDao.getOne(project.getId()); Project project1 = projectDao.getOne(project.getId());
//FileUtil fileUtil = new FileUtil(); //FileUtil fileUtil = new FileUtil();
project1.setCodeUrl(Const.UPLOAD_LOCATION+File.separator+project.getProjectName()); project1.setCodeUrl(Const.UPLOAD_LOCATION+File.separator+project1.getProjectName());
try { try {
FileZip.unzip(new File(path),project.getCodeUrl()); FileZip.unzip(new File(path),project1.getCodeUrl());
project.setStage(project.getStage()); project1.setStage(project.getStage());
if(project.getStage() == 1){
project1.setReport(null);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return ServerResponse.success(project); return ServerResponse.success(filter(project1));
} }
@Override @Override
...@@ -82,4 +98,26 @@ public class AdaptationServiceImpl implements AdaptationService { ...@@ -82,4 +98,26 @@ public class AdaptationServiceImpl implements AdaptationService {
public ServerResponse stop(Project project, String uuid) { public ServerResponse stop(Project project, String uuid) {
return ServerResponse.success(new ApusicDeployer(Const.CTLPATH,Const.MAVENHOME).stop(project.getProjectName(),uuid)); return ServerResponse.success(new ApusicDeployer(Const.CTLPATH,Const.MAVENHOME).stop(project.getProjectName(),uuid));
} }
private Project filter(Project pro){
//过滤删除的规则集
List<RuleSet> ruleSets = pro.getRuleSets();
if(ruleSets != null && ruleSets.size() > 0){
List<RuleSet> sets = new ArrayList<>();
for (RuleSet set :ruleSets) {
set.ruleSetView();
if(set.getStatus() == 1){
sets.add(set);
}
}
pro.setRuleSets(sets);
}
//过滤删除的自定义规则
List<Rule> rules = pro.getRules();
if(rules != null && rules.size() > 0){
List<Rule> collect = rules.stream().filter(rule -> rule != null && rule.getStatus() != 0).collect(toList());
pro.setRules(collect);
}
return pro;
}
} }
...@@ -2,6 +2,8 @@ package com.zjty.adaptationmaster.adaptor.service.Impl; ...@@ -2,6 +2,8 @@ package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.zjty.adaptationmaster.adaptor.controller.WebSocketServer; import com.zjty.adaptationmaster.adaptor.controller.WebSocketServer;
import com.zjty.adaptationmaster.adaptor.entity.Project; import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.ReadedFileTask; import com.zjty.adaptationmaster.utils.ReadedFileTask;
import com.zjty.adaptationmaster.adaptor.entity.OriginalFile; import com.zjty.adaptationmaster.adaptor.entity.OriginalFile;
import com.zjty.adaptationmaster.adaptor.entity.Rule; import com.zjty.adaptationmaster.adaptor.entity.Rule;
...@@ -27,6 +29,8 @@ public class Adaptor { ...@@ -27,6 +29,8 @@ public class Adaptor {
@Autowired @Autowired
private OriginalFileDao originalFileDao; private OriginalFileDao originalFileDao;
private ProjectDao projectDao;
private String uuid; private String uuid;
//@Value("${base.path}") //@Value("${base.path}")
private String basePath = Const.CONSOLE; private String basePath = Const.CONSOLE;
...@@ -56,13 +60,17 @@ public class Adaptor { ...@@ -56,13 +60,17 @@ public class Adaptor {
this.uuid = uuid; this.uuid = uuid;
} }
public void doAdapt(){ public ServerResponse doAdapt(){
//String regular = preprocesAdaptation(); //String regular = preprocesAdaptation();
//List<String> strings1 = preprocessRegular(); //List<String> strings1 = preprocessRegular();
Map<String, Rule> strings1 = preprocessRegular(); Map<String, Rule> strings1 = preprocessRegular();
if(strings1.size()<1){ if(strings1.size()<1){
System.out.println("检测到匹配规则为空"); System.out.println("检测到匹配规则为空");
return; return ServerResponse.error("检测到匹配规则为空");
}
if(project.getCodeUrl() == null || project.getCodeUrl().equals("")){
System.out.println("未上传源代码");
return ServerResponse.error("未上传源代码");
} }
ThreadPoolExecutor pool = new ThreadPoolExecutor(poolSize,poolSize,10, TimeUnit.SECONDS,new ArrayBlockingQueue<>(poolSize*2)); ThreadPoolExecutor pool = new ThreadPoolExecutor(poolSize,poolSize,10, TimeUnit.SECONDS,new ArrayBlockingQueue<>(poolSize*2));
pool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); pool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
...@@ -153,8 +161,12 @@ public class Adaptor { ...@@ -153,8 +161,12 @@ public class Adaptor {
} }
originalFileDao.saveAll(originalFiles); originalFileDao.saveAll(originalFiles);
//adaptationDetailLogEntityDao.saveAll(detailsLogEntities); //adaptationDetailLogEntityDao.saveAll(detailsLogEntities);
Project one = projectDao.getOne(project.getId());
one.setStage(1);
return ServerResponse.success("替换成功",one);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
return ServerResponse.error("替换失败");
} }
} }
......
...@@ -26,17 +26,21 @@ public class InspectServiceImpl implements InspectService { ...@@ -26,17 +26,21 @@ public class InspectServiceImpl implements InspectService {
@Transactional @Transactional
@Override @Override
public ServerResponse inspect(Project project) { public ServerResponse inspect(Project project) {
//Project project = projectDao.getOne(projectId); if(project.getCodeUrl() != null && !project.getCodeUrl().equals("")){
Map<String, Report.Language> suffixLanguageMapping = new HashMap<>(); //Project project = projectDao.getOne(projectId);
suffixLanguageMapping.put("java",Report.Language.JAVA); Map<String, Report.Language> suffixLanguageMapping = new HashMap<>();
suffixLanguageMapping.put("cpp",Report.Language.CPP); suffixLanguageMapping.put("java",Report.Language.JAVA);
suffixLanguageMapping.put("py",Report.Language.PYTHON); suffixLanguageMapping.put("cpp",Report.Language.CPP);
suffixLanguageMapping.put("jsp",Report.Language.JSP); suffixLanguageMapping.put("py",Report.Language.PYTHON);
//suffixLanguageMapping.put("html",Report.Language.ONLYVIEW); suffixLanguageMapping.put("jsp",Report.Language.JSP);
Report report = new Inspector(project, suffixLanguageMapping).inspect(); //suffixLanguageMapping.put("html",Report.Language.ONLYVIEW);
reportDao.save(report); Report report = new Inspector(project, suffixLanguageMapping).inspect();
Project one = projectDao.getOne(project.getId()); reportDao.save(report);
one.setReport(report); Project one = projectDao.getOne(project.getId());
return ServerResponse.success(report); one.setReport(report);
return ServerResponse.success(report);
}else{
return ServerResponse.error("未上传源代码");
}
} }
} }
...@@ -23,6 +23,7 @@ public class MavenCompiler { ...@@ -23,6 +23,7 @@ public class MavenCompiler {
} }
public void compiler(){ public void compiler(){
System.out.print("wwwwwww");
InvocationRequest request = new DefaultInvocationRequest(); InvocationRequest request = new DefaultInvocationRequest();
request.setPomFile(new File(project.getReport().getCompileFilePath())); request.setPomFile(new File(project.getReport().getCompileFilePath()));
request.setGoals(Collections.singletonList("package")); request.setGoals(Collections.singletonList("package"));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论