package org.t4f.bsc; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; import java.util.logging.Logger; public class Config { //private final static Logger LOGGER = Logger.getLogger("POCSAG-BSC"); public static String logLevel = "FINEST"; public static String commMethod = "REST" ; public static String restMasterNodeHost = "localhost"; public static String restMasterNodePort = "8080"; public static String restMasterNodePath = "/OsomcomPOCSAG-MSC/rest/node"; public static String restLocalNodePort = "8080"; public static String mqttBroker= "localhost"; public static int mqttPort= 1883; public static String mqttSubscribingTopic= "t4f.org/msc"; public static String mqttPostingTopic= "t4f.org/bsc"; public static int commUpdatePeriod = 45; public static String commNodeName= "Node"; public static String btsPort = "/dev/ttyUSB0"; public static int btsBauds = 9600; public static boolean loadFromFile(String file) { Properties prop = new Properties(); try { // prop.load(new FileInputStream(file)); //LOGGER.info("Loading config file " + file); logLevel = prop.containsKey("log.level") ? prop.getProperty("log.level") : logLevel; restMasterNodeHost = prop.containsKey("rest.masterNodeHost") ? prop.getProperty("rest.masterNodeHost") : restMasterNodeHost; restMasterNodePort = prop.containsKey("rest.masterNodePort") ? prop.getProperty("rest.masterNodePort") : restMasterNodePort; restMasterNodePath = prop.containsKey("rest.masterNodePath") ? prop.getProperty("rest.masterNodePath") : restMasterNodePath; restLocalNodePort = prop.containsKey("rest.localNodePort") ? prop.getProperty("rest.localNodePort") : restLocalNodePort; mqttBroker = prop.containsKey("mqtt.broker") ? prop.getProperty("mqtt.broker") : mqttBroker; try { mqttPort = prop.containsKey("mqtt.port") ? new Integer(prop.getProperty("mqtt.port")) : mqttPort; } catch (NumberFormatException ne) { System.err.println("Error parsing config file. 'mqtt.port' value '" + prop.getProperty("mqtt.port") + "' is incorrect"); } mqttSubscribingTopic = prop.containsKey("mqtt.subscribingTopic") ? prop.getProperty("mqtt.subscribingTopic") : mqttSubscribingTopic; mqttPostingTopic = prop.containsKey("mqtt.postingTopic") ? prop.getProperty("mqtt.postingTopic") : mqttPostingTopic; commMethod = prop.containsKey("comm.method") ? prop.getProperty("comm.method") : commMethod; btsPort = prop.containsKey("bts.port") ? prop.getProperty("bts.port") : btsPort; try { btsBauds = prop.containsKey("bts.bauds") ? new Integer(prop.getProperty("bts.bauds")) : btsBauds; } catch (NumberFormatException ne) { //LOGGER.warning("Error parsing config file. 'bts.bauds' value '" + prop.getProperty("bts.bauds") + "' is incorrect"); System.err.println("Error parsing config file. 'bts.bauds' value '" + prop.getProperty("bts.bauds") + "' is incorrect"); } try { commUpdatePeriod = prop.containsKey("comm.updatePeriod") ? new Integer(prop.getProperty("comm.updatePeriod")) : commUpdatePeriod; } catch (NumberFormatException ne) { //LOGGER.warning("Error parsing config file. 'masterUpdatePeriod' value '" + prop.getProperty("masterUpdatePeriod") + "' is incorrect"); System.err.println("Error parsing config file. 'masterUpdatePeriod' value '" + prop.getProperty("masterUpdatePeriod") + "' is incorrect"); } commNodeName = prop.containsKey("comm.nodeName") ? prop.getProperty("comm.nodeName") : commNodeName; } catch (IOException ex) { //LOGGER.severe("Error Loading config file:\n " + ex); System.err.println("Error Loading config file:\n " + ex); return true; } return false; } }