优化: 格式化代码

master
曹世达 6 months ago
parent e593d2415b
commit 5ea54ca168

@ -7,7 +7,10 @@ import space.caoshd.otone.entity.ContextInfo;
import space.caoshd.otone.entity.OutputInfo; import space.caoshd.otone.entity.OutputInfo;
import space.caoshd.otone.entity.TableInfo; import space.caoshd.otone.entity.TableInfo;
import space.caoshd.otone.tool.PropTools; import space.caoshd.otone.tool.PropTools;
import space.caoshd.otone.util.*; import space.caoshd.otone.util.CfgUtils;
import space.caoshd.otone.util.FileUtils;
import space.caoshd.otone.util.PathConsts;
import space.caoshd.otone.util.VelocityUtils;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
@ -20,16 +23,17 @@ public class SourceBuilder {
private static final Logger LOGGER = LoggerFactory.getLogger(SourceBuilder.class); private static final Logger LOGGER = LoggerFactory.getLogger(SourceBuilder.class);
private static final PropTools CONFIG = new PropTools(PathConsts.CONFIG_PROPERTIES_PATH); private static final PropTools CONFIG = new PropTools(PathConsts.CONFIG_PROPERTIES_PATH);
private final Map<String, Object> extra = new HashMap<>();
private TableInfo tableInfo; private TableInfo tableInfo;
private OutputInfo outputInfo; private OutputInfo outputInfo;
private List<TableInfo> tableInfoList; private List<TableInfo> tableInfoList;
private List<OutputInfo> outputInfoList; private List<OutputInfo> outputInfoList;
private final Map<String, Object> extra = new HashMap<>(); private static ClassInfo buildClassInfo(TableInfo tableInfo, OutputInfo outputInfo) {
return new InfoClsBuilder().setTableName(tableInfo.getTableName())
.setPackageName(outputInfo.getPackageName())
.build();
}
public SourceBuilder setTableInfo(TableInfo tableInfo) { public SourceBuilder setTableInfo(TableInfo tableInfo) {
this.tableInfo = tableInfo; this.tableInfo = tableInfo;
@ -88,9 +92,9 @@ public class SourceBuilder {
} }
private void build(TableInfo tableInfo, OutputInfo outputInfo) { private void build(TableInfo tableInfo, OutputInfo outputInfo) {
// 创建数据文件夹 // 创建数据文件夹
FileUtils.mkdir(outputInfo.getPackagePath()); FileUtils.mkdir(outputInfo.getPackagePath());
// 创建上下文环境信息 // 创建上下文环境信息
ContextInfo contextInfo = new ContextInfo(); ContextInfo contextInfo = new ContextInfo();
// 设置表信息 // 设置表信息
@ -99,42 +103,40 @@ public class SourceBuilder {
ClassInfo classInfo = buildClassInfo(tableInfo, outputInfo); ClassInfo classInfo = buildClassInfo(tableInfo, outputInfo);
contextInfo.setConfigInfo(classInfo); contextInfo.setConfigInfo(classInfo);
// 获取输出文件路径 // 完善输出信息 计算输出路径
enhanceOutputInfo(outputInfo, classInfo); enhanceOutputInfo(outputInfo, classInfo);
String outputPath = outputInfo.getOutputPath();
// 获取模板文件路径
String templatePath = outputInfo.getTemplatePath();
// 判断输出文件是否已存在 // 判断输出文件是否已存在
if (!FileUtils.exists(outputPath)) { if (!FileUtils.exists(outputInfo.getOutputPath())) {
// 输出文件不存在 直接生成 // 输出文件不存在 直接生成
VelocityUtils.render(templatePath, outputPath, contextInfo); VelocityUtils.render(
outputInfo.getTemplatePath(),
outputInfo.getOutputPath(),
contextInfo
);
} }
// 输出文件存在 判断是否可以覆盖 // 输出文件存在 判断是否可以覆盖
if (CONFIG.getBoolean(CfgUtils.OUTPUT_COVER_IF_EXIST)) { if (CONFIG.getBoolean(CfgUtils.OUTPUT_COVER_IF_EXIST)) {
// 配置可以执行覆盖 覆盖生成 // 配置可以执行覆盖 覆盖生成
VelocityUtils.render(templatePath, outputPath, contextInfo); VelocityUtils.render(
outputInfo.getTemplatePath(),
outputInfo.getOutputPath(),
contextInfo
);
} else { } else {
// 配置不可以执行覆盖 提示错误消息 // 配置不可以执行覆盖 提示错误消息
LOGGER.warn("output file already exists: {}, " + "please remove it or enable auto " + "cover exist file," LOGGER.warn(
"output file already exists: {}, " + "please remove it or enable auto "
+ "cover exist file,"
+ " config.properties should like [output.cover_if_exists=true]", + " config.properties should like [output.cover_if_exists=true]",
outputPath outputInfo.getOutputPath()
); );
} }
} }
private void enhanceOutputInfo(OutputInfo outputInfo, ClassInfo classInfo) { private void enhanceOutputInfo(OutputInfo outputInfo, ClassInfo classInfo) {
new InfoOutBuilder() new InfoOutBuilder().init(outputInfo).setClassName(classInfo.getClassName()).build();
.init(outputInfo)
.setClassName(classInfo.getClassName())
.build();
}
private static ClassInfo buildClassInfo(TableInfo tableInfo, OutputInfo outputInfo) {
return new InfoClsBuilder()
.setTableName(tableInfo.getTableName())
.setPackageName(outputInfo.getPackageName())
.build();
} }
private void build(TableInfo tableInfo, List<OutputInfo> outputInfoList) { private void build(TableInfo tableInfo, List<OutputInfo> outputInfoList) {

Loading…
Cancel
Save