Index: trunk/src/atmsdriver/GoogleMapAnimator.java
===================================================================
--- trunk/src/atmsdriver/GoogleMapAnimator.java	(revision 248)
+++ trunk/src/atmsdriver/GoogleMapAnimator.java	(revision 340)
@@ -27,4 +27,5 @@
  * in verifying the correctness of their data file.
  * @author jdalbey
+ * @version 3/20/2019 Incomplete, low priority.
  */
 public class GoogleMapAnimator extends javax.swing.JPanel
Index: trunk/src/atmsdriver/ExchangeInfo.java
===================================================================
--- trunk/src/atmsdriver/ExchangeInfo.java	(revision 79)
+++ 	(revision )
@@ -1,20 +1,0 @@
-package atmsdriver;
-
-/**
- *
- * @author John A Torres
- */
-public class ExchangeInfo {
-	/** The network ID **/
-	public int networkId;
-
-	/** The XML message **/
-	public String xmlMessage;
-	
-	/** Constructor **/
-	public ExchangeInfo(int networkId, String xmlMessage)
-	{
-		this.networkId = networkId;
-		this.xmlMessage = xmlMessage;
-	}
-}
Index: trunk/src/atmsdriver/ATMSDriver.java
===================================================================
--- trunk/src/atmsdriver/ATMSDriver.java	(revision 248)
+++ 	(revision )
@@ -1,172 +1,0 @@
-package atmsdriver;
-
-import atmsdriver.model.Highways;
-import java.io.FileInputStream;
-import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import tmcsim.common.SimulationException;
-
-/** "Super Old"
- * ATMS Driver reads the current simulation traffic conditions from the
- * EXCHANGE.XML file and constructs the Highway Network status info in the
- * format required by the FEP. It then sends this XML data over a socket to the
- * FEP Simulator.
- *
- * @author John A. Torres
- * @version 09/10/2017
- */
-public class ATMSDriver implements Runnable
-{
-
-    /**
-     * ATMSDriver Error logger.
-     */
-    private static Logger ATMSDriverLogger = Logger.getLogger("atmsdriver");
-
-    /**
-     * Properties object for the CADClient class.
-     */
-    private Properties ATMSDriverProperties;
-
-    /**
-     * Enumeration containing properties name values. See ATMSDriver class
-     * description for more information.
-     *
-     * @author John Torres
-     * @see ATMSDriver
-     */
-    private static enum PROPERTIES
-    {
-        HIGHWAYS_MAP_FILE_NAME("HighwaysMapFileName"),
-        EXCHANGE_FILE_NAME("ExchangeFileName"),
-        FEP_WRITER_HOST("FEPWriterHost"),
-        FEP_WRITER_PORT("FEPWriterPort");
-
-        public String name;
-
-        private PROPERTIES(String n)
-        {
-            name = n;
-        }
-    }
-
-    /**
-     * Highways in traffic network
-     */
-    final private Highways highways;
-
-    /**
-     * Sleep Time (30 seconds). *
-     */
-    private static final int SLEEP_TIME = 30000;
-
-    /**
-     * Exchange Reader
-     */
-    private ExchangeReader exchangeReader;
-
-    @Override
-    public void run()
-    {
-        // Check for packets and update the simulator
-        while (true)
-        {
-            // Flush the input file
-            ExchangeInfo exInfo = exchangeReader.parse(ATMSDriverProperties
-                    .getProperty(PROPERTIES.EXCHANGE_FILE_NAME.name));
-
-            try
-            {
-                highways.writeToFEP();
-            } catch (SimulationException ex)
-            {
-                System.out.println("Skipping writeToFEP...");
-            }
-            // Update if exchangeInfo is recieved
-            if (exInfo != null)
-            {
-                // TODO: handle this condition
-                Logger.getLogger("ATMSDriver").log(Level.INFO, "exInfo is not null");
-            }
-
-            // Wait for FEP Sim to process the data we just sent
-            try
-            {
-                Thread.sleep(SLEEP_TIME);
-            } catch (InterruptedException ie)
-            {
-                ie.printStackTrace();
-            }
-        }
-    }
-
-    public ATMSDriver(String propertiesFile)
-    {
-        // verify properties file
-        if (!verifyProperties(propertiesFile))
-        {
-            System.exit(0);
-        }
-        // create the highways model
-        highways = new Highways(
-                ATMSDriverProperties.getProperty(
-                        PROPERTIES.HIGHWAYS_MAP_FILE_NAME.name),
-                ATMSDriverProperties.getProperty(PROPERTIES.FEP_WRITER_HOST.name),
-                Integer.parseInt(ATMSDriverProperties.getProperty(
-                                PROPERTIES.FEP_WRITER_PORT.name)));
-        // create the exchange reader
-        exchangeReader = new ExchangeReader();
-    }
-
-    /**
-     * Verifies that the properties file has all necessary properties.
-     *
-     * @param propertiesFile
-     * @return
-     */
-    private boolean verifyProperties(String propertiesFile)
-    {
-        // Load the properties file.
-        try
-        {
-            ATMSDriverProperties = new Properties();
-            ATMSDriverProperties.load(new FileInputStream(propertiesFile));
-        } catch (Exception e)
-        {
-            ATMSDriverLogger.logp(Level.SEVERE, "ATMSDriver",
-                    "Constructor", "Exception in reading properties file.", e);
-        }
-
-        return true;
-    }
-
-    /**
-     * Runs the ATMS Driver.
-     */
-    public static void main(String[] args)
-    {
-        try
-        {
-            if (System.getProperty("ATMSDRIVER_PROPERTIES") != null)
-            {
-                // Create and run the ATMSDriver thread
-                ATMSDriver atmsDriver = new ATMSDriver(System.getProperty("ATMSDRIVER_PROPERTIES"));
-                Thread ATMSDriverThread = new Thread(atmsDriver);
-                ATMSDriverThread.start();
-
-                // run the console driver, pass it the atmsDriver highways model
-                ConsoleTrafficDriver driver = new ConsoleTrafficDriver(atmsDriver.highways);
-
-            } else
-            {
-                throw new Exception("ATMSDRIVER_PROPERTIES system property not defined.");
-            }
-        } catch (Exception e)
-        {
-            ATMSDriverLogger.logp(Level.SEVERE, "ATMSDriver", "Main",
-                    "Error occured initializing application", e);
-            System.exit(-1);
-        }
-    }
-}
Index: trunk/src/atmsdriver/ExchangeReader.java
===================================================================
--- trunk/src/atmsdriver/ExchangeReader.java	(revision 79)
+++ 	(revision )
@@ -1,280 +1,0 @@
-package atmsdriver;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- *
- * @author John A Torres
- */
-public class ExchangeReader {
-	/** Error Log **/
-	private static Logger ATMSDriverLogger = Logger.getLogger("atmsdriver");
-	
-	/** A SAX Handler that is used to parse received Incident Status Node. **/
-	private IncidentStatusHandler ish = null;
-	
-	/** The current networkId **/
-	private int networkId = 1;
-	
-	/** The Paramics Simulation Info for the most recent incident read **/
-	private ExchangeInfo exInfo = null;
-	
-	/** Value (seconds since 1/1/1970) of input file's last modification time. */
-	private long lastModified = 0;
-	
-	/**
-	 * Constructor.
-	 */
-	public ExchangeReader() 
-	{		
-		ish = new IncidentStatusHandler();
-	}
-	
-	/**
-	 * This method parses the received XML node with the local CameraStatusHandler.
-	 * All updated camera information is sent to the ParamicsSimulationManager.
-	 * 
-	 * If a successful read of the file occurs, the file is written with an empty string
-	 * and the date of the last modification is stored.
-	 *
-	 * @param filename The file to check for message in.
-	 * @return A ParamicsSimulationInfo object containing the file's information
-	 * 		   A null pointer on:
-	 * 		     - The file does not exist
-	 * 		     - No new modification
-	 * 		     - An error opening file 		  
-	 *           - An empty file
-	 *           - An error parsing the file
-	 *           
-	 *         The caller is able to call this function to check if there are any new messages
-	 *         in the file.  If there are, a PSI object is returned.  If there aren't any new
-	 *         messages, a null pointer is returned.
-	 */
-	public ExchangeInfo parse(String filename) 
-	{	
-		ExchangeInfo exInfo = null;
-		
-		File f = new File(filename);
-		BufferedReader r = null;
-		
-		// File does not exist: No information
-		if (!(f.exists()))
-		{
-			return null;
-		}
-		
-		// File not modified: No new information
-		if (f.lastModified() <= lastModified)
-		{
-			return null;
-		}
-		
-		try 
-		{
-			// Try to open the file
-			r = new BufferedReader(new FileReader(f));
-			
-			// Read the file to the end
-			StringBuilder xml = new StringBuilder("");
-			String line = r.readLine();
-			while (line != null)
-			{
-				xml.append(line + "\n");
-				line = r.readLine();
-			}
-			
-			// If the file has contents in it, read them and returned a PSI describing the contents
-			if(xml.length() > 0) 
-			{
-				// Parse the file
-				SAXParserFactory.newInstance().newSAXParser().parse(new InputSource(new StringReader(xml.toString())), ish);
-                                exInfo = new ExchangeInfo(networkId, xml.toString());
-			}
-			else if (xml.length() == 0)
-			{
-				lastModified = modifyFile(f);
-				r.close();
-			}
-		}
-		catch (FileNotFoundException fnfe)
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "parse", 
-					filename + " dissapeared before reading.", fnfe);
-			exInfo = null;
-		}
-		catch (IOException ioe)
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "parse", 
-					"Error while reading file " + filename + ".", ioe);
-			exInfo = null;
-		}
-		catch (SAXException saxe)
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "parse", 
-					"Error while parsing file " + filename + ".", saxe);
-			exInfo = null;
-		}
-		catch (ParserConfigurationException pce)
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "parse", 
-					"Error while configuring parser.", pce);
-		}
-		
-		// If a incident was read
-		if (exInfo != null)
-		{
-			lastModified = modifyFile(f);
-			try
-			{
-				r.close();
-			}
-			catch (IOException e)
-			{
-				ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "parse", 
-						"Error while closing file" + filename + ".", e);
-			}			
-		}
-		
-		// Return no object if there was an error while reading, or the psi created from
-		// parsing the file if the operation was successful.
-		return exInfo;
-	}
-	
-	private long modifyFile(File f)
-	{
-		FileWriter w = null;
-		
-		// Write to the file to show that it was read.
-		try
-		{
-			w = new FileWriter(f);
-			w.write("");
-			w.close();
-		}
-		catch (IOException e)
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "parse", 
-					"Error while writing to file " + f.getName() + " to show that file was read.", e);
-		}
-		
-		// Save the last modified time
-		return f.lastModified();
-	}
-
-    /**
-     * Internal SAX Handler used to parse the Incident Status Document read by
-     * the remote Status Reader.  The schema for this document is: <br/>
-     *
-	 * <CAD_DATA><br>
-	 *    <Basic><br>
-	 *       <Comm_Interval/><br/>
-	 *       <Network_ID/><br/>
-	 *       <Simulation/><br/>
-	 *       <Incident/><br/>
-	 *    </Basic>
-	 *
-	 *    <Simulation_Data>
-	 *       <Simulation_speed/><br/>
-	 *       <CAD_clock><br/>
-	 *          <hour/><br/>
-	 *          <minute/><br/>
-	 *          <second/><br/>
-	 *          <Location><br/>
-	 *       </CAD_clock><br/>
-	 *    </Simulation_Data>
-	 *    
-	 *    <CAD_Incidents>
-	 *       <Incident><br/>
-	 *          <Identifier/><br/>
-	 *          <Status/><br/>
-	 *          <Location><br/>
-	 *              <Route/><br/>
-	 *              <Direction/><br/>
-	 *              <Location_type/><br/>
-	 *              <Postmile/><br/>
-	 *          </Location><br/>
-	 *          <Incident_type/><br/>
-	 *          <Lanes><br/>
-	 *             <Lane_number/><br/>
-	 *             ...
-	 *          </Lanes><br/>
-	 *       </Incident><br/>
-	 *       ...
-	 *    </CAD_Incidents>   
-	 *    
-	 *    <Management>
-	 *       <Diversion>
-     *          <Diversion_path>
-     *             <Identifier/>
-     *             <Percentage/>
-     *          <Diversion_path>
-     *          ...
-     *       </Diversion>
-     *       ...
-	 *    </Management>
-	 *  
-	 * </CAD_DATA>
-     */	
-	protected class IncidentStatusHandler extends DefaultHandler 
-	{
-		private final String NETWORK_ID   = "Network_ID";
-		
-		/** A buffer for reading characters **/
-		private StringBuffer parsedValue  = new StringBuffer();
-
-		public void startDocument() 
-		{ 
-		}	
-		
-		/** Appends characters to the xmlMessage and parsedValue buffers **/
-		public void characters(char[] ch, int start, int length) 
-		{
-			parsedValue.append(new String(ch, start, length).trim());
-		}
-		
-	    public void startElement (String uri, String localName, String qName, Attributes attributes)
-			throws SAXException
-		{
-	    }
-		
-		public void endElement(String uri, String localName, String qName)  
-		{
-			if(qName.equals(NETWORK_ID)) { networkId = Integer.parseInt(parsedValue.toString()); }
-			
-			parsedValue.setLength(0);
-		}	
-		
-		public void error(SAXParseException e) 
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "error", 
-					"Error in parsing received incident status.", e);
-		}
-		
-		public void fatalError(SAXParseException e) 
-		{
-			ATMSDriverLogger.logp(Level.SEVERE, "ParamicsIncidentReader", "fatalError", 
-					"Fatal error in parsing received incident status.", e);
-		}
-		
-		public void warning(SAXParseException e) 
-		{
-			ATMSDriverLogger.logp(Level.WARNING, "ParamicsIncidentReader", "warning", 
-					"Warning in parsing received incident status.", e);
-		}		
-	}
-}
