Skip to content

Commit 5524de6

Browse files
author
杨利兵
committed
resx添加头部信息
1 parent eecac82 commit 5524de6

File tree

5 files changed

+89
-4
lines changed

5 files changed

+89
-4
lines changed

message.xlsx

86 Bytes
Binary file not shown.

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

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

18+
import java.io.BufferedReader;
19+
import java.io.IOException;
20+
import java.io.InputStream;
1821
import java.util.HashMap;
1922
import java.util.Map;
2023

2124
import com.yanglb.codegen.model.TableModel;
2225
import com.yanglb.codegen.core.translator.BaseMsgTranslator;
2326
import com.yanglb.codegen.exceptions.CodeGenException;
27+
import com.yanglb.codegen.utils.Conf;
2428
import com.yanglb.codegen.utils.Infos;
2529
import com.yanglb.codegen.utils.Resources;
2630
import com.yanglb.codegen.utils.StringUtil;
31+
import org.yaml.snakeyaml.reader.StreamReader;
32+
import org.yaml.snakeyaml.reader.UnicodeReader;
2733

2834
public class MsgCSTranslatorImpl extends BaseMsgTranslator {
2935
@Override
@@ -33,6 +39,26 @@ protected void onBeforeTranslate() throws CodeGenException {
3339
this.writableModel.setExtension("resx");
3440
}
3541

42+
protected String readResource(String path) throws CodeGenException {
43+
InputStream inputStream = Conf.class
44+
.getClassLoader()
45+
.getResourceAsStream(path);
46+
47+
BufferedReader reader = new BufferedReader(new UnicodeReader(inputStream));
48+
StringBuilder sb = new StringBuilder();
49+
try {
50+
String tmp;
51+
while ((tmp = reader.readLine()) != null) {
52+
sb.append(tmp);
53+
sb.append("\n");
54+
}
55+
reader.close();
56+
} catch (IOException ex) {
57+
throw new CodeGenException(String.format(Resources.getString("E_014"), path));
58+
}
59+
return sb.toString();
60+
}
61+
3662
@Override
3763
protected void onTranslate() throws CodeGenException {
3864
super.onTranslate();
@@ -42,11 +68,12 @@ protected void onTranslate() throws CodeGenException {
4268
"<root>\r\n");
4369

4470
if (this.isDefaultLanguage()) {
45-
sb.append(this.settingMap.get("schema"));
71+
sb.append(readResource("msg/resx/schema.txt"));
4672
}
4773

4874
// 添加 resheader
49-
sb.append(this.settingMap.get("resheader"));
75+
// sb.append(this.settingMap.get("resheader"));
76+
sb.append(readResource("msg/resx/resheader.txt"));
5077

5178
// 替换标记
5279
String s = this.replaceFlags(sb.toString(), null);

src/main/java/com/yanglb/codegen/shell/CGShell.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ public class CGShell {
2626
public boolean invoke(String[] args) {
2727

2828
// test data
29-
// args = new String[] {"msg.prop", "/Users/yanglibing/Work/cg/tests/msg.xlsx"};
29+
args = new String[] {"msg.resx", "/Users/yanglibing/Work/cg/tests/msg.xlsx"};
3030
// args = new String[] {"ddl.sqlite", "/Users/yanglibing/Work/cg/tests/ddl.xlsx"};
3131
// args = new String[] {"dml", "/Users/yanglibing/Work/cg/tests/dml.xlsx"};
32-
args = new String[] {"ddl.mssql", "-h"};
32+
// args = new String[] {"ddl.mssql", "-v"};
3333
// args = new String[] {"msg.prop", "src/main/resources/message.xlsx", "-fn", "message"};
3434

3535
IParser parser = IParser.parserByArgs(args);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<resheader name="resmimetype">
2+
<value>text/microsoft-resx</value>
3+
</resheader>
4+
<resheader name="version">
5+
<value>2.0</value>
6+
</resheader>
7+
<resheader name="reader">
8+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
9+
</resheader>
10+
<resheader name="writer">
11+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
12+
</resheader>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
2+
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
3+
<xsd:element name="root" msdata:IsDataSet="true">
4+
<xsd:complexType>
5+
<xsd:choice maxOccurs="unbounded">
6+
<xsd:element name="metadata">
7+
<xsd:complexType>
8+
<xsd:sequence>
9+
<xsd:element name="value" type="xsd:string" minOccurs="0" />
10+
</xsd:sequence>
11+
<xsd:attribute name="name" use="required" type="xsd:string" />
12+
<xsd:attribute name="type" type="xsd:string" />
13+
<xsd:attribute name="mimetype" type="xsd:string" />
14+
<xsd:attribute ref="xml:space" />
15+
</xsd:complexType>
16+
</xsd:element>
17+
<xsd:element name="assembly">
18+
<xsd:complexType>
19+
<xsd:attribute name="alias" type="xsd:string" />
20+
<xsd:attribute name="name" type="xsd:string" />
21+
</xsd:complexType>
22+
</xsd:element>
23+
<xsd:element name="data">
24+
<xsd:complexType>
25+
<xsd:sequence>
26+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
27+
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
28+
</xsd:sequence>
29+
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
30+
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
31+
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
32+
<xsd:attribute ref="xml:space" />
33+
</xsd:complexType>
34+
</xsd:element>
35+
<xsd:element name="resheader">
36+
<xsd:complexType>
37+
<xsd:sequence>
38+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
39+
</xsd:sequence>
40+
<xsd:attribute name="name" type="xsd:string" use="required" />
41+
</xsd:complexType>
42+
</xsd:element>
43+
</xsd:choice>
44+
</xsd:complexType>
45+
</xsd:element>
46+
</xsd:schema>

0 commit comments

Comments
 (0)