public class ApiCheckConfig {
private Logger log = Logger.getLogger(ApiCheckConfig.class);
private List<String> serverFileList = new LinkedList<String>();
private List<String> serviceFileList = new LinkedList<String>();
private void parseCfgFile() throws JDOMException, IOException{
apiCheckDoc = builder.build(ApiCheckConfig.class.getResource("/").getPath() + "api-check-cfg.xml");
Element servsFile = apiCheckDoc.getRootElement().getChild("server-files");
Element apiFile = apiCheckDoc.getRootElement().getChild("api-files");
addFileList(servsFile, serverFileList);
addFileList(apiFile, serviceFileList);
initFilePath(apiCheckDoc);
if(log.isDebugEnabled()){
log.debug(" serverFileList = "+(serverFileList!=null&&serverFileList.size()>0?serverFileList:"无server配置文件"));
log.debug(" serviceFileList = "+(serviceFileList!=null&&serviceFileList.size()>0?serviceFileList:"无api配置文件"));
}
}
private void initFilePath(Document apiCheckDoc)throws JDOMException, IOException{
Element writefile = apiCheckDoc.getRootElement().getChild("writefile");
if(null == writefile){
throw new JDOMException("writefile node is not exists!!");
}
String path = writefile.getAttributeValue("path");
FileUtil.setPath(path);
}
private void addFileList(Element server,List<String> targetList){
// Element server = serversList.get(0);
List<Element> serverList = server.getChildren("file");
for (int i = 0; i < serverList.size(); i++) {// resource
Element serv = serverList.get(i);
String name=serv.getAttributeValue("name");
if(!targetList.contains(name)){
if(log.isDebugEnabled()){
log.debug(" filename = "+name);
}
targetList.add(name);
}
}
}
api-check-cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<apiCheck>
<server-files>
<file name="mobile-server.xml"/>
<file name="brand-server.xml"/>
<file name="mi-server.xml"/>
</server-files>
<api-files>
<file name="mobile-server-api.xml"/>
<file name="brand-server-api.xml"/>
<file name="mi-server-api.xml"/>
</api-files>
<writefile path="F:\apache-tomcat-7.0.39\webapps\api-check-report\json"/>
</apiCheck>