diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/gazetteer/utils/PropertiesUtils.java	Wed Sep 30 13:43:54 2015 +0200
@@ -0,0 +1,52 @@
+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);
+	}
+	
+}