📄 xmlconfigfactory.java
字号:
package com.easyjf.bbs.business.config;
import java.io.File;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import org.apache.commons.mail.SimpleEmail;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import com.easyjf.bbs.business.Mail;
import com.easyjf.bbs.business.WebMessage;
/**
*
* <p>
* Title:XML格式配置文件信息处理
* </p>
* <p>
* Description:读取XML格式的EasyBBS配置文件信息;
* </p>
* <p>
*/
public class XMLConfigFactory {
private Document doc;
private static final Logger logger = (Logger) Logger
.getLogger(XMLConfigFactory.class.getName());
public XMLConfigFactory() {
synchronized (XMLConfigFactory.class) {
InputStream in = null;
try {
System.out.println("从easyjf-bbsconfig.xml文件初始化数据源!");
in = XMLConfigFactory.class
.getResourceAsStream("/easyjf-bbsconfig.xml");
SAXReader reader = new SAXReader();
doc = reader.read(in);
// System.out.println(doc.asXML());
} catch (Exception e) {
System.out.println("查找BBS配置文件文件错误!" + e);
}
}
}
public XMLConfigFactory(InputStream in) {
try {
SAXReader reader = new SAXReader();
doc = reader.read(in);
System.out.println(doc.asXML());
} catch (Exception e) {
logger.warn("配置文件错误!" + e);
}
}
public void initAdmin(List admins) {
if (doc == null)
return;
admins.clear();
List nodes = doc.selectNodes("/easyjf-bbsconfig/admins/admin");
for (int i = 0; i < nodes.size(); i++) {
Element e = (Element) nodes.get(i);
admins.add(e.attributeValue("name"));
}
}
public void initSystemMessage(Map message) {
if (doc == null)
return;
message.clear();
List nodes = doc.selectNodes("/easyjf-bbsconfig/messages/message");
for (int i = 0; i < nodes.size(); i++) {
Element e = (Element) nodes.get(i);
WebMessage m = new WebMessage();
m.setTitle(e.attributeValue("title"));
m.setMessage(e.attributeValue("content"));
m.setFromname(e.attributeValue("from"));
message.put(e.attributeValue("name"), m);
}
}
public String initTickTime() {
if (doc == null)
return null;
String time = null;
Node node = doc.selectSingleNode("/easyjf-bbsconfig/others/delay");
if (node != null)
time = ((Element) node).getText();
return time;
}
public String initHostName() {
if (doc == null)
return null;
String hostName = null;
Node node = doc.selectSingleNode("/easyjf-bbsconfig/others/host");
if (node != null)
hostName = ((Element) node).getText();
return hostName;
}
public void initMail(Map mails) {
if (doc == null)
return;
List nodes = doc.selectNodes("/easyjf-bbsconfig/mails/mail");
//System.out.println("mail config step1");
if (nodes != null) {
//System.out.println("mail is not null");
for (int i = 0; i < nodes.size(); i++) {
Element e = (Element) nodes.get(i);
//System.out.println("get element" + i);
Mail mail = createMail(e);
mails.put(new Integer(i), mail);
//System.out.println("mail" + i + " config finished");
}
}
}
private Mail createMail(Element e) {
//System.out.println("create mail");
Mail mail = new Mail();
mail.setCharset("utf-8");
//System.out.println("mail " + " setcharset");
try {
mail.setMsg(e.attributeValue("content"));
//System.out.println("mail " + " setcontent");
mail.setFrom(e.attributeValue("from"));
//System.out.println("mail " + " setfrom");
} catch (Exception ex) {
//System.out.println("配置文件错误!" + ex);
}
mail.setHost(e.attributeValue("host"));
//System.out.println("mail " + " sethsotname");
mail.setSubject(e.attributeValue("subject"));
//System.out.println("mail " + " setsubject");
return mail;
}
public Document parse(String fileName) throws DocumentException {
SAXReader reader = new SAXReader();
File file = new File(fileName);
Document document = file.exists() ? reader.read(fileName) : null;
return document;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -