package com.dy.pipIrrParamSet.paramSet;
|
|
import com.dy.pipIrrParamSet.ServerProperties;
|
import com.dy.pipIrrParamSet.console.Command;
|
import com.dy.pipIrrParamSet.util.FileUtil;
|
import org.springframework.context.annotation.Scope;
|
import org.springframework.stereotype.Component;
|
|
import java.io.File;
|
import java.nio.file.Path;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/5/29 13:44
|
* @Description
|
*/
|
@Component
|
@Scope("prototype")
|
public class ParamSetWeb {
|
|
protected void set(String[] comIn, Command command){
|
boolean flag = setApplicationCommonWebYml(comIn, command) ;
|
if(flag){
|
flag = setInitConfig(comIn, command) ;
|
if(flag){
|
List<File> webModules = this.getWebModules(comIn, command);
|
if(webModules == null || webModules.size() == 0){
|
command.out("未得到任何web模块");
|
}else{
|
/*
|
command.out1("发现web模块:");
|
for(File webModule : webModules){
|
command.out1(" " + webModule.getName());
|
command.out1(" " + webModule.getPath());
|
}
|
command.out1("");
|
*/
|
Boolean banner = null ;
|
int countCancel = 0 ;
|
int countSuccess = 0 ;
|
int countFailure = 0 ;
|
for(File webModule : webModules){
|
banner = setWebModuleApplicationYml(comIn, command, webModule.getPath() + "\\") ;
|
if(banner == null){
|
countCancel ++ ;
|
}else if(banner.booleanValue()){
|
countSuccess ++ ;
|
}else if(!banner.booleanValue()){
|
countFailure ++ ;
|
}
|
}
|
command.out("参数设置完成,其中" + countSuccess + "个模块成功," + countFailure + "个模块失败," + countCancel + "个模块忽略");
|
}
|
}
|
}
|
|
}
|
|
private boolean setApplicationCommonWebYml(String[] comIn, Command command){
|
String filePath = ServerProperties.WorkspaceRoot
|
+ ParamKey.AbstractPathOfMGlobal
|
+ ParamKey.AbstractPathOfResources
|
+ ParamKey.FileOfApplicationCommonWebYml_MainName
|
+ "."
|
+ ParamKey.FileOfApplicationCommonWebYml_ExeName ;
|
String modelFilePath = ServerProperties.WorkspaceRoot
|
+ ParamKey.AbstractPathOfMGlobal
|
+ ParamKey.AbstractPathOfResources
|
+ ParamKey.FileOfApplicationCommonWebYml_MainName
|
+ ParamKey.FileOfModelNamePre
|
+ comIn[1]
|
+ ParamKey.FileOfModelNameTail
|
+ "."
|
+ ParamKey.FileOfApplicationCommonWebYml_ExeName ;
|
Path appFilePath = FileUtil.getFilePath(filePath) ;
|
if(appFilePath == null){
|
command.out("未找到配置文件" + filePath);
|
return false ;
|
}
|
Path appModelFilePath = FileUtil.getFilePath(modelFilePath) ;
|
if(appModelFilePath == null){
|
command.out("未找到配置文件" + modelFilePath);
|
return false ;
|
}
|
List<String> modelLines;
|
try{
|
modelLines = FileUtil.readFile(appModelFilePath);
|
}catch (Exception e){
|
command.out("读取文件" + modelFilePath + "发生异常:" + e.getMessage());
|
return false ;
|
}
|
if(modelLines == null || modelLines.size() == 0){
|
command.out("文件" + modelFilePath + "是空文件");
|
return false ;
|
}else{
|
try {
|
FileUtil.writeFile(appFilePath, modelLines);
|
}catch (Exception e){
|
command.out("写入文件" + filePath + "发生异常:" + e.getMessage());
|
return false ;
|
}
|
}
|
return true ;
|
}
|
|
private boolean setInitConfig(String[] comIn, Command command){
|
String filePath = ServerProperties.WorkspaceRoot
|
+ ParamKey.AbstractPathOfMGlobal
|
+ ParamKey.AbstractPathOfResources
|
+ ParamKey.FileOfInitConfigXml_MainName
|
+ "."
|
+ ParamKey.FileOfInitConfigXml_ExeName ;
|
String modelFilePath = ServerProperties.WorkspaceRoot
|
+ ParamKey.AbstractPathOfMGlobal
|
+ ParamKey.AbstractPathOfResources
|
+ ParamKey.FileOfInitConfigXml_MainName
|
+ ParamKey.FileOfModelNamePre
|
+ comIn[1]
|
+ ParamKey.FileOfModelNameTail
|
+ "."
|
+ ParamKey.FileOfInitConfigXml_ExeName ;
|
Path appFilePath = FileUtil.getFilePath(filePath) ;
|
if(appFilePath == null){
|
command.out("未找到配置文件" + filePath);
|
return false ;
|
}
|
Path appModelFilePath = FileUtil.getFilePath(modelFilePath) ;
|
if(appModelFilePath == null){
|
command.out("未找到配置文件" + modelFilePath);
|
return false ;
|
}
|
List<String> modelLines;
|
try{
|
modelLines = FileUtil.readFile(appModelFilePath);
|
}catch (Exception e){
|
command.out("读取文件" + modelFilePath + "发生异常:" + e.getMessage());
|
return false ;
|
}
|
if(modelLines == null || modelLines.size() == 0){
|
command.out("文件" + modelFilePath + "是空文件");
|
return false ;
|
}else{
|
try {
|
FileUtil.writeFile(appFilePath, modelLines);
|
}catch (Exception e){
|
command.out("写入文件" + filePath + "发生异常:" + e.getMessage());
|
return false ;
|
}
|
}
|
return true ;
|
}
|
|
|
private Boolean setWebModuleApplicationYml(String[] comIn, Command command, String absolutePath){
|
String modelFilePath = absolutePath
|
+ ParamKey.AbstractPathOfResources
|
+ ParamKey.FileOfApplication_MainName
|
+ ParamKey.FileOfModelNamePre
|
+ comIn[1]
|
+ ParamKey.FileOfModelNameTail
|
+ "."
|
+ ParamKey.FileOfApplication_ExeName ;
|
File f = new File(modelFilePath) ;
|
if(!f.exists()){
|
return null ;
|
}
|
|
Path appModelFilePath = FileUtil.getFilePath(modelFilePath) ;
|
if(appModelFilePath == null){
|
return false ;
|
}
|
String filePath = absolutePath
|
+ ParamKey.AbstractPathOfResources
|
+ ParamKey.FileOfApplication_MainName
|
+ "."
|
+ ParamKey.FileOfApplication_ExeName ;
|
Path appFilePath = FileUtil.getFilePath(filePath) ;
|
if(appFilePath == null){
|
command.out("未找到配置文件" + filePath);
|
return false ;
|
}
|
|
List<String> modelLines;
|
try{
|
modelLines = FileUtil.readFile(appModelFilePath);
|
}catch (Exception e){
|
command.out("读取文件" + modelFilePath + "发生异常");
|
return false ;
|
}
|
if(modelLines == null || modelLines.size() == 0){
|
command.out("文件" + modelFilePath + "是空文件");
|
return false ;
|
}else{
|
try {
|
FileUtil.writeFile(appFilePath, modelLines);
|
}catch (Exception e){
|
command.out("写入文件" + filePath + "发生异常:" + e.getMessage());
|
return false ;
|
}
|
}
|
return true ;
|
}
|
|
private List<File> getWebModules(String[] comIn, Command command){
|
List<File> webModules = new ArrayList<>();
|
String dirPath = ServerProperties.WorkspaceRoot
|
+ ParamKey.AbstractPathOfWeb ;
|
File dir = new File(dirPath) ;
|
if(dir.exists() && dir.isDirectory()){
|
File[] subFiles = dir.listFiles() ;
|
if(subFiles != null && subFiles.length > 0){
|
for(File subFile : subFiles){
|
if(subFile.isDirectory()){
|
webModules.add(subFile);
|
}
|
}
|
}
|
}
|
return webModules ;
|
}
|
}
|