📄 configreader.java
字号:
package com.ideas.util;
import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import java.util.List;
import java.awt.Color;
/**
* @author zjm
* @since 2003-05-22
*/
public class ConfigReader
{
public ConfigReader(String configFileName)
{
parseConfigXML(configFileName);
}
public void parseConfigXML(String configURI)
{
System.out.println("正在读取配置文件......");
try
{
SAXBuilder builder = new SAXBuilder(false);
Document doc = builder.build(configURI);
Element root = doc.getRootElement();
Element login = root.getChild("login");
Configuration.LoginName = login.getChild("username").getTextTrim();
Configuration.LoginPassword = login.getChild("password").getTextTrim();
Element portalserver = root.getChild("portalserver");
Configuration.ServerBindAddress = portalserver.getChild("bindaddress").
getTextTrim();
Configuration.ServerPort = Integer.parseInt(portalserver.getChild(
"port").getTextTrim());
List host = root.getChild("unixclient").getChildren("host");
Configuration.UnixClientHostname = new String[host.size()];
Configuration.UnixClientIP = new String[host.size()];
Configuration.os = new String[host.size()];
Configuration.cicsclient = new String[host.size()];
Configuration.snaclient = new String[host.size()];
Configuration.sybaseclient = new String[host.size()][];
for(int i = 0; i < host.size(); i++)
{
Element hostElement = (Element)host.get(i);
Configuration.UnixClientHostname[i] = hostElement.getChildText(
"hostname");
Configuration.UnixClientIP[i] = hostElement.getChild("hostip").
getTextTrim();
Configuration.os[i] = hostElement.getChild("os").
getTextTrim();
Configuration.cicsclient[i] = hostElement.getChild("cics").
getTextTrim();
Configuration.snaclient[i] = hostElement.getChild("sna").
getTextTrim();
List servername = hostElement.getChild("sybase").getChildren(
"servername");
Configuration.sybaseclient[i] = new String[servername.size()];
for(int j = 0; j < servername.size(); j++)
{
Configuration.sybaseclient[i][j] = ( (Element)servername.get(j)).
getTextTrim();
}
}
/* for (int i = 0; i < Configuration.sybaseclient.length; i++) {
for (int j = 0; j < Configuration.sybaseclient[i].length; j++) {
System.out.println("[" + String.valueOf(i) + "," + String.valueOf(j) +
"]" + Configuration.sybaseclient[i][j]);
}
}
*/
if(root.getChild("telephoneteller").getChild("flag").getTextTrim().
equalsIgnoreCase("true"))
{
Configuration.TelephoneTellerFlag = true;
}
else
{
Configuration.TelephoneTellerFlag = false;
}
Configuration.TelephoneTellerListenerAddress = root.getChild(
"telephoneteller").getChild(
"destaddress").getTextTrim();
Configuration.TelephoneTellerListenerPort = Integer.parseInt(root.
getChild("telephoneteller").getChild(
"destport").getTextTrim());
Element mailElement = root.getChild("emailteller");
if(mailElement.getChildTextTrim("flag").equalsIgnoreCase("true"))
{
Configuration.MAILFlag = true;
}
else
{
Configuration.MAILFlag = false;
}
if(mailElement.getChildTextTrim("auth").equalsIgnoreCase("true"))
{
Configuration.MAILAuth = "true";
}
else
{
Configuration.MAILAuth = "false";
}
Configuration.MAILServer = mailElement.getChild("smtpserver").getTextTrim();
Configuration.MAILAddr = mailElement.getChild("mailaddr").getTextTrim();
Configuration.MAILUser = mailElement.getChild("mailuser").getTextTrim();
Configuration.MAILPasswd = mailElement.getChild("mailpasswd").getTextTrim();
List email = mailElement.getChild("email").getChildren("address");
Configuration.MAILRcptAddress = new String[email.size()];
for(int i = 0; i < email.size(); i++)
{
Element addr = (Element)email.get(i);
Configuration.MAILRcptAddress[i] = addr.getTextTrim();
}
//手机报警
Element smsElement = root.getChild("smsteller");
if(smsElement.getChildTextTrim("flag").equalsIgnoreCase("true"))
{
Configuration.SMSFlag = true;
}
else
{
Configuration.SMSFlag = false;
}
Configuration.SMSGatewayIP = smsElement.getChildTextTrim("gatewayip");
Configuration.SMSGatewayPort = Integer.parseInt(smsElement.
getChildTextTrim(
"gatewayport"));
List smsPhoneList = smsElement.getChild("phone").getChildren("number");
Configuration.SMSPhoneNumber = new String[smsPhoneList.size()];
for(int i = 0; i < smsPhoneList.size(); i++)
{
Element phonenumber = (Element)smsPhoneList.get(i);
Configuration.SMSPhoneNumber[i] = phonenumber.getTextTrim();
}
Configuration.TimerDelay = Integer.parseInt(root.getChild("timer").
getChildTextTrim(
"default_refresh_interval"));
Configuration.PageRefreshRate = Integer.parseInt(root.getChild("timer").
getChild("page_refresh_rate").getTextTrim());
Configuration.WarningDelayInterval = Integer.parseInt(root.getChild(
"timer").
getChild("warning_remain_interval").getTextTrim());
Configuration.DataManageInterval = Integer.parseInt(root.getChild(
"timer").
getChild("data_manage_interval").getTextTrim());
Configuration.Number_shown = Integer.parseInt(root.getChild("page").
getChild("number_shown").getTextTrim());
/**连接池配置*/
Configuration.ConnectionPoolName = "idb";
Configuration.DB_URL = root.getChild("database").getChild("url").
getTextTrim();
Configuration.DB_JDBCDRIVER = root.getChild("database").getChild(
"jdbcdriver").getTextTrim();
Configuration.DB_USERNAME = root.getChild("database").getChild(
"dbusername").getTextTrim();
Configuration.DB_PASSWORD = root.getChild("database").getChild(
"dbpassword").getTextTrim();
Configuration.DB_MAXCONNNUM = root.getChild("database").getChild(
"maxconnection").getTextTrim();
Configuration.DB_LOGFILE = root.getChild("database").getChild("logfile").
getTextTrim();
/*完成颜色设置*/
Configuration.BandColor[0] = Color.RED;
Configuration.BandColor[1] = new Color( (int)0x0099CC); ;
for(int i = 2; i < Configuration.BandColor.length; i++)
{
Configuration.BandColor[i] = new Color( (int) (0xffffff * Math.random()));
}
System.out.println("读取配置文件完成!!");
}
catch(JDOMException jdome)
{
System.err.println("读取配置文件失败!");
jdome.printStackTrace();
}
}
public static void main(String[] args)
{
ConfigReader configReader = new ConfigReader(
"C:\\yj\\webapp\\WEB-INF\\conf.xml");
//new ConfigReader("WEB-INF/alert.properties");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -