Skip to content

Commit 3d65508

Browse files
author
杨利兵
committed
解决-fn参数不正常问题
1 parent e30ede5 commit 3d65508

File tree

8 files changed

+35
-90
lines changed

8 files changed

+35
-90
lines changed

src/main/java/com/yanglb/codegen/core/translator/BaseDdlTranslator.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,6 @@ public class BaseDdlTranslator extends BaseSqlTranslator<DdlModel> {
3434
protected void onBeforeTranslate() throws CodeGenException {
3535
super.onBeforeTranslate();
3636
this.writableModel.setExtension("ddl");
37-
38-
// 设置文件名(同Excel名)
39-
String fileName = this.model.get(0).getExcelFileName();
40-
File file = new File(fileName);
41-
fileName = file.getName();
42-
43-
int index = fileName.lastIndexOf(".");
44-
if(index != -1) {
45-
fileName = fileName.substring(0, index);
46-
}
47-
this.writableModel.setFileName(fileName);
4837
}
4938

5039
@Override

src/main/java/com/yanglb/codegen/core/translator/BaseMsgTranslator.java

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -49,28 +49,6 @@ protected String getSplitString() {
4949
return ".";
5050
}
5151

52-
/**
53-
* 文件名,优先使用--fn参数指定的文件名,如不指定使用excel名称
54-
* @return 文件名
55-
*/
56-
protected String getFileName() {
57-
String fileName = this.parameterModel.getFileName();
58-
if (fileName != null) {
59-
fileName.replaceAll("\"", "");
60-
} else {
61-
fileName = this.model.get(0).getExcelFileName();
62-
File file = new File(fileName);
63-
fileName = file.getName();
64-
65-
int index = fileName.lastIndexOf(".");
66-
if(index != -1) {
67-
fileName = fileName.substring(0, index);
68-
}
69-
}
70-
71-
return fileName;
72-
}
73-
7452
/**
7553
* 获取当前语言是否为默认语言
7654
* @return

src/main/java/com/yanglb/codegen/core/translator/BaseTranslator.java

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package com.yanglb.codegen.core.translator;
1717

18+
import java.io.File;
1819
import java.util.HashMap;
1920

2021
import com.yanglb.codegen.model.ParameterModel;
@@ -30,7 +31,29 @@ public class BaseTranslator<T> implements ITranslator<T> {
3031
protected BaseTranslator() {
3132
this.writableModel = new WritableModel();
3233
}
33-
34+
35+
/**
36+
* 文件名,优先使用--fn参数指定的文件名,如不指定使用excel名称
37+
* @return 文件名
38+
*/
39+
protected String getFileName() {
40+
String fileName = this.parameterModel.getFileName();
41+
if (fileName != null) {
42+
fileName.replaceAll("\"", "");
43+
} else {
44+
fileName = this.parameterModel.getFile();
45+
File file = new File(fileName);
46+
fileName = file.getName();
47+
48+
int index = fileName.lastIndexOf(".");
49+
if(index != -1) {
50+
fileName = fileName.substring(0, index);
51+
}
52+
}
53+
54+
return fileName;
55+
}
56+
3457
/**
3558
* 进行翻译处理
3659
* @param settingMap 配置信息
@@ -56,7 +79,7 @@ public WritableModel translate(HashMap<String, String> settingMap, ParameterMode
5679
protected void onBeforeTranslate() throws CodeGenException {
5780
// 设置文件名、等初始化操作
5881
this.writableModel.setEncode("utf-8");
59-
this.writableModel.setFileName("untitled");
82+
this.writableModel.setFileName(getFileName());
6083
this.writableModel.setData(new StringBuilder());
6184
this.writableModel.setOutputDir(this.parameterModel.getOptDir());
6285
}

src/main/java/com/yanglb/codegen/core/translator/impl/DdlMysqlTranslatorImpl.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,6 @@ public DdlMysqlTranslatorImpl() {
4242
this.sqlColumnEnd = "`";
4343
}
4444

45-
@Override
46-
protected void onBeforeTranslate() throws CodeGenException {
47-
super.onBeforeTranslate();
48-
this.writableModel.setExtension("ddl");
49-
50-
// 设置文件名(同Excel名)
51-
String fileName = this.model.get(0).getExcelFileName();
52-
File file = new File(fileName);
53-
fileName = file.getName();
54-
55-
int index = fileName.lastIndexOf(".");
56-
if (index != -1) {
57-
fileName = fileName.substring(0, index);
58-
}
59-
this.writableModel.setFileName(fileName);
60-
}
61-
6245
@Override
6346
protected void onTranslate() throws CodeGenException {
6447
super.onTranslate();

src/main/java/com/yanglb/codegen/core/translator/impl/DdlSqlServerTranslatorImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ public DdlSqlServerTranslatorImpl() {
3131
this.sqlColumnStart = "[";
3232
this.sqlColumnEnd = "]";
3333
}
34-
35-
@Override
36-
protected void onBeforeTranslate() throws CodeGenException {
37-
super.onBeforeTranslate();
38-
}
3934

4035
@Override
4136
protected void onTranslate() throws CodeGenException {

src/main/java/com/yanglb/codegen/core/translator/impl/DdlSqliteTranslatorImpl.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,6 @@ public DdlSqliteTranslatorImpl() {
3333
this.sqlColumnEnd = "\"";
3434
}
3535

36-
@Override
37-
protected void onBeforeTranslate() throws CodeGenException {
38-
super.onBeforeTranslate();
39-
this.writableModel.setExtension("ddl");
40-
41-
// 设置文件名(同Excel名)
42-
String fileName = this.model.get(0).getExcelFileName();
43-
File file = new File(fileName);
44-
fileName = file.getName();
45-
46-
int index = fileName.lastIndexOf(".");
47-
if(index != -1) {
48-
fileName = fileName.substring(0, index);
49-
}
50-
this.writableModel.setFileName(fileName);
51-
}
52-
5336
@Override
5437
protected void onTranslate() throws CodeGenException {
5538
super.onTranslate();

src/main/java/com/yanglb/codegen/core/translator/impl/DmlTranslatorImpl.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,6 @@ protected void onBeforeTranslate() throws CodeGenException {
3131
super.onBeforeTranslate();
3232
this.writableModel.setExtension("dml");
3333

34-
// 设置文件名(同Excel名)
35-
String fileName = this.model.get(0).getExcelFileName();
36-
File file = new File(fileName);
37-
fileName = file.getName();
38-
39-
int index = fileName.lastIndexOf(".");
40-
if(index != -1) {
41-
fileName = fileName.substring(0, index);
42-
}
43-
this.writableModel.setFileName(fileName);
44-
4534
String target = parameterModel.getOptions().getOptionValue("target", "mysql");
4635
switch (target) {
4736
case "mysql":

src/main/java/com/yanglb/codegen/core/translator/impl/MsgAndroidTranslatorImpl.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,19 @@ protected void onBeforeTranslate() throws CodeGenException {
3434

3535
this.writableModel.setExtension("xml");
3636

37-
// 文件名
38-
if (this.parameterModel.getFileName() == null) {
39-
this.writableModel.setFileName("strings");
37+
// Android 资源输出目录结构为 strings、strings-zh等
38+
String path = "values";
39+
if (!this.isDefaultLanguage()) {
40+
path = String.format("values-%s", this.msgLang);
4041
}
4142

43+
// 文件名,未设置时默认为strings
4244
String fileName = writableModel.getFileName();
43-
String path = (this.isDefaultLanguage() ? "" : this.getSplitString() + this.msgLang);
44-
fileName = ("values" + path) + "/" + fileName;
45+
if (StringUtil.isNullOrEmpty(this.parameterModel.getFileName())) {
46+
fileName = "strings";
47+
}
48+
49+
fileName = path + "/" + fileName;
4550
writableModel.setFileName(fileName);
4651
}
4752

0 commit comments

Comments
 (0)