Index: trunk/src/atmsdriver/ConsoleTrafficDriver.java
===================================================================
--- trunk/src/atmsdriver/ConsoleDriver.java	(revision 176)
+++ trunk/src/atmsdriver/ConsoleTrafficDriver.java	(revision 180)
@@ -5,4 +5,5 @@
 import atmsdriver.model.Highway;
 import atmsdriver.model.Station;
+import atmsdriver.model.LoopDetector.DOTCOLOR;
 import java.io.FileInputStream;
 import java.util.ArrayList;
@@ -21,5 +22,5 @@
  * @version 10/11/2017
  */
-public final class ConsoleDriver {
+public final class ConsoleTrafficDriver {
     // highways model
     private final Highways highways;
@@ -27,7 +28,6 @@
     // lists used for user input validation
     private final List<Integer> routeNumInputList;
-    private final List<String> dotColorInputList;
-    /**
-     * Properties for the ConsoleDriver
+    /**
+     * Properties for the ConsoleTrafficDriver
      */
     private static Properties ConsoleDriverProperties;
@@ -57,5 +57,5 @@
 
                 // Construct the console driver using the highways model
-                ConsoleDriver driver = new ConsoleDriver(highways);
+                ConsoleTrafficDriver driver = new ConsoleTrafficDriver(highways);
                 driver.runConsole();    
             } else {
@@ -92,5 +92,5 @@
      * @param highways 
      */
-    public ConsoleDriver(Highways highways) {
+    public ConsoleTrafficDriver(Highways highways) {
         // set highways model
         this.highways = highways;
@@ -98,5 +98,4 @@
         // set input validation lists
         routeNumInputList = generateRouteNumInputList();
-        dotColorInputList = new ArrayList<>(Arrays.asList("R", "Y", "G"));        
     }
     
@@ -121,6 +120,8 @@
     public void runConsole() {
         Scanner sc = new Scanner(System.in);
+        char choice = 'A';
         // Run continuously
-        while (true) {
+        while (choice != 'Q')
+        {
             // Get necessary values for colorization of highways
             Integer routeNumber = getRouteNumber(sc);
@@ -129,81 +130,25 @@
             Double range = getRange(sc, postmile);
             DOTCOLOR dotcolor = getDotColor(sc);
-            
+
             // apply colorization to highways
-            applyColorToHighwayStretch(routeNumber, direction, postmile, range, dotcolor);
-        }
-    }
-    
-    /**
-     * Applies specified color to the specified highway stretch. Route number and
-     * direction specify the highway. Postmile and range specify the stretch of
-     * specified highway. Dot color is the color to be applied to the stretch.
-     * 
-     * @param routeNumber highway route number
-     * @param direction highway direction
-     * @param postmile origin postmile value
-     * @param range range from origin postmile
-     * @param dotColor the color to be applied to specified highway stretch
-     */
-    public void applyColorToHighwayStretch(Integer routeNumber, DIRECTION direction, 
-            Double postmile, Double range, DOTCOLOR dotColor) {
-        System.out.println("Applying " + dotColor.name() + " dots to highway " 
-                + routeNumber + " " + direction.name() + " at postmile " 
-                + postmile + " with a range of " + range + " miles...");
-        
-        // Get the highway by route number
-        Highway highway = highways.getHighwayByRouteNumber(routeNumber);
-        
-        // start value for highway section, and end value for highway section
-        // by postmile
-        Double startPost;
-        Double endPost;
-        
-        // postmiles increase from s to n and w to e
-        
-        // if the direction is south or west
-        if(direction.equals(DIRECTION.SOUTH) || direction.equals(DIRECTION.WEST))
-        {
-            // add range value to startPost to get
-            // the end postmile value of the highway section
-            startPost = postmile;
-            endPost = postmile + range;
-            
-            // iterate through the stations, if within the specified highway
-            // stretch, update the station by direction and apply dot color
-            for(Station station : highway.stations)
-            {
-                if(station.postmile >= startPost && station.postmile <= endPost)
-                {
-                    station.updateByDirection(direction, dotColor);
+            highways.applyColorToHighwayStretch(routeNumber, direction, postmile, range, dotcolor);
+
+            System.out.println("Add another entry or Send now? (A/S)");
+            choice = sc.next().toUpperCase().trim().charAt(0);
+            System.out.println("");
+            if (choice == 'S')
+            {
+                // Send highway model to FEP for transmit to ATMS
+                try {
+                    highways.writeToFEP();
+                } catch (SimulationException ex) {
+                    System.out.println("Skipping writeToFEP...");
                 }
-            }
-        }
-        // if the direction is north or east 
-        else
-        {
-            //subtract range value from startPost
-            // to get the end postmile value of the highway section
-            startPost = postmile;
-            endPost = postmile - range;
-            
-            // iterate through the stations, if within the specified highway
-            // section, update the station by direction and apply dot color
-            for(Station station : highway.stations)
-            {
-                if(station.postmile <= startPost && station.postmile >= endPost)
-                {
-                    station.updateByDirection(direction, dotColor);
-                }
-            }
-        }
-        System.out.println("");
-      //  Omit this since it's now running as a task in ATMSBatchDriver
-//        try {
-//            highways.writeToFEP();
-//        } catch (SimulationException ex) {
-//            System.out.println("Skipping writeToFEP...");
-//        }
-    }
+                System.out.println("Add another entry or Quit? (A/Q)");
+                choice = sc.next().toUpperCase().trim().charAt(0);
+            }
+        }
+    }
+    
     
     /**
@@ -398,8 +343,8 @@
             // prompt user for color
             System.out.println("Enter a dot color (G/Y/R):");
-            dotColorInput = sc.next();
+            dotColorInput = sc.next().toUpperCase();
             System.out.println("");
             // validate user's input
-            if(dotColorInputList.contains(dotColorInput))
+            if(DOTCOLOR.allLetters.contains(dotColorInput))
             {
                 verified = true;
@@ -414,55 +359,3 @@
     }
     
-    /**
-     * Enum for highway status dot colors. Each color has associated volume
-     * and occupancy constants.
-     *
-     * @author John A. Torres, jdalbey
-     * @version 10/11/2017
-     */
-    public static enum DOTCOLOR {
-
-        RED(1, 0.06f),
-        YELLOW(3,0.059f), // speed = 26
-        GREEN(0,0);
-        
-        // All the first letters of the values, in order.
-        private static String allLetters = "RYG";
-        
-        private int vol;  /* volume */
-        private float occ;  /* occupancy */      
-        
-        private DOTCOLOR(int v, float o)
-        {
-            vol = v;
-            occ = o;
-        }
-        /**
-         * Return the first letter of this enum.
-         *
-         * @return String first letter of this enum.
-         */
-        public String getLetter() {
-            return this.toString().substring(0, 1);
-        }
-
-        public int volume()
-        {
-            return vol;
-        }
-        public float occupancy()
-        {
-            return occ;
-        }
-        /**
-         * Returns a dot color given its first character.
-         *
-         * @param letter the first character of a dot color
-         * @return dot color corresponding to letter
-         * @pre letter must be one of allLetters
-         */
-        public static DOTCOLOR toDotColor(String letter) {
-            return values()[allLetters.indexOf(letter.charAt(0))];
-        }
-    }  
 }
