Changeset 194 in tmcsimulator for trunk


Ignore:
Timestamp:
10/30/2017 02:50:59 PM (9 years ago)
Author:
jdalbey
Message:

TrafficModelEventDriver?: Clean up code and comments. Highways.java improve formatting of toString output.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/atmsdriver/model/Highways.java

    r191 r194  
    480480        for (Highway hwy: highways) 
    481481        { 
    482             result.append(""+String.format("%3s ",hwy.routeNumber)); 
    483             for (Station stat: hwy.stations) 
    484             { 
    485                 result.append(stat.getColorByDirection(stat.direction)); 
    486             } 
    487             result.append("\n"); 
    488         } 
     482            for (DIRECTION dir: DIRECTION.values()) 
     483            { 
     484                StringBuilder lineout = new StringBuilder(); 
     485                lineout.append(""+String.format("%3s ",hwy.routeNumber)+dir.getLetter()+' '); 
     486                for (Station stat: hwy.stations) 
     487                { 
     488                    if (stat.direction == dir) 
     489                    { 
     490                        //lineout.append("" + dir.getLetter() + stat.postmile); 
     491                        lineout.append(stat.getColorByDirection(stat.direction)); 
     492                        //lineout.append("  "); 
     493                    } 
     494                } 
     495                if (lineout.length() > 6) 
     496                { 
     497                    result.append(lineout + "\n"); 
     498                } 
     499            } 
     500        } 
     501        result.append("\n"); 
    489502        return result.toString(); 
    490503    } 
  • trunk/test/atmsdriver/TrafficModelEventDriver.java

    r192 r194  
    11package atmsdriver; 
    22 
    3 import tmcsim.client.*; 
    43import atmsdriver.model.Highways; 
    54import atmsdriver.model.TrafficEvent; 
    6 import atmsdriver.model.LoopDetector.DOTCOLOR; 
    7 import java.awt.event.ActionEvent; 
    8 import java.awt.event.ActionListener; 
    95import java.io.FileInputStream; 
    106import java.io.FileNotFoundException; 
    117import java.rmi.RemoteException; 
    12 import java.rmi.server.UnicastRemoteObject; 
    138import java.text.ParseException; 
    149import java.text.SimpleDateFormat; 
    1510import java.util.ArrayList; 
    1611import java.util.Collections; 
    17 import java.util.Date; 
    1812import java.util.HashMap; 
    1913import java.util.LinkedList; 
    2014import java.util.List; 
    2115import java.util.Map; 
    22 import java.util.Properties; 
    2316import java.util.Scanner; 
    24 import java.util.concurrent.TimeUnit; 
    2517import java.util.logging.Level; 
    2618import java.util.logging.Logger; 
    2719import javax.swing.JOptionPane; 
    2820import javax.swing.JWindow; 
    29 import javax.swing.Timer; 
    30 import javax.swing.UIManager; 
    31 import tmcsim.common.SimulationException; 
    32 import tmcsim.interfaces.CADClientInterface; 
    33 import tmcsim.interfaces.CoordinatorInterface; 
    3421 
    3522/** 
     
    3926 * @author jdalbey 
    4027 */ 
    41 public class TrafficModelEventDriver extends UnicastRemoteObject implements 
    42         CADClientInterface 
     28public class TrafficModelEventDriver  
    4329{ 
    44     private final static SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); 
    4530    /** 
    4631     * Error logger. 
    4732     */ 
    48     private static Logger cadClientLogger = Logger.getLogger("tmcsim.client"); 
    49  
    50     @Override 
    51     public void refresh() throws RemoteException 
    52     { 
    53         System.out.println("ATMSBatchDriver.refresh() was invoked."); 
    54     } 
     33    private static Logger logger = Logger.getLogger("trafficmodeleventdriver"); 
    5534 
    5635    /** 
     
    6948 
    7049    /** 
    71      * Constructor. Initialize data from parsed properties file. Create a socket 
    72      * connection to the CADSimulator. 
     50     * Constructor. Load highways and events. 
    7351     * 
    74      * @param propertiesFile File path (absolute or relative) to the properties 
    75      * file containing configuration data. 
    7652     */ 
    7753    public TrafficModelEventDriver() throws RemoteException 
     
    8662        // READ THE BATCH FILE OF COMMANDS and put in a queue 
    8763        readBatchFile(); 
    88  
     64    } 
     65    public void run() 
     66    { 
    8967        // If we have any events left to process 
    9068        while (!eventQueue.isEmpty()) 
    9169        { 
    92             // Get the time to launch the next event 
     70            // Get next event 
    9371            TrafficEvent nextEvent = eventQueue.peek(); 
    9472            System.out.println("LAUNCHING EVENT: " + nextEvent.toString()); 
     
    9977            // Remove this event from the queue, we're done with it. 
    10078            eventQueue.remove(); 
    101  
    10279        } 
    103  
    10480    } 
    10581 
     
    158134 
    159135    /** 
    160      * Format a time in seconds as HH:MM:SS 
    161      * 
    162      * @param l 
    163      * @return 
    164      */ 
    165     private String formatInterval(final long l) 
    166     { 
    167         final long hr = TimeUnit.SECONDS.toHours(l); 
    168         final long min = TimeUnit.SECONDS.toMinutes(l - TimeUnit.HOURS.toSeconds(hr)); 
    169         final long sec = TimeUnit.SECONDS.toSeconds(l - TimeUnit.HOURS.toSeconds(hr) - TimeUnit.MINUTES.toSeconds(min)); 
    170         return String.format("%02d:%02d:%02d", hr, min, sec); 
    171     } 
    172     /** 
    173      * Construct the CADClient with the properties file path, either from the 
    174      * command line arguments or default. 
     136     * local main to launch the app. 
    175137     * 
    176138     * @param args Command line arguments. 
     
    178140    public static void main(String[] args) 
    179141    { 
    180         if (System.getProperty("CONFIG_DIR") == null) 
    181         { 
    182             System.setProperty("CONFIG_DIR", "config"); 
    183         } 
    184  
    185142        try 
    186143        { 
    187             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    188             new TrafficModelEventDriver(); 
    189  
     144            TrafficModelEventDriver driver = new TrafficModelEventDriver(); 
     145            driver.run(); 
    190146        } 
    191147        catch (Exception e) 
    192148        { 
    193             cadClientLogger.logp(Level.SEVERE, "SimulationManager", "Main", 
     149            logger.logp(Level.SEVERE, "Traffic Model Event Driver", "Main", 
    194150                    "Error initializing application."); 
    195151 
Note: See TracChangeset for help on using the changeset viewer.