view src/main/java/de/mpiwg/gazetteer/utils/PropertiesUtils.java @ 12:c2e2d794847f

new: add config.properties file for gazetteer
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Wed, 30 Sep 2015 13:43:54 +0200
parents
children
line wrap: on
line source

package de.mpiwg.gazetteer.utils;


import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.apache.log4j.Logger;

public class PropertiesUtils {
	
	private static Logger logger = Logger.getLogger(PropertiesUtils.class);
	private static PropertiesUtils instance;
	
	
	private static String PROP_FILENAME = "config.properties";
	private Properties prop;
	
	private PropertiesUtils() throws IOException{
		loadProperties();
	}
	
	
	public void loadProperties() throws IOException {
		
		logger.info("##### Loading Propertis from " + PROP_FILENAME + " #####");
		
		prop = new Properties();
		
		InputStream inputStream = getClass().getClassLoader().getResourceAsStream(PROP_FILENAME);
		
		if (inputStream != null) {
			prop.load(inputStream);
		} else {
			prop = null;
			throw new FileNotFoundException("property file '" + PROP_FILENAME + "' not found in the classpath");
			
		}
	}

	public static String getPropValue(String key) throws IOException{
		if(instance == null){
			instance = new PropertiesUtils();
		}
		if(instance.prop == null){
			instance.loadProperties();
		}
		return instance.prop.getProperty(key);
	}
	
}