
com.avaje.ebean.config.PropertyMapLoader Maven / Gradle / Ivy
The newest version!
package com.avaje.ebean.config;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;
import java.util.logging.Logger;
import javax.servlet.ServletContext;
/**
* Helper used to load the PropertyMap.
*/
final class PropertyMapLoader {
private static Logger logger = Logger.getLogger(PropertyMapLoader.class.getName());
private static ServletContext servletContext;
/**
* Return the servlet context when in a web environment.
*/
public static ServletContext getServletContext() {
return servletContext;
}
/**
* Set the ServletContext for when ebean.properties is in WEB-INF in a web
* application environment.
*/
public static void setServletContext(ServletContext servletContext) {
PropertyMapLoader.servletContext = servletContext;
}
/**
* Load the file returning the property map.
*
* @param p
* an existing property map to load into.
* @param fileName
* the name of the properties file to load.
*/
public static PropertyMap load(PropertyMap p, String fileName) {
InputStream is = findInputStream(fileName);
if (is == null) {
logger.severe(fileName + " not found");
return p;
} else {
return load(p, is);
}
}
/**
* Load the inputstream returning the property map.
*
* @param p
* an existing property map to load into.
* @param in
* the InputStream of the properties file to load.
*/
private static PropertyMap load(PropertyMap p, InputStream in) {
Properties props = new Properties();
try {
props.load(in);
in.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
if (p == null) {
p = new PropertyMap();
}
// put values in initially without any evaluation
Iterator> it = props.entrySet().iterator();
while (it.hasNext()) {
Map.Entry
© 2015 - 2025 Weber Informatics LLC | Privacy Policy