package com.vci.server.conf;
|
|
import java.io.File;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.dom4j.Attribute;
|
import org.dom4j.Document;
|
import org.dom4j.DocumentException;
|
import org.dom4j.Element;
|
import org.dom4j.io.SAXReader;
|
|
/**
|
* 服务配置信息
|
* @author Jason
|
*
|
*/
|
public class ServiceConf {
|
private static String _serviceConf = "properties/service.xml";
|
private List<ServiceTempl> _lstServiceTempl = new ArrayList<ServiceTempl>();
|
|
public ServiceConf() {}
|
|
|
public ServiceTempl[] getServiceTempls() {
|
return _lstServiceTempl.toArray(new ServiceTempl[0]);
|
}
|
|
// public ServiceTempl getServiceTempl(String service) {
|
// if (_mapServiceTempl.containsKey(service))
|
// return _mapServiceTempl.get(service);
|
//
|
// return null;
|
// }
|
|
public void AddServiceTempl(ServiceTempl templ) {
|
if (templ == null)
|
return;
|
|
_lstServiceTempl.add(templ);
|
}
|
|
public static ServiceConf ReadConf() {
|
try {
|
SAXReader reader = new SAXReader();
|
|
Document document = reader.read(new File(_serviceConf));
|
Element root = document.getRootElement();
|
|
ServiceConf serviceConf = new ServiceConf();
|
|
// 读取服务模板定义信息
|
Iterator<Element> it = root.elementIterator("ServiceTempl");
|
while (it.hasNext()) {
|
ServiceTempl templ = new ServiceTempl();
|
|
Element nodeTempl = (Element) it.next();
|
|
// 获取服务名称
|
// Attribute attrName = nodeTempl.attribute("name");
|
// if (attrName != null) {
|
// templ.setName(attrName.getValue());
|
// }
|
|
// 获取服务描述信息
|
Attribute attrDesc = nodeTempl.attribute("description");
|
if (attrDesc != null) {
|
templ.setDescription(attrDesc.getValue());
|
}
|
|
// 启动类
|
Attribute attrEntry = nodeTempl.attribute("entry");
|
if (attrEntry == null)
|
continue;
|
|
templ.setEntry(attrEntry.getValue());
|
|
serviceConf.AddServiceTempl(templ);
|
}
|
|
return serviceConf;
|
} catch (DocumentException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
return null;
|
}
|
|
}
|
}
|