📄 configreader.java
字号:
digester.addBeanPropertySetter(curTag+"/client-object-handler", "clientObjectHandler");
digester.addBeanPropertySetter(curTag+"/console-logging-level", "consoleLoggingLevel");
digester.addBeanPropertySetter(curTag+"/console-logging-formatter", "consoleLoggingFormatter");
//<default-data-mode>
digester.addObjectCreate(curTag+"/default-data-mode", DefaultDataMode.class);
digester.addBeanPropertySetter(curTag+"/default-data-mode/data-type-in", "dataModeIn");
digester.addBeanPropertySetter(curTag+"/default-data-mode/data-type-out", "dataModeOut");
digester.addSetNext(curTag+"/default-data-mode","setDefaultDataMode");
//</default-data-mode>
//<object-pool>
digester.addObjectCreate(curTag+"/object-pool", ObjectPoolConfig.class);
digester.addBeanPropertySetter(curTag+"/object-pool/max-active", "maxActive");
digester.addBeanPropertySetter(curTag+"/object-pool/max-idle", "maxIdle");
digester.addBeanPropertySetter(curTag+"/object-pool/init-size", "initSize");
digester.addBeanPropertySetter(curTag+"/object-pool/pool-manager", "poolManager");
//<thread-object-pool>
digester.addObjectCreate(curTag+"/object-pool/thread-object-pool", ThreadObjectPoolConfig.class);
digester.addBeanPropertySetter(curTag+"/object-pool/thread-object-pool/max-active", "maxActive");
digester.addBeanPropertySetter(curTag+"/object-pool/thread-object-pool/max-idle", "maxIdle");
digester.addBeanPropertySetter(curTag+"/object-pool/thread-object-pool/init-size", "initSize");
digester.addSetNext(curTag+"/object-pool/thread-object-pool","setThreadObjectPoolConfig");
//</thread-object-pool>
//<client-handler-object-pool>
digester.addObjectCreate(curTag+"/object-pool/client-handler-object-pool", ClientHandlerObjectPoolConfig.class);
digester.addBeanPropertySetter(curTag+"/object-pool/client-handler-object-pool/max-active", "maxActive");
digester.addBeanPropertySetter(curTag+"/object-pool/client-handler-object-pool/max-idle", "maxIdle");
digester.addBeanPropertySetter(curTag+"/object-pool/client-handler-object-pool/init-size", "initSize");
digester.addSetNext(curTag+"/object-pool/client-handler-object-pool","setClientHandlerObjectPoolConfig");
//</client-handler-object-pool>
//<byte-buffer-object-pool>
digester.addObjectCreate(curTag+"/object-pool/byte-buffer-object-pool", ByteBufferObjectPoolConfig.class);
digester.addBeanPropertySetter(curTag+"/object-pool/byte-buffer-object-pool/max-active", "maxActive");
digester.addBeanPropertySetter(curTag+"/object-pool/byte-buffer-object-pool/max-idle", "maxIdle");
digester.addBeanPropertySetter(curTag+"/object-pool/byte-buffer-object-pool/init-size", "initSize");
digester.addSetNext(curTag+"/object-pool/byte-buffer-object-pool","setByteBufferObjectPoolConfig");
//</byte-buffer-object-pool>
//<client-data-object-pool>
digester.addObjectCreate(curTag+"/object-pool/client-data-object-pool", ClientDataObjectPoolConfig.class);
digester.addBeanPropertySetter(curTag+"/object-pool/client-data-object-pool/max-active", "maxActive");
digester.addBeanPropertySetter(curTag+"/object-pool/client-data-object-pool/max-idle", "maxIdle");
digester.addBeanPropertySetter(curTag+"/object-pool/client-data-object-pool/init-size", "initSize");
digester.addSetNext(curTag+"/object-pool/client-data-object-pool","setClientDataObjectPoolConfig");
//</client-data-object-pool>
digester.addSetNext(curTag+"/object-pool", "setObjectPoolConfig");
//</object-pool>
//<command-shell>
digester.addBeanPropertySetter(curTag+"/command-shell/enable", "commandShellEnable");
digester.addBeanPropertySetter(curTag+"/command-shell/prompt-name", "commandShellPromptName");
//</command-shell>
//<communication-logging><enable>
digester.addBeanPropertySetter(curTag+"/communication-logging/enable", "communicationLogging");
//<access-constraint>
digester.addObjectCreate(curTag+"/access-constraint", AccessConstraintConfig.class);
//<ip-filter>
digester.addObjectCreate(curTag+"/access-constraint/ip-filter", IpFilterConfig.class);
digester.addBeanPropertySetter(curTag+"/access-constraint/ip-filter/enable", "enable");
digester.addBeanPropertySetter(curTag+"/access-constraint/ip-filter/allow-access", "allowAccess");
//<ip-collection>
digester.addCallMethod(curTag+"/access-constraint/ip-filter/ip-collection/client-ip-address", "addClientIpAddress", 0);
//<ip-collection>
digester.addSetNext(curTag+"/access-constraint/ip-filter", "setIpFilterConfig");
//<ip-filter>
digester.addSetNext(curTag+"/access-constraint", "setAccessConstraintConfig");
//</access-constraint>
//<server-hooks>
digester.addObjectCreate(curTag+"/server-hooks", ServerHooks.class);
digester.addCallMethod(curTag+"/server-hooks/class-name", "addClassName", 0);
digester.addSetNext(curTag+"/server-hooks", "setServerHooks");
//</server-hooks>
//<secure>
digester.addObjectCreate(curTag+"/secure", Secure.class);
digester.addBeanPropertySetter(curTag+"/secure/enable", "enable");
digester.addBeanPropertySetter(curTag+"/secure/load", "load");
digester.addBeanPropertySetter(curTag+"/secure/port", "port");
digester.addBeanPropertySetter(curTag+"/secure/protocol", "protocol");
digester.addBeanPropertySetter(curTag+"/secure/client-auth-enable", "clientAuthEnable");
//<secure-store>
digester.addObjectCreate(curTag+"/secure/secure-store", SecureStore.class);
digester.addBeanPropertySetter(curTag+"/secure/secure-store/type", "type");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/algorithm", "algorithm");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/provider", "provider");
//<key-store-info>
digester.addObjectCreate(curTag+"/secure/secure-store/key-store-info", KeyStoreInfo.class);
digester.addBeanPropertySetter(curTag+"/secure/secure-store/key-store-info/store-file", "storeFile");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/key-store-info/store-password", "storePassword");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/key-store-info/key-password", "keyPassword");
digester.addSetNext(curTag+"/secure/secure-store/key-store-info","setKeyStoreInfo");
//</key-store-info>
//<trust-store-info>
digester.addObjectCreate(curTag+"/secure/secure-store/trust-store-info", TrustStoreInfo.class);
digester.addBeanPropertySetter(curTag+"/secure/secure-store/trust-store-info/store-file", "storeFile");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/trust-store-info/store-password", "storePassword");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/trust-store-info/type", "type");
digester.addBeanPropertySetter(curTag+"/secure/secure-store/trust-store-info/provider", "provider");
digester.addSetNext(curTag+"/secure/secure-store/trust-store-info","setTrustStoreInfo");
//</trust-store-info>
digester.addBeanPropertySetter(curTag+"/secure/secure-store/secure-store-manager", "secureStoreManager");
digester.addSetNext(curTag+"/secure/secure-store","setSecureStore");
//</secure-store>
digester.addSetNext(curTag+"/secure","setSecure");
//</secure>
digester.addBeanPropertySetter(curTag+"/command-plugin", "commandPlugin");
//<advanced-settings>
digester.addObjectCreate(curTag+"/advanced-settings", AdvancedSettings.class);
digester.addBeanPropertySetter(curTag+"/advanced-settings/charset", "charset");
digester.addBeanPropertySetter(curTag+"/advanced-settings/byte-buffer-size", "byteBufferSize");
digester.addBeanPropertySetter(curTag+"/advanced-settings/backlog", "backlog");
digester.addBeanPropertySetter(curTag+"/advanced-settings/use-direct-byte-buffer", "useDirectByteBuffer");
digester.addBeanPropertySetter(curTag+"/advanced-settings/socket-linger", "socketLinger");
digester.addBeanPropertySetter(curTag+"/advanced-settings/debug-non-blocking-mode", "debugNonBlockingMode");
digester.addBeanPropertySetter(curTag+"/advanced-settings/client-identifier", "clientIdentifier");
digester.addBeanPropertySetter(curTag+"/advanced-settings/qsobject-pool-maker", "qSObjectPoolMaker");
digester.addBeanPropertySetter(curTag+"/advanced-settings/max-threads-for-nio-write", "maxThreadsForNioWrite");
digester.addSetNext(curTag+"/advanced-settings","setAdvancedSettings");
//</advanced-settings>
digester.addSetNext(curTag, "setQSAdminServerConfig");
//</qsadmin-server>
//<db-object-pool>
subTag = "db-object-pool";
digester.addObjectCreate(mainTag+"/"+subTag, DBObjectPoolConfig.class);
//<database-connection-set>
digester.addObjectCreate(mainTag+"/"+subTag+"/database-connection-set", DatabaseConnectionSet.class);
//<database-connection>
curTag = mainTag+"/"+subTag+"/database-connection-set/database-connection";
digester.addObjectCreate(curTag, DatabaseConnectionConfig.class);
digester.addBeanPropertySetter(curTag+"/id", "id");
digester.addBeanPropertySetter(curTag+"/driver", "driver");
digester.addBeanPropertySetter(curTag+"/url", "url");
digester.addBeanPropertySetter(curTag+"/username", "username");
digester.addBeanPropertySetter(curTag+"/password", "password");
digester.addSetNext(curTag, "addDatabaseConnection");
//</database-connection>
digester.addSetNext(mainTag+"/"+subTag+"/database-connection-set", "setDatabaseConnectionSet");
//</database-connection-set>
//<db-pool-util>
curTag = mainTag+"/"+subTag+"/db-pool-util";
digester.addBeanPropertySetter(curTag, "dbPoolUtil");
//</db-pool-util>
digester.addSetNext(mainTag+"/"+subTag, "setDBObjectPoolConfig");
//</db-object-pool>
//<application-configuration>
subTag = "application-configuration";
digester.addObjectCreate(mainTag+"/"+subTag, ApplicationConfiguration.class);
digester.addBeanPropertySetter(mainTag+"/"+subTag+"/prompt-type", "promptType");
curTag = mainTag+"/"+subTag+"/"+"property";
digester.addObjectCreate(curTag, Property.class);
digester.addBeanPropertySetter(curTag+"/property-name", "name");
digester.addBeanPropertySetter(curTag+"/property-value", "value");
digester.addSetNext(curTag, "addProperty");
digester.addSetNext(mainTag+"/"+subTag, "setApplicationConfiguration");
//</application-configuration>
//<init-server-hooks>
subTag = "init-server-hooks";
digester.addObjectCreate(mainTag+"/"+subTag, InitServerHooks.class);
digester.addCallMethod(mainTag+"/"+subTag+"/class-name",
"addClassName", 0);
digester.addSetNext(mainTag+"/"+subTag, "setInitServerHooks");
//</init-server-hooks>
logger.fine("Loading config from xml file : " + input.getAbsolutePath());
QuickServerConfig qsc = (QuickServerConfig) digester.parse(input);
qsc.setConfigFile(input.getAbsolutePath());
loadMissingApplicationConfiguration(qsc);
QuickServer.setDebugNonBlockingMode(qsc.getAdvancedSettings().getDebugNonBlockingMode());
return qsc;
}
private static void loadMissingApplicationConfiguration(QuickServerConfig qsc)
throws IOException {
ApplicationConfiguration ac = qsc.getApplicationConfiguration();
if(ac==null) return;
//check if any application-configuration had missing property-value
Set propertyNames = ac.keySet();
Iterator iterator = propertyNames.iterator();
String key = null;
Object value = null;
char sv[] = null;
SensitiveInput sensitiveInput = null;
boolean guiPrompt = ac.getPromptType().equals("console")==false?true:false;
while(iterator.hasNext()) {
key = (String) iterator.next();
value = ac.get(key);
if(value==null) {
if(guiPrompt && sensitiveInput==null) {
sensitiveInput = new SensitiveInput(
qsc.getName()+" - Input Prompt");
}
if(guiPrompt)
sv = sensitiveInput.getInput(key);
else
sv = PasswordField.getPassword("Input property value for "+key+" : ");
if(sv!=null) {
value = new String(sv);
ac.put(key, value);
}
value = null;
}
}
}
/**
* Make the file passed absolute, relative to the location of
* configuration file that loaded QuickServerConfig object passed.
* @since 1.4
*/
public static File makeAbsoluteToConfig(String fileName,
QuickServerConfig config) {
File file = new File(fileName);
if(config==null) return file;
if(file.isAbsolute()==false) {
String temp = config.getConfigFile();
file = new File(temp);
temp = file.getParent() + File.separatorChar + fileName;
file = new File(temp);
}
return file;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -