package org.societies.context.user.refinement.impl.tools;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ContextConfigReader {
private static final Logger log = LoggerFactory.getLogger(ContextConfigReader.class);
public static Properties properties = null;
private static final String PROPERTY_FILE_NAME = "frequencies.properties";
private static final String PATH_FILESYSTEM = "./";
private static final String PATH_OSGI = "/";
public static final String USER;
public static final int CALENDAR_UPDATE_FREQUENCY;
public static final int DISTANCETOMEETING_UPDATE_FREQUENCY;
public static final int JARVIS_UPDATE_FREQUENCY;
public static final int TIME_UPDATE_FREQUENCY;
public static final int NETWORKUSAGE_UPDATE_FREQUENCY;
public static final int COMPUTERACTIVITY_UPDATE_FREQUENCY;
public static final int ACTIVEAPPLICATIONS_UPDATE_FREQUENCY;
public static final double TIME_DISTANCE_MEAN;
public static final double TIME_DISTANCE_VARIANCE;
public static final int[][] TIME_OF_DAY_BOUNDARIES = new int[5][2];
public static final String OUTLOOK_FOLDER;
static{
log.info("Config Reader Loaded;");
if (properties == null){
properties = new Properties();
InputStream stream;
try {
stream = ContextConfigReader.class.getResourceAsStream(
PATH_OSGI + PROPERTY_FILE_NAME);
log.debug("ConfigReader: properties file = " + stream);
if (stream == null)
stream = new FileInputStream(PATH_FILESYSTEM + PROPERTY_FILE_NAME);
if (stream != null){
properties.load(stream);
stream.close();
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
USER = properties.getProperty("owner", System.getProperty("user.name"));
JARVIS_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.jarvis"));
TIME_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.timeSource"));
NETWORKUSAGE_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.networkusage"));
COMPUTERACTIVITY_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.computeractivity"));
ACTIVEAPPLICATIONS_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.computeractivity"));
CALENDAR_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.updateAgenda"));
DISTANCETOMEETING_UPDATE_FREQUENCY = Integer.parseInt(properties.getProperty("frequency.updateDistance"));
TIME_DISTANCE_MEAN = Double.parseDouble(properties.getProperty("timeDistance.mean"));
TIME_DISTANCE_VARIANCE = Double.parseDouble(properties.getProperty("timeDistance.variance"));
OUTLOOK_FOLDER = properties.getProperty("outlook.folder");
TIME_OF_DAY_BOUNDARIES[0][0] = Integer.parseInt(properties.getProperty("timeSource.morning.start"));
TIME_OF_DAY_BOUNDARIES[0][1] = Integer.parseInt(properties.getProperty("timeSource.morning.end"));
TIME_OF_DAY_BOUNDARIES[1][0] = Integer.parseInt(properties.getProperty("timeSource.noon.start"));
TIME_OF_DAY_BOUNDARIES[1][1] = Integer.parseInt(properties.getProperty("timeSource.noon.end"));
TIME_OF_DAY_BOUNDARIES[2][0] = Integer.parseInt(properties.getProperty("timeSource.afternoon.start"));
TIME_OF_DAY_BOUNDARIES[2][1] = Integer.parseInt(properties.getProperty("timeSource.afternoon.end"));
TIME_OF_DAY_BOUNDARIES[3][0] = Integer.parseInt(properties.getProperty("timeSource.evening.start"));
TIME_OF_DAY_BOUNDARIES[3][1] = Integer.parseInt(properties.getProperty("timeSource.evening.end"));
TIME_OF_DAY_BOUNDARIES[4][0] = Integer.parseInt(properties.getProperty("timeSource.night.start"));
TIME_OF_DAY_BOUNDARIES[4][1] = Integer.parseInt(properties.getProperty("timeSource.night.end"));
}
}