Index: trunk/config/vds_data/atmsBatchEvents.txt
===================================================================
--- trunk/config/vds_data/atmsBatchEvents.txt	(revision 105)
+++ trunk/config/vds_data/atmsBatchEvents.txt	(revision 105)
@@ -0,0 +1,3 @@
+00:00:20  first event
+00:00:30  second event
+
Index: trunk/src/tmcsim/client/ATMSDriverClient.java
===================================================================
--- trunk/src/tmcsim/client/ATMSDriverClient.java	(revision 102)
+++ trunk/src/tmcsim/client/ATMSDriverClient.java	(revision 105)
@@ -4,8 +4,12 @@
 import java.awt.event.ActionListener;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.rmi.Naming;
 import java.rmi.RemoteException;
 import java.rmi.server.UnicastRemoteObject;
+import java.util.LinkedList;
 import java.util.Properties;
+import java.util.Queue;
+import java.util.Scanner;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Level;
@@ -33,4 +37,6 @@
         CADClientInterface
 {
+    private static final String CONFIG_FILE_NAME = "cad_client_config.properties";
+    private final static int ONE_SECOND = 1000;
     /**
      * Error logger.
@@ -82,6 +88,10 @@
      */
     private CADClientInterface client = this;
-    private static final String CONFIG_FILE_NAME = "cad_client_config.properties";
-    private final static int ONE_SECOND = 1000;
+    
+    /** 
+     * Queue of batch events
+     */
+    private Queue<String> eventQueue;
+    
 
     /**
@@ -104,4 +114,5 @@
 
         // READ THE BATCH FILE OF COMMANDS and put in a queue
+        readBatchFile();
         // Consider special cases:  1) time to fire first command
         // has already past when application starts.
@@ -114,15 +125,28 @@
             public void actionPerformed(ActionEvent e)
             {
+                String currentClock = "";
                 try
                 {
                     long simtime = theCoorInt.getCurrentSimulationTime();
+                    currentClock = formatInterval(simtime);
+                    System.out.println("Current clock: " + currentClock);
+                } catch (RemoteException ex)
+                {
+                    Logger.getLogger(ATMSDriverClient.class.getName()).log(Level.SEVERE, null, ex);
+                }
+                if (!eventQueue.isEmpty())
+                {
                     // Check the queue of commands to see if the first
                     // item matches the current time.  IF so, 
                     // issue that command and remove it from queue.
-                    
+                    String nextEvent = eventQueue.peek();
+                    String eventTime = nextEvent.substring(0,8);
+                    System.out.println("Next event will be launched at: " + eventTime);
+                    if (eventTime.equals(currentClock))
+                    {
+                        System.out.println("LAUNCHING EVENT at " + nextEvent );
+                        eventQueue.remove();
+                    }
                     //theView.updateTime("" + formatInterval(simtime));
-                } catch (RemoteException ex)
-                {
-                    Logger.getLogger(ATMSDriverClient.class.getName()).log(Level.SEVERE, null, ex);
                 }
             }
@@ -133,4 +157,20 @@
     }
 
+    private void readBatchFile()
+    {
+        FileInputStream fis;
+        try {
+            fis = new FileInputStream("config/vds_data/atmsBatchEvents.txt");
+            Scanner scan = new Scanner(fis);
+            eventQueue = new LinkedList<String>();
+            while (scan.hasNext())
+            {
+                eventQueue.add(scan.nextLine());
+            }
+        } catch (FileNotFoundException ex) {
+            Logger.getLogger(ATMSDriverClient.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+    
     /**
      * Connect to the Coordinator's RMI object, and register this object for
