package com.ycsoft.sysmanager.print;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.ycsoft.beans.config.TBusiConfirm;
import com.ycsoft.commons.helper.FileHelper;
/**
* 打印内容的配置文件解析
*
* @author hh
*/
public class PrintContentConfiguration {
/**
* 初始化打印内容配置的路径
*/
private static final String PRINT_XML_PATH = "WEB-INF"+File.separator+"print";
/**
* 存储所有的模板,以文件名作为KEY
*/
private static Map<String, String> allPrintTemplate = new HashMap<String, String>();
/**
* 业务确认单打印配置,结构为
* {
* county_id:{
* busi_code:{}
* }
* }
*/
private static Map<String, Map<String, TBusiConfirm>> busiConfirmPrintCfg = new HashMap<String, Map<String, TBusiConfirm>>();
private PrintContentConfiguration() {}
/**
* 开始解析所有的文件,便装载到内存
*/
public static void configure(String root) throws IOException {
File dir = new File(root + PRINT_XML_PATH);
File [] files = dir.listFiles(new FileFilter(){
public boolean accept(File pathname) {
return pathname.getName().endsWith(".xml");
}
});
//读取文件
String key = "" ,value = "";
for (File f : files) {
key = f.getName();
//将XML文件的注意和head去掉。
value = FileHelper.readFile(f)
.replaceAll("<!--[\\s\\S]*-->", "");
allPrintTemplate.put( key , value);
}
}
/**
* 返回
* @param fileName 文件名包括后缀
* @return
*/
public static String getTemplate(String fileName){
if( null == fileName){
return fileName;
}
return allPrintTemplate.get(fileName);
}
}