Changeset 119 in tmcsimulator for trunk/src/atmsdriver


Ignore:
Timestamp:
10/14/2017 12:10:01 PM (9 years ago)
Author:
jdalbey
Message:

atmsdriver/ConsoleDriver.java Added properties file loading.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/atmsdriver/ConsoleDriver.java

    r114 r119  
    55import atmsdriver.model.Highway; 
    66import atmsdriver.model.Station; 
     7import java.io.FileInputStream; 
    78import java.util.ArrayList; 
    89import java.util.Arrays; 
    910import java.util.List; 
     11import java.util.Properties; 
    1012import java.util.Scanner; 
     13import java.util.logging.Level; 
     14import java.util.logging.Logger; 
    1115 
    1216/** 
     
    2327    private final List<Integer> routeNumInputList; 
    2428    private final List<String> dotColorInputList; 
     29    /** 
     30     * Properties for the ConsoleDriver 
     31     */ 
     32    private static Properties ConsoleDriverProperties; 
    2533 
    2634    /** Entry point for the application. 
     
    2836     * @param args unused 
    2937     */ 
    30     public static void main(String[] args) 
     38    public static void main(String[] args) { 
     39        try { 
     40            if (System.getProperty("ATMSDRIVER_PROPERTIES") != null)  
     41            { 
     42                // Load properties of runtime parameters 
     43                if (!loadProperties())  
     44                { 
     45                    System.exit(0); 
     46                }         
     47                // Create the Highway Model 
     48                Highways highways = new Highways( 
     49                    "config/vds_data/lds.txt", 
     50                    "config/vds_data/loop.txt", 
     51                    "config/vds_data/highwaysMeta.txt", 
     52                    ConsoleDriverProperties.getProperty( 
     53                        "FEPWriterHost"), 
     54                    Integer.parseInt(ConsoleDriverProperties.getProperty( 
     55                        "FEPWriterPort"))); 
     56 
     57                // Construct the console driver using the highways model 
     58                ConsoleDriver driver = new ConsoleDriver(highways); 
     59                driver.runConsole();     
     60            } else { 
     61                throw new Exception("ATMSDRIVER_PROPERTIES system property not defined."); 
     62            } 
     63        } catch (Exception e) { 
     64            Logger.getLogger("ConsoleDriver").logp(Level.SEVERE, "ConsoleDriver", "Main", 
     65                    "Error occured initializing application", e); 
     66            System.exit(-1); 
     67        } 
     68    }     
     69    /** 
     70     * Load the properties file containing values for runtime parameters. 
     71     *  
     72     * @param propertiesFile 
     73     * @return  
     74     */ 
     75    private static boolean loadProperties()  
    3176    { 
    32         Highways highways = new Highways( 
    33         "config/vds_data/lds.txt", 
    34         "config/vds_data/loop.txt", 
    35         "config/vds_data/highwaysMeta.txt", 
    36         "localhost", 8080); 
    37         ConsoleDriver app = new ConsoleDriver(highways); 
    38         app.runConsole(); 
     77        // Load the properties file. 
     78        try { 
     79            ConsoleDriverProperties = new Properties(); 
     80            ConsoleDriverProperties.load(new FileInputStream(System.getProperty("ATMSDRIVER_PROPERTIES"))); 
     81        } catch (Exception e) { 
     82            Logger.getLogger("CosoleDriver").logp(Level.SEVERE, "ConsoleDriver", 
     83                    "Constructor", "Exception in reading properties file.", e); 
     84        } 
     85 
     86        return true; 
    3987    } 
    4088    /** 
Note: See TracChangeset for help on using the changeset viewer.