ConfigParser.java
3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package com.zhazhapan.util.visual;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zhazhapan.config.JsonParser;
import com.zhazhapan.modules.constant.ValueConsts;
import com.zhazhapan.util.FileExecutor;
import com.zhazhapan.util.dialog.Alerts;
import com.zhazhapan.util.visual.constant.LocalValueConsts;
import com.zhazhapan.util.visual.model.ConfigModel;
import com.zhazhapan.util.visual.model.WaverModel;
import java.util.List;
/**
* @author pantao
* @since 2018/4/2
*/
class ConfigParser {
private static final String FILE_FILTER_TIP_PATH = "fileFilter.showTip";
private static final String WIDTH_PATH = "initialize.width";
private static final String HEIGHT_PATH = "initialize.height";
private static final String FILE_REGEX_PATH = "fileFilter.regex";
private static final String TAB_PATH = "initialize.tabs.load";
private static final String CLIPBOARD_SIZE_PATH = "clipboardSize";
private static final String FULLSCREEN = "initialize.fullscreen";
private static final String AUTO_WRAP = "autoWrap";
private static final String MYSQL_HOST = "mysql.host";
private static final String MYSQL_DB = "mysql.database";
private static final String MYSQL_CONDITION = "mysql.condition";
private static final String MYSQL_USERNAME = "mysql.username";
private static final String MYSQL_PASSWORD = "mysql.password";
private static final String WAVE = "waveViewer";
private static final String TABLE_NAME = "tableName";
private static final String DATA_FIELD = "dataField";
private static final String DATE_FIELD = "dateField";
private static final String TITLE = "title";
private static final String RESULT_SIZE = "firstResultSize";
/**
* 解析配置文件到 {@link ConfigModel}
*/
static void parserConfig() {
try {
JsonParser parser = new JsonParser(FileExecutor.read(WeToolApplication.class.getResourceAsStream
(LocalValueConsts.CONFIG_PATH)), ValueConsts.TRUE);
ConfigModel.setWidth(parser.getDoubleUseEval(WIDTH_PATH));
ConfigModel.setHeight(parser.getDoubleUseEval(HEIGHT_PATH));
ConfigModel.setTabs(parser.getArray(TAB_PATH));
ConfigModel.setFileFilterRegex(parser.getString(FILE_REGEX_PATH));
ConfigModel.setFileFilterTip(parser.getBooleanUseEval(FILE_FILTER_TIP_PATH));
ConfigModel.setClipboardSize(parser.getIntegerUseEval(CLIPBOARD_SIZE_PATH));
ConfigModel.setFullscreen(parser.getBooleanUseEval(FULLSCREEN));
ConfigModel.setAutoWrap(parser.getBooleanUseEval(AUTO_WRAP));
ConfigModel.setHost(parser.getStringUseEval(MYSQL_HOST));
ConfigModel.setDatabase(parser.getStringUseEval(MYSQL_DB));
ConfigModel.setCondition(parser.getStringUseEval(MYSQL_CONDITION));
ConfigModel.setUsername(parser.getStringUseEval(MYSQL_USERNAME));
ConfigModel.setPassword(parser.getStringUseEval(MYSQL_PASSWORD));
JSONArray array = parser.getJsonObject().getJSONArray(WAVE);
List<WaverModel> waves = ConfigModel.getWaver();
array.forEach(obj -> {
JSONObject object = (JSONObject) obj;
WaverModel model = new WaverModel();
model.setTableName(object.getString(TABLE_NAME));
model.setDataField(object.getString(DATA_FIELD));
model.setDateField(object.getString(DATE_FIELD));
model.setTitle(object.getString(TITLE));
model.setFirstResultSize(object.getInteger(RESULT_SIZE));
waves.add(model);
});
} catch (Exception e) {
Alerts.showError(LocalValueConsts.MAIN_TITLE, LocalValueConsts.LOAD_CONFIG_ERROR);
}
}
}