package com.mjitech.qa.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
//import com.mjitech.qa.util.Logger;

/**
 * 初始化服务
 * @author android
 * @date 2018-05-16
 * */
public class InitProperties {
	public static final String PFILEPATH = File.separatorChar+"resources"+File.separatorChar+"config"+File.separatorChar+"config.properties";
	private Properties config = new Properties();
	public static Map<String, String> mapproperties = new HashMap<String, String>();
	public InitProperties() {
		//构造初始配置文件
		init();
	}
	
	private void init() {
		String configPath = System.getProperty("user.dir")+PFILEPATH;
		File file =new File(configPath);
//		Logger.log("加载配置文件%s", configPath);
		InputStreamReader fn = null;
		if(file.exists()){
			try {
				fn = new InputStreamReader(new FileInputStream(configPath),"UTF-8");
				config.load(fn);
				if (!config.isEmpty()) {
					Set<Object> keys = config.keySet();
					for (Object key : keys) {
						InitProperties.mapproperties.put(key.toString(), config.getProperty(key.toString()));
						if (!System.getProperties().containsKey(key.toString()) && !config.getProperty(key.toString()).isEmpty()) {						
							System.setProperty(key.toString(), config.getProperty(key.toString()));
						}
					}
					keys.clear();
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				try {
					fn.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}