Index: /trunk/src/tmcsim/application.properties
===================================================================
--- /trunk/src/tmcsim/application.properties	(revision 444)
+++ /trunk/src/tmcsim/application.properties	(revision 445)
@@ -1,5 +1,5 @@
-#Sun, 14 Jul 2019 12:12:07 -0700
+#Sun, 14 Jul 2019 16:45:46 -0700
 
-Application.revision=443
+Application.revision=444
 
-Application.buildnumber=152
+Application.buildnumber=154
Index: /trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java
===================================================================
--- /trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java	(revision 290)
+++ /trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java	(revision 445)
@@ -525,7 +525,9 @@
                 pendingIncidentsTable.getRowSorter().setSortKeys(keys);
                 pendingIncidentsTable.getSelectionModel().setSelectionInterval(index, index);
-            } catch (RemoteException e)
-            {
-                e.printStackTrace();
+            } catch (RemoteException ex)
+            {
+                System.out.println("RemoteException in refreshTable method of PendingIncidents.java");
+                System.out.println(ex.getMessage());
+
             }
             revalidate();
Index: /trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java
===================================================================
--- /trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java	(revision 361)
+++ /trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java	(revision 445)
@@ -613,7 +613,8 @@
                 assignedIncidentsTable.getRowSorter().setSortKeys(keys);
                 assignedIncidentsTable.getSelectionModel().setSelectionInterval(index, index);
-            } catch (RemoteException e)
-            {
-                e.printStackTrace();
+            } catch (RemoteException ex)
+            {
+                System.out.println("RemoteException in refreshTable method of AssignedIncidents.java");
+                System.out.println(ex.getMessage());
             }
             revalidate();
Index: /trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java
===================================================================
--- /trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java	(revision 201)
+++ /trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java	(revision 445)
@@ -1075,7 +1075,8 @@
                 unitStatusTable.getRowSorter().setSortKeys(keys);
                 unitStatusTable.getSelectionModel().setSelectionInterval(index, index);
-            } catch (RemoteException e)
-            {
-                e.printStackTrace();
+            } catch (RemoteException ex)
+            {
+                System.out.println("RemoteException in refreshTable method of UnitStatus.java");
+                System.out.println(ex.getMessage());
             }
             revalidate();
Index: /trunk/src/tmcsim/client/CADClientView.java
===================================================================
--- /trunk/src/tmcsim/client/CADClientView.java	(revision 124)
+++ /trunk/src/tmcsim/client/CADClientView.java	(revision 445)
@@ -3,4 +3,6 @@
 import java.awt.Color;
 import java.awt.Dimension;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;
@@ -14,4 +16,5 @@
 import javax.swing.Box;
 import javax.swing.BoxLayout;
+import javax.swing.JDialog;
 import javax.swing.JFrame;
 import javax.swing.JOptionPane;
@@ -639,103 +642,120 @@
      *</table>
      */
-    public void update(Observable o, Object arg) {
-        
-        
+    public void update(Observable o, Object arg) 
+    {        
         if(arg == null) 
         {
-            JOptionPane.showMessageDialog(this, 
-                    "Connection to the CAD Server has been lost.  " +
-                    "Restart the CAD Client.", "Connection Error", 
-                    JOptionPane.ERROR_MESSAGE); 
+             final JOptionPane pane = new JOptionPane("Connection to the CAD Server has been lost.  " +
+                    "Restart the CAD Client.");
+             JDialog dialog = pane.createDialog(this, "Connection Error");
+             dialog.setModal(false); // don't block background components
+             // Listen for dialog closing
+             dialog.addComponentListener(new ComponentAdapter() 
+             {
+                @Override
+                public void componentHidden(ComponentEvent e) 
+                {
+                    System.exit(-1);  // force hard exit
+                }
+             });
+             dialog.setVisible(true);
+            
+//            JOptionPane.showMessageDialog(this, 
+//                    "Connection to the CAD Server has been lost.  " +
+//                    "Restart the CAD Client.", "Connection Error", 
+//                    JOptionPane.ERROR_MESSAGE); 
             //return;
             // Changed to hard exit because Windows was hanging here
-            System.exit(-1);
+            //System.exit(-1);
         }
-        
+        else
+        {
         ObserverMessage oMessage = (ObserverMessage)arg;
     
-        switch(oMessage.type) {
-            case INCIDENT_INQUIRY:
-                IncidentInquiryModel iiModel = (IncidentInquiryModel)oMessage.value;
-                
-                CADMainPane   = new II_IncidentInquiry(iiModel, mainTextPane.getDocument());
-                CADMainPane.addObserver(CADFooterPane);
-                
-                if(!pageLocationSaved)
-                    pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
-                
-                updateViews(iiModel);               
-                
-                break;
-                
-            case INCIDENT_SUMMARY:
-                IncidentSummaryModel isModel = (IncidentSummaryModel)oMessage.value;
-                
-                CADMainPane   = new SA_IncidentSummary(isModel, mainTextPane.getDocument());
-                CADMainPane.addObserver(CADFooterPane);
-                
-                if(!pageLocationSaved)
-                    pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
-                
-                updateViews(isModel);
-                break;
-                
-            case INCIDENT_BOARD:
-                IncidentBoardModel ibModel = (IncidentBoardModel)oMessage.value;
-            
-                CADMainPane   = new IB_IncidentBoard(ibModel, mainTextPane.getDocument());
-                CADMainPane.addObserver(CADFooterPane);     
-                
-                if(!pageLocationSaved)
-                    pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
-                
-                updateViews(ibModel);
-                break;
-                
-            case ROUTED_MESSAGE:
-                RoutedMessageModel rmModel = (RoutedMessageModel)oMessage.value;
-            
-                CADMainPane = new TO_RoutedMessage(rmModel, mainTextPane.getDocument());
-                CADMainPane.addObserver(CADFooterPane);
-                
-                if(!pageLocationSaved)
-                    pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
-                
-                updateViews(rmModel);
-                break;
-                
-            case BLANK_SCREEN:
-                BlankScreenModel bsModel = (BlankScreenModel)oMessage.value;
-                
-                CADMainPane = new CADMainView(mainTextPane.getDocument());
-                CADMainPane.addObserver(CADFooterPane); 
-
-                if(!pageLocationSaved)
-                    pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
-                
-                updateViews(bsModel);
-                break;              
-                
-            case SCREEN_UPDATE:
-                CADFooterPane.updateStatus(CADScreenModel.updateStringToMap(
-                        (String)oMessage.value));
-                break;
-                
-            case TIME_UPDATE:
-                CADFooterPane.updateTime((String)oMessage.value);           
-                break;
-                
-            case ROUTED_MESSAGE_COUNT_UPDATE:
-                CADFooterPane.updateRoutedMessageCount((Integer)oMessage.value);
-                break;
-                
-            case ROUTED_MESSAGE_UNREAD_UPDATE:
-                CADFooterPane.updateUnreadMessages((Boolean)oMessage.value);
-                break;
-                
-            case CAD_INFO_MESSAGE:
-                CADFooterPane.displayInfoMessage((String)oMessage.value);
-                break;
-        }           
+            switch(oMessage.type) 
+            {
+                case INCIDENT_INQUIRY:
+                    IncidentInquiryModel iiModel = (IncidentInquiryModel)oMessage.value;
+
+                    CADMainPane   = new II_IncidentInquiry(iiModel, mainTextPane.getDocument());
+                    CADMainPane.addObserver(CADFooterPane);
+
+                    if(!pageLocationSaved)
+                        pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
+
+                    updateViews(iiModel);               
+
+                    break;
+
+                case INCIDENT_SUMMARY:
+                    IncidentSummaryModel isModel = (IncidentSummaryModel)oMessage.value;
+
+                    CADMainPane   = new SA_IncidentSummary(isModel, mainTextPane.getDocument());
+                    CADMainPane.addObserver(CADFooterPane);
+
+                    if(!pageLocationSaved)
+                        pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
+
+                    updateViews(isModel);
+                    break;
+
+                case INCIDENT_BOARD:
+                    IncidentBoardModel ibModel = (IncidentBoardModel)oMessage.value;
+
+                    CADMainPane   = new IB_IncidentBoard(ibModel, mainTextPane.getDocument());
+                    CADMainPane.addObserver(CADFooterPane);     
+
+                    if(!pageLocationSaved)
+                        pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
+
+                    updateViews(ibModel);
+                    break;
+
+                case ROUTED_MESSAGE:
+                    RoutedMessageModel rmModel = (RoutedMessageModel)oMessage.value;
+
+                    CADMainPane = new TO_RoutedMessage(rmModel, mainTextPane.getDocument());
+                    CADMainPane.addObserver(CADFooterPane);
+
+                    if(!pageLocationSaved)
+                        pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
+
+                    updateViews(rmModel);
+                    break;
+
+                case BLANK_SCREEN:
+                    BlankScreenModel bsModel = (BlankScreenModel)oMessage.value;
+
+                    CADMainPane = new CADMainView(mainTextPane.getDocument());
+                    CADMainPane.addObserver(CADFooterPane); 
+
+                    if(!pageLocationSaved)
+                        pageLocationMap.put(currentScreenNum, CADMainPane.getCurrentPage());
+
+                    updateViews(bsModel);
+                    break;              
+
+                case SCREEN_UPDATE:
+                    CADFooterPane.updateStatus(CADScreenModel.updateStringToMap(
+                            (String)oMessage.value));
+                    break;
+
+                case TIME_UPDATE:
+                    CADFooterPane.updateTime((String)oMessage.value);           
+                    break;
+
+                case ROUTED_MESSAGE_COUNT_UPDATE:
+                    CADFooterPane.updateRoutedMessageCount((Integer)oMessage.value);
+                    break;
+
+                case ROUTED_MESSAGE_UNREAD_UPDATE:
+                    CADFooterPane.updateUnreadMessages((Boolean)oMessage.value);
+                    break;
+
+                case CAD_INFO_MESSAGE:
+                    CADFooterPane.displayInfoMessage((String)oMessage.value);
+                    break;
+            }
+        }
     }
     
Index: /trunk/src/tmcsim/client/CADClient.java
===================================================================
--- /trunk/src/tmcsim/client/CADClient.java	(revision 361)
+++ /trunk/src/tmcsim/client/CADClient.java	(revision 445)
@@ -513,5 +513,6 @@
                     theCoorInt.unregisterForCallback(client);
                 } catch (RemoteException e) {
-                    e.printStackTrace();
+                    cadClientLogger.logp(Level.WARNING, "CADClient.java", "Main",
+                    "Error unregistering in ensureProperShutdown().");
                 }
             }
Index: /trunk/src/tmcsim/client/CADClientModel.java
===================================================================
--- /trunk/src/tmcsim/client/CADClientModel.java	(revision 2)
+++ /trunk/src/tmcsim/client/CADClientModel.java	(revision 445)
@@ -132,8 +132,8 @@
                 receiveObject(in.readObject());                 
             }
-            catch (EOFException eofe) {
+/*            catch (EOFException eofe) {
                 clientLogger.logp(Level.SEVERE, "CADClientModel", "run()", 
                         "Exception in reading object from input stream.", eofe);
-            }
+            }*/
             catch (Exception e) {
                 clientLogger.logp(Level.SEVERE, "CADClientModel", "run()", 
Index: /trunk/src/tmcsim/simulationmanager/SimulationManagerModel.java
===================================================================
--- /trunk/src/tmcsim/simulationmanager/SimulationManagerModel.java	(revision 6)
+++ /trunk/src/tmcsim/simulationmanager/SimulationManagerModel.java	(revision 445)
@@ -119,9 +119,9 @@
             theCoorInt.unregisterForCallback(this);
             theCoorInt = null;
-        } catch (Exception e)
+        } catch (Exception ex)
         {
             simManagerLogger.logp(Level.SEVERE, "SimulationManagerModel",
                     "closeSimManager", "Exception in unregistering Simulation"
-                    + "Manager from the CAD Simulator.", e);
+                    + "Manager from the CAD Simulator.", ex.getMessage());
         }
     }
Index: /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 422)
+++ /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 445)
@@ -422,5 +422,5 @@
                 catch (FileNotFoundException ex)
                 {
-                    Logger.getLogger(GoogleMapAnimator.class.getName()).log(Level.SEVERE, null, ex);
+                    Logger.getLogger(TrafficModelManager.class.getName()).log(Level.SEVERE, null, ex);
                 }
                 // Wait for Google Map to process the data we just sent
Index: /trunk/src/python/unifiedlogger/wing_project.wpr
===================================================================
--- /trunk/src/python/unifiedlogger/wing_project.wpr	(revision 444)
+++ /trunk/src/python/unifiedlogger/wing_project.wpr	(revision 445)
@@ -506,5 +506,5 @@
                  'traversal_pos': ((0,
                                     4),
-                                   1563131442.756592),
+                                   1563131506.336019),
                  'user_data': {}},
         'window-alloc': (29,
