Print

Print


Author: [log in to unmask]
Date: Mon Nov 10 11:20:53 2014
New Revision: 1473

Log:
Apply code formatting to all Java files in the monitoring-app module.

Modified:
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/SteeringType.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ApplicationWindow.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Commands.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DatePanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DialogUtil.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ErrorHandler.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/FieldPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Main.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/MonitoringApplication.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotInfoWindow.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotWindow.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/RunPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ScreenUtil.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsDialog.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SystemStatusWindow.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/WindowConfiguration.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/AbstractModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/Configuration.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/ConfigurationModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/HasConfigurationModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/RunModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/SystemStatusTableModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringAnalysisFactory.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringPlotFactory.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUpdater.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUtil.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/StatusCode.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/Subsystem.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatistics.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatisticsImpl.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatus.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusImpl.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusListener.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusRegistry.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/ecal/EcalStripChartTestDriver.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemMonitor.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemStripCharts.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/svt/BasicHitMonitoringDriver.java

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java	Mon Nov 10 11:20:53 2014
@@ -3,11 +3,6 @@
 /**
  * Status of the connection to the ET server from the monitoring client.
  */
-public enum ConnectionStatus {    
-    DISCONNECTED,
-    DISCONNECTING,
-    ERROR,
-    CONNECTION_REQUESTED,
-    CONNECTED,
-    PAUSED                         
+public enum ConnectionStatus {
+    DISCONNECTED, DISCONNECTING, ERROR, CONNECTION_REQUESTED, CONNECTED, PAUSED
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/SteeringType.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/SteeringType.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/enums/SteeringType.java	Mon Nov 10 11:20:53 2014
@@ -4,6 +4,5 @@
  * The type of steering to use for event processing.
  */
 public enum SteeringType {
-    RESOURCE,
-    FILE;
+    RESOURCE, FILE;
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java	Mon Nov 10 11:20:53 2014
@@ -20,18 +20,17 @@
 import org.hps.monitoring.gui.model.HasConfigurationModel;
 
 /**
- * A <code>JPanel</code> which has a number of fields with the labels
- * in the first column and the components for showing/editing the fields
- * in the second.  It uses <code>GridBagConstraints</code> for layout.
+ * A <code>JPanel</code> which has a number of fields with the labels in the first column and the
+ * components for showing/editing the fields in the second. It uses <code>GridBagConstraints</code>
+ * for layout.
  */
 // TODO: This should use features of JFormattedTextField instead of plain JTextField.
-abstract class AbstractFieldsPanel extends JPanel 
-    implements PropertyChangeListener, HasConfigurationModel, ActionListener {
-
-    private int currY = 0;    
+abstract class AbstractFieldsPanel extends JPanel implements PropertyChangeListener, HasConfigurationModel, ActionListener {
+
+    private int currY = 0;
     private Insets insets;
     private boolean editable = false;
-    
+
     /**
      * Class constructor.
      * @param insets The insets for the panel.
@@ -41,14 +40,14 @@
         this.insets = insets;
         this.editable = editable;
     }
-    
+
     /**
      * Class constructor.
      */
     AbstractFieldsPanel() {
         this.insets = new Insets(1, 1, 1, 1);
     }
-    
+
     /**
      * Add a field.
      * @param name The name of the field.
@@ -69,7 +68,7 @@
     protected final JTextField addField(String name, String value, int size) {
         return addField(name, value, size, this.editable);
     }
-    
+
     /**
      * Add a field.
      * @param name The name of the field.
@@ -84,11 +83,11 @@
         f.setToolTipText(tooltip);
         return f;
     }
-    
-    /**
-     * Add a field.
-     * @param name The name of the field.
-     * @param value The default value of the field. 
+
+    /**
+     * Add a field.
+     * @param name The name of the field.
+     * @param value The default value of the field.
      * @param size The size of the field.
      * @param editable The editable setting.
      * @return The JTextField component.
@@ -101,25 +100,25 @@
         c.anchor = GridBagConstraints.WEST;
         JLabel label = new JLabel(name + ":");
         add(label, c);
-        
+
         c = new GridBagConstraints();
         c.gridx = 1;
         c.gridy = currY;
         c.insets = insets;
         c.anchor = GridBagConstraints.EAST;
-        //JFormattedTextField field = new JFormattedTextField(value, size);
+        // JFormattedTextField field = new JFormattedTextField(value, size);
         JFormattedTextField field = new JFormattedTextField(value);
         field.setColumns(size);
         field.setHorizontalAlignment(JTextField.RIGHT);
         field.setEditable(editable);
         field.setBackground(Color.WHITE);
         add(field, c);
-        
-        ++currY;
-        
+
+        ++currY;
+
         return field;
     }
-    
+
     /**
      * Add a combo box.
      * @param name The name of the combo box.
@@ -127,9 +126,9 @@
      * @return The JComboBox component.
      */
     protected final JComboBox addComboBox(String name, String[] values) {
-        
-    	//System.out.println("addComboBox = " + name);
-    	
+
+        // System.out.println("addComboBox = " + name);
+
         GridBagConstraints c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = currY;
@@ -145,16 +144,16 @@
         c.insets = insets;
         c.anchor = GridBagConstraints.EAST;
         JComboBox combo = new JComboBox(values);
-        //System.out.println("combo width = " + combo.getWidth());
-        //System.out.println("combo width = " + combo.getSize().getWidth());
+        // System.out.println("combo width = " + combo.getWidth());
+        // System.out.println("combo width = " + combo.getSize().getWidth());
         combo.setEditable(editable);
         add(combo, c);
-        
-        ++currY;
-        
+
+        ++currY;
+
         return combo;
     }
-    
+
     /**
      * Add a multiline combo box.
      * @param name The name of the combo box.
@@ -162,7 +161,7 @@
      * @return The JComboBox component.
      */
     protected final JComboBox addComboBoxMultiline(String name, String[] values) {
-        
+
         GridBagConstraints c = new GridBagConstraints();
         c.gridx = 0;
         c.gridwidth = GridBagConstraints.REMAINDER;
@@ -173,7 +172,7 @@
         waitModeLabel.setHorizontalAlignment(JLabel.LEFT);
         add(waitModeLabel, c);
         ++currY;
-        
+
         c = new GridBagConstraints();
         c.gridx = 0;
         c.gridwidth = GridBagConstraints.REMAINDER;
@@ -181,16 +180,16 @@
         c.insets = insets;
         c.anchor = GridBagConstraints.WEST;
         JComboBox combo = new JComboBox(values);
-        //System.out.println("combo width = " + combo.getWidth());
-        //System.out.println("combo width = " + combo.getSize().getWidth());
+        // System.out.println("combo width = " + combo.getWidth());
+        // System.out.println("combo width = " + combo.getSize().getWidth());
         combo.setEditable(editable);
         add(combo, c);
-        
-        ++currY;
-        
+
+        ++currY;
+
         return combo;
     }
-    
+
     /**
      * Add a check box.
      * @param name The name of the check box.
@@ -204,7 +203,7 @@
         c.setToolTipText(tooltip);
         return c;
     }
-    
+
     /**
      * Add a check box.
      * @param name The name of the check box.
@@ -213,7 +212,7 @@
      * @return The JCheckBox component.
      */
     protected final JCheckBox addCheckBox(String name, boolean selected, boolean enabled) {
-        
+
         GridBagConstraints c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = currY;
@@ -221,7 +220,7 @@
         c.anchor = GridBagConstraints.WEST;
         JLabel label = new JLabel(name + ":");
         add(label, c);
-        
+
         c = new GridBagConstraints();
         c.gridx = 1;
         c.gridy = currY;
@@ -231,12 +230,12 @@
         checkbox.setSelected(selected);
         checkbox.setEnabled(enabled);
         add(checkbox, c);
-        
-        ++currY;
-        
+
+        ++currY;
+
         return checkbox;
     }
-    
+
     protected final JButton addButton(String text) {
         GridBagConstraints c = new GridBagConstraints();
         c.gridx = 0;
@@ -250,10 +249,10 @@
         ++currY;
         return button;
     }
-        
-    /**
-     * Add an ActionListener to this component.  By default this does nothing, but 
-     * individual sub-components should attach this to individual components.
+
+    /**
+     * Add an ActionListener to this component. By default this does nothing, but individual
+     * sub-components should attach this to individual components.
      * @param listener The AcitonListener to add.
      */
     void addActionListener(ActionListener listener) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ApplicationWindow.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ApplicationWindow.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ApplicationWindow.java	Mon Nov 10 11:20:53 2014
@@ -8,25 +8,25 @@
  * An abstract class for windows in the monitoring application.
  */
 abstract class ApplicationWindow extends JFrame {
-    
+
     WindowConfiguration defaultWindowConfiguration;
     WindowConfiguration currentWindowConfiguration;
-    
+
     ApplicationWindow(String title) {
         this.setTitle(title);
     }
-            
+
     final void updateWindowConfiguration(WindowConfiguration windowConfiguration) {
         currentWindowConfiguration = windowConfiguration;
         setSize(new Dimension(windowConfiguration.width, windowConfiguration.height));
         setLocation(windowConfiguration.x, windowConfiguration.y);
     }
-    
+
     final void setDefaultWindowConfiguration(WindowConfiguration windowConfiguration) {
         defaultWindowConfiguration = windowConfiguration;
         updateWindowConfiguration(windowConfiguration);
     }
-    
+
     final void resetWindowConfiguration() {
         if (defaultWindowConfiguration != null) {
             setDefaultWindowConfiguration(defaultWindowConfiguration);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Commands.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Commands.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Commands.java	Mon Nov 10 11:20:53 2014
@@ -1,8 +1,8 @@
 package org.hps.monitoring.gui;
 
 /**
- * These strings are used to identify ActionEvents in the MonitoringApplication.
- * A few commands handled only by sub-components are not listed here.
+ * These strings are used to identify ActionEvents in the MonitoringApplication. A few commands
+ * handled only by sub-components are not listed here.
  */
 final class Commands {
 
@@ -25,7 +25,7 @@
     static final String LOG_TO_FILE_CHANGED = "logToFileChanged";
     static final String LOG_TO_TERMINAL = "logToTerminal";
     static final String NEXT = "next";
-    static final String PAUSE = "pause";    
+    static final String PAUSE = "pause";
     static final String PROCESSING_STAGE_CHANGED = "processingStageChanged";
     static final String RESTORE_DEFAULT_GUI_LAYOUT = "restoreDefaultGuiLayout";
     static final String RESUME = "resume";
@@ -34,14 +34,14 @@
     static final String SAVE_LOG_TABLE = "saveLogTable";
     static final String SAVE_PLOTS = "savePlots";
     static final String SCREENSHOT = "screenshot";
-    static final String SELECT_CONFIG_FILE = "selectConfigFile";    
+    static final String SELECT_CONFIG_FILE = "selectConfigFile";
     static final String SELECT_LOG_FILE = "logToFile";
     static final String SET_EVENT_BUILDER = "setEventBuilder";
     static final String SET_STEERING_RESOURCE = "setSteeringResource";
     static final String SHOW_SETTINGS = "showSettings";
     static final String STEERING_TYPE_CHANGED = "steeringTypeChanged";
-    static final String STEERING_RESOURCE_CHANGED = "steeringResourceChanged";                   
+    static final String STEERING_RESOURCE_CHANGED = "steeringResourceChanged";
     static final String VERBOSE_CHANGED = "verboseChanged";
     static final String VALIDATE_DATA_FILE = "validateDataFile";
-    static final String WAIT_MODE_CHANGED = "waitModeChanged";                         
+    static final String WAIT_MODE_CHANGED = "waitModeChanged";
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java	Mon Nov 10 11:20:53 2014
@@ -33,13 +33,9 @@
     private JComboBox<?> waitModeComboBox;
     private JTextField waitTimeField;
     private JTextField prescaleField;
-    
-    static final String[] waitModes = {
-        Mode.SLEEP.name(),
-        Mode.TIMED.name(),
-        Mode.ASYNC.name()
-    };
-    
+
+    static final String[] waitModes = { Mode.SLEEP.name(), Mode.TIMED.name(), Mode.ASYNC.name() };
+
     ConfigurationModel configurationModel;
 
     /**
@@ -51,46 +47,46 @@
 
         setLayout(new GridBagLayout());
 
-        etNameField = addField("ET Name", "", 20);        
+        etNameField = addField("ET Name", "", 20);
         etNameField.addPropertyChangeListener("value", this);
-        
+
         hostField = addField("Host", 20);
         hostField.addPropertyChangeListener("value", this);
-        
+
         portField = addField("Port", 5);
         portField.addPropertyChangeListener("value", this);
-        
+
         blockingCheckBox = addCheckBox("Blocking", false, true);
         blockingCheckBox.setActionCommand(BLOCKING_CHANGED);
         blockingCheckBox.addActionListener(this);
-        
-        verboseCheckBox = addCheckBox("Verbose", false, true);        
+
+        verboseCheckBox = addCheckBox("Verbose", false, true);
         verboseCheckBox.setActionCommand(VERBOSE_CHANGED);
         verboseCheckBox.addActionListener(this);
-        
+
         stationNameField = addField("Station Name", 10);
-        stationNameField.addPropertyChangeListener("value", this);        
-        
+        stationNameField.addPropertyChangeListener("value", this);
+
         chunkSizeField = addField("Chunk Size", 3);
         chunkSizeField.addPropertyChangeListener("value", this);
-        
+
         queueSizeField = addField("Queue Size", 3);
         queueSizeField.addPropertyChangeListener("value", this);
-        
+
         stationPositionField = addField("Station Position", 3);
         stationPositionField.addPropertyChangeListener("value", this);
-        
-        waitModeComboBox = addComboBox("Wait Mode", waitModes);        
+
+        waitModeComboBox = addComboBox("Wait Mode", waitModes);
         waitModeComboBox.setActionCommand(WAIT_MODE_CHANGED);
         waitModeComboBox.addActionListener(this);
-        
+
         waitTimeField = addField("Wait Time [microseconds]", 8);
         waitTimeField.addPropertyChangeListener(this);
-        
+
         prescaleField = addField("Prescale", 8);
-        prescaleField.addPropertyChangeListener(this);       
-    }
-      
+        prescaleField.addPropertyChangeListener(this);
+    }
+
     /**
      * Enable or disable the connection panel GUI elements.
      * @param e Set to true for enabled; false to disable.
@@ -109,16 +105,16 @@
         waitTimeField.setEnabled(e);
         prescaleField.setEnabled(e);
     }
-             
+
     /**
      * Updates the GUI from changes in the ConfigurationModel.
      */
     public class ConfigurationSettingsChangeListener implements PropertyChangeListener {
         @Override
         public void propertyChange(PropertyChangeEvent evt) {
-                                               
+
             Object value = evt.getNewValue();
-            
+
             if (evt.getPropertyName().equals(ET_NAME_PROPERTY)) {
                 etNameField.setText((String) value);
             } else if (evt.getPropertyName().equals(HOST_PROPERTY)) {
@@ -138,12 +134,12 @@
             } else if (evt.getPropertyName().equals(STATION_POSITION_PROPERTY)) {
                 stationPositionField.setText(value.toString());
             } else if (evt.getPropertyName().equals(WAIT_MODE_PROPERTY)) {
-                waitModeComboBox.setSelectedItem(((Mode)value).name());
+                waitModeComboBox.setSelectedItem(((Mode) value).name());
             } else if (evt.getPropertyName().equals(WAIT_TIME_PROPERTY)) {
                 waitTimeField.setText(value.toString());
             } else if (evt.getPropertyName().equals(PRESCALE_PROPERTY)) {
                 prescaleField.setText(value.toString());
-            }                                                                     
+            }
         }
     }
 
@@ -152,12 +148,12 @@
      */
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
-        
+
         if (evt.getPropertyName().equals("ancestor"))
             return;
-                
+
         Object source = evt.getSource();
-        
+
         if (source.equals(etNameField)) {
             configurationModel.setEtName(etNameField.getText());
         } else if (source.equals(hostField)) {
@@ -176,9 +172,9 @@
             configurationModel.setWaitTime(Integer.parseInt(waitTimeField.getText()));
         } else if (source.equals(prescaleField)) {
             configurationModel.setPrescale(Integer.parseInt(prescaleField.getText()));
-        }                     
-    }
-    
+        }
+    }
+
     /**
      * Used to update the ConfigurationModel from GUI components.
      */
@@ -191,16 +187,16 @@
         } else if (VERBOSE_CHANGED.equals(e.getActionCommand())) {
             configurationModel.setVerbose(verboseCheckBox.isSelected());
         }
-    }       
+    }
 
     @Override
     public void setConfigurationModel(ConfigurationModel configurationModel) {
         // Set the ConfigurationModel reference.
         this.configurationModel = configurationModel;
-        
+
         // This listener pushes GUI values into the configuration.
         this.configurationModel.addPropertyChangeListener(this);
-        
+
         // This listener updates the GUI from changes in the configuration.
         this.configurationModel.addPropertyChangeListener(new ConfigurationSettingsChangeListener());
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java	Mon Nov 10 11:20:53 2014
@@ -25,10 +25,10 @@
 
     JTextField statusField;
     JTextField dateField;
-    
+
     // Format for date field.
     private final SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss");
-    
+
     private static final int PANEL_HEIGHT = 50;
     private static final int PANEL_WIDTH = 400;
 
@@ -36,23 +36,23 @@
      * Class constructor.
      */
     ConnectionStatusPanel() {
-        
+
         setMinimumSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
-        
+
         setLayout(new GridBagLayout());
-        //setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));        
+        // setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
         Font font = new Font("Arial", Font.PLAIN, 14);
 
         GridBagConstraints c = new GridBagConstraints();
         c.weightx = c.weighty = 1.0;
-        
+
         // Bottom separator.
         c.gridx = 0;
         c.gridy = 0;
         c.fill = GridBagConstraints.HORIZONTAL;
         c.gridwidth = GridBagConstraints.REMAINDER;
         add(new JSeparator(SwingConstants.HORIZONTAL), c);
-        
+
         // Connection status label.
         c = new GridBagConstraints();
         c.gridx = 0;
@@ -76,7 +76,7 @@
         statusField.setFont(font);
         statusField.setMinimumSize(new Dimension(300, 50));
         add(statusField, c);
-        
+
         // The "@" label.
         c.gridx = 2;
         c.gridy = 1;
@@ -85,7 +85,7 @@
         c.insets = new Insets(0, 0, 0, 10);
         JLabel atLabel = new JLabel("@");
         add(atLabel, c);
-        
+
         // The date field.
         c = new GridBagConstraints();
         c.gridx = 3;
@@ -98,7 +98,7 @@
         dateField.setFont(font);
         dateField.setMinimumSize(new Dimension(200, 50));
         add(dateField, c);
-        
+
         // Bottom separator.
         c = new GridBagConstraints();
         c.gridx = 0;
@@ -106,9 +106,9 @@
         c.fill = GridBagConstraints.HORIZONTAL;
         c.gridwidth = GridBagConstraints.REMAINDER;
         c.insets = new Insets(10, 0, 0, 0);
-        add(new JSeparator(SwingConstants.HORIZONTAL), c);        
-    }       
-         
+        add(new JSeparator(SwingConstants.HORIZONTAL), c);
+    }
+
     void setConnectionStatus(final ConnectionStatus status) {
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java	Mon Nov 10 11:20:53 2014
@@ -26,64 +26,56 @@
 import org.hps.record.enums.ProcessingStage;
 
 /**
- * A sub-panel of the settings window for selecting a data source, 
- * e.g. an ET server, an LCIO file, or an EVIO file.
+ * A sub-panel of the settings window for selecting a data source, e.g. an ET server, an LCIO file,
+ * or an EVIO file.
  */
 class DataSourcePanel extends AbstractFieldsPanel {
-           
-    static final String[] dataSourceTypes = { 
-        DataSourceType.ET_SERVER.description(), 
-        DataSourceType.EVIO_FILE.description(),
-        DataSourceType.LCIO_FILE.description()
-    };
-    
-    static final String[] processingStages = {
-        ProcessingStage.ET.name(),
-        ProcessingStage.EVIO.name(),
-        ProcessingStage.LCIO.name()
-    };
-    
+
+    static final String[] dataSourceTypes = { DataSourceType.ET_SERVER.description(), DataSourceType.EVIO_FILE.description(), DataSourceType.LCIO_FILE.description() };
+
+    static final String[] processingStages = { ProcessingStage.ET.name(), ProcessingStage.EVIO.name(), ProcessingStage.LCIO.name() };
+
     JComboBox<?> dataSourceTypeComboBox;
     JTextField dataSourcePathField;
     JButton fileSourceButton;
     JButton validateDataFileButton;
     JComboBox<?> processingStageComboBox;
-    
+
     ConfigurationModel configurationModel;
-    
+
     DataSourcePanel() {
-        setLayout(new GridBagLayout());        
-        
+        setLayout(new GridBagLayout());
+
         dataSourceTypeComboBox = addComboBox("Data Source", dataSourceTypes);
         dataSourceTypeComboBox.setSelectedIndex(0);
         dataSourceTypeComboBox.setActionCommand(DATA_SOURCE_TYPE_CHANGED);
         dataSourceTypeComboBox.addActionListener(this);
-        
+
         dataSourcePathField = addField("Data Source Path", 40);
         dataSourcePathField.addPropertyChangeListener(this);
-        
+
         fileSourceButton = addButton("Select data file");
         fileSourceButton.setActionCommand(CHOOSE_FILE_SOURCE);
         fileSourceButton.addActionListener(this);
-        
+
         validateDataFileButton = addButton("Validate data file");
         validateDataFileButton.setActionCommand(VALIDATE_DATA_FILE);
-                
+
         processingStageComboBox = addComboBox("Processing Stage", processingStages);
         processingStageComboBox.setSelectedIndex(2);
         processingStageComboBox.setActionCommand(PROCESSING_STAGE_CHANGED);
-        processingStageComboBox.addActionListener(this);        
+        processingStageComboBox.addActionListener(this);
     }
-    
+
     private String getFileExtension(String path) {
         return path.substring(path.lastIndexOf(".") + 1);
     }
-       
+
     private void chooseDataFile() {
         JFileChooser fc = new JFileChooser(System.getProperty("user.dir"));
         fc.setAcceptAllFileFilterUsed(false);
         fc.addChoosableFileFilter(new FileNameExtensionFilter("LCIO files", "slcio"));
-        fc.addChoosableFileFilter(new FileNameExtensionFilter("EVIO files", "evio"));        
+        fc.addChoosableFileFilter(new FileNameExtensionFilter("EVIO files", "evio"));
         fc.setDialogTitle("Select Data File");
         int r = fc.showDialog(this, "Select ...");
         File file = null;
@@ -91,27 +83,27 @@
             file = fc.getSelectedFile();
             final String filePath = file.getPath();
             final String extension = getFileExtension(filePath);
-            
+
             // This will cause the GUI to be updated via a PropertyChangeListener.
             configurationModel.setDataSourcePath(filePath);
-                                    
+
             // This will set the combo box in the GUI to the correct state, which will then
             // update the model.
-            if (extension.equals("slcio")) { 
+            if (extension.equals("slcio")) {
                 dataSourceTypeComboBox.setSelectedIndex(DataSourceType.LCIO_FILE.ordinal());
             } else if (extension.equals("evio")) {
                 dataSourceTypeComboBox.setSelectedIndex(DataSourceType.EVIO_FILE.ordinal());
-            } 
+            }
         }
     }
-        
+
     @Override
     public void setConfigurationModel(ConfigurationModel configurationModel) {
         this.configurationModel = configurationModel;
-        
+
         // This listener pushes GUI values into the configuration.
         this.configurationModel.addPropertyChangeListener(this);
-        
+
         // This listener updates the GUI from changes in the configuration.
         this.configurationModel.addPropertyChangeListener(new DataSourceChangeListener());
     }
@@ -125,40 +117,39 @@
     public void actionPerformed(ActionEvent e) {
         if (DATA_SOURCE_TYPE_CHANGED.equals(e.getActionCommand())) {
             DataSourceType dataSourceType = DataSourceType.values()[dataSourceTypeComboBox.getSelectedIndex()];
-            configurationModel.setDataSourceType(dataSourceType);            
+            configurationModel.setDataSourceType(dataSourceType);
             validateDataFileButton.setEnabled(dataSourceType.isFile());
         } else if (PROCESSING_STAGE_CHANGED.equals(e.getActionCommand())) {
             ProcessingStage processingStage = ProcessingStage.values()[processingStageComboBox.getSelectedIndex()];
             configurationModel.setProcessingStage(processingStage);
-        } else if (CHOOSE_FILE_SOURCE.equals(e.getActionCommand())) { 
+        } else if (CHOOSE_FILE_SOURCE.equals(e.getActionCommand())) {
             chooseDataFile();
-        } 
+        }
     }
-    
+
     public void propertyChange(PropertyChangeEvent evt) {
-    }    
-    
+    }
+
     /**
-     * Update the GUI from changes in the underlying configuration.
-     * The changes from the configuration are distinguishable by their 
-     * property name.
+     * Update the GUI from changes in the underlying configuration. The changes from the
+     * configuration are distinguishable by their property name.
      */
     public class DataSourceChangeListener implements PropertyChangeListener {
         @Override
         public void propertyChange(PropertyChangeEvent evt) {
             if (evt.getPropertyName().equals("ancestor"))
-                return;            
+                return;
             Object value = evt.getNewValue();
             if (DATA_SOURCE_TYPE_PROPERTY.equals(evt.getPropertyName())) {
-                dataSourceTypeComboBox.setSelectedIndex(((DataSourceType)evt.getNewValue()).ordinal());
+                dataSourceTypeComboBox.setSelectedIndex(((DataSourceType) evt.getNewValue()).ordinal());
             } else if (DATA_SOURCE_PATH_PROPERTY.equals(evt.getPropertyName())) {
-                dataSourcePathField.setText((String) value); 
+                dataSourcePathField.setText((String) value);
             } else if (PROCESSING_STAGE_PROPERTY.equals(evt.getPropertyName())) {
                 processingStageComboBox.setSelectedItem(value.toString());
             }
         }
     }
-    
+
     public void addActionListener(ActionListener listener) {
         // Hook the validate button to the main app where that task actually executes.
         validateDataFileButton.addActionListener(listener);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DatePanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DatePanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DatePanel.java	Mon Nov 10 11:20:53 2014
@@ -8,25 +8,25 @@
  * A small JPanel with a date field and a label on its border.
  */
 class DatePanel extends FieldPanel {
-    
+
     private SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss");
-    
+
     DatePanel(String fieldName, String defaultValue, int size, boolean editable) {
         super(fieldName, defaultValue, size, editable);
     }
-    
+
     DatePanel(String fieldName, Date defaultValue, SimpleDateFormat format, int size, boolean editable) {
         super(fieldName, format.format(defaultValue), size, editable);
     }
-        
+
     void setDateFormat(SimpleDateFormat dateFormat) {
         this.dateFormat = dateFormat;
     }
-    
+
     void setValue(Date date) {
         setValue(dateFormat.format(date));
     }
-    
+
     Date getDateValue() {
         try {
             return dateFormat.parse(getValue());

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DialogUtil.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DialogUtil.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/DialogUtil.java	Mon Nov 10 11:20:53 2014
@@ -10,29 +10,20 @@
 import javax.swing.SwingUtilities;
 
 class DialogUtil {
-      
-    static JDialog showStatusDialog(
-            final Component parentComponent, 
-            String title, 
-            String message) {
-        final JOptionPane optionPane = new JOptionPane(
-                message,
-                JOptionPane.INFORMATION_MESSAGE,
-                JOptionPane.DEFAULT_OPTION, 
-                null, 
-                new Object[]{},
-                null);
-        final JDialog dialog = new JDialog();        
+
+    static JDialog showStatusDialog(final Component parentComponent, String title, String message) {
+        final JOptionPane optionPane = new JOptionPane(message, JOptionPane.INFORMATION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, new Object[] {}, null);
+        final JDialog dialog = new JDialog();
         dialog.setContentPane(optionPane);
         dialog.setTitle(title);
         dialog.setAlwaysOnTop(true);
         dialog.setLocationRelativeTo(null);
         dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
-        dialog.pack();        
+        dialog.pack();
         dialog.addWindowListener(new WindowAdapter() {
             public void windowClosing(WindowEvent e) {
                 dialog.setVisible(false);
-                dialog.dispose();        
+                dialog.dispose();
                 parentComponent.setEnabled(true);
             }
         });
@@ -40,29 +31,21 @@
         optionPane.setVisible(true);
         dialog.setVisible(true);
         return dialog;
-    }        
-    
+    }
+
     static void showErrorDialog(final Component component, final Throwable error, final String title) {
         final Runnable runnable = new Runnable() {
-            public void run() {        
-                JOptionPane.showMessageDialog(
-                        component,
-                        error.getMessage(),                         
-                        title, 
-                        JOptionPane.ERROR_MESSAGE);
+            public void run() {
+                JOptionPane.showMessageDialog(component, error.getMessage(), title, JOptionPane.ERROR_MESSAGE);
             }
         };
         SwingUtilities.invokeLater(runnable);
     }
-    
+
     static void showInfoDialog(final Component component, final String title, final String message) {
         final Runnable runnable = new Runnable() {
-            public void run() {        
-                JOptionPane.showMessageDialog(
-                        component,
-                        message,                         
-                        title, 
-                        JOptionPane.INFORMATION_MESSAGE);
+            public void run() {
+                JOptionPane.showMessageDialog(component, message, title, JOptionPane.INFORMATION_MESSAGE);
             }
         };
         SwingUtilities.invokeLater(runnable);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ErrorHandler.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ErrorHandler.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ErrorHandler.java	Mon Nov 10 11:20:53 2014
@@ -9,8 +9,8 @@
 
 /**
  * <p>
- * An error handling class which is able to do any of the following,
- * depending on how the users wants to handle the error.
+ * An error handling class which is able to do any of the following, depending on how the users
+ * wants to handle the error.
  * </p>
  * <ul>
  * <li>Print a message</li>
@@ -20,11 +20,9 @@
  * <li>Raise an exception</li>
  * <li>Exit the application</li>
  * </ul>
- * </p>
- * It mostly uses the "builder" pattern so that the various handling methods
- * can be easily chained, where appropriate.  Some methods are not available
- * for chaining when it doesn't make sense.
- * </p>
+ * </p> It mostly uses the "builder" pattern so that the various handling methods can be easily
+ * chained, where appropriate. Some methods are not available for chaining when it doesn't make
+ * sense. </p>
  */
 class ErrorHandler {
 
@@ -32,7 +30,7 @@
     Component component;
     Throwable error;
     String message;
-        
+
     /**
      * Constructor.
      * @param component The GUI component to which this object is assigned.
@@ -42,10 +40,9 @@
         this.logger = logger;
         this.component = component;
     }
-    
+
     /**
-     * Set the error that occurred.  This should always be called 
-     * first in a method chain.
+     * Set the error that occurred. This should always be called first in a method chain.
      * @param error The error which is a <code>Throwable</code>.
      * @return This object.
      */
@@ -54,7 +51,7 @@
         this.message = error.getMessage();
         return this;
     }
-    
+
     /**
      * Set the error message if it differs from the exception's message.
      * @param message The erro message.
@@ -64,7 +61,7 @@
         this.message = message;
         return this;
     }
-        
+
     /**
      * Print the full stack trace of the error to System.err.
      * @return This object.
@@ -73,16 +70,16 @@
         error.printStackTrace();
         return this;
     }
-    
+
     /**
      * Print the error message to System.err.
      * @return This object.
      */
-    ErrorHandler printMessage() {        
+    ErrorHandler printMessage() {
         System.err.println(message);
         return this;
     }
-    
+
     /**
      * Log the error message to the <code>Logger</code>.
      * @return This object.
@@ -91,39 +88,34 @@
         logger.log(Level.SEVERE, message);
         return this;
     }
-        
+
     /**
      * Show an error dialog with the message.
-     * @return This object. 
+     * @return This object.
      */
     ErrorHandler showErrorDialog() {
         final Runnable runnable = new Runnable() {
-            public void run() {        
-                JOptionPane.showMessageDialog(
-                        component,
-                        error.getMessage(), 
-                        "Application Error", 
-                        JOptionPane.ERROR_MESSAGE);
+            public void run() {
+                JOptionPane.showMessageDialog(component, error.getMessage(), "Application Error", JOptionPane.ERROR_MESSAGE);
             }
         };
         SwingUtilities.invokeLater(runnable);
         return this;
     }
-    
+
     /**
-     * Rethrow the error as a <code>RuntimeException</code>.
-     * Additional methods cannot be chained to this 
-     * as they would not be executed.     
+     * Rethrow the error as a <code>RuntimeException</code>. Additional methods cannot be chained to
+     * this as they would not be executed.
      */
-    void raiseException() { 
+    void raiseException() {
         throw new RuntimeException(message, error);
     }
-    
+
     /**
-     * Exit the application.  This is not chainable for obvious reasons.
+     * Exit the application. This is not chainable for obvious reasons.
      */
     void exit() {
         System.err.println("Fatal error.  Application will exit.");
         System.exit(1);
-    }                       
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java	Mon Nov 10 11:20:53 2014
@@ -9,8 +9,8 @@
 import javax.swing.JPanel;
 
 /**
- * This is the panel with buttons for connecting or disconnecting 
- * and controlling the app from pause mode.
+ * This is the panel with buttons for connecting or disconnecting and controlling the app from pause
+ * mode.
  */
 class EventButtonsPanel extends JPanel {
 
@@ -86,7 +86,7 @@
     }
 
     /**
-     * Enable the "next events" button.  
+     * Enable the "next events" button.
      * @param e Set to true to enable; false to disable.
      */
     void enableNextEventsButton(boolean e) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/FieldPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/FieldPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/FieldPanel.java	Mon Nov 10 11:20:53 2014
@@ -11,28 +11,28 @@
  * A panel with a label and a text field.
  */
 class FieldPanel extends JPanel {
-    
+
     String fieldName;
     String defaultValue;
     JTextField field;
-    
+
     static Border border = BorderFactory.createLoweredBevelBorder();
-    
+
     FieldPanel(String fieldName, String defaultValue, int size, boolean editable) {
 
         this.fieldName = fieldName;
         this.defaultValue = defaultValue;
-        
+
         TitledBorder title = BorderFactory.createTitledBorder(border, fieldName);
         title.setTitleJustification(TitledBorder.LEFT);
-        
+
         field = new JTextField(defaultValue, size);
         field.setHorizontalAlignment(JTextField.RIGHT);
         field.setEditable(editable);
         field.setBorder(title);
         add(field);
     }
-    
+
     void setValue(final String value) {
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
@@ -40,7 +40,7 @@
             }
         });
     }
-    
+
     void setValue(final int value) {
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
@@ -48,7 +48,7 @@
             }
         });
     }
-    
+
     void setValue(final double value) {
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
@@ -56,7 +56,7 @@
             }
         });
     }
-    
+
     void setValue(final long value) {
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
@@ -64,19 +64,19 @@
             }
         });
     }
-    
+
     String getValue() {
         return field.getText();
     }
-    
+
     Integer getIntegerValue() {
         return Integer.parseInt(getValue());
     }
-    
+
     Double getDoubleValue() {
         return Double.parseDouble(getValue());
     }
-    
+
     Long getLongValue() {
         return Long.parseLong(getValue());
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java	Mon Nov 10 11:20:53 2014
@@ -34,12 +34,12 @@
 import org.jdom.input.SAXBuilder;
 
 /**
- * This is the GUI panel for setting job parameters.  It is connected to the global configuration via 
+ * This is the GUI panel for setting job parameters. It is connected to the global configuration via
  * a {@link org.hps.monitoring.model.ConfigurationModel} object.
  */
-// TODO: Add validity checks for event builder, lcsim steering files, etc. 
-//       and revert to old values if new values are invalid.
-//       http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html
+// TODO: Add validity checks for event builder, lcsim steering files, etc.
+// and revert to old values if new values are invalid.
+// http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html
 class JobSettingsPanel extends AbstractFieldsPanel {
 
     private JTextField aidaSaveFileNameField;
@@ -50,135 +50,119 @@
     private JTextField eventBuilderField;
     private JTextField logFileNameField;
     private JComboBox<?> logLevelComboBox;
-    private JCheckBox logToFileCheckbox;    
+    private JCheckBox logToFileCheckbox;
     private JTextField steeringFileField;
     private JComboBox<?> steeringResourcesComboBox;
     private JComboBox<?> steeringTypeComboBox;
-                         
+
     // The package where steering resources must be located.
     static final String STEERING_PACKAGE = "org/hps/steering/monitoring/";
-    
+
     // FIXME: This should be in the default global config file rather than hard-coded here.
     static final String DEFAULT_EVENT_BUILDER_CLASS_NAME = "org.hps.evio.LCSimTestRunEventBuilder";
-            
+
     // This will connect the GUI component to the underlying global configuration model.
     ConfigurationModel configurationModel;
-                
-    // The available LogLevel settings as an array of strings.     
-    static final String[] LOG_LEVELS = new String[] {            
-        Level.ALL.toString(),
-        Level.FINEST.toString(),
-        Level.FINER.toString(),
-        Level.FINE.toString(),
-        Level.CONFIG.toString(),
-        Level.INFO.toString(),
-        Level.WARNING.toString(),
-        Level.SEVERE.toString(),
-        Level.OFF.toString()
-    };
+
+    // The available LogLevel settings as an array of strings.
+    static final String[] LOG_LEVELS = new String[] { Level.ALL.toString(), Level.FINEST.toString(), Level.FINER.toString(), Level.FINE.toString(), Level.CONFIG.toString(), Level.INFO.toString(), Level.WARNING.toString(), Level.SEVERE.toString(), Level.OFF.toString() };
 
     /**
      * Class constructor.
      */
     JobSettingsPanel() {
-        
+
         super(new Insets(4, 2, 2, 4), true);
         setLayout(new GridBagLayout());
-        
+
         disconnectOnErrorCheckBox = addCheckBox("Disconnect on error", false, true);
         disconnectOnErrorCheckBox.setActionCommand(DISCONNECT_ON_ERROR_CHANGED);
         disconnectOnErrorCheckBox.addActionListener(this);
-        
+
         disconnectOnEndRunCheckBox = addCheckBox("Disconnect on end run", false, true);
         disconnectOnEndRunCheckBox.setActionCommand(DISCONNECT_ON_END_RUN_CHANGED);
         disconnectOnEndRunCheckBox.addActionListener(this);
-        
-        logLevelComboBox = addComboBox("Log Level", LOG_LEVELS);               
+
+        logLevelComboBox = addComboBox("Log Level", LOG_LEVELS);
         logLevelComboBox.setActionCommand(Commands.LOG_LEVEL_CHANGED);
         logLevelComboBox.addActionListener(this);
-        
-        steeringTypeComboBox = addComboBox("Steering Type", 
-                new String[] {SteeringType.RESOURCE.name(), SteeringType.FILE.name()});        
+
+        steeringTypeComboBox = addComboBox("Steering Type", new String[] { SteeringType.RESOURCE.name(), SteeringType.FILE.name() });
         steeringTypeComboBox.setActionCommand(STEERING_TYPE_CHANGED);
         steeringTypeComboBox.addActionListener(this);
-        
+
         steeringFileField = addField("Steering File", 35);
-        steeringFileField.addPropertyChangeListener("value", this);        
-                     
+        steeringFileField.addPropertyChangeListener("value", this);
+
         JButton steeringFileButton = addButton("Select Steering File");
         steeringFileButton.setActionCommand(Commands.CHOOSE_STEERING_FILE);
         steeringFileButton.addActionListener(this);
-        
-        steeringResourcesComboBox = addComboBoxMultiline("Steering File Resource", 
-                getAvailableSteeringFileResources(STEERING_PACKAGE));
+
+        steeringResourcesComboBox = addComboBoxMultiline("Steering File Resource", getAvailableSteeringFileResources(STEERING_PACKAGE));
         steeringResourcesComboBox.setActionCommand(STEERING_RESOURCE_CHANGED);
         steeringResourcesComboBox.addActionListener(this);
-        
+
         detectorNameField = addField("Detector Name", 20);
         detectorNameField.addPropertyChangeListener("value", this);
-        
+
         eventBuilderField = addField("Event Builder Class", 30);
         eventBuilderField.setActionCommand(Commands.SET_EVENT_BUILDER);
         eventBuilderField.addPropertyChangeListener("value", this);
-        
+
         logToFileCheckbox = addCheckBox("Log to File", false, false);
         logToFileCheckbox.setEnabled(false);
         logToFileCheckbox.setActionCommand(LOG_TO_FILE_CHANGED);
         logToFileCheckbox.addActionListener(this);
-        
+
         logFileNameField = addField("Log File", "", "Full path to log file.", 30, false);
         logFileNameField.addPropertyChangeListener("value", this);
-        
+
         aidaAutoSaveCheckbox = addCheckBox("Save AIDA at End of Job", false, false);
         aidaAutoSaveCheckbox.addActionListener(this);
         aidaAutoSaveCheckbox.setActionCommand(AIDA_AUTO_SAVE_CHANGED);
-                
+
         aidaSaveFileNameField = addField("AIDA Auto Save File Name", "", 30, false);
         aidaSaveFileNameField.addPropertyChangeListener("value", this);
     }
-    
+
     @Override
     public void setConfigurationModel(ConfigurationModel configModel) {
-        
+
         // Set the ConfigurationModel reference.
         this.configurationModel = configModel;
-        
+
         // This listener pushes GUI values into the configuration.
         this.configurationModel.addPropertyChangeListener(this);
-        
+
         // This listener updates the GUI from changes in the configuration.
         this.configurationModel.addPropertyChangeListener(new JobSettingsChangeListener());
     }
-    
+
     @Override
     public ConfigurationModel getConfigurationModel() {
         return configurationModel;
-    }    
-       
+    }
+
     /**
      * Enable this component.
      * @param enable Whether to enable or not.
      */
     /*
-    void enableJobPanel(boolean enable) {
-        detectorNameField.setEnabled(enable);
-        eventBuilderField.setEnabled(enable);
-        steeringTypeComboBox.setEnabled(enable);
-        steeringFileField.setEnabled(enable);   
-        steeringResourcesComboBox.setEnabled(enable);
-    } 
-    */  
-    
+     * void enableJobPanel(boolean enable) { detectorNameField.setEnabled(enable);
+     * eventBuilderField.setEnabled(enable); steeringTypeComboBox.setEnabled(enable);
+     * steeringFileField.setEnabled(enable); steeringResourcesComboBox.setEnabled(enable); }
+     */
+
     /**
      * Attaches the ActionListener from the main app to specific GUI components in this class.
      */
     void addActionListener(ActionListener listener) {
-        eventBuilderField.addActionListener(listener);        
+        eventBuilderField.addActionListener(listener);
         logFileNameField.addActionListener(listener);
         logToFileCheckbox.addActionListener(listener);
         steeringResourcesComboBox.addActionListener(listener);
     }
-        
+
     /**
      * Choose a file name for the automatic AIDA save file.
      */
@@ -195,7 +179,7 @@
             }
             final String finalFileName = fileName;
             configurationModel.setAidaAutoSave(true);
-            configurationModel.setAidaFileName(finalFileName);                       
+            configurationModel.setAidaFileName(finalFileName);
         }
     }
 
@@ -215,9 +199,9 @@
             } catch (IOException | JDOMException e) {
                 throw new RuntimeException("Error parsing the selected steering file.", e);
             }
-        }        
-    }
-    
+        }
+    }
+
     /**
      * Parse the lcsim steering file to see if it appears to be valid.
      * @param file The input steering file.
@@ -232,7 +216,7 @@
             throw new IOException("Not an LCSim XML file.");
         }
     }
-                                              
+
     /**
      * Get the files with extension "lcsim" from all loaded jar files.
      * @return A list of embedded steering file resources.
@@ -255,28 +239,27 @@
                 }
             }
             archive.close();
-        }
-        catch (IOException e) {
+        } catch (IOException e) {
             throw new RuntimeException(e);
-        }        
+        }
         java.util.Collections.sort(resources);
         String[] arr = new String[resources.size()];
-        for (int i=0; i<arr.length; i++) {
+        for (int i = 0; i < arr.length; i++) {
             arr[i] = resources.get(i);
         }
         return arr;
     }
 
     @Override
-    public void actionPerformed(ActionEvent e) {               
+    public void actionPerformed(ActionEvent e) {
         if (e.getActionCommand().equals(Commands.CHOOSE_STEERING_FILE)) {
             this.chooseSteeringFile();
         } else if (DISCONNECT_ON_ERROR_CHANGED.equals(e.getActionCommand())) {
             configurationModel.setDisconnectOnError(disconnectOnErrorCheckBox.isSelected());
-        } else if (DISCONNECT_ON_END_RUN_CHANGED.equals(e.getActionCommand())) { 
+        } else if (DISCONNECT_ON_END_RUN_CHANGED.equals(e.getActionCommand())) {
             configurationModel.setDisconnectOnEndRun(disconnectOnEndRunCheckBox.isSelected());
         } else if (STEERING_TYPE_CHANGED.equals(e.getActionCommand())) {
-            configurationModel.setSteeringType(SteeringType.valueOf((String) steeringTypeComboBox.getSelectedItem())); 
+            configurationModel.setSteeringType(SteeringType.valueOf((String) steeringTypeComboBox.getSelectedItem()));
         } else if (STEERING_RESOURCE_CHANGED.equals(e.getActionCommand())) {
             configurationModel.setSteeringResource((String) steeringResourcesComboBox.getSelectedItem());
         } else if (LOG_TO_FILE_CHANGED.equals(e.getActionCommand())) {
@@ -289,8 +272,8 @@
     }
 
     /**
-     * Updates the configuration with changes from the GUI component values.
-     * The changes from the GUI are distinguishable by their component object.
+     * Updates the configuration with changes from the GUI component values. The changes from the
+     * GUI are distinguishable by their component object.
      */
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
@@ -315,47 +298,57 @@
             configurationModel.setAidaAutoSave(aidaAutoSaveCheckbox.isSelected());
         }
     }
-    
-    /**
-     * Update the GUI from changes in the underlying configuration.
-     * The changes from the configuration are distinguishable by their 
-     * property name.
+
+    /**
+     * Update the GUI from changes in the underlying configuration. The changes from the
+     * configuration are distinguishable by their property name.
      */
     public class JobSettingsChangeListener implements PropertyChangeListener {
         @Override
         public void propertyChange(PropertyChangeEvent evt) {
-            
+
             // FIXME: Anyway to make sure this is not needed?
             if (evt.getPropertyName().equals("ancestor"))
                 return;
-                                              
+
             Object value = evt.getNewValue();
-            
+
             if (evt.getPropertyName().equals(DETECTOR_NAME_PROPERTY)) {
-                detectorNameField.setText((String) value); 
-            } if (evt.getPropertyName().equals(AIDA_AUTO_SAVE_PROPERTY)) {
+                detectorNameField.setText((String) value);
+            }
+            if (evt.getPropertyName().equals(AIDA_AUTO_SAVE_PROPERTY)) {
                 aidaAutoSaveCheckbox.setSelected((Boolean) value);
-            } if (evt.getPropertyName().equals(AIDA_FILE_NAME_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(AIDA_FILE_NAME_PROPERTY)) {
                 aidaSaveFileNameField.setText((String) value);
-            } if (evt.getPropertyName().equals(DISCONNECT_ON_ERROR_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(DISCONNECT_ON_ERROR_PROPERTY)) {
                 disconnectOnErrorCheckBox.setSelected((Boolean) value);
-            } if (evt.getPropertyName().equals(DISCONNECT_ON_END_RUN_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(DISCONNECT_ON_END_RUN_PROPERTY)) {
                 disconnectOnEndRunCheckBox.setSelected((Boolean) value);
-            } if (evt.getPropertyName().equals(EVENT_BUILDER_PROPERTY)) {
-                eventBuilderField.setText((String) value);                
-            } if (evt.getPropertyName().equals(LOG_FILE_NAME_PROPERTY)) {
-                logFileNameField.setText((String) value);                
-            } if (evt.getPropertyName().equals(LOG_LEVEL_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(EVENT_BUILDER_PROPERTY)) {
+                eventBuilderField.setText((String) value);
+            }
+            if (evt.getPropertyName().equals(LOG_FILE_NAME_PROPERTY)) {
+                logFileNameField.setText((String) value);
+            }
+            if (evt.getPropertyName().equals(LOG_LEVEL_PROPERTY)) {
                 logLevelComboBox.setSelectedItem(value.toString());
-            } if (evt.getPropertyName().equals(LOG_TO_FILE_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(LOG_TO_FILE_PROPERTY)) {
                 logToFileCheckbox.setSelected((Boolean) value);
-            } if (evt.getPropertyName().equals(STEERING_TYPE_PROPERTY)) {
-                steeringTypeComboBox.setSelectedIndex(((SteeringType)value).ordinal());
-            } if (evt.getPropertyName().equals(STEERING_FILE_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(STEERING_TYPE_PROPERTY)) {
+                steeringTypeComboBox.setSelectedIndex(((SteeringType) value).ordinal());
+            }
+            if (evt.getPropertyName().equals(STEERING_FILE_PROPERTY)) {
                 steeringFileField.setText(((File) value).getPath());
-            } if (evt.getPropertyName().equals(STEERING_RESOURCE_PROPERTY)) {
+            }
+            if (evt.getPropertyName().equals(STEERING_RESOURCE_PROPERTY)) {
                 steeringResourcesComboBox.setSelectedItem(value);
-            }                                          
-        }
-    }        
+            }
+        }
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Main.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Main.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/Main.java	Mon Nov 10 11:20:53 2014
@@ -14,8 +14,7 @@
 import org.hps.monitoring.gui.model.Configuration;
 
 /**
- * This is the front-end for running the monitoring app via a 
- * {@link #main(String[])} method.
+ * This is the front-end for running the monitoring app via a {@link #main(String[])} method.
  */
 // FIXME: Move to org.hps.monitoring instead of gui package.
 public class Main {
@@ -50,7 +49,7 @@
         // Run the application on the Swing EDT.
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
-        
+
                 // Create the application class.
                 MonitoringApplication app = new MonitoringApplication();
 
@@ -58,12 +57,12 @@
                 if (cl.hasOption("c")) {
                     app.setConfiguration(new Configuration(new File(cl.getOptionValue("c"))));
                 }
-                
+
                 app.initialize();
-        
+
                 // Set the app to be visible.
                 app.setVisible(true);
             }
         });
-    }    
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/MonitoringApplication.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/MonitoringApplication.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/MonitoringApplication.java	Mon Nov 10 11:20:53 2014
@@ -104,7 +104,7 @@
 /**
  * This class is the implementation of the GUI for the Monitoring Application.
  */
-// TODO: Move GUI/window functionality to a new class.  (This one is too big!)
+// TODO: Move GUI/window functionality to a new class. (This one is too big!)
 public final class MonitoringApplication extends ApplicationWindow implements ActionListener, SystemStatusListener, PropertyChangeListener {
 
     // Top-level Swing components.
@@ -127,7 +127,7 @@
     // Saved references to System.out and System.err in case need to reset.
     private final PrintStream sysOut = System.out;
     private final PrintStream sysErr = System.err;
-    
+
     // Error handling class for the application.
     private ErrorHandler errorHandler;
 
@@ -149,7 +149,7 @@
     private JTable logTable;
     private static Level DEFAULT_LOG_LEVEL = Level.INFO;
 
-    // Graogucs format for screenshots.  
+    // Graogucs format for screenshots.
     private static final String SCREENSHOT_FORMAT = "png";
 
     // Format of date field for log.
@@ -162,44 +162,45 @@
     private final static int LOG_TABLE_HEIGHT = 270;
     private static final int MAIN_FRAME_HEIGHT = ScreenUtil.getScreenHeight() / 2;
     private static final int MAIN_FRAME_WIDTH = 650;
-    
+
     // Default config which can be overridden by command line argument.
     private static final String DEFAULT_CONFIG_RESOURCE = "/org/hps/monitoring/config/default_config.prop";
-    
-    // The application global Configuration object which is the default configuration unless overridden.
+
+    // The application global Configuration object which is the default configuration unless
+    // overridden.
     private Configuration configuration = new Configuration(DEFAULT_CONFIG_RESOURCE);
-    
+
     // The ConfigurationModel for updating GUI components from the global configuration.
     private ConfigurationModel configurationModel = new ConfigurationModel();
-    
+
     // The RunModel for updating the RunPanel.
     private RunModel runModel = new RunModel();
-    
+
     private FileValidationThread fileValidationThread;
-                   
+
     /**
      * Constructor for the monitoring application.
      */
     public MonitoringApplication() {
-        
+
         super(getApplicationTitle());
-        
+
         // Add the application as a property change listener on the configuration model.
         configurationModel.addPropertyChangeListener(this);
     }
-        
-    /**
-     * Initialize GUI components and all other necessary objects
-     * to put the application in a usable state.
+
+    /**
+     * Initialize GUI components and all other necessary objects to put the application in a usable
+     * state.
      */
     public void initialize() {
-                
+
         // Create and configure the logger.
         setupLogger();
-                
+
         // Setup the error handling class.
         setupErrorHandler();
-        
+
         // Setup an uncaught exception handler.
         setupUncaughtExceptionHandler();
 
@@ -208,47 +209,47 @@
 
         // Create the log table GUI component.
         createLogTable();
-        
+
         // Create settings dialog window.
         createSettingsDialog();
-                
+
         // Setup the application menus.
         createMenuBar();
-                        
+
         // Create the system status window.
         createSystemStatusWindow();
-        
+
         // Configuration of window for showing plots.
         createPlotWindow();
-        
+
         // Setup AIDA.
         setupAida();
-       
+
         // Configure the application's primary JFrame.
         configApplicationFrame();
-        
+
         // Load the current configuration, which will push values into the GUI.
         loadConfiguration();
-        
+
         // Log that the application started successfully.
         log(Level.CONFIG, "Application initialized successfully.");
     }
-    
+
     /**
      * The action handler method for the application.
      * @param e The event to handle.
      */
     public void actionPerformed(ActionEvent e) {
-        
-        //System.out.println("MonitoringApplication. actionPerformed: " + e.getActionCommand());
-        
+
+        // System.out.println("MonitoringApplication. actionPerformed: " + e.getActionCommand());
+
         String cmd = e.getActionCommand();
         if (CONNECT.equals(cmd)) {
             // Run the start session method on a seperate thread.
             new Thread() {
                 public void run() {
                     startSession();
-                }                
+                }
             }.start();
         } else if (DISCONNECT.equals(cmd)) {
             // Run the stop session method on a seperate thread.
@@ -256,7 +257,7 @@
                 public void run() {
                     stopSession();
                 }
-            }.start();            
+            }.start();
         } else if (SAVE_PLOTS.equals(cmd)) {
             savePlots();
         } else if (CHOOSE_LOG_FILE.equals(cmd)) {
@@ -300,41 +301,41 @@
             }
         }
     }
-           
+
     /**
      * Set the GUI to visible.
      */
     public void setVisible(boolean visible) {
-        
+
         super.setVisible(true);
-        
+
         this.systemStatusWindow.setVisible(true);
-        
+
         // FIXME: If this is done earlier before app is visible, then the GUI will fail to show!
         this.connectionStatusPanel.setConnectionStatus(ConnectionStatus.DISCONNECTED);
     }
-    
+
     /**
      * Set the Configuration but don't update the ConfigurationModel.
      * @param configuration
      */
     public void setConfiguration(Configuration configuration) {
         this.configuration = configuration;
-    }    
-    
+    }
+
     /**
      * Handle a property change event.
      * @param evt The property change event.
      */
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
-                       
+
         if (evt.getPropertyName().equals("ancestor"))
-            return;                                          
+            return;
         Object value = evt.getNewValue();
         if (evt.getPropertyName().equals(SAVE_LAYOUT_PROPERTY)) {
             saveLayoutItem.setSelected((Boolean) value);
-        } else if (evt.getPropertyName().equals(MONITORING_APPLICATION_LAYOUT_PROPERTY)){
+        } else if (evt.getPropertyName().equals(MONITORING_APPLICATION_LAYOUT_PROPERTY)) {
             updateWindowConfiguration(new WindowConfiguration((String) value));
         } else if (evt.getPropertyName().equals(ConfigurationModel.SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY)) {
             if (systemStatusWindow != null) {
@@ -349,26 +350,26 @@
                 System.err.println("ERROR: The plotWindow is null!");
             }
         } else if (evt.getPropertyName().equals(ConfigurationModel.LOG_TO_FILE_PROPERTY)) {
-            
-            //System.out.println("propertyChange - " + evt.getPropertyName());
-            //System.out.println("  value: " + value);
-            
-            if ((Boolean)value == true) {
-                //System.out.println("setting logToFile - " + configurationModel.getLogFileName());
+
+            // System.out.println("propertyChange - " + evt.getPropertyName());
+            // System.out.println("  value: " + value);
+
+            if ((Boolean) value == true) {
+                // System.out.println("setting logToFile - " + configurationModel.getLogFileName());
                 logToFile(new File(configurationModel.getLogFileName()));
             } else {
-                //System.out.println("setting logToTerminal");
+                // System.out.println("setting logToTerminal");
                 logToTerminal();
             }
         }
     }
-    
+
     /**
      * Hook for logging all status changes from the system status monitor.
      */
     @Override
     public void statusChanged(SystemStatus status) {
-        
+
         // Choose the appropriate log level.
         Level level = Level.INFO;
         if (status.getStatusCode().equals(Level.WARNING)) {
@@ -376,97 +377,82 @@
         } else if (status.getStatusCode().ordinal() >= StatusCode.ERROR.ordinal()) {
             level = Level.SEVERE;
         }
-       
+
         // Log all status changes.
-        log(level, "STATUS, "
-                + "subsys: " + status.getSubsystem() + ", "
-                + "code: " + status.getStatusCode().name() + ", "                 
-                + "descr: " + status.getDescription() + ", "                 
-                + "mesg: " + status.getMessage());
-    }
-    
+        log(level, "STATUS, " + "subsys: " + status.getSubsystem() + ", " + "code: " + status.getStatusCode().name() + ", " + "descr: " + status.getDescription() + ", " + "mesg: " + status.getMessage());
+    }
+
     public void setEnabled(boolean enabled) {
         super.setEnabled(enabled);
         plotWindow.setEnabled(enabled);
         systemStatusWindow.setEnabled(enabled);
-        //settingsDialog.setEnabled(false);
-        
-        //this.setFocusable(enabled);
-        //plotWindow.setFocusable(enabled);
-        //systemStatusWindow.setFocusable(enabled);
-        //settingsDialog.setFocusable(false);
-    }
-    
+        // settingsDialog.setEnabled(false);
+
+        // this.setFocusable(enabled);
+        // plotWindow.setFocusable(enabled);
+        // systemStatusWindow.setFocusable(enabled);
+        // settingsDialog.setFocusable(false);
+    }
+
     /* -------------------------- private methods ----------------------------- */
-               
+
     /**
      * Setup the error handler.
      */
     private void setupErrorHandler() {
         errorHandler = new ErrorHandler(this, logger);
     }
-    
+
     /**
      * Setup the uncaught exception handler which will trap unhandled errors.
      */
     private void setupUncaughtExceptionHandler() {
-        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {            
-            public void uncaughtException(Thread thread, Throwable exception) {                               
-                MonitoringApplication.this.errorHandler.setError(exception)
-                   .log()
-                   .printStackTrace()
-                   .showErrorDialog();
+        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
+            public void uncaughtException(Thread thread, Throwable exception) {
+                MonitoringApplication.this.errorHandler.setError(exception).log().printStackTrace().showErrorDialog();
                 // FIXME: This should probably cause a system.exit after the dialog box is closed!
             }
         });
     }
-     
+
     /**
      * Create the settings dialog GUI component.
      */
     private void createSettingsDialog() {
-        
-        // Create and configure the settings dialog which has sub-panels for application configuration.
+
+        // Create and configure the settings dialog which has sub-panels for application
+        // configuration.
         settingsDialog = new SettingsDialog();
         settingsDialog.getSettingsPanel().addActionListener(this);
         getJobSettingsPanel().addActionListener(this);
         settingsDialog.getSettingsPanel().getDataSourcePanel().addActionListener(this);
-        
+
         // Push the ConfigurationModel to the job settings dialog.
         getJobSettingsPanel().setConfigurationModel(configurationModel);
         getConnectionSettingsPanel().setConfigurationModel(configurationModel);
-        settingsDialog.getSettingsPanel().getDataSourcePanel().setConfigurationModel(configurationModel);               
+        settingsDialog.getSettingsPanel().getDataSourcePanel().setConfigurationModel(configurationModel);
     }
 
     /**
      * Create the plot window.
      */
     private void createPlotWindow() {
-        
+
         // Create the JFrame.
         plotWindow = new PlotWindow();
-        
+
         // Set initial size and position which might be overridden later.
-        plotWindow.setDefaultWindowConfiguration(
-                new WindowConfiguration(
-                        SCREEN_WIDTH - MAIN_FRAME_WIDTH,
-                        SCREEN_HEIGHT,
-                        (int)(ScreenUtil.getBoundsX(0)) + MAIN_FRAME_WIDTH,
-                        plotWindow.getY()
-                ));               
-    }
-    
+        plotWindow.setDefaultWindowConfiguration(new WindowConfiguration(SCREEN_WIDTH - MAIN_FRAME_WIDTH, SCREEN_HEIGHT, (int) (ScreenUtil.getBoundsX(0)) + MAIN_FRAME_WIDTH, plotWindow.getY()));
+    }
+
     private void createSystemStatusWindow() {
         systemStatusWindow = new SystemStatusWindow();
-        WindowConfiguration wc = new WindowConfiguration(
-                650, /* FIXME: Hard-coded width setting. */
-                ScreenUtil.getScreenHeight() / 2,
-                (int)ScreenUtil.getBoundsX(0),
-                MAIN_FRAME_HEIGHT);
+        WindowConfiguration wc = new WindowConfiguration(650, /* FIXME: Hard-coded width setting. */
+        ScreenUtil.getScreenHeight() / 2, (int) ScreenUtil.getBoundsX(0), MAIN_FRAME_HEIGHT);
         systemStatusWindow.setMinimumSize(new Dimension(wc.width, wc.height));
         systemStatusWindow.setDefaultWindowConfiguration(wc);
     }
-    
+
     /**
      * Configure the AIDA plotting backend.
      */
@@ -475,10 +461,10 @@
         MonitoringPlotFactory.setRootPane(this.plotWindow.getPlotPane());
         MonitoringPlotFactory.setPlotterRegionListener(new PlotterRegionListener() {
             @Override
-            public void regionSelected(PlotterRegion region) {                
+            public void regionSelected(PlotterRegion region) {
                 if (region == null)
                     throw new RuntimeException("The region arg is null!!!");
-                //System.out.println("MonitoringApplication - regionSelected - " + region.title());
+                // System.out.println("MonitoringApplication - regionSelected - " + region.title());
                 plotInfoWindow.setCurrentRegion(region);
             }
         });
@@ -489,7 +475,7 @@
      * Create the main panel.
      */
     private void createMainPanel() {
-        
+
         // Main panel setup.
         mainPanel = new JPanel();
         mainPanel.setLayout(new GridBagLayout());
@@ -526,7 +512,7 @@
         c.gridy = 2;
         mainPanel.add(runPanel, c);
     }
-    
+
     /**
      * Create the application menu bar and menu items.
      */
@@ -536,73 +522,79 @@
 
         JMenu applicationMenu = new JMenu("Application");
         applicationMenu.setMnemonic(KeyEvent.VK_A);
-        menuBar.add(applicationMenu);               
-        
+        menuBar.add(applicationMenu);
+
         JMenuItem loadConfigItem = new JMenuItem("Load Settings ...");
         loadConfigItem.addActionListener(this);
         loadConfigItem.setMnemonic(KeyEvent.VK_C);
         loadConfigItem.setActionCommand(SELECT_CONFIG_FILE);
         loadConfigItem.setToolTipText("Load application settings from a properties file");
         applicationMenu.add(loadConfigItem);
-        
+
         JMenuItem saveConfigItem = new JMenuItem("Save Settings ...");
         saveConfigItem.addActionListener(this);
         saveConfigItem.setMnemonic(KeyEvent.VK_S);
-        saveConfigItem.setActionCommand(SAVE_CONFIG_FILE);        
+        saveConfigItem.setActionCommand(SAVE_CONFIG_FILE);
         saveConfigItem.setToolTipText("Save settings to a properties file");
         applicationMenu.add(saveConfigItem);
-        
+
         JMenuItem settingsItem = new JMenuItem("Show Settings ...");
         settingsItem.setMnemonic(KeyEvent.VK_P);
         settingsItem.setActionCommand(SHOW_SETTINGS);
         settingsItem.addActionListener(this);
         settingsItem.setToolTipText("Show application settings menu");
         applicationMenu.add(settingsItem);
-       
+
         applicationMenu.addSeparator();
-        
+
         saveLayoutItem = new JCheckBoxMenuItem("Save GUI Layout");
         saveLayoutItem.setActionCommand(SAVE_LAYOUT);
         saveLayoutItem.addActionListener(this);
         saveLayoutItem.setToolTipText("Include current GUI layout when saving settings.");
-        saveLayoutItem.setSelected(configurationModel.getSaveLayout()); /* Initial setting from config. */
-        saveLayoutItem.addPropertyChangeListener(this); /* Any subsequent changes to model will activate this. */
+        saveLayoutItem.setSelected(configurationModel.getSaveLayout()); /*
+                                                                         * Initial setting from
+                                                                         * config.
+                                                                         */
+        saveLayoutItem.addPropertyChangeListener(this); /*
+                                                         * Any subsequent changes to model will
+                                                         * activate this.
+                                                         */
         applicationMenu.add(saveLayoutItem);
-        
+
         JMenuItem restoreLayoutItem = new JMenuItem("Restore Default GUI Layout");
         restoreLayoutItem.setActionCommand(RESTORE_DEFAULT_GUI_LAYOUT);
         restoreLayoutItem.addActionListener(this);
         restoreLayoutItem.setToolTipText("Restore the GUI windows to their default positions and sizes");
         applicationMenu.add(restoreLayoutItem);
-        
+
         applicationMenu.addSeparator();
-                
+
         JMenuItem exitItem = new JMenuItem("Exit");
         exitItem.setMnemonic(KeyEvent.VK_X);
         exitItem.setActionCommand(EXIT);
         exitItem.addActionListener(this);
         exitItem.setToolTipText("Exit from the application");
         applicationMenu.add(exitItem);
-        
+
         JMenu plotsMenu = new JMenu("Plots");
         plotsMenu.setMnemonic(KeyEvent.VK_O);
         menuBar.add(plotsMenu);
-        
+
         JMenuItem aidaAutoSaveItem = new JMenuItem("Set AIDA Auto Save File ...");
         aidaAutoSaveItem.setMnemonic(KeyEvent.VK_A);
         aidaAutoSaveItem.setActionCommand(AIDA_AUTO_SAVE);
         aidaAutoSaveItem.addActionListener(this);
         aidaAutoSaveItem.setToolTipText("Select name of file to auto save AIDA plots at end of job.");
         plotsMenu.add(aidaAutoSaveItem);
-        
+
         savePlotsItem = new JMenuItem("Save Plots to AIDA File...");
         savePlotsItem.setMnemonic(KeyEvent.VK_P);
         savePlotsItem.setActionCommand(SAVE_PLOTS);
         savePlotsItem.addActionListener(this);
         savePlotsItem.setEnabled(false);
         savePlotsItem.setToolTipText("Save plots from default AIDA tree to an output file.");
-        plotsMenu.add(savePlotsItem);        
-       
+        plotsMenu.add(savePlotsItem);
+
         JMenu logMenu = new JMenu("Log");
         logMenu.setMnemonic(KeyEvent.VK_L);
         menuBar.add(logMenu);
@@ -622,21 +614,21 @@
         terminalItem.setEnabled(false);
         terminalItem.setToolTipText("Redirect std out and err back to the terminal.");
         logMenu.add(terminalItem);
-        
+
         JMenuItem saveLogItem = new JMenuItem("Save Log Table to File ...");
         saveLogItem.setMnemonic(KeyEvent.VK_S);
         saveLogItem.setActionCommand(SAVE_LOG_TABLE);
         saveLogItem.addActionListener(this);
         saveLogItem.setToolTipText("Save the log records to a tab delimited text file.");
         logMenu.add(saveLogItem);
-        
+
         JMenuItem clearLogItem = new JMenuItem("Clear Log Table");
         clearLogItem.addActionListener(this);
         clearLogItem.setMnemonic(KeyEvent.VK_C);
         clearLogItem.setActionCommand(CLEAR_LOG_TABLE);
         clearLogItem.setToolTipText("Clear the log table of all messages.");
         logMenu.add(clearLogItem);
-        
+
         JMenu utilMenu = new JMenu("Util");
         plotsMenu.setMnemonic(KeyEvent.VK_U);
         menuBar.add(utilMenu);
@@ -648,7 +640,7 @@
         screenshotItem.setToolTipText("Save a full screenshot to a " + SCREENSHOT_FORMAT + " file.");
         utilMenu.add(screenshotItem);
     }
-   
+
     /**
      * Log handler for inserting messages into the log table.
      */
@@ -657,14 +649,11 @@
         /**
          * Puts log messages into the log table.
          */
-        public void publish(LogRecord record) {                       
+        public void publish(LogRecord record) {
             // Add the row to the log table.
-            Object[] row = new Object[] { 
-                    dateFormat.format(new Date(record.getMillis())), 
-                    record.getLevel(),
-                    record.getMessage() };
+            Object[] row = new Object[] { dateFormat.format(new Date(record.getMillis())), record.getLevel(), record.getMessage() };
             logTableModel.insertRow(logTable.getRowCount(), row);
-            
+
             // Print all messages to System.out so they show up in the terminal or log file output.
             System.out.println(row[0] + " :: " + row[1] + " :: " + row[2]);
         }
@@ -677,8 +666,7 @@
     }
 
     /**
-     * Creates the log table component, which is a JTable containing messages
-     * from the logger.
+     * Creates the log table component, which is a JTable containing messages from the logger.
      */
     private void createLogTable() {
 
@@ -710,17 +698,17 @@
         logger.addHandler(logHandler);
         logger.setLevel(Level.ALL);
     }
-   
+
     /**
      * Show the settings window.
      */
     private void showSettingsDialog() {
         settingsDialog.setVisible(true);
     }
-       
-    /**
-     * Set a new log level for the application.  If the new log level is the same as the old one, 
-     * a new log level will NOT be set.
+
+    /**
+     * Set a new log level for the application. If the new log level is the same as the old one, a
+     * new log level will NOT be set.
      */
     private void setLogLevel() {
         Level newLevel = configurationModel.getLogLevel();
@@ -744,27 +732,23 @@
      * Setup the primary <code>JFrame</code> for the application.
      */
     private void configApplicationFrame() {
-        
-        mainPanel.setOpaque(true);        
+
+        mainPanel.setOpaque(true);
 
         // Configure window size and position.
-        WindowConfiguration wc = new WindowConfiguration(
-                MAIN_FRAME_WIDTH, 
-                MAIN_FRAME_HEIGHT, 
-                (int)ScreenUtil.getBoundsX(0), 
-                getY());
+        WindowConfiguration wc = new WindowConfiguration(MAIN_FRAME_WIDTH, MAIN_FRAME_HEIGHT, (int) ScreenUtil.getBoundsX(0), getY());
         setMinimumSize(new Dimension(wc.width, wc.height));
         setPreferredSize(new Dimension(wc.width, wc.height));
         setDefaultWindowConfiguration(wc);
-        
+
         setResizable(true);
         setContentPane(mainPanel);
         setJMenuBar(menuBar);
         setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
-                                
-        pack();                                     
-    }
-               
+
+        pack();
+    }
+
     /**
      * Save all the plots to a file using a <code>JFileChooser</code>.
      */
@@ -777,15 +761,11 @@
                 AIDA.defaultInstance().saveAs(fileName);
                 logger.log(Level.INFO, "Plots saved to file <" + fileName + ">");
             } catch (IOException e) {
-                errorHandler.setError(e)
-                    .setMessage("Error saving plots to file.")
-                    .printStackTrace()
-                    .log()
-                    .showErrorDialog();
-            } 
-        }
-    }
-   
+                errorHandler.setError(e).setMessage("Error saving plots to file.").printStackTrace().log().showErrorDialog();
+            }
+        }
+    }
+
     /**
      * Get the full title of the application.
      * @return The application title.
@@ -843,15 +823,16 @@
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
                 configurationModel.setLogToFile(false);
-                
-                // FIXME: These should be toggled via a PropertyChangeListener on the ConfigurationModel.
+
+                // FIXME: These should be toggled via a PropertyChangeListener on the
+                // ConfigurationModel.
                 terminalItem.setEnabled(false);
                 logItem.setEnabled(true);
             }
         });
         log(Level.INFO, "Redirected std out and err back to terminal.");
     }
-        
+
     /**
      * Redirect <code>System.out</code> and <code>System.err</code> to a file.
      */
@@ -859,7 +840,8 @@
         redirectStdOutAndErrToFile(file);
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
-                // FIXME: These should be toggled via PropertyChangeListener on the ConfigurationModel.
+                // FIXME: These should be toggled via PropertyChangeListener on the
+                // ConfigurationModel.
                 terminalItem.setEnabled(true);
                 logItem.setEnabled(false);
             }
@@ -884,7 +866,7 @@
                 getConnectionSettingsPanel().enableConnectionPanel(true);
 
                 // Re-enable the getJobPanel().
-                //getJobSettingsPanel().enableJobPanel(true);
+                // getJobSettingsPanel().enableJobPanel(true);
 
                 // Set relevant event panel buttons to disabled.
                 buttonsPanel.enablePauseButton(false);
@@ -897,7 +879,8 @@
     }
 
     /**
-     * Set the GUI to connected state, which will enable/disable appropriate components and menu items.
+     * Set the GUI to connected state, which will enable/disable appropriate components and menu
+     * items.
      */
     private void setConnectedGuiState() {
         SwingUtilities.invokeLater(new Runnable() {
@@ -907,7 +890,7 @@
                 getConnectionSettingsPanel().enableConnectionPanel(false);
 
                 // Disable getJobPanel().
-                //getJobSettingsPanel().enableJobPanel(false);
+                // getJobSettingsPanel().enableJobPanel(false);
 
                 // Enable or disable appropriate menu items.
                 savePlotsItem.setEnabled(true);
@@ -965,28 +948,24 @@
             BufferedImage image = robot.createScreenCapture(screenRectangle);
             ImageIO.write(image, SCREENSHOT_FORMAT, new File(fileName));
         } catch (Exception e) {
-            errorHandler.setError(e)
-                .setMessage("Failed to take screenshot.")
-                .printStackTrace()
-                .log()
-                .showErrorDialog();
-        }
-    }
-
-    /**
-     * Start a new monitoring session.  This method is executed in a separate thread from the EDT
-     * within {@link #actionPerformed(ActionEvent)} so GUI updates are not blocked while the session 
+            errorHandler.setError(e).setMessage("Failed to take screenshot.").printStackTrace().log().showErrorDialog();
+        }
+    }
+
+    /**
+     * Start a new monitoring session. This method is executed in a separate thread from the EDT
+     * within {@link #actionPerformed(ActionEvent)} so GUI updates are not blocked while the session
      * is being setup.
      */
     private void startSession() {
 
         log(Level.FINE, "Starting a new monitoring session.");
-        
+
         // Show a modal window that will block the GUI until connected or an error occurs.
         JDialog dialog = DialogUtil.showStatusDialog(this, "Info", "Starting new session ...");
-        
+
         try {
-                        
+
             // Reset the plot panel and global AIDA state.
             resetPlots();
 
@@ -997,13 +976,13 @@
 
             // Setup the LCSim JobControlManager and event builder.
             setupLCSim();
-            
+
             // Connect to the ET system.
-            connect();                        
-            
+            connect();
+
             // Setup the EventProcessingChain object using the EtConnection.
             setupCompositeLoop();
-            
+
             // Setup the system status monitor table.
             setupSystemStatusMonitor();
 
@@ -1013,27 +992,25 @@
             log(Level.INFO, "Successfully started the monitoring session.");
 
         } catch (Exception e) {
-            
+
             log(Level.SEVERE, "An error occurred while setting up the session.");
-            
+
             // Log the error that occurred.
-            errorHandler.setError(e)
-                .log()
-                .printStackTrace();
-           
+            errorHandler.setError(e).log().printStackTrace();
+
             // Disconnect from the session.
             disconnect(ConnectionStatus.ERROR);
-            
+
         } finally {
             // Close modal window.
             dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
         }
     }
-       
+
     /**
      * Start the session watchdog thread, which will kill the session if event processing finishes.
      */
-    private void startSessionWatchdogThread() {        
+    private void startSessionWatchdogThread() {
         sessionWatchdogThread = new SessionWatchdogThread();
         sessionWatchdogThread.start();
     }
@@ -1046,24 +1023,24 @@
         // Make sure applicable menu items are enabled or disabled.
         // This applies whether or not using an ET server or file source.
         setConnectedGuiState();
-        
+
         // Setup the network connection if using an ET server.
         if (usingEtServer()) {
-                    
+
             setConnectionStatus(ConnectionStatus.CONNECTION_REQUESTED);
 
             // Create a connection to the ET server.
             try {
                 createEtConnection();
                 log(Level.INFO, "Successfully connected to ET system.");
-            } catch (Exception e) {                
+            } catch (Exception e) {
                 throw new IOException(e);
             }
         } else {
             this.setConnectionStatus(ConnectionStatus.CONNECTED);
         }
     }
-       
+
     private ConnectionSettingsPanel getConnectionSettingsPanel() {
         return settingsDialog.getSettingsPanel().getConnectionPanel();
     }
@@ -1071,7 +1048,7 @@
     private JobSettingsPanel getJobSettingsPanel() {
         return settingsDialog.getSettingsPanel().getJobSettingsPanel();
     }
-    
+
     private void disconnect() {
         disconnect(ConnectionStatus.DISCONNECTING);
     }
@@ -1086,7 +1063,7 @@
 
         // Cleanup the ET connection.
         cleanupEtConnection();
-        
+
         // Update state of GUI to disconnected.
         setDisconnectedGuiState();
 
@@ -1104,7 +1081,7 @@
      * Cleanup the ET connection.
      */
     private void cleanupEtConnection() {
-        if (connection != null) {     
+        if (connection != null) {
             if (connection.getEtSystem().alive()) {
                 log(Level.FINEST, "Cleaning up the ET connection.");
                 connection.cleanup();
@@ -1123,14 +1100,14 @@
 
         // Get steering resource or file as a String parameter.
         String steering = null;
-        SteeringType steeringType = configurationModel.getSteeringType(); 
+        SteeringType steeringType = configurationModel.getSteeringType();
         if (steeringType.equals(SteeringType.FILE))
             try {
                 steering = configurationModel.getSteeringFile().getCanonicalPath();
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
-        else 
+        else
             steering = configurationModel.getSteeringResource();
 
         log(Level.CONFIG, "Set steering to <" + steering + "> with type <" + (steeringType == SteeringType.RESOURCE ? "RESOURCE" : "FILE") + ">");
@@ -1147,15 +1124,12 @@
 
             // Setup the event builder to translate from EVIO to LCIO.
             createEventBuilder();
-            
+
             log(Level.INFO, "LCSim setup was successful.");
 
         } catch (Throwable t) {
             // Catch all errors and rethrow them as RuntimeExceptions.
-            errorHandler.setError(t)
-                .setMessage("Error setting up LCSim.")
-                .printStackTrace()
-                .raiseException();
+            errorHandler.setError(t).setMessage("Error setting up LCSim.").printStackTrace().raiseException();
         }
     }
 
@@ -1192,18 +1166,18 @@
 
         // Set the detector name on the event builder so it can find conditions data.
         eventBuilder.setDetectorName(configurationModel.getDetectorName());
-        
+
         ConditionsManager.defaultInstance().addConditionsListener(eventBuilder);
 
         log(Level.CONFIG, "Successfully initialized event builder <" + eventBuilderClassName + ">");
     }
 
     /**
-     * Create a connection to an ET system using current parameters from the GUI. If successful,
-     * the application's ConnectionStatus is changed to CONNECTED.
+     * Create a connection to an ET system using current parameters from the GUI. If successful, the
+     * application's ConnectionStatus is changed to CONNECTED.
      */
     private void createEtConnection() {
-        
+
         // Setup connection to ET system.
         connection = fromConfigurationModel(configurationModel);
 
@@ -1211,17 +1185,14 @@
 
             // Set status to connected as there is now a live ET connection.
             setConnectionStatus(ConnectionStatus.CONNECTED);
-            
+
             log(Level.INFO, "Successfully connected to ET system.");
 
         } else {
             // Some error occurred and the connection was not created.
             setConnectionStatus(ConnectionStatus.ERROR);
-            
-            errorHandler.setError(new RuntimeException("Failed to create ET connection."))
-                .log()
-                .printStackTrace()
-                .raiseException();
+
+            errorHandler.setError(new RuntimeException("Failed to create ET connection.")).log().printStackTrace().raiseException();
         }
     }
 
@@ -1248,12 +1219,8 @@
                     out.write(buf.toString());
                     out.close();
                     log("Saved log to file <" + logFile.getPath() + ">");
-                } catch (IOException e) {                    
-                    errorHandler.setError(e)
-                        .setMessage("Error saving log to file.")
-                        .log()
-                        .printStackTrace()
-                        .showErrorDialog();
+                } catch (IOException e) {
+                    errorHandler.setError(e).setMessage("Error saving log to file.").log().printStackTrace().showErrorDialog();
                 }
             }
         }
@@ -1266,7 +1233,7 @@
         logTableModel.setRowCount(0);
         log(Level.INFO, "Log table was cleared.");
     }
-    
+
     /**
      * Notify event processor to get next set of events, if in pause mode.
      */
@@ -1288,7 +1255,7 @@
         buttonsPanel.setPauseModeState(false);
 
         log(Level.FINEST, "Resuming event processing after pause.");
-        
+
         this.setConnectionStatus(ConnectionStatus.CONNECTED);
     }
 
@@ -1296,17 +1263,17 @@
      * Notify the event processor to start pause mode, which will pause between events.
      */
     private void pauseEventProcessing() {
-       
+
         loop.pause();
 
         // Set GUI state.
         buttonsPanel.setPauseModeState(true);
-        
+
         log(Level.FINEST, "Event processing was paused.");
-        
+
         this.setConnectionStatus(ConnectionStatus.PAUSED);
     }
-    
+
     /**
      * Reset the contents of the default AIDA tree.
      */
@@ -1332,54 +1299,45 @@
     private void log(String m) {
         log(DEFAULT_LOG_LEVEL, m);
     }
-    
+
     /**
      * Configure the event processing chain.
      */
     private void setupCompositeLoop() {
-        
-        CompositeLoopConfiguration loopConfig = new CompositeLoopConfiguration()
-            .setStopOnEndRun(configurationModel.getDisconnectOnEndRun())
-            .setStopOnErrors(configurationModel.getDisconnectOnError())
-            .setDataSourceType(configurationModel.getDataSourceType())
-            .setProcessingStage(configurationModel.getProcessingStage())
-            .setEtConnection(connection)
-            .setFilePath(configurationModel.getDataSourcePath())
-            .setLCSimEventBuilder(eventBuilder)
-            .setDetectorName(configurationModel.getDetectorName());
-               
+
+        CompositeLoopConfiguration loopConfig = new CompositeLoopConfiguration().setStopOnEndRun(configurationModel.getDisconnectOnEndRun()).setStopOnErrors(configurationModel.getDisconnectOnError()).setDataSourceType(configurationModel.getDataSourceType()).setProcessingStage(configurationModel.getProcessingStage()).setEtConnection(connection).setFilePath(configurationModel.getDataSourcePath()).setLCSimEventBuilder(eventBuilder).setDetectorName(configurationModel.getDetectorName());
+
         // Add all Drivers from the pre-configured JobManager.
         for (Driver driver : jobManager.getDriverExecList()) {
             loopConfig.add(driver);
-        }        
-
-        
-        // DEBUG: Turn these off while doing other stuff!!!!        
+        }
+
+        // DEBUG: Turn these off while doing other stuff!!!!
         // Using ET server?
         if (usingEtServer()) {
 
             // ET system monitor.
             // FIXME: Make whether this is run or not configurable through the JobPanel.
             loopConfig.add(new EtSystemMonitor());
-            
+
             // ET system strip charts.
             // FIXME: Make whether this is run or not configurable through the JobPanel.
             loopConfig.add(new EtSystemStripCharts());
         }
-              
+
         // RunPanel updater.
         loopConfig.add(runPanel.new RunModelUpdater());
-        
-        // Create the CompositeLoop with the configuration.        
+
+        // Create the CompositeLoop with the configuration.
         loop = new CompositeLoop(loopConfig);
-        
+
         // Create the processing thread.
         processingThread = new EventProcessingThread(loop);
-        
+
         // Start the processing thread.
         processingThread.start();
     }
-    
+
     /**
      * True if ET server is being used.
      * @return True if using ET server.
@@ -1387,22 +1345,22 @@
     private boolean usingEtServer() {
         return configurationModel.getDataSourceType().equals(DataSourceType.ET_SERVER);
     }
-           
+
     /**
      * Configure the system status monitor panel for a new job.
      */
     private void setupSystemStatusMonitor() {
-        // Clear the system status monitor table.        
+        // Clear the system status monitor table.
         systemStatusWindow.getTableModel().clear();
-        
+
         // Get the global registry of SystemStatus objects.
         SystemStatusRegistry registry = SystemStatusRegistry.getSystemStatusRegistery();
-        
+
         // Process the SystemStatus objects.
         for (SystemStatus systemStatus : registry.getSystemStatuses()) {
             // Add a row to the table for every SystemStatus.
             systemStatusWindow.getTableModel().addSystemStatus(systemStatus);
-            
+
             // Add this class as a listener so all status changes can be logged.
             systemStatus.addListener(this);
         }
@@ -1420,11 +1378,11 @@
         if (!plotWindow.isVisible()) {
             // Turn on plot frame if it is off.
             plotWindow.setVisible(true);
-            //plotInfoWindow.setVisible(true);
-        }
-            
+            // plotInfoWindow.setVisible(true);
+        }
+
         // Reset plots.
-        plotWindow.reset(); 
+        plotWindow.reset();
     }
 
     /**
@@ -1437,11 +1395,7 @@
             try {
                 AIDA.defaultInstance().saveAs(configurationModel.getAidaFileName());
             } catch (IOException e) {
-                errorHandler.setError(e)
-                    .setMessage("Error saving AIDA file.")
-                    .log()
-                    .printStackTrace()
-                    .showErrorDialog();
+                errorHandler.setError(e).setMessage("Error saving AIDA file.").log().printStackTrace().showErrorDialog();
             }
         }
     }
@@ -1453,54 +1407,56 @@
     private void stopSession() {
         // Show a modal message window while this method executes.
         JDialog dialog = DialogUtil.showStatusDialog(this, "Info", "Disconnecting from session ...");
-        
+
         try {
             // Log message.
             logger.log(Level.FINER, "Stopping the session.");
-            
+
             // Kill the watchdog thread which looks for disconnects, if it is active.
             killSessionWatchdogThread();
-                        
+
             // Automatically write AIDA file from job settings.
             saveAidaFile();
-        
-            // Disconnect from ET system, if using the ET server, and set the proper disconnected GUI state.           
+
+            // Disconnect from ET system, if using the ET server, and set the proper disconnected
+            // GUI state.
             disconnect();
-            
-            // Stop the event processing, which is called after the ET system goes down to avoid hanging in calls to ET system.
+
+            // Stop the event processing, which is called after the ET system goes down to avoid
+            // hanging in calls to ET system.
             stopEventProcessing();
-                
+
             logger.log(Level.INFO, "Session was stopped.");
-            
-        } finally {        
+
+        } finally {
             // Close modal message window.
             dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
         }
     }
-                                       
-    /**
-     * Stop the event processing by executing a <code>STOP</code> command on the 
-     * record loop and killing the event processing thread.  This is executed
-     * after the ET system is disconnected so that the event processing does
-     * not potentially hang in a call to <code>EtSystem.getEvents()</code> forever.
+
+    /**
+     * Stop the event processing by executing a <code>STOP</code> command on the record loop and
+     * killing the event processing thread. This is executed after the ET system is disconnected so
+     * that the event processing does not potentially hang in a call to
+     * <code>EtSystem.getEvents()</code> forever.
      */
     private void stopEventProcessing() {
 
         // Is the event processing thread not null?
         if (processingThread != null) {
-            
+
             // Is the event processing thread actually still alive?
             if (processingThread.isAlive()) {
-                
+
                 // Request the event processing loop to execute stop.
                 loop.execute(Command.STOP);
-                
+
                 try {
                     // This should always work, because the ET system is disconnected before this.
                     processingThread.join();
                 } catch (InterruptedException e) {
                     // Don't know when this would ever happen.
-                    e.printStackTrace();                   
+                    e.printStackTrace();
                 }
             }
 
@@ -1542,7 +1498,7 @@
 
     /**
      * Thread to automatically trigger a disconnect when the event processing chain finishes or
-     * throws a fatal error.  This thread joins to the event processing thread and automatically 
+     * throws a fatal error. This thread joins to the event processing thread and automatically
      * requests a disconnect using an ActionEvent when the event processing thread stops.
      */
     private class SessionWatchdogThread extends Thread {
@@ -1553,18 +1509,21 @@
                 // disconnect should occur.
                 processingThread.join();
 
-                // Activate a disconnect using the ActionEvent which is used by the disconnect button.
-                // FIXME: When this happens the event processing object and its thread don't get set to null!
+                // Activate a disconnect using the ActionEvent which is used by the disconnect
+                // button.
+                // FIXME: When this happens the event processing object and its thread don't get set
+                // to null!
                 actionPerformed(new ActionEvent(Thread.currentThread(), 0, DISCONNECT));
 
             } catch (InterruptedException e) {
-                // This probably just means that the disconnect button was pushed, and this thread should
+                // This probably just means that the disconnect button was pushed, and this thread
+                // should
                 // no longer monitor the event processing.
                 e.printStackTrace();
             }
         }
     }
-    
+
     /**
      * Choose an output log file using a <code>JFileChooser</code>.
      */
@@ -1577,7 +1536,7 @@
             File file = fc.getSelectedFile();
             if (file.exists()) {
                 throw new RuntimeException("Log file already exists.");
-            } else {                    
+            } else {
                 try {
                     configurationModel.setLogFileName(file.getCanonicalPath());
                     configurationModel.setLogToFile(true);
@@ -1585,15 +1544,15 @@
                     errorHandler.setError(e).log().printStackTrace().showErrorDialog();
                 }
                 logToFile(file);
-            }            
-        }
-        
-    }
-    
+            }
+        }
+
+    }
+
     /**
      * Choose an input configuration file using a <code>JFileChooser</code>.
      */
-    private void chooseConfigurationFile() {    
+    private void chooseConfigurationFile() {
         JFileChooser fc = new JFileChooser();
         fc.setDialogTitle("Load Settings");
         fc.setCurrentDirectory(new File("."));
@@ -1604,9 +1563,9 @@
             Configuration newConfig = new Configuration(f);
             setConfiguration(newConfig);
             loadConfiguration();
-        }        
-    }
-    
+        }
+    }
+
     /**
      * Save a configuration file using a <code>JFileChooser</code>.
      */
@@ -1617,11 +1576,11 @@
         int r = fc.showSaveDialog(mainPanel);
         if (r == JFileChooser.APPROVE_OPTION) {
             File f = fc.getSelectedFile();
-            log(Level.CONFIG, "Saving configuration to file <" + f.getPath() + ">");            
+            log(Level.CONFIG, "Saving configuration to file <" + f.getPath() + ">");
             configuration.writeToFile(f);
         }
     }
-    
+
     private void updateLayoutConfiguration() {
         // Should the GUI config be saved?
         if (configurationModel.getSaveLayout()) {
@@ -1632,45 +1591,46 @@
             clearLayoutConfiguration();
         }
     }
-    
+
     private void saveLayoutConfiguration() {
         configurationModel.setMonitoringApplicationLayout(new WindowConfiguration(this).toString());
         configurationModel.setSystemStatusFrameLayout(new WindowConfiguration(systemStatusWindow).toString());
         configurationModel.setPlotFrameLayout(new WindowConfiguration(plotWindow).toString());
     }
-    
+
     private void clearLayoutConfiguration() {
         configurationModel.remove(ConfigurationModel.MONITORING_APPLICATION_LAYOUT_PROPERTY);
         configurationModel.remove(ConfigurationModel.SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY);
         configurationModel.remove(ConfigurationModel.PLOT_FRAME_LAYOUT_PROPERTY);
     }
-    
+
     private void setSaveLayout() {
         configurationModel.setSaveLayout(saveLayoutItem.isSelected());
-    }      
-    
+    }
+
     private void restoreDefaultLayout() {
         resetWindowConfiguration();
         plotWindow.resetWindowConfiguration();
         systemStatusWindow.resetWindowConfiguration();
     }
-           
+
     /**
      * Load the current Configuration by updating the ConfigurationModel.
      */
     private void loadConfiguration() {
-        
-        // Set the Configuration on the ConfigurationModel which will trigger all the PropertyChangelListeners.
+
+        // Set the Configuration on the ConfigurationModel which will trigger all the
+        // PropertyChangelListeners.
         configurationModel.setConfiguration(configuration);
-        
+
         // Log that a new configuration was loaded.
         if (configuration.getFile() != null)
             log(Level.CONFIG, "Loaded configuration from file <" + configuration.getFile().getPath() + ">");
-        else 
+        else
             log(Level.CONFIG, "Loaded configuration from resource <" + configuration.getResourcePath() + ">");
-        
-    }
-    
+
+    }
+
     /**
      * Load the default configuration file.
      */
@@ -1678,15 +1638,15 @@
         setConfiguration(new Configuration(DEFAULT_CONFIG_RESOURCE));
         loadConfiguration();
     }
-    
-    /**
-     * Validate the current file source by throwing an IOException if
-     * there appears to be a problem with it. 
+
+    /**
+     * Validate the current file source by throwing an IOException if there appears to be a problem
+     * with it.
      * @throws IOException if there a problem with the current file source.
      */
     private void validateDataFile() throws IOException {
-        DataSourceType dataSourceType = configurationModel.getDataSourceType();        
-        if (dataSourceType.isFile()) {                                         
+        DataSourceType dataSourceType = configurationModel.getDataSourceType();
+        if (dataSourceType.isFile()) {
             try {
                 if (configurationModel.getDataSourcePath() == null)
                     throw new IOException("No data file set.");
@@ -1707,65 +1667,45 @@
                 }
             } catch (IOException e) {
                 throw e;
-            } 
+            }
         } else {
             // This shouldn't really ever happen!
             throw new IOException("No file source was selected.");
         }
     }
-    
-    /**
-     * This is a thread to validate the current input file.  This must 
-     * be done on a seperate thread, because EVIO files may take a long time
-     * to be completely read in using the EvioReader.  Also, since
-     * the request for file validation comes on the EDT thread, the task 
-     * must be put onto a seperate thread so that actionPerformed() may exit 
-     * and not block the EDT from updating the GUI.        
-     */
-    class FileValidationThread extends Thread {                
+
+    /**
+     * This is a thread to validate the current input file. This must be done on a seperate thread,
+     * because EVIO files may take a long time to be completely read in using the EvioReader. Also,
+     * since the request for file validation comes on the EDT thread, the task must be put onto a
+     * seperate thread so that actionPerformed() may exit and not block the EDT from updating the
+     * GUI.
+     */
+    class FileValidationThread extends Thread {
         boolean isFileValid;
+
         public void run() {
             settingsDialog.setEnabled(false);
-            JDialog dialog = DialogUtil.showStatusDialog(
-                    MonitoringApplication.this,
-                    "Validating data file", 
-                    configurationModel.getDataSourcePath());
-            try {                                
+            JDialog dialog = DialogUtil.showStatusDialog(MonitoringApplication.this, "Validating data file", configurationModel.getDataSourcePath());
+            try {
                 validateDataFile();
-                DialogUtil.showInfoDialog(
-                        MonitoringApplication.this, 
-                        "File is valid", 
-                        configurationModel.getDataSourcePath());
+                DialogUtil.showInfoDialog(MonitoringApplication.this, "File is valid", configurationModel.getDataSourcePath());
             } catch (IOException error) {
-                DialogUtil.showErrorDialog(
-                        MonitoringApplication.this, 
-                        error, 
-                        "Error validating file");
+                DialogUtil.showErrorDialog(MonitoringApplication.this, error, "Error validating file");
             } finally {
                 dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
                 settingsDialog.setEnabled(true);
                 fileValidationThread = null;
-            }            
-        }    
-    }
-            
+            }
+        }
+    }
+
     /**
      * Create an ET server connection from a <code>ConfigurationModel</code>.
      * @param config The ConfigurationModel with the connection parameters.
      * @return The EtConnection object.
      */
     private static EtConnection fromConfigurationModel(ConfigurationModel config) {
-        return EtConnection.createConnection(
-                config.getEtName(), 
-                config.getHost(), 
-                config.getPort(), 
-                config.getBlocking(), 
-                config.getQueueSize(), 
-                config.getPrescale(), 
-                config.getStationName(), 
-                config.getStationPosition(), 
-                config.getWaitMode(), 
-                config.getWaitTime(), 
-                config.getChunkSize());
-    }                      
+        return EtConnection.createConnection(config.getEtName(), config.getHost(), config.getPort(), config.getBlocking(), config.getQueueSize(), config.getPrescale(), config.getStationName(), config.getStationPosition(), config.getWaitMode(), config.getWaitTime(), config.getChunkSize());
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotInfoWindow.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotInfoWindow.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotInfoWindow.java	Mon Nov 10 11:20:53 2014
@@ -40,16 +40,17 @@
  * This is a GUI component for showing the statistics and other information about an AIDA plot.
  * <p>
  * This information is updated dynamically via the <code>AIDAObserver</code> API on the AIDA object.
- */ 
-// FIXME: Add addRows for all types of AIDA objects (only Histogram1D implemented so far). 
+ */
+// FIXME: Add addRows for all types of AIDA objects (only Histogram1D implemented so far).
 // FIXME: Columns disappear when rebuilding table.
 // TODO: Add sorting of info table.
-// TODO: Probably this should be moved out of monitoring application as it is generically applicable to AIDA objects.
+// TODO: Probably this should be moved out of monitoring application as it is generically applicable
+// to AIDA objects.
 public class PlotInfoWindow extends JFrame implements AIDAListener, ActionListener {
 
     JComboBox<Object> plotComboBox;
     JTable infoTable = new JTable();
-    DefaultTableModel model;    
+    DefaultTableModel model;
     JPanel contentPane = new JPanel();
     PlotterRegion currentRegion;
     Object currentObject;
@@ -59,26 +60,25 @@
     static final String[] COLUMN_NAMES = { "Field", "Value" };
 
     static final String PLOT_SELECTED = "PLOT_SELECTED";
-    
+
     Timer timer = new Timer();
-           
+
     /**
      * Class constructor, which will setup the GUI components.
      */
     @SuppressWarnings("unchecked")
     PlotInfoWindow() {
-        
+
         contentPane.setLayout(new GridBagLayout());
         contentPane.setBorder(BorderFactory.createEmptyBorder(BORDER_SIZE, BORDER_SIZE, BORDER_SIZE, BORDER_SIZE));
-        
+
         GridBagConstraints c;
-        
+
         plotComboBox = new JComboBox<Object>();
-        plotComboBox.setActionCommand(PLOT_SELECTED);        
+        plotComboBox.setActionCommand(PLOT_SELECTED);
         plotComboBox.setRenderer(new BasicComboBoxRenderer() {
             @SuppressWarnings("rawtypes")
-            public Component getListCellRendererComponent(JList list, Object value, int index,
-                    boolean isSelected, boolean cellHasFocus) {                
+            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
                 super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
                 if (value != null) {
                     String title = getObjectTitle(value);
@@ -88,7 +88,7 @@
                 }
                 return this;
             }
-        });        
+        });
         plotComboBox.addActionListener(this);
         c = new GridBagConstraints();
         c.gridx = 0;
@@ -100,32 +100,32 @@
         String data[][] = new String[0][0];
         model = new DefaultTableModel(data, COLUMN_NAMES);
         infoTable.setModel(model);
-        
-        // FIXME: Are these adequate column size settings?  Could prob be bigger...
+
+        // FIXME: Are these adequate column size settings? Could prob be bigger...
         infoTable.getColumn("Field").setMinWidth(25);
         infoTable.getColumn("Value").setMinWidth(20);
-        
+
         c = new GridBagConstraints();
         c.gridx = 0;
         c.gridy = 1;
         c.fill = GridBagConstraints.BOTH;
         contentPane.add(infoTable, c);
-        
-        setContentPane(contentPane);        
+
+        setContentPane(contentPane);
         setAlwaysOnTop(true);
         setResizable(false);
         this.pack();
     }
-    
-    /**
-     * This method will be called when the backing AIDA object is updated and a 
-     * state change is fired via the <code>AIDAObservable</code> API.  The table
-     * is updated to reflect the new state of the object.
+
+    /**
+     * This method will be called when the backing AIDA object is updated and a state change is
+     * fired via the <code>AIDAObservable</code> API. The table is updated to reflect the new state
+     * of the object.
      * @param evt The EventObject pointing to the backing AIDA object.
      */
     @Override
     public void stateChanged(final EventObject evt) {
-        
+
         // Make a timer task for running the update.
         TimerTask task = new TimerTask() {
             public void run() {
@@ -134,26 +134,26 @@
                     // Assume this means that a different AIDAObservable was selected in the GUI.
                     return;
                 }
-                
+
                 // Update the table values on the Swing EDT.
                 runUpdateTable();
-                
+
                 // Set the observable to valid so subsequent state changes are received.
                 ((AIDAObservable) currentObject).setValid((AIDAListener) PlotInfoWindow.this);
             }
-        };        
-        
-        /* 
-         * Schedule the task to run in ~0.5 seconds.  If the Runnable runs immediately, somehow the
-         * observable state gets permanently set to invalid and additional state changes will not
-         * be received! 
+        };
+
+        /*
+         * Schedule the task to run in ~0.5 seconds. If the Runnable runs immediately, somehow the
+         * observable state gets permanently set to invalid and additional state changes will not be
+         * received!
          */
         timer.schedule(task, 500);
     }
 
     /**
-     * Implementation of <code>actionPerformed</code> to handle the selection of
-     * a new object from the combo box. 
+     * Implementation of <code>actionPerformed</code> to handle the selection of a new object from
+     * the combo box.
      */
     @Override
     public void actionPerformed(ActionEvent e) {
@@ -164,22 +164,21 @@
                 setCurrentObject(plotComboBox.getSelectedItem());
             }
         }
-    }        
-    
-    /**
-     * Get the title of an AIDA object.  Unfortunately there is 
-     * not base type with this information.
+    }
+
+    /**
+     * Get the title of an AIDA object. Unfortunately there is not base type with this information.
      * @param object The AIDA object.
-     * @return The title of the object from its title method 
-     *          or value of its toString method, if none exists.
+     * @return The title of the object from its title method or value of its toString method, if
+     *         none exists.
      */
     String getObjectTitle(Object object) {
         if (object instanceof IBaseHistogram) {
-            return ((IBaseHistogram)object).title();
+            return ((IBaseHistogram) object).title();
         } else if (object instanceof IDataPointSet) {
-            return ((IDataPointSet)object).title();            
+            return ((IDataPointSet) object).title();
         } else if (object instanceof IFunction) {
-            return ((IFunction)object).title();
+            return ((IFunction) object).title();
         } else {
             return object.toString();
         }
@@ -189,79 +188,75 @@
      * Set the current plotter region, which will rebuild the GUI accordingly.
      * @param region The current plotter region.
      */
-    synchronized void setCurrentRegion(PlotterRegion region) {        
-        if (region != currentRegion) {            
+    synchronized void setCurrentRegion(PlotterRegion region) {
+        if (region != currentRegion) {
             currentRegion = region;
             if (currentRegion.title() != null)
                 setTitle(currentRegion.title());
-            updateComboBox();             
+            updateComboBox();
             setCurrentObject(plotComboBox.getSelectedItem());
-            setupContentPane(); 
+            setupContentPane();
         }
     }
 
     /**
      * Configure the frame's content panel from current component settings.
      */
-    void setupContentPane() {                   
+    void setupContentPane() {
         plotComboBox.setSize(plotComboBox.getPreferredSize());
         infoTable.setSize(infoTable.getPreferredSize());
         int width = plotComboBox.getPreferredSize().width;
         int height = plotComboBox.getPreferredSize().height + INSET_SIZE + infoTable.getPreferredSize().height;
-        contentPane.setPreferredSize(
-                new Dimension(
-                        width,
-                        height
-                        ));
+        contentPane.setPreferredSize(new Dimension(width, height));
         contentPane.setSize(contentPane.getPreferredSize());
         contentPane.setMinimumSize(contentPane.getPreferredSize());
         this.pack();
-        setVisible(true);      
-    }
-        
+        setVisible(true);
+    }
+
     /**
      * Update the info table from the state of the current AIDA object.
      */
     void updateTable() {
         model.setRowCount(0);
-        model.setColumnIdentifiers(COLUMN_NAMES);                
-        if (currentObject instanceof IHistogram1D) {            
-            addRows((IHistogram1D)currentObject);
+        model.setColumnIdentifiers(COLUMN_NAMES);
+        if (currentObject instanceof IHistogram1D) {
+            addRows((IHistogram1D) currentObject);
         } else if (currentObject instanceof IHistogram2D) {
-            addRows((IHistogram2D)currentObject);
+            addRows((IHistogram2D) currentObject);
         } else if (currentObject instanceof ICloud2D) {
-            addRows((ICloud2D)currentObject);
+            addRows((ICloud2D) currentObject);
         } else if (currentObject instanceof ICloud1D) {
-            if (((ICloud1D)currentObject).isConverted()) {
-                addRows(((ICloud1D)currentObject).histogram());
-            }
-        }
-    }
-    
+            if (((ICloud1D) currentObject).isConverted()) {
+                addRows(((ICloud1D) currentObject).histogram());
+            }
+        }
+    }
+
     /**
      * Run the {@link #updateTable()} method on the Swing EDT.
      */
     void runUpdateTable() {
-        SwingUtilities.invokeLater(new Runnable() { 
+        SwingUtilities.invokeLater(new Runnable() {
             public void run() {
                 updateTable();
             }
         });
     }
-    
+
     /**
      * Update the combo box contents with the plots from the current region.
      */
     void updateComboBox() {
         plotComboBox.removeAllItems();
-        List<Object> objects = currentRegion.getPlottedObjects();        
+        List<Object> objects = currentRegion.getPlottedObjects();
         for (Object object : objects) {
             if (isValidObject(object)) {
                 this.plotComboBox.addItem(object);
             }
-        }        
-    }
-    
+        }
+    }
+
     boolean isValidObject(Object object) {
         if (object == null)
             return false;
@@ -287,7 +282,7 @@
         addRow("overflow entries", histogram.binEntries(IAxis.OVERFLOW_BIN));
         addRow("underflow entries", histogram.binEntries(IAxis.UNDERFLOW_BIN));
     }
-    
+
     /**
      * Add rows to the info table from the state of a 2D histogram.
      * @param histogram The AIDA object.
@@ -308,18 +303,18 @@
         addRow("x underflow entries", histogram.binEntriesX(IAxis.UNDERFLOW_BIN));
         addRow("y underflow entries", histogram.binEntriesY(IAxis.UNDERFLOW_BIN));
     }
-    
+
     /**
      * Add rows to the info table from the state of a 2D cloud.
      * @param cloud The AIDA object.
      */
-    void addRows(ICloud2D cloud) {        
+    void addRows(ICloud2D cloud) {
         addRow("title", cloud.title());
         addRow("entries", cloud.entries());
         addRow("max entries", cloud.maxEntries());
         addRow("x lower edge", cloud.lowerEdgeX());
         addRow("x upper edge", cloud.upperEdgeX());
-        addRow("y lower edge", cloud.lowerEdgeY());        
+        addRow("y lower edge", cloud.lowerEdgeY());
         addRow("y upper edge", cloud.upperEdgeY());
         addRow("x mean", String.format("%.10f%n", cloud.meanX()));
         addRow("y mean", String.format("%.10f%n", cloud.meanY()));
@@ -335,54 +330,55 @@
     void addRow(String field, Object value) {
         model.insertRow(infoTable.getRowCount(), new Object[] { field, value });
     }
-    
+
     /**
      * Set the current AIDA object that backs this GUI, i.e. an IHistogram1D etc.
      * @param object The backing AIDA object.
      */
     synchronized void setCurrentObject(Object object) {
-                        
+
         if (object == null)
-            throw new IllegalArgumentException("The object arg is null!");       
+            throw new IllegalArgumentException("The object arg is null!");
 
         if (object == currentObject)
             return;
-       
+
         // Remove the AIDAListener from the previous object.
         removeListener();
-                              
+
         // Set the current object reference.
-        currentObject = object;        
-        
+        currentObject = object;
+
         // Update the table immediately with information from the current object.
-        // We need to wait for this the first time, so we know the preferred size 
+        // We need to wait for this the first time, so we know the preferred size
         // of the table GUI component when resizing the content pane.
         updateTable();
-        
+
         // Add an AIDAListener to the AIDA object via the AIDAObservable API.
         addListener();
     }
-    
-    /**
-     * Remove this object as an <code>AIDAListener</code> on the current <code>AIDAObservable</code>.
+
+    /**
+     * Remove this object as an <code>AIDAListener</code> on the current <code>AIDAObservable</code>
+     * .
      */
     void removeListener() {
         if (currentObject != null) {
             // Remove this object as a listener on the current observable.
-            ((AIDAObservable)currentObject).removeListener(this);
-        }
-    }
-    
+            ((AIDAObservable) currentObject).removeListener(this);
+        }
+    }
+
     /**
      * Add this object as an <code>AIDAListener</code> on the current <code>AIDAObservable</code>.
      */
-    void addListener() {        
+    void addListener() {
         if (currentObject instanceof AIDAObservable) {
             // Setup a listener on the current AIDA object.
-            AIDAObservable observable = (AIDAObservable)currentObject;
+            AIDAObservable observable = (AIDAObservable) currentObject;
             observable.addListener(this);
             observable.setValid(this);
-            observable.setConnected(true);                        
-        }        
-    }      
+            observable.setConnected(true);
+        }
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotWindow.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotWindow.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/PlotWindow.java	Mon Nov 10 11:20:53 2014
@@ -7,22 +7,22 @@
  * A <code>JFrame</code> where monitoring plots will show in tabs.
  */
 class PlotWindow extends ApplicationWindow {
-    
+
     private JTabbedPane plotPane;
-    
+
     PlotWindow() {
         super("Monitoring Plots");
         plotPane = new JTabbedPane();
         setContentPane(plotPane);
         setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
         setResizable(true);
-        pack();           
+        pack();
     }
-    
+
     void reset() {
         plotPane.removeAll();
-    }       
-    
+    }
+
     JTabbedPane getPlotPane() {
         return plotPane;
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/RunPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/RunPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/RunPanel.java	Mon Nov 10 11:20:53 2014
@@ -41,7 +41,7 @@
 class RunPanel extends JPanel implements PropertyChangeListener {
 
     FieldPanel runNumberField = new FieldPanel("Run Number", "", 10, false);
-    DatePanel startDateField = new DatePanel("Run Start", "", 16, false); 
+    DatePanel startDateField = new DatePanel("Run Start", "", 16, false);
     DatePanel endDateField = new DatePanel("Run End", "", 16, false);
     FieldPanel lengthField = new FieldPanel("Run Length [sec]", "", 12, false);
     FieldPanel totalEventsField = new FieldPanel("Total Events in Run", "", 14, false);
@@ -49,22 +49,21 @@
     FieldPanel eventsReceivedField = new FieldPanel("Events Received", "", 14, false);
     FieldPanel dataReceivedField = new FieldPanel("Data Received [bytes]", "", 14, false);
     FieldPanel eventNumberField = new FieldPanel("Event Number", "", 14, false);
-    
+
     Timer timer;
     long jobStartMillis;
-    
+
     RunModel model;
-          
+
     RunPanel(RunModel model) {
         this.model = model;
         this.model.addPropertyChangeListener(this);
-        
+
         setLayout(new FlowLayout(FlowLayout.LEFT));
-        
-        TitledBorder titledBorder = BorderFactory.createTitledBorder(                
-                BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Run Summary");        
-        setBorder(titledBorder);               
-        
+
+        TitledBorder titledBorder = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Run Summary");
+        setBorder(titledBorder);
+
         add(runNumberField);
         add(startDateField);
         add(endDateField);
@@ -74,93 +73,93 @@
         add(eventsReceivedField);
         add(dataReceivedField);
         add(eventNumberField);
-        
+
         this.setMinimumSize(new Dimension(0, 190));
     }
-           
+
     void startJobTimer() {
         timer = new Timer("JobTimer");
         jobStartMillis = System.currentTimeMillis();
-        TimerTask updateTimeTask = new TimerTask() {                       
+        TimerTask updateTimeTask = new TimerTask() {
             public void run() {
-                final int elapsedTime = (int)((System.currentTimeMillis() - jobStartMillis) / 1000);
+                final int elapsedTime = (int) ((System.currentTimeMillis() - jobStartMillis) / 1000);
                 model.setElapsedTime(elapsedTime);
-            }            
+            }
         };
         timer.scheduleAtFixedRate(updateTimeTask, 0, 1000);
     }
-    
+
     void stopRunTimer() {
         timer.cancel();
         timer.purge();
     }
-             
+
     class RunModelUpdater extends CompositeRecordProcessor {
-       
+
         @Override
         public void startJob() {
             model.reset();
             RunPanel.this.startJobTimer();
         }
-        
+
         @Override
         public void process(CompositeRecord event) {
-            model.incrementEventsReceived();            
+            model.incrementEventsReceived();
             EvioEvent evioEvent = event.getEvioEvent();
             if (event.getEtEvent() != null && event.getEvioEvent() == null) {
                 model.addDataReceived(event.getEtEvent().getData().length);
             } else if (evioEvent != null) {
-                model.addDataReceived((long)evioEvent.getTotalBytes());
+                model.addDataReceived((long) evioEvent.getTotalBytes());
                 model.setEventNumber(evioEvent.getEventNumber());
-                if (EventConstants.isPreStartEvent(evioEvent)) {                    
+                if (EventConstants.isPreStartEvent(evioEvent)) {
                     startRun(evioEvent);
-                } else if (EventConstants.isEndEvent(evioEvent)) {                    
+                } else if (EventConstants.isEndEvent(evioEvent)) {
                     endRun(evioEvent);
-                }        
+                }
             } else if (event.getLcioEvent() != null) {
                 model.setEventNumber(event.getLcioEvent().getEventNumber());
             }
         }
 
-        private void endRun(EvioEvent evioEvent) {            
+        private void endRun(EvioEvent evioEvent) {
             // Get end run data.
             int[] data = evioEvent.getIntData();
             int seconds = data[0];
             int eventCount = data[2];
             long endMillis = ((long) seconds) * 1000;
-            
+
             // Update the GUI.
             model.setEndDate(new Date(endMillis));
-            model.computeRunLength();              
+            model.computeRunLength();
             model.setTotalEvents(eventCount);
         }
 
-        private void startRun(EvioEvent evioEvent) {            
+        private void startRun(EvioEvent evioEvent) {
             // Get start of run data.
             int[] data = evioEvent.getIntData();
             int seconds = data[0];
-            int runNumber = data[1];        
+            int runNumber = data[1];
             long startMillis = ((long) seconds) * 1000;
-            
+
             // Update the GUI.
             model.setRunNumber(runNumber);
             model.setStartDate(new Date(startMillis));
         }
-                
+
         @Override
         public void endJob() {
             RunPanel.this.stopRunTimer();
-        }        
+        }
     }
 
     /**
      * Update the GUI from changes in the underlying RunModel object.
      */
     @Override
-    public void propertyChange(PropertyChangeEvent evt) {        
+    public void propertyChange(PropertyChangeEvent evt) {
         Object value = evt.getNewValue();
-        if (RUN_NUMBER_PROPERTY.equals(evt.getPropertyName())) {            
-            this.runNumberField.setValue((Integer) value);            
+        if (RUN_NUMBER_PROPERTY.equals(evt.getPropertyName())) {
+            this.runNumberField.setValue((Integer) value);
         } else if (START_DATE_PROPERTY.equals(evt.getPropertyName())) {
             if (value != null)
                 this.startDateField.setValue((Date) value);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ScreenUtil.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ScreenUtil.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/ScreenUtil.java	Mon Nov 10 11:20:53 2014
@@ -33,10 +33,10 @@
             System.out.println(graphicsDevice.getDisplayMode().getWidth() + " x " + graphicsDevice.getDisplayMode().getHeight());
         }
     }
-    
+
     static void printComponentInfo(Component component) {
         if (component instanceof JFrame) {
-            System.out.println(((JFrame)component).getTitle());
+            System.out.println(((JFrame) component).getTitle());
         } else {
             System.out.println(component);
         }
@@ -44,19 +44,19 @@
         System.out.println("size: " + component.getSize().getWidth() + " x " + component.getSize().getHeight());
         System.out.println();
     }
-    
+
     static GraphicsDevice getGraphicsDevice(int index) {
         return GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[index];
     }
-    
+
     static Rectangle getScreenBounds(int index) {
         return ScreenUtil.getGraphicsDevice(index).getDefaultConfiguration().getBounds();
     }
-    
+
     static double getBoundsX(int index) {
         return ScreenUtil.getGraphicsDevice(index).getDefaultConfiguration().getBounds().getX();
     }
-    
+
     static double getBoundsY(int index) {
         return ScreenUtil.getGraphicsDevice(index).getDefaultConfiguration().getBounds().getY();
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsDialog.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsDialog.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsDialog.java	Mon Nov 10 11:20:53 2014
@@ -6,11 +6,11 @@
 import javax.swing.JDialog;
 
 /**
- * The modal dialog for entering settings.  It contains a <code>JPanel</code>
- * with the different settings sub-tabs.
+ * The modal dialog for entering settings. It contains a <code>JPanel</code> with the different
+ * settings sub-tabs.
  */
 class SettingsDialog extends JDialog {
-    
+
     final SettingsPanel settingsPanel = new SettingsPanel(this);
 
     SettingsDialog() {
@@ -21,14 +21,14 @@
         setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
         setModalityType(ModalityType.APPLICATION_MODAL);
         pack();
-        
+
         addWindowListener(new WindowAdapter() {
             public void windowClosing(WindowEvent e) {
                 setVisible(false);
             }
         });
     }
-    
+
     SettingsPanel getSettingsPanel() {
         return settingsPanel;
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SettingsPanel.java	Mon Nov 10 11:20:53 2014
@@ -22,63 +22,62 @@
     ConnectionSettingsPanel connectionPanel = new ConnectionSettingsPanel();
     DataSourcePanel dataSourcePanel = new DataSourcePanel();
     static final String OKAY_COMMAND = "settingsOkay";
-    
+
     JButton defaultsButton;
-    
+
     JDialog parent;
-        
+
     SettingsPanel(JDialog parent) {
 
         this.parent = parent;
 
         this.setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
-        
+
         tabs = new JTabbedPane();
         tabs.addTab("Connection Settings", connectionPanel);
         tabs.addTab("Job Settings", jobPanel);
         tabs.addTab("Data Source", dataSourcePanel);
         add(tabs);
-                
+
         JButton okayButton = new JButton("Okay");
         okayButton.setActionCommand(OKAY_COMMAND);
         okayButton.addActionListener(this);
-        
+
         defaultsButton = new JButton("Defaults");
         defaultsButton.setActionCommand(Commands.LOAD_DEFAULT_CONFIG_FILE);
         defaultsButton.addActionListener(this);
-                
-        add(Box.createRigidArea(new Dimension(1,5)));
+
+        add(Box.createRigidArea(new Dimension(1, 5)));
         JPanel buttonsPanel = new JPanel();
         buttonsPanel.add(okayButton);
         buttonsPanel.add(defaultsButton);
-        buttonsPanel.setLayout(new FlowLayout());        
+        buttonsPanel.setLayout(new FlowLayout());
         add(buttonsPanel);
-        add(Box.createRigidArea(new Dimension(1,5)));
+        add(Box.createRigidArea(new Dimension(1, 5)));
     }
-            
+
     ConnectionSettingsPanel getConnectionPanel() {
         return connectionPanel;
     }
-    
+
     JobSettingsPanel getJobSettingsPanel() {
         return jobPanel;
     }
-    
+
     DataSourcePanel getDataSourcePanel() {
         return dataSourcePanel;
     }
-                   
+
     @Override
     public void actionPerformed(ActionEvent e) {
         if (e.getActionCommand().equals(OKAY_COMMAND)) {
-            parent.setVisible(false);                
+            parent.setVisible(false);
         }
-    }    
-    
+    }
+
     /**
-     * This method is used to register a listener so that the Monitoring Application 
-     * can reset to the default configuration when the "Defaults" button is pushed from
-     * the settings panel. 
+     * This method is used to register a listener so that the Monitoring Application can reset to
+     * the default configuration when the "Defaults" button is pushed from the settings panel.
      * @param listener
      */
     void addActionListener(ActionListener listener) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SystemStatusWindow.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SystemStatusWindow.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/SystemStatusWindow.java	Mon Nov 10 11:20:53 2014
@@ -25,20 +25,21 @@
 import org.hps.monitoring.subsys.StatusCode;
 
 /**
- * A GUI window for showing changes to {@link org.hps.monitoring.subsys.SystemStatus} objects
- * using a <code>JTable</code>.
+ * A GUI window for showing changes to {@link org.hps.monitoring.subsys.SystemStatus} objects using
+ * a <code>JTable</code>.
  */
-// TODO: It might be a good idea if there was a second table which logged all status changes as separate
-//       rows so they could be seen in order.
+// TODO: It might be a good idea if there was a second table which logged all status changes as
+// separate
+// rows so they could be seen in order.
 class SystemStatusWindow extends ApplicationWindow {
 
     JTable table;
-        
+
     SystemStatusWindow() {
         super("System Status Monitor");
-        
+
         table = new JTable(new SystemStatusTableModel());
-        
+
         // Rendering of system status cells using different background colors.
         table.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL).setCellRenderer(new DefaultTableCellRenderer() {
 
@@ -75,7 +76,7 @@
                 return label;
             }
         });
-        
+
         // Date formatting for last changed.
         table.getColumnModel().getColumn(LAST_CHANGED_COL).setCellRenderer(new DefaultTableCellRenderer() {
 
@@ -89,22 +90,22 @@
                 return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
             }
         });
-        
+
         // Button for clearing system statuses.
         table.getColumnModel().getColumn(RESET_COL).setCellRenderer(new ButtonRenderer("Clear"));
         table.addMouseListener(new JTableButtonMouseListener(table));
         table.getColumn("Clearable").setWidth(0);
         table.getColumn("Clearable").setMinWidth(0);
         table.getColumn("Clearable").setMaxWidth(0);
-        
+
         // Column widths.
         table.getColumnModel().getColumn(ACTIVE_COL).setPreferredWidth(8);
         table.getColumnModel().getColumn(STATUS_COL).setPreferredWidth(10);
         table.getColumnModel().getColumn(SYSTEM_COL).setPreferredWidth(10);
         // TODO: Add default width setting for every column.
-        
+
         table.setAutoCreateRowSorter(true);
-                
+
         // Scroll pane.
         JScrollPane scrollPane = new JScrollPane(table);
         scrollPane.setOpaque(true);
@@ -119,47 +120,46 @@
     public SystemStatusTableModel getTableModel() {
         return (SystemStatusTableModel) table.getModel();
     }
-    
+
     /**
      * Renders a button if the status is clearable.
      */
     private class ButtonRenderer extends JButton implements TableCellRenderer {
-                
+
         public ButtonRenderer(String label) {
             this.setText(label);
         }
 
-        public Component getTableCellRendererComponent(
-                JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {            
-            boolean clearable = (Boolean)table.getModel().getValueAt(row, CLEARABLE_COL);
+        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
+            boolean clearable = (Boolean) table.getModel().getValueAt(row, CLEARABLE_COL);
             if (clearable)
                 return this;
-            else 
+            else
                 return null;
         }
     }
-    
+
     /**
-     * Fires a mouse click event when the clear button is pressed, which in turn
-     * will activate the action event for the button.  The <code>ActionListener</code> 
-     * then sets the <code>StatusCode</code> to <code>CLEARED</code>.
+     * Fires a mouse click event when the clear button is pressed, which in turn will activate the
+     * action event for the button. The <code>ActionListener</code> then sets the
+     * <code>StatusCode</code> to <code>CLEARED</code>.
      */
     private static class JTableButtonMouseListener extends MouseAdapter {
         private final JTable table;
-        
+
         public JTableButtonMouseListener(JTable table) {
             this.table = table;
         }
 
         public void mouseClicked(MouseEvent e) {
             int column = table.getColumnModel().getColumnIndexAtX(e.getX());
-            int row = e.getY() / table.getRowHeight(); 
+            int row = e.getY() / table.getRowHeight();
             if (row < table.getRowCount() && row >= 0 && column < table.getColumnCount() && column >= 0) {
                 Object value = table.getValueAt(row, column);
                 if (value instanceof JButton) {
-                    ((JButton)value).doClick();
+                    ((JButton) value).doClick();
                 }
             }
         }
-    }          
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/WindowConfiguration.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/WindowConfiguration.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/WindowConfiguration.java	Mon Nov 10 11:20:53 2014
@@ -2,26 +2,25 @@
 
 import javax.swing.JFrame;
 
-
 /**
- * Simple class for encapsulating the width, height, x position, and
- * y position of a GUI component in the app.
+ * Simple class for encapsulating the width, height, x position, and y position of a GUI component
+ * in the app.
  * @author Jeremy McCormick <[log in to unmask]>
  */
 class WindowConfiguration {
-    
+
     int width;
     int height;
     int x;
     int y;
-    
+
     WindowConfiguration(int width, int height, int x, int y) {
         this.width = width;
         this.height = height;
         this.x = x;
         this.y = y;
     }
-    
+
     WindowConfiguration(String configuration) {
         String[] splited = configuration.split(" ");
         if (splited.length != 4)
@@ -31,14 +30,14 @@
         x = Integer.parseInt(splited[2]);
         y = Integer.parseInt(splited[3]);
     }
-    
+
     WindowConfiguration(JFrame frame) {
         width = frame.getWidth();
         height = frame.getHeight();
         x = frame.getLocation().x;
         y = frame.getLocation().y;
     }
-    
+
     public String toString() {
         return width + " " + height + " " + x + " " + y;
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/AbstractModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/AbstractModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/AbstractModel.java	Mon Nov 10 11:20:53 2014
@@ -18,11 +18,11 @@
     public AbstractModel() {
         propertyChangeSupport = new PropertyChangeSupport(this);
     }
-    
+
     public void setListenersEnabled(boolean listenersEnabled) {
         this.listenersEnabled = listenersEnabled;
     }
-    
+
     public void addPropertyChangeListener(PropertyChangeListener listener) {
         propertyChangeSupport.addPropertyChangeListener(listener);
     }
@@ -34,20 +34,20 @@
     protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
         if (listenersEnabled)
             propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue);
-        //System.out.println("firePropertyChange");
-        //System.out.println("  name: " + propertyName);
-        //System.out.println("  old value: " + oldValue);
-        //System.out.println("  new value: " + newValue);
+        // System.out.println("firePropertyChange");
+        // System.out.println("  name: " + propertyName);
+        // System.out.println("  old value: " + oldValue);
+        // System.out.println("  new value: " + newValue);
     }
-    
+
     protected void firePropertyChange(PropertyChangeEvent evt) {
         if (listenersEnabled)
             propertyChangeSupport.firePropertyChange(evt);
     }
-    
+
     abstract public String[] getPropertyNames();
-    
-    // FIXME: This method is kind of a hack.  Any other good way to do this?
+
+    // FIXME: This method is kind of a hack. Any other good way to do this?
     public void fireAllChanged() {
         if (!listenersEnabled)
             return;
@@ -62,22 +62,23 @@
             try {
                 Object value = null;
                 try {
-                    value = getMethod.invoke(this, (Object[])null);
+                    value = getMethod.invoke(this, (Object[]) null);
                 } catch (NullPointerException e) {
                     throw new RuntimeException("No get method exists for property: " + property, e);
                 }
-                // Is the value non-null?  
-                // (Null values are actually okay.  It just means the property is not set.)
+                // Is the value non-null?
+                // (Null values are actually okay. It just means the property is not set.)
                 if (value != null) {
-                    firePropertyChange(property, value, value);                    
+                    firePropertyChange(property, value, value);
                     for (PropertyChangeListener listener : propertyChangeSupport.getPropertyChangeListeners()) {
-                        // FIXME: For some reason calling the propertyChangeSupport methods directly here doesn't work!!!
+                        // FIXME: For some reason calling the propertyChangeSupport methods directly
+                        // here doesn't work!!!
                         listener.propertyChange(new PropertyChangeEvent(this, property, value, value));
                     }
                 }
             } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
                 throw new RuntimeException(e);
-            }            
+            }
         }
-    }        
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/Configuration.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/Configuration.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/Configuration.java	Mon Nov 10 11:20:53 2014
@@ -8,20 +8,20 @@
 import java.util.Properties;
 
 /**
- * This class provides a list of key, value pairs backed by a <code>Properties</code> object.
- * The accessor methods to get these values are not public, because the {@link ConfigurationModel}
+ * This class provides a list of key, value pairs backed by a <code>Properties</code> object. The
+ * accessor methods to get these values are not public, because the {@link ConfigurationModel}
  * should be used instead.
  */
 public final class Configuration {
-    
+
     Properties properties;
     File file;
     String resourcePath;
-    
-    Configuration() {    
+
+    Configuration() {
         properties = new Properties();
     }
-    
+
     /**
      * Load a configuration from a properties file.
      * @param file The properties file.
@@ -33,9 +33,9 @@
             properties.load(new FileInputStream(this.file));
         } catch (IOException e) {
             throw new RuntimeException("Error parsing properties file.", e);
-        }        
+        }
     }
-    
+
     /**
      * Load a configuration from a resource path pointing to a properties file.
      * @param resourcePath The resource path to the properties file.
@@ -50,25 +50,24 @@
             throw new RuntimeException("Error parsing properties resource.", e);
         }
     }
-        
+
     /**
-     * Get the file associated with this configuration or <code>null</code>
-     * if not set.
+     * Get the file associated with this configuration or <code>null</code> if not set.
      * @return The file associated with the configuration.
      */
     public File getFile() {
         return file;
     }
-    
+
     /**
-     * Get the resource path associated with this configuration or <code>null</code>
-     * if not applicable.
+     * Get the resource path associated with this configuration or <code>null</code> if not
+     * applicable.
      * @return The resource path of this configuration.
      */
     public String getResourcePath() {
         return resourcePath;
     }
-    
+
     /**
      * True if configuration has value for the key.
      * @param key The key.
@@ -77,7 +76,7 @@
     boolean hasKey(String key) {
         return properties.getProperty(key) != null;
     }
-    
+
     /**
      * Get a key value as a string.
      * @param key The key to lookup.
@@ -86,7 +85,7 @@
     String get(String key) {
         return properties.getProperty(key);
     }
-       
+
     /**
      * Get a key value as a boolean.
      * @param key The key to lookup.
@@ -95,7 +94,7 @@
     Boolean getBoolean(String key) {
         return Boolean.parseBoolean(properties.getProperty(key));
     }
-    
+
     /**
      * Get a key value as a double.
      * @param key The key to lookup.
@@ -104,7 +103,7 @@
     Double getDouble(String key) {
         return Double.parseDouble(properties.getProperty(key));
     }
-    
+
     /**
      * Get a key value as an integer.
      * @param key The key to lookup.
@@ -113,10 +112,9 @@
     Integer getInteger(String key) {
         return Integer.parseInt(properties.getProperty(key));
     }
-        
+
     /**
-     * Write this configuration to a file and set that file 
-     * as the current one.
+     * Write this configuration to a file and set that file as the current one.
      * @param file The output file.
      */
     public void writeToFile(File file) {
@@ -124,10 +122,10 @@
         try {
             properties.store(new FileOutputStream(this.file), null);
         } catch (IOException e) {
-            throw new RuntimeException("Error saving properties file.", e);            
-        }        
+            throw new RuntimeException("Error saving properties file.", e);
+        }
     }
-    
+
     /**
      * Set a configuration value.
      * @param key The key for lookup.
@@ -136,7 +134,7 @@
     void set(String key, Object value) {
         properties.put(key, String.valueOf(value));
     }
-    
+
     /**
      * Remove a configuration value.
      * @param key The key of the value.
@@ -144,7 +142,7 @@
     void remove(String key) {
         properties.remove(key);
     }
-    
+
     /**
      * Convert this object to a string by printing out its properties list.
      */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/ConfigurationModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/ConfigurationModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/ConfigurationModel.java	Mon Nov 10 11:20:53 2014
@@ -10,27 +10,26 @@
 import org.jlab.coda.et.enums.Mode;
 
 /**
- * A model of the global configuration parameters that can be
- * used to automatically update the GUI from a configuration 
- * or push changes from GUI components into the current configuration.
+ * A model of the global configuration parameters that can be used to automatically update the GUI
+ * from a configuration or push changes from GUI components into the current configuration.
  */
 // TODO: Should set methods check if new value is equal to old and then ignore if so?
 // FIXME: When the set methods are called, e.g. from GUI updates, this triggers
-//        a property change event that pushes the values back to the GUI again.
+// a property change event that pushes the values back to the GUI again.
 public final class ConfigurationModel extends AbstractModel {
-    
+
     Configuration config;
-    
+
     // Job settings
     public static final String AIDA_AUTO_SAVE_PROPERTY = "AidaAutoSave";
     public static final String AIDA_FILE_NAME_PROPERTY = "AidaFileName";
     public static final String DETECTOR_NAME_PROPERTY = "DetectorName";
     public static final String DISCONNECT_ON_ERROR_PROPERTY = "DisconnectOnError";
-    public static final String DISCONNECT_ON_END_RUN_PROPERTY = "DisconnectOnEndRun";    
+    public static final String DISCONNECT_ON_END_RUN_PROPERTY = "DisconnectOnEndRun";
     public static final String EVENT_BUILDER_PROPERTY = "EventBuilderClassName";
     public static final String LOG_FILE_NAME_PROPERTY = "LogFileName";
     public static final String LOG_LEVEL_PROPERTY = "LogLevel";
-    public static final String LOG_TO_FILE_PROPERTY = "LogToFile";    
+    public static final String LOG_TO_FILE_PROPERTY = "LogToFile";
     public static final String MONITORING_APPLICATION_LAYOUT_PROPERTY = "MonitoringApplicationLayout";
     public static final String PLOT_FRAME_LAYOUT_PROPERTY = "PlotFrameLayout";
     public static final String SAVE_LAYOUT_PROPERTY = "SaveLayout";
@@ -38,12 +37,12 @@
     public static final String STEERING_TYPE_PROPERTY = "SteeringType";
     public static final String STEERING_FILE_PROPERTY = "SteeringFile";
     public static final String STEERING_RESOURCE_PROPERTY = "SteeringResource";
-    
+
     // Data source
     public static final String DATA_SOURCE_TYPE_PROPERTY = "DataSourceType";
     public static final String DATA_SOURCE_PATH_PROPERTY = "DataSourcePath";
     public static final String PROCESSING_STAGE_PROPERTY = "ProcessingStage";
-    
+
     // ET connection parameters
     public static final String ET_NAME_PROPERTY = "EtName";
     public static final String HOST_PROPERTY = "Host";
@@ -57,383 +56,355 @@
     public static final String WAIT_MODE_PROPERTY = "WaitMode";
     public static final String WAIT_TIME_PROPERTY = "WaitTime";
     public static final String PRESCALE_PROPERTY = "Prescale";
-                        
+
     static final String[] CONFIG_PROPERTIES = new String[] {
-        
+
             // Job settings
-            AIDA_AUTO_SAVE_PROPERTY,
-            AIDA_FILE_NAME_PROPERTY,
-            DETECTOR_NAME_PROPERTY,
-            DISCONNECT_ON_ERROR_PROPERTY,
-            DISCONNECT_ON_END_RUN_PROPERTY,
-            EVENT_BUILDER_PROPERTY,
-            LOG_FILE_NAME_PROPERTY,
-            LOG_LEVEL_PROPERTY,
-            LOG_TO_FILE_PROPERTY,            
-            STEERING_FILE_PROPERTY,
-            STEERING_RESOURCE_PROPERTY,
-            STEERING_TYPE_PROPERTY,
-            
+            AIDA_AUTO_SAVE_PROPERTY, AIDA_FILE_NAME_PROPERTY, DETECTOR_NAME_PROPERTY, DISCONNECT_ON_ERROR_PROPERTY, DISCONNECT_ON_END_RUN_PROPERTY, EVENT_BUILDER_PROPERTY, LOG_FILE_NAME_PROPERTY, LOG_LEVEL_PROPERTY, LOG_TO_FILE_PROPERTY, STEERING_FILE_PROPERTY, STEERING_RESOURCE_PROPERTY, STEERING_TYPE_PROPERTY,
+
             // Data source
-            DATA_SOURCE_TYPE_PROPERTY,
-            DATA_SOURCE_PATH_PROPERTY,           
-            PROCESSING_STAGE_PROPERTY,
-            
+            DATA_SOURCE_TYPE_PROPERTY, DATA_SOURCE_PATH_PROPERTY, PROCESSING_STAGE_PROPERTY,
+
             // ET parameters
-            ET_NAME_PROPERTY,
-            HOST_PROPERTY,
-            PORT_PROPERTY,
-            BLOCKING_PROPERTY,
-            VERBOSE_PROPERTY,
-            STATION_NAME_PROPERTY,
-            CHUNK_SIZE_PROPERTY,
-            QUEUE_SIZE_PROPERTY,
-            STATION_POSITION_PROPERTY,
-            WAIT_MODE_PROPERTY,
-            WAIT_TIME_PROPERTY,
-            PRESCALE_PROPERTY,
-            
+            ET_NAME_PROPERTY, HOST_PROPERTY, PORT_PROPERTY, BLOCKING_PROPERTY, VERBOSE_PROPERTY, STATION_NAME_PROPERTY, CHUNK_SIZE_PROPERTY, QUEUE_SIZE_PROPERTY, STATION_POSITION_PROPERTY, WAIT_MODE_PROPERTY, WAIT_TIME_PROPERTY, PRESCALE_PROPERTY,
+
             // GUI layout
-            SAVE_LAYOUT_PROPERTY,
-            MONITORING_APPLICATION_LAYOUT_PROPERTY,
-            PLOT_FRAME_LAYOUT_PROPERTY,
-            SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY
-    };        
-    
+            SAVE_LAYOUT_PROPERTY, MONITORING_APPLICATION_LAYOUT_PROPERTY, PLOT_FRAME_LAYOUT_PROPERTY, SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY };
+
     String detectorName;
-    
+
     public ConfigurationModel() {
         this.config = new Configuration();
     }
-            
+
     public ConfigurationModel(Configuration config) {
         this.config = config;
     }
-    
+
     public void setConfiguration(Configuration config) {
         this.config = config;
         fireAllChanged();
     }
-    
+
     public Configuration getConfiguration() {
         return this.config;
     }
-           
+
     public Level getLogLevel() {
-        return Level.parse(config.get(LOG_LEVEL_PROPERTY));        
-    }
-    
+        return Level.parse(config.get(LOG_LEVEL_PROPERTY));
+    }
+
     public void setLogLevel(Level level) {
         Level oldValue = getLogLevel();
         config.set(LOG_LEVEL_PROPERTY, level.getName());
         firePropertyChange(LOG_LEVEL_PROPERTY, oldValue, getLogLevel());
     }
-    
-    public SteeringType getSteeringType() {        
+
+    public SteeringType getSteeringType() {
         return SteeringType.valueOf(config.get(STEERING_TYPE_PROPERTY));
     }
-    
+
     public void setSteeringType(SteeringType steeringType) {
         SteeringType oldValue = getSteeringType();
         config.set(STEERING_TYPE_PROPERTY, steeringType.name());
         firePropertyChange(STEERING_TYPE_PROPERTY, oldValue, getSteeringType());
     }
-    
+
     public File getSteeringFile() {
         if (config.hasKey(STEERING_FILE_PROPERTY))
             return new File(config.get(STEERING_FILE_PROPERTY));
         else
             return null;
     }
-    
+
     public void setSteeringFile(String steeringFile) {
         File oldValue = getSteeringFile();
         config.set(STEERING_FILE_PROPERTY, steeringFile);
         firePropertyChange(STEERING_FILE_PROPERTY, oldValue, getSteeringFile().getPath());
     }
-    
+
     public String getSteeringResource() {
         return config.get(STEERING_RESOURCE_PROPERTY);
-    }        
-    
+    }
+
     public void setSteeringResource(String steeringResource) {
         String oldValue = getSteeringResource();
         config.set(STEERING_RESOURCE_PROPERTY, steeringResource);
         firePropertyChange(STEERING_RESOURCE_PROPERTY, oldValue, steeringResource);
     }
-    
+
     public String getDetectorName() {
         return config.get(DETECTOR_NAME_PROPERTY);
     }
-    
+
     public void setDetectorName(String detectorName) {
         String oldValue = getDetectorName();
         config.set(DETECTOR_NAME_PROPERTY, detectorName);
         firePropertyChange(DETECTOR_NAME_PROPERTY, oldValue, getDetectorName());
     }
-    
+
     public String getEventBuilderClassName() {
-        return config.get(EVENT_BUILDER_PROPERTY);    
-    }         
-    
+        return config.get(EVENT_BUILDER_PROPERTY);
+    }
+
     public void setEventBuilderClassName(String eventBuilderClassName) {
         String oldValue = getEventBuilderClassName();
         config.set(EVENT_BUILDER_PROPERTY, eventBuilderClassName);
         firePropertyChange(EVENT_BUILDER_PROPERTY, oldValue, getEventBuilderClassName());
     }
-    
+
     public boolean getLogToFile() {
         return config.getBoolean(LOG_TO_FILE_PROPERTY);
     }
-    
+
     public void setLogToFile(boolean logToFile) {
         boolean oldValue = getLogToFile();
         config.set(LOG_TO_FILE_PROPERTY, logToFile);
         firePropertyChange(LOG_TO_FILE_PROPERTY, oldValue, getLogToFile());
     }
-    
+
     public String getLogFileName() {
         return config.get(LOG_FILE_NAME_PROPERTY);
     }
-    
+
     public void setLogFileName(String logFileName) {
         String oldValue = getLogFileName();
         config.set(LOG_FILE_NAME_PROPERTY, logFileName);
         firePropertyChange(LOG_FILE_NAME_PROPERTY, oldValue, getLogFileName());
     }
-    
+
     public boolean getAidaAutoSave() {
         return config.equals(AIDA_AUTO_SAVE_PROPERTY);
     }
-    
+
     public void setAidaAutoSave(boolean aidaAutoSave) {
         boolean oldValue = getAidaAutoSave();
         config.set(AIDA_AUTO_SAVE_PROPERTY, aidaAutoSave);
         firePropertyChange(AIDA_AUTO_SAVE_PROPERTY, oldValue, aidaAutoSave);
     }
-    
+
     public String getAidaFileName() {
         return config.get(AIDA_FILE_NAME_PROPERTY);
     }
-    
+
     public void setAidaFileName(String aidaFileName) {
         String oldValue = getAidaFileName();
         config.set(AIDA_FILE_NAME_PROPERTY, aidaFileName);
         firePropertyChange(AIDA_FILE_NAME_PROPERTY, oldValue, aidaFileName);
     }
-    
+
     public boolean getDisconnectOnError() {
         return config.getBoolean(DISCONNECT_ON_ERROR_PROPERTY);
-    }    
-    
+    }
+
     public void setDisconnectOnError(boolean disconnectOnError) {
         boolean oldValue = getDisconnectOnError();
         config.set(DISCONNECT_ON_ERROR_PROPERTY, disconnectOnError);
         firePropertyChange(DISCONNECT_ON_ERROR_PROPERTY, oldValue, getDisconnectOnError());
-    }     
-    
+    }
+
     public boolean getDisconnectOnEndRun() {
         return config.getBoolean(DISCONNECT_ON_END_RUN_PROPERTY);
     }
-    
+
     public void setDisconnectOnEndRun(boolean disconnectOnEndRun) {
         boolean oldValue = getDisconnectOnEndRun();
         config.set(DISCONNECT_ON_END_RUN_PROPERTY, disconnectOnEndRun);
         firePropertyChange(DISCONNECT_ON_END_RUN_PROPERTY, oldValue, getDisconnectOnEndRun());
     }
-          
+
     public DataSourceType getDataSourceType() {
         return DataSourceType.valueOf(config.get(DATA_SOURCE_TYPE_PROPERTY));
     }
-    
+
     public void setDataSourceType(DataSourceType dataSourceType) {
         DataSourceType oldValue = getDataSourceType();
         config.set(DATA_SOURCE_TYPE_PROPERTY, dataSourceType);
         firePropertyChange(DATA_SOURCE_TYPE_PROPERTY, oldValue, getDataSourceType());
     }
-    
+
     public String getDataSourcePath() {
         return config.get(DATA_SOURCE_PATH_PROPERTY);
     }
-    
+
     public void setDataSourcePath(String dataSourcePath) {
         String oldValue = getDataSourcePath();
         config.set(DATA_SOURCE_PATH_PROPERTY, dataSourcePath);
         firePropertyChange(DATA_SOURCE_PATH_PROPERTY, oldValue, getDataSourcePath());
     }
-    
+
     public ProcessingStage getProcessingStage() {
         if (config.get(PROCESSING_STAGE_PROPERTY) == null)
             throw new RuntimeException(PROCESSING_STAGE_PROPERTY + " is null!!!");
         return ProcessingStage.valueOf(config.get(PROCESSING_STAGE_PROPERTY));
     }
-    
+
     public void setProcessingStage(ProcessingStage processingStage) {
         ProcessingStage oldValue = getProcessingStage();
         config.set(PROCESSING_STAGE_PROPERTY, processingStage);
         firePropertyChange(PROCESSING_STAGE_PROPERTY, oldValue, getProcessingStage());
     }
-    
+
     public String getEtName() {
         return config.get(ET_NAME_PROPERTY);
     }
-    
+
     public void setEtName(String etName) {
         String oldValue = getEtName();
         config.set(ET_NAME_PROPERTY, etName);
         firePropertyChange(ET_NAME_PROPERTY, oldValue, getEtName());
     }
-    
+
     public String getHost() {
         return config.get(HOST_PROPERTY);
     }
-    
+
     public void setHost(String host) {
         String oldValue = getHost();
         config.set(HOST_PROPERTY, host);
         firePropertyChange(HOST_PROPERTY, oldValue, getHost());
     }
-    
+
     public int getPort() {
         return config.getInteger(PORT_PROPERTY);
     }
-    
+
     public void setPort(int port) {
         int oldValue = getPort();
         config.set(PORT_PROPERTY, port);
         firePropertyChange(PORT_PROPERTY, oldValue, getPort());
     }
-    
+
     public boolean getBlocking() {
         return config.getBoolean(BLOCKING_PROPERTY);
     }
-    
+
     public void setBlocking(boolean blocking) {
         boolean oldValue = getBlocking();
         config.set(BLOCKING_PROPERTY, blocking);
         firePropertyChange(BLOCKING_PROPERTY, oldValue, getBlocking());
     }
-    
+
     public boolean getVerbose() {
         return config.getBoolean(VERBOSE_PROPERTY);
     }
-    
+
     public void setVerbose(boolean verbose) {
         boolean oldValue = getVerbose();
         config.set(VERBOSE_PROPERTY, verbose);
         firePropertyChange(VERBOSE_PROPERTY, oldValue, getVerbose());
     }
-    
+
     public String getStationName() {
-        return config.get(STATION_NAME_PROPERTY);               
-    }
-    
+        return config.get(STATION_NAME_PROPERTY);
+    }
+
     public void setStationName(String stationName) {
         String oldValue = getStationName();
         config.set(STATION_NAME_PROPERTY, stationName);
         firePropertyChange(STATION_NAME_PROPERTY, oldValue, getStationName());
     }
-    
+
     public int getChunkSize() {
         return config.getInteger(CHUNK_SIZE_PROPERTY);
     }
-    
+
     public void setChunkSize(int chunkSize) {
         int oldValue = getChunkSize();
         config.set(CHUNK_SIZE_PROPERTY, chunkSize);
         firePropertyChange(CHUNK_SIZE_PROPERTY, oldValue, getChunkSize());
-    }    
-    
+    }
+
     public int getQueueSize() {
         return config.getInteger(QUEUE_SIZE_PROPERTY);
     }
-    
+
     public void setQueueSize(int queueSize) {
         int oldValue = getQueueSize();
         config.set(QUEUE_SIZE_PROPERTY, queueSize);
         firePropertyChange(QUEUE_SIZE_PROPERTY, oldValue, getQueueSize());
     }
-    
+
     public int getStationPosition() {
         return config.getInteger(STATION_POSITION_PROPERTY);
     }
-    
+
     public void setStationPosition(int stationPosition) {
         int oldValue = getStationPosition();
         config.set(STATION_POSITION_PROPERTY, stationPosition);
         firePropertyChange(STATION_POSITION_PROPERTY, oldValue, getStationPosition());
     }
-    
+
     public Mode getWaitMode() {
         return Mode.valueOf(config.get(WAIT_MODE_PROPERTY));
     }
-    
+
     public void setWaitMode(Mode waitMode) {
         Mode oldValue = getWaitMode();
-        config.set(WAIT_MODE_PROPERTY,  waitMode.name());
+        config.set(WAIT_MODE_PROPERTY, waitMode.name());
         firePropertyChange(WAIT_MODE_PROPERTY, oldValue, getWaitMode());
     }
-    
+
     public int getWaitTime() {
         return config.getInteger(WAIT_TIME_PROPERTY);
     }
-    
+
     public void setWaitTime(int waitTime) {
         int oldValue = getWaitTime();
         config.set(WAIT_TIME_PROPERTY, waitTime);
         firePropertyChange(WAIT_TIME_PROPERTY, oldValue, getWaitTime());
     }
-    
+
     public int getPrescale() {
         return config.getInteger(PRESCALE_PROPERTY);
     }
-    
+
     public void setPrescale(int prescale) {
         int oldValue = getPrescale();
         config.set(PRESCALE_PROPERTY, prescale);
         firePropertyChange(PRESCALE_PROPERTY, oldValue, getPrescale());
     }
-    
+
     public boolean getSaveLayout() {
         return config.getBoolean(SAVE_LAYOUT_PROPERTY);
     }
-    
+
     public void setSaveLayout(boolean saveLayout) {
         boolean oldValue = getSaveLayout();
         config.set(SAVE_LAYOUT_PROPERTY, saveLayout);
         firePropertyChange(SAVE_LAYOUT_PROPERTY, oldValue, getSaveLayout());
     }
-       
+
     public String getMonitoringApplicationLayout() {
         return config.get(MONITORING_APPLICATION_LAYOUT_PROPERTY);
     }
-    
+
     public void setMonitoringApplicationLayout(String layout) {
         String oldValue = getMonitoringApplicationLayout();
         config.set(MONITORING_APPLICATION_LAYOUT_PROPERTY, layout);
         firePropertyChange(MONITORING_APPLICATION_LAYOUT_PROPERTY, oldValue, getMonitoringApplicationLayout());
     }
-    
+
     public String getSystemStatusFrameLayout() {
         return config.get(SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY);
     }
-    
+
     public void setSystemStatusFrameLayout(String layout) {
         String oldValue = getSystemStatusFrameLayout();
         config.set(SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY, layout);
         firePropertyChange(SYSTEM_STATUS_FRAME_LAYOUT_PROPERTY, oldValue, getSystemStatusFrameLayout());
     }
-    
+
     public String getPlotFrameLayout() {
         return config.get(PLOT_FRAME_LAYOUT_PROPERTY);
     }
-    
+
     public void setPlotFrameLayout(String layout) {
         String oldValue = getPlotFrameLayout();
         config.set(PLOT_FRAME_LAYOUT_PROPERTY, layout);
-        firePropertyChange(PLOT_FRAME_LAYOUT_PROPERTY, oldValue, getPlotFrameLayout());        
-    }
-    
+        firePropertyChange(PLOT_FRAME_LAYOUT_PROPERTY, oldValue, getPlotFrameLayout());
+    }
+
     public void remove(String property) {
         Object oldValue = config.get(property);
         if (oldValue != null) {
@@ -441,9 +412,9 @@
             firePropertyChange(property, oldValue, null);
         }
     }
-                                          
+
     @Override
     public String[] getPropertyNames() {
         return CONFIG_PROPERTIES;
-    }    
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/HasConfigurationModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/HasConfigurationModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/HasConfigurationModel.java	Mon Nov 10 11:20:53 2014
@@ -3,14 +3,14 @@
 /**
  * Mixin interface for classes that have an associated {@link ConfigurationModel}.
  */
-public interface HasConfigurationModel {    
-    
+public interface HasConfigurationModel {
+
     /**
      * Set the ConfigurationModel of the object.
      * @param configurationModel The ConfigurationModel.
      */
     void setConfigurationModel(ConfigurationModel configurationModel);
-    
+
     /**
      * Get the current ConfigurationModel of the object.
      * @return The ConfigurationModel.

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/RunModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/RunModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/RunModel.java	Mon Nov 10 11:20:53 2014
@@ -6,28 +6,22 @@
  * Backing model for run information that shows in the {@link org.hps.monitoring.gui.RunPanel}.
  */
 public final class RunModel extends AbstractModel {
-    
-    public final static String RUN_NUMBER_PROPERTY = "RunNumber"; 
+
+    public final static String RUN_NUMBER_PROPERTY = "RunNumber";
     public final static String START_DATE_PROPERTY = "StartDate";
     public final static String END_DATE_PROPERTY = "EndDate";
     public final static String RUN_LENGTH_PROPERTY = "RunLength"; // set at end, in seconds
     public final static String TOTAL_EVENTS_PROPERTY = "TotalEvents"; // only set at end
-    public final static String EVENTS_RECEIVED_PROPERTY = "EventsReceived"; // events received so far
-    public final static String ELAPSED_TIME_PROPERTY = "ElapsedTime"; // updated on the fly, in seconds
-    public final static String DATA_RECEIVED_PROPERTY = "DataReceived"; // updated on the fly, in bytes
+    public final static String EVENTS_RECEIVED_PROPERTY = "EventsReceived"; // events received so
+                                                                            // far
+    public final static String ELAPSED_TIME_PROPERTY = "ElapsedTime"; // updated on the fly, in
+                                                                      // seconds
+    public final static String DATA_RECEIVED_PROPERTY = "DataReceived"; // updated on the fly, in
+                                                                        // bytes
     public final static String EVENT_NUMBER_PROPERTY = "EventNumber"; // current event number
 
-    static final String[] properties = new String[] {
-        RUN_NUMBER_PROPERTY,
-        START_DATE_PROPERTY,
-        END_DATE_PROPERTY,
-        RUN_LENGTH_PROPERTY,
-        TOTAL_EVENTS_PROPERTY,
-        ELAPSED_TIME_PROPERTY,
-        DATA_RECEIVED_PROPERTY,
-        EVENT_NUMBER_PROPERTY
-    };
-    
+    static final String[] properties = new String[] { RUN_NUMBER_PROPERTY, START_DATE_PROPERTY, END_DATE_PROPERTY, RUN_LENGTH_PROPERTY, TOTAL_EVENTS_PROPERTY, ELAPSED_TIME_PROPERTY, DATA_RECEIVED_PROPERTY, EVENT_NUMBER_PROPERTY };
+
     int runNumber;
     Date startDate;
     Date endDate;
@@ -37,113 +31,113 @@
     int elapsedTime;
     long dataReceived;
     int eventNumber;
-          
+
     public String[] getPropertyNames() {
         return properties;
     }
-    
+
     public int getRunNumber() {
         return runNumber;
     }
-    
+
     public void setRunNumber(int runNumber) {
         int oldValue = this.runNumber;
         this.runNumber = runNumber;
         this.firePropertyChange(RUN_NUMBER_PROPERTY, oldValue, this.runNumber);
     }
-    
+
     public Date getStartDate() {
         return startDate;
     }
-    
+
     public void setStartDate(Date startDate) {
         Date oldValue = this.startDate;
         this.startDate = startDate;
         this.firePropertyChange(START_DATE_PROPERTY, oldValue, this.startDate);
     }
-    
+
     public Date getEndDate() {
         return endDate;
     }
-    
+
     public void setEndDate(Date endDate) {
         Date oldValue = this.endDate;
         this.endDate = endDate;
         this.firePropertyChange(END_DATE_PROPERTY, oldValue, this.endDate);
     }
-    
+
     public int getRunLength() {
         return runLength;
     }
-    
+
     public void setRunLength(int runLength) {
         int oldValue = this.runLength;
         this.runLength = runLength;
         this.firePropertyChange(RUN_LENGTH_PROPERTY, oldValue, this.runLength);
     }
-    
+
     public void computeRunLength() {
         if (startDate != null && endDate != null) {
             long elapsedMillis = endDate.getTime() - startDate.getTime();
-            int elapsedSeconds = (int)((double)elapsedMillis / 1000.);
+            int elapsedSeconds = (int) ((double) elapsedMillis / 1000.);
             this.setRunLength(elapsedSeconds);
         }
     }
-    
+
     public int getTotalEvents() {
         return totalEvents;
     }
-    
+
     public void setTotalEvents(int totalEvents) {
         int oldValue = this.totalEvents;
         this.totalEvents = totalEvents;
         this.firePropertyChange(TOTAL_EVENTS_PROPERTY, oldValue, this.totalEvents);
     }
-    
+
     public int getEventsReceived() {
         return eventsReceived;
     }
-    
+
     public void setEventsReceived(int eventsReceived) {
         int oldValue = this.eventsReceived;
         this.eventsReceived = eventsReceived;
         this.firePropertyChange(EVENTS_RECEIVED_PROPERTY, oldValue, this.eventsReceived);
     }
-    
+
     public void incrementEventsReceived() {
         this.setEventsReceived(eventsReceived + 1);
     }
-    
+
     public int getElapsedTime() {
         return elapsedTime;
     }
-    
+
     public void setElapsedTime(int elapsedTime) {
         int oldValue = this.elapsedTime;
         this.elapsedTime = elapsedTime;
         this.firePropertyChange(ELAPSED_TIME_PROPERTY, oldValue, this.elapsedTime);
     }
-           
+
     public long getDataReceived() {
         return dataReceived;
     }
-    
+
     public void setDataReceived(long dataReceived) {
         long oldValue = this.dataReceived;
         this.dataReceived = dataReceived;
         this.firePropertyChange(DATA_RECEIVED_PROPERTY, oldValue, this.dataReceived);
     }
-    
+
     public void addDataReceived(long addDataReceived) {
         this.setDataReceived(dataReceived + addDataReceived);
     }
-    
+
     public void setEventNumber(int eventNumber) {
         int oldValue = this.eventNumber;
         this.eventNumber = eventNumber;
         this.firePropertyChange(EVENT_NUMBER_PROPERTY, oldValue, this.eventNumber);
     }
-    
+
     public void reset() {
         setDataReceived(0);
         setElapsedTime(0);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/SystemStatusTableModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/SystemStatusTableModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/gui/model/SystemStatusTableModel.java	Mon Nov 10 11:20:53 2014
@@ -15,7 +15,8 @@
 import org.hps.monitoring.subsys.SystemStatusListener;
 
 /**
- * A <code>JTableModel</code> that has a list of {@link org.hps.monitoring.subsys.SystemStatus} objects.
+ * A <code>JTableModel</code> that has a list of {@link org.hps.monitoring.subsys.SystemStatus}
+ * objects.
  */
 public final class SystemStatusTableModel extends AbstractTableModel implements SystemStatusListener {
 
@@ -27,27 +28,18 @@
     public static final int MESSAGE_COL = 5;
     public static final int LAST_CHANGED_COL = 6;
     public static final int CLEARABLE_COL = 7;
-            
-    static final String[] columnNames = {
-            "Reset",
-            "Active",
-            "Status",
-            "System",       
-            "Description",
-            "Message", 
-            "Last Changed",
-            "Clearable"
-    };
-    
+
+    static final String[] columnNames = { "Reset", "Active", "Status", "System", "Description", "Message", "Last Changed", "Clearable" };
+
     List<SystemStatus> statuses = new ArrayList<SystemStatus>();
     final SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss.SSS");
-    
+
     public void addSystemStatus(SystemStatus status) {
         statuses.add(status);
         status.addListener(this);
         fireTableDataChanged();
     }
-        
+
     @Override
     public int getRowCount() {
         return statuses.size();
@@ -57,9 +49,9 @@
     public int getColumnCount() {
         return columnNames.length;
     }
-    
+
     @Override
-    public String getColumnName(int col) {        
+    public String getColumnName(int col) {
         return columnNames[col];
     }
 
@@ -67,82 +59,82 @@
     public Object getValueAt(final int rowIndex, final int columnIndex) {
         SystemStatus status = statuses.get(rowIndex);
         switch (columnIndex) {
-            case ACTIVE_COL:
-                return status.isActive();
-            case STATUS_COL:
-                return status.getStatusCode().name();
-            case SYSTEM_COL:
-                return status.getSubsystem().name();
-            case DESCRIPTION_COL:
-                return status.getDescription();
-            case MESSAGE_COL:
-                return status.getMessage();
-            case LAST_CHANGED_COL:
-                return new Date(status.getLastChangedMillis());
-            case RESET_COL:
-                // If the status is clearable, then it has a button that can be used to
-                // manually set the state to CLEARED.  If the status is not clearable,
-                // then nothing is rendered in this cell.
-                if (status.isClearable()) {
-                    final JButton button = new JButton();
-                    button.addActionListener(new ActionListener() {
-                        public void actionPerformed(ActionEvent e) {                            
-                            SystemStatus status = statuses.get(rowIndex);
-                            // Only clearable statuses can have this state set.  Check for this
-                            // just to be safe, even though no button is available for non-clearable
-                            // statuses.
-                            if (status.isClearable()) {
-                                StatusCode oldStatusCode = status.getStatusCode();
-                                status.setStatus(StatusCode.CLEARED, "Cleared from " + oldStatusCode.name() + " state.");
-                            }
+        case ACTIVE_COL:
+            return status.isActive();
+        case STATUS_COL:
+            return status.getStatusCode().name();
+        case SYSTEM_COL:
+            return status.getSubsystem().name();
+        case DESCRIPTION_COL:
+            return status.getDescription();
+        case MESSAGE_COL:
+            return status.getMessage();
+        case LAST_CHANGED_COL:
+            return new Date(status.getLastChangedMillis());
+        case RESET_COL:
+            // If the status is clearable, then it has a button that can be used to
+            // manually set the state to CLEARED. If the status is not clearable,
+            // then nothing is rendered in this cell.
+            if (status.isClearable()) {
+                final JButton button = new JButton();
+                button.addActionListener(new ActionListener() {
+                    public void actionPerformed(ActionEvent e) {
+                        SystemStatus status = statuses.get(rowIndex);
+                        // Only clearable statuses can have this state set. Check for this
+                        // just to be safe, even though no button is available for non-clearable
+                        // statuses.
+                        if (status.isClearable()) {
+                            StatusCode oldStatusCode = status.getStatusCode();
+                            status.setStatus(StatusCode.CLEARED, "Cleared from " + oldStatusCode.name() + " state.");
                         }
-                    });
-                    return button;
-                } else {
-                    return null;
-                }                
-            case CLEARABLE_COL:
-                return status.isClearable();
-            default:
+                    }
+                });
+                return button;
+            } else {
                 return null;
+            }
+        case CLEARABLE_COL:
+            return status.isClearable();
+        default:
+            return null;
         }
     }
-    
+
     @Override
     public Class getColumnClass(int column) {
         switch (column) {
-            case ACTIVE_COL:
-                return Boolean.class;
-            case LAST_CHANGED_COL:
-                return Date.class;
-            default:
-                return String.class;
-        }                    
+        case ACTIVE_COL:
+            return Boolean.class;
+        case LAST_CHANGED_COL:
+            return Date.class;
+        default:
+            return String.class;
+        }
     }
-    
+
     @Override
     public boolean isCellEditable(int row, int col) {
         if (col == ACTIVE_COL)
-            return true;        
-        else 
+            return true;
+        else
             return false;
     }
-    
+
     @Override
     public void statusChanged(SystemStatus status) {
         int rowNumber = statuses.indexOf(status);
         this.fireTableRowsUpdated(rowNumber, rowNumber);
     }
-    
+
     public void clear() {
         statuses.clear();
         fireTableDataChanged();
     }
-    
+
     @Override
     public void setValueAt(Object value, int row, int col) {
         if (col == ACTIVE_COL) {
             statuses.get(row).setActive((Boolean) value);
         }
-    }    
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringAnalysisFactory.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringAnalysisFactory.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringAnalysisFactory.java	Mon Nov 10 11:20:53 2014
@@ -5,24 +5,24 @@
 
 /**
  * This class implements the AIDA <code>IAnalysisFactory</code> for the monitoring application,
- * which puts plots into a series of tabs.  Each <code>IPlotter</code> has its own tab where
- * its regions are shown.  This class overrides {@link #createPlotterFactory()} and 
- * {@link #createPlotterFactory(String)} to return a custom <code>IPlotterFactory</code> object
- * that implements this behavior.
+ * which puts plots into a series of tabs. Each <code>IPlotter</code> has its own tab where its
+ * regions are shown. This class overrides {@link #createPlotterFactory()} and
+ * {@link #createPlotterFactory(String)} to return a custom <code>IPlotterFactory</code> object that
+ * implements this behavior.
  */
 public class MonitoringAnalysisFactory extends AnalysisFactory {
-    
+
     public MonitoringAnalysisFactory() {
     }
-    
+
     /**
-     * Register this class as the default AnalysisFactory for AIDA by setting
-     * the magic property string.
+     * Register this class as the default AnalysisFactory for AIDA by setting the magic property
+     * string.
      */
     public final static void register() {
         System.setProperty("hep.aida.IAnalysisFactory", MonitoringAnalysisFactory.class.getName());
     }
-    
+
     /**
      * Create a named plotter factory for the monitoring application.
      */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringPlotFactory.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringPlotFactory.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/MonitoringPlotFactory.java	Mon Nov 10 11:20:53 2014
@@ -15,12 +15,11 @@
 import org.jfree.chart.JFreeChart;
 
 /**
- * This class implements an AIDA <code>IPlotterFactory</code> for the monitoring application. 
- * It extends the JFree plotter by putting plots into tabs. Each plotter factory 
- * is given its own top-level tab in a root tabbed pane, under which are separate tabs 
- * for each plotter. The root pane is static and shared across all plotter factories. 
- * The top level component is set externally by the MonitoringApplication before any calls 
- * to AIDA are made from Drivers.
+ * This class implements an AIDA <code>IPlotterFactory</code> for the monitoring application. It
+ * extends the JFree plotter by putting plots into tabs. Each plotter factory is given its own
+ * top-level tab in a root tabbed pane, under which are separate tabs for each plotter. The root
+ * pane is static and shared across all plotter factories. The top level component is set externally
+ * by the MonitoringApplication before any calls to AIDA are made from Drivers.
  */
 public class MonitoringPlotFactory extends PlotterFactory {
 
@@ -32,9 +31,9 @@
 
     // Root pane where this factory's top-level tab will be inserted.
     private static JTabbedPane rootPane = null;
-    
+
     private static PlotterRegionListener regionListener;
-    
+
     public static void setPlotterRegionListener(PlotterRegionListener regionListener) {
         MonitoringPlotFactory.regionListener = regionListener;
     }
@@ -43,7 +42,7 @@
      * Class constructor.
      */
     MonitoringPlotFactory() {
-        super();        
+        super();
         setIsEmbedded(true);
         setupRootPane("  ");
         if (regionListener != null)
@@ -65,8 +64,7 @@
 
     private void setupRootPane(String name) {
         // FIXME: Hack to disregard call from an AIDA related class.
-        if (!(new RuntimeException()).getStackTrace()[2].getClassName()
-                .equals("hep.aida.ref.plotter.style.registry.StyleStoreXMLReader")) {
+        if (!(new RuntimeException()).getStackTrace()[2].getClassName().equals("hep.aida.ref.plotter.style.registry.StyleStoreXMLReader")) {
             rootPane.addTab(name, tabs);
             rootPane.setTabComponentAt(rootPane.getTabCount() - 1, new JLabel(name));
         }
@@ -98,25 +96,24 @@
     public static void setRootPane(JTabbedPane rootPane) {
         MonitoringPlotFactory.rootPane = rootPane;
     }
-    
+
     private void setupPlotterTab(String plotterName, IPlotter plotter) {
         JPanel plotterPanel = new JPanel(new BorderLayout());
         plotterPanel.add(PlotterUtilities.componentForPlotter(plotter), BorderLayout.CENTER);
         tabs.addTab(plotterName, plotterPanel);
         tabs.setTabComponentAt(tabs.getTabCount() - 1, new JLabel(plotterName));
-    }    
-    
+    }
+
     private void addChart(JFreeChart chart) {
         ChartPanel panel = new ChartPanel(chart);
         tabs.addTab(chart.getTitle().getText(), panel);
         tabs.setTabComponentAt(tabs.getTabCount() - 1, new JLabel(chart.getTitle().getText()));
     }
-    
+
     /**
-     * Create a strip chart using a JFreeChart implementation.     
-     * It will be automatically updated from a {@link StripChartUpdater}.    
-     * Similar to AIDA plots, the chart will be given a sub-tab in the tab 
-     * of this factory.
+     * Create a strip chart using a JFreeChart implementation. It will be automatically updated from
+     * a {@link StripChartUpdater}. Similar to AIDA plots, the chart will be given a sub-tab in the
+     * tab of this factory.
      * 
      * @param title The title of the chart.
      * @param yAxisLabel The y axis label.
@@ -131,7 +128,7 @@
         updater.setChart(stripChart);
         return updater;
     }
-    
+
     /**
      * Create a strip chart which must be updated manually.
      * @param title The title of the chart.
@@ -146,5 +143,5 @@
         stripChart.getLegend().setVisible(false); /* Legend turned off for now. */
         addChart(stripChart);
         return stripChart;
-    }      
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java	Mon Nov 10 11:20:53 2014
@@ -16,9 +16,9 @@
  */
 public final class StripChartBuilder {
 
-    private StripChartBuilder() {        
+    private StripChartBuilder() {
     }
-    
+
     /**
      * This creates a strip chart that will be updated at fixed intervals from a timer.
      * @param title
@@ -29,22 +29,22 @@
     public static JFreeChart createDynamicTimeSeriesChart(String title, String yAxisLabel, int size) {
         final DynamicTimeSeriesCollection dataset = new DynamicTimeSeriesCollection(1, size, new Second());
         dataset.setTimeBase(new Second(new Date()));
-        dataset.addSeries(new float[] {}, 0, "Default Dataset"); 
+        dataset.addSeries(new float[] {}, 0, "Default Dataset");
 
         final JFreeChart result = ChartFactory.createTimeSeriesChart(title, "hh:mm:ss", yAxisLabel, dataset, true, true, false);
-        final XYPlot plot = result.getXYPlot();        
-        plot.getDomainAxis().setAutoRange(true);     
-        NumberAxis rangeAxis = (NumberAxis)plot.getRangeAxis();        
+        final XYPlot plot = result.getXYPlot();
+        plot.getDomainAxis().setAutoRange(true);
+        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
         rangeAxis.setAutoRange(true);
         rangeAxis.setAutoRangeIncludesZero(true);
         return result;
     }
-    
+
     /**
-     * This should be used when the time period for updating is variable. 
+     * This should be used when the time period for updating is variable.
      * 
-     * To update a chart of this type:  
-     *    
+     * To update a chart of this type:
+     * 
      * <code>sensorSeries.add(new Minute(new Date()), newData);</code>
      * 
      * @param title
@@ -52,24 +52,23 @@
      * @param maxAge
      * @param maxCount
      * @return
-     */    
+     */
     public static JFreeChart createTimeSeriesChart(String title, String yAxisLabel, int maxAge, int maxCount, int rangeSize) {
-        
+
         TimeSeriesCollection dataset = new TimeSeriesCollection();
         TimeSeries timeSeries = new TimeSeries("Default Dataset");
         timeSeries.setMaximumItemAge(maxAge);
         timeSeries.setMaximumItemCount(maxCount);
         dataset.addSeries(timeSeries);
-        
+
         final JFreeChart result = ChartFactory.createTimeSeriesChart(title, "hh:mm:ss", yAxisLabel, dataset, true, true, false);
         final XYPlot plot = result.getXYPlot();
-        plot.getDomainAxis().setAutoRange(true); 
+        plot.getDomainAxis().setAutoRange(true);
         plot.getDomainAxis().setAutoRangeMinimumSize(rangeSize);
-        NumberAxis rangeAxis = (NumberAxis)plot.getRangeAxis();
-        rangeAxis.setAutoRange(true);        
+        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
+        rangeAxis.setAutoRange(true);
         rangeAxis.setAutoRangeIncludesZero(true);
         return result;
     }
-    
-        
+
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUpdater.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUpdater.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUpdater.java	Mon Nov 10 11:20:53 2014
@@ -13,14 +13,14 @@
 
     DynamicTimeSeriesCollection dataset;
     long updateIntervalMillis = 1000;
-    
-    public StripChartUpdater() {        
+
+    public StripChartUpdater() {
     }
-    
+
     public void setChart(JFreeChart chart) {
-        this.dataset = (DynamicTimeSeriesCollection)chart.getXYPlot().getDataset();
+        this.dataset = (DynamicTimeSeriesCollection) chart.getXYPlot().getDataset();
     }
-    
+
     public void setUpdateIntervalMillis(long updateIntervalMillis) {
         this.updateIntervalMillis = updateIntervalMillis;
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUtil.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUtil.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/plotting/StripChartUtil.java	Mon Nov 10 11:20:53 2014
@@ -4,14 +4,13 @@
 import org.jfree.data.time.TimeSeries;
 import org.jfree.data.time.TimeSeriesCollection;
 
-
 public final class StripChartUtil {
 
     private StripChartUtil() {
     }
-    
+
     public static TimeSeries getTimeSeries(JFreeChart chart) {
-        return (TimeSeries)((TimeSeriesCollection)chart.getXYPlot().getDataset()).getSeries().get(0);
+        return (TimeSeries) ((TimeSeriesCollection) chart.getXYPlot().getDataset()).getSeries().get(0);
     }
-    
+
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/StatusCode.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/StatusCode.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/StatusCode.java	Mon Nov 10 11:20:53 2014
@@ -1,16 +1,8 @@
 package org.hps.monitoring.subsys;
 
 /**
- * Code that represents a sub-system status.   
+ * Code that represents a sub-system status.
  */
 public enum StatusCode {
-    OKAY,
-    UNKNOWN,                
-    CLEARED,
-    OFFLINE,
-    INFO,
-    WARNING,
-    ERROR,
-    ALARM,
-    HALT;    
+    OKAY, UNKNOWN, CLEARED, OFFLINE, INFO, WARNING, ERROR, ALARM, HALT;
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/Subsystem.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/Subsystem.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/Subsystem.java	Mon Nov 10 11:20:53 2014
@@ -1,11 +1,8 @@
 package org.hps.monitoring.subsys;
 
-/** 
- * Names of valid subsystems that can be monitored. 
+/**
+ * Names of valid subsystems that can be monitored.
  */
-public enum Subsystem {        
-    ET,
-    ECAL,
-    SVT,
-    TRIGGER;        
+public enum Subsystem {
+    ET, ECAL, SVT, TRIGGER;
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatistics.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatistics.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatistics.java	Mon Nov 10 11:20:53 2014
@@ -4,8 +4,7 @@
 import java.util.TimerTask;
 
 /**
- * This is an interface for a set of basic statistics 
- * about an online event processing system.
+ * This is an interface for a set of basic statistics about an online event processing system.
  */
 public interface SystemStatistics {
 
@@ -14,120 +13,118 @@
      * @param tickLengthMillis The desired tick length in millis.
      */
     void setTickLengthMillis(long tickLengthMillis);
-    
+
     /**
-     * Get the nominal length of one tick in millis.
-     * Actual ticks lengths may vary slightly.
+     * Get the nominal length of one tick in millis. Actual ticks lengths may vary slightly.
      * @return The nominal tick length in millis.
      */
     long getTickLengthMillis();
-    
+
     /**
-     * Start the timer thread for accumulating statistics.    
+     * Start the timer thread for accumulating statistics.
      */
     void start();
-    
+
     /**
      * Stop the timer thread for accumulating statistics.
      */
     void stop();
-    
+
     /**
-     * Update the statistics by incrementing the event count
-     * by one and then adding <tt>size</tt> to the number of bytes 
-     * received.
+     * Update the statistics by incrementing the event count by one and then adding <tt>size</tt> to
+     * the number of bytes received.
      * @param size The number of bytes received.
      */
     void update(int size);
-    
+
     /**
      * Get the number of millis since the session started.
      * @return The number of millis since session start.
      */
     long getTimeElapsedMillis();
-    
+
     /**
-     * Get the Unix start time of the session. 
+     * Get the Unix start time of the session.
      * @return The start time in millis.
      */
     long getStartTimeMillis();
-    
+
     /**
      * Get the Unix stop time of the session.
      * @return The stop time in millis.
      */
     long getStopTimeMillis();
-    
+
     /**
      * Get the number of events in the current tick.
      * @return The number of events in the current tick.
      */
     long getEventsInTick();
-    
+
     /**
      * Get the total number of events processed thusfar.
      * @return The total number of events processed so far.
      */
     long getCumulativeEvents();
-    
+
     /**
-     * Get the average number of events per second in the session.
-     * It simply divides the number of events by the session time.
+     * Get the average number of events per second in the session. It simply divides the number of
+     * events by the session time.
      * @return The average events per second.
      */
-    double getAverageEventsPerSecond();    
-    
+    double getAverageEventsPerSecond();
+
     /**
      * Get the number of bytes received in the current tick.
      * @return The number of bytes received in the tick.
      */
     long getBytesInTick();
-    
+
     /**
      * Get the total number of megabytes of data received thusfar.
      * @return The amount of data in megabytes received in the session.
      */
     double getCumulativeMb();
-    
+
     /**
-     * Get the average Mb per second of the session, which is the 
-     * total amount of data divided by the total time.
+     * Get the average Mb per second of the session, which is the total amount of data divided by
+     * the total time.
      * @return The average megabytes per second.
      */
     double getAverageMbPerSecond();
-    
+
     /**
-     * Get the immediate event rate which is the number of events received 
-     * in the current tick over the time elapsed in the tick.
+     * Get the immediate event rate which is the number of events received in the current tick over
+     * the time elapsed in the tick.
      * @return The event rate in [events/second].
      */
     double getEventRate();
-    
+
     /**
-     * Get the immediate data rate which is the amount of data in bytes received
-     * in the current tick over the tim elapsed in the tick.
+     * Get the immediate data rate which is the amount of data in bytes received in the current tick
+     * over the tim elapsed in the tick.
      * @return The data rate in [bytes/second].
      */
     public double getDataRateBytes();
-                       
+
     /**
      * Get the number of milliseconds since the last tick.
      * @return The number of millis elapsed in the current tick.
      */
-    long getTickElapsedMillis();    
-    
+    long getTickElapsedMillis();
+
     /**
-     * Print session statistics. 
+     * Print session statistics.
      * @param ps The PrintStream for display.
      */
     void printSession(PrintStream ps);
-    
-    /** 
+
+    /**
      * Print tick statistics.
      * @param ps The PrintStream for display.
      */
-    void printTick(PrintStream ps);       
-    
+    void printTick(PrintStream ps);
+
     /**
      * Add subtask which will execute right before a new tick.
      * @param subtask The subtask to execute.

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatisticsImpl.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatisticsImpl.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatisticsImpl.java	Mon Nov 10 11:20:53 2014
@@ -15,43 +15,43 @@
 // FIXME: Rolling averages need to happen over a greater time period like 30 seconds
 // instead of 1 second, because otherwise the statistics don't look right.
 public class SystemStatisticsImpl implements SystemStatistics {
-    
+
     long tickLengthMillis = 1000; // default is one second tick
     long sessionElapsedMillis;
     long startTimeMillis;
-    long stopTimeMillis;            
+    long stopTimeMillis;
     long eventsSinceTick;
-    long bytesSinceTick;    
+    long bytesSinceTick;
     long totalEvents;
-    long totalBytes;    
+    long totalBytes;
     long tickStartMillis;
-    long tickElapsedMillis;    
-    static final long Kb = 1  * 1024;
-    static final long Mb = Kb * 1024;    
-    static final double milliToSecond = 0.001;    
+    long tickElapsedMillis;
+    static final long Kb = 1 * 1024;
+    static final long Mb = Kb * 1024;
+    static final double milliToSecond = 0.001;
     static final DecimalFormat decimalFormat = new DecimalFormat("#.##");
     Timer timer;
     List<TimerTask> subtasks = new ArrayList<TimerTask>();
-                     
+
     @Override
     public void update(int size) {
         addEvent();
         addData(size);
         updateElapsedTime();
     }
-            
+
     @Override
     public void setTickLengthMillis(long tickLengthMillis) {
         this.tickLengthMillis = tickLengthMillis;
     }
-           
+
     @Override
     public long getTickLengthMillis() {
         return tickLengthMillis;
     }
 
     @Override
-    public long getTimeElapsedMillis() {        
+    public long getTimeElapsedMillis() {
         return sessionElapsedMillis;
     }
 
@@ -59,7 +59,7 @@
     public long getStartTimeMillis() {
         return this.startTimeMillis;
     }
-    
+
     @Override
     public long getStopTimeMillis() {
         return this.stopTimeMillis;
@@ -86,7 +86,7 @@
 
     @Override
     public double getAverageMbPerSecond() {
-        try { 
+        try {
             return Double.parseDouble(decimalFormat.format(bytesToMb(totalBytes) / millisToSeconds(getTimeElapsedMillis())));
         } catch (NumberFormatException e) {
             return Double.NaN;
@@ -102,64 +102,64 @@
     public long getBytesInTick() {
         return bytesSinceTick;
     }
-            
+
     @Override
     public long getTickElapsedMillis() {
         return tickElapsedMillis;
     }
-    
+
     @Override
     public double getEventRate() {
         if (eventsSinceTick > 0 && tickElapsedMillis > 0)
-            return (double)eventsSinceTick / millisToSeconds(tickElapsedMillis);
+            return (double) eventsSinceTick / millisToSeconds(tickElapsedMillis);
         else
             return 0.;
     }
-    
+
     @Override
     public double getDataRateBytes() {
         if (bytesSinceTick > 0 && tickElapsedMillis > 0)
-            return (double)bytesSinceTick / millisToSeconds(tickElapsedMillis);
+            return (double) bytesSinceTick / millisToSeconds(tickElapsedMillis);
         else
             return 0.;
     }
-        
+
     @Override
     public void start() {
-                        
+
         // Set time variables.
-        long currentTimeMillis = System.currentTimeMillis(); 
+        long currentTimeMillis = System.currentTimeMillis();
         startTimeMillis = currentTimeMillis;
         tickStartMillis = currentTimeMillis;
-   
+
         // Start Timer task which executes at tick length.
-        TimerTask task = new TimerTask() {            
+        TimerTask task = new TimerTask() {
             public void run() {
-                
+
                 // Run sub-tasks.
                 for (TimerTask subtask : subtasks) {
                     subtask.run();
                 }
-                
+
                 nextTick();
             }
-        };        
+        };
         timer = new Timer();
         timer.schedule(task, 0, tickLengthMillis);
     }
 
     @Override
-    public void stop() { 
+    public void stop() {
         // Kill the Timer.
         if (timer != null) {
             timer.cancel();
             timer.purge();
         }
-        
+
         // Set stop time.
         stopTimeMillis = System.currentTimeMillis();
-    }    
-    
+    }
+
     @Override
     public void printSession(PrintStream ps) {
         ps.println("session statistics ...");
@@ -167,9 +167,9 @@
         ps.println("  cumulativeEvents = " + this.getCumulativeEvents());
         ps.println("  averageEventsPerSecond = " + this.getAverageEventsPerSecond());
         ps.println("  averageMegaBytesPerSecond = " + this.getAverageMbPerSecond());
-        
-    }
-    
+
+    }
+
     @Override
     public void printTick(PrintStream ps) {
         ps.println("tick statistics ...");
@@ -177,106 +177,106 @@
         ps.println("  eventsSinceTick = " + this.getEventsInTick());
         ps.println("  bytesSinceTick = " + this.getBytesInTick());
     }
-    
+
     @Override
     public void addSubTask(TimerTask subtask) {
         this.subtasks.add(subtask);
     }
-    
+
     void addEvent() {
         eventsSinceTick += 1;
         totalEvents += 1;
     }
-    
+
     void addData(int size) {
         bytesSinceTick += size;
         totalBytes += size;
     }
-    
+
     void updateElapsedTime() {
         tickElapsedMillis = System.currentTimeMillis() - tickStartMillis;
         sessionElapsedMillis = System.currentTimeMillis() - startTimeMillis;
     }
-    
+
     // Bytes to megabytes to 2 decimal places.
     static final double bytesToMb(long size) {
-        return Double.parseDouble(decimalFormat.format((double)size / Mb));
-    }
-    
+        return Double.parseDouble(decimalFormat.format((double) size / Mb));
+    }
+
     static final double millisToSeconds(long millis) {
-        return ((double)millis) / 1000.;
-    }
-    
+        return ((double) millis) / 1000.;
+    }
+
     synchronized void nextTick() {
         eventsSinceTick = 0;
         bytesSinceTick = 0;
         tickElapsedMillis = 0;
         tickStartMillis = System.currentTimeMillis();
-    }       
-    
+    }
+
     public abstract class SystemStatisticsUpdater extends StripChartUpdater {
         SystemStatisticsUpdater() {
             addSubTask(this);
         }
     }
-    
+
     public class AverageEventRateUpdater extends SystemStatisticsUpdater {
 
         @Override
         public float nextValue() {
-            return (float)getAverageEventsPerSecond();
-        }        
-    }
-    
+            return (float) getAverageEventsPerSecond();
+        }
+    }
+
     public class EventsInTickUpdater extends SystemStatisticsUpdater {
-       
-        @Override
-       public float nextValue() {
-           return getEventsInTick();
-       }
-    }
-    
+
+        @Override
+        public float nextValue() {
+            return getEventsInTick();
+        }
+    }
+
     public class CumulativeEventsUpdater extends SystemStatisticsUpdater {
         @Override
         public float nextValue() {
             return getCumulativeEvents();
         }
     }
-    
+
     public class BytesInTickUpdater extends SystemStatisticsUpdater {
         @Override
         public float nextValue() {
             return getBytesInTick();
         }
     }
-    
+
     public class AverageMbUpdater extends SystemStatisticsUpdater {
         @Override
         public float nextValue() {
-            return (float)getAverageMbPerSecond();
-        }
-    }
-    
+            return (float) getAverageMbPerSecond();
+        }
+    }
+
     public class CumulativeMbUpdater extends SystemStatisticsUpdater {
         @Override
         public float nextValue() {
-            return (float)getCumulativeMb();
-        }
-    }        
-    
+            return (float) getCumulativeMb();
+        }
+    }
+
     public class EventRateUpdater extends SystemStatisticsUpdater {
-        
-        @Override
-       public float nextValue() {
-           return (float)getEventRate();
-       }
-    }
-    
+
+        @Override
+        public float nextValue() {
+            return (float) getEventRate();
+        }
+    }
+
     public class DataRateUpdater extends SystemStatisticsUpdater {
-        
-        @Override
-       public float nextValue() {
-           return (float)getDataRateBytes();
-       }
+
+        @Override
+        public float nextValue() {
+            return (float) getDataRateBytes();
+        }
     }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatus.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatus.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatus.java	Mon Nov 10 11:20:53 2014
@@ -1,78 +1,74 @@
 package org.hps.monitoring.subsys;
 
-
 /**
- * The <tt>SystemStatus</tt> describes the state of a system, e.g. whether it is okay 
- * or some level of error has occurred.  Listeners can be registered on these objects, 
- * which will be notified whenever the status changes, in order to update a GUI component, 
- * trip an alarm, etc.
+ * The <tt>SystemStatus</tt> describes the state of a system, e.g. whether it is okay or some level
+ * of error has occurred. Listeners can be registered on these objects, which will be notified
+ * whenever the status changes, in order to update a GUI component, trip an alarm, etc.
  * 
- * There is one <tt>SystemStatus</tt> object for each quantity to be monitored
- * on a sub-system.  New objects are not created when the status changes.  Instead,
- * the <tt>StatusCode</tt> is changed with a custom message describing the new state.
- * Listeners are updated whenever the status is changed.  It is up to the notified
- * object to determine what to do when the state changes. 
+ * There is one <tt>SystemStatus</tt> object for each quantity to be monitored on a sub-system. New
+ * objects are not created when the status changes. Instead, the <tt>StatusCode</tt> is changed with
+ * a custom message describing the new state. Listeners are updated whenever the status is changed.
+ * It is up to the notified object to determine what to do when the state changes.
  */
 public interface SystemStatus {
-          
+
     /**
      * Get the sub-system e.g. "SVT".
      * @return The assigned sub-system.
      */
     Subsystem getSubsystem();
-    
+
     /**
      * Get the current status code.
      * @return The current status code.
      */
     StatusCode getStatusCode();
-    
+
     /**
-     * Get the description of the system status.
-     * This is used to differentiate multiple monitoring points
-     * on the same sub-system so it could be something like "SVT occupancy rates".
+     * Get the description of the system status. This is used to differentiate multiple monitoring
+     * points on the same sub-system so it could be something like "SVT occupancy rates".
      * @return The description of the system status.
      */
     String getDescription();
-    
+
     /**
      * Get the current message.
      * @return The current message
      */
     String getMessage();
-    
+
     /**
-     * Set the current status code and message, which will cause the last changed 
-     * time to be set and the listeners to be notified of the status change.
+     * Set the current status code and message, which will cause the last changed time to be set and
+     * the listeners to be notified of the status change.
      * @param code The new status code.
      */
     void setStatus(StatusCode code, String message);
-    
+
     /**
      * Get the time when the system status last changed.
      * @return The time when the system status changed.
      */
     long getLastChangedMillis();
-    
+
     /**
      * Add a listener to receive notification when the status changes.
      * @param listener The listener object.
      */
     void addListener(SystemStatusListener listener);
-    
+
     /**
-     * Set whether this status is active.  Inactive statuses will not be
-     * updated in the GUI.  This can be changed "on the fly" in the system status panel.
-     * Listeners will NOT be notified of state changes when active is <code>False</code>.     
+     * Set whether this status is active. Inactive statuses will not be updated in the GUI. This can
+     * be changed "on the fly" in the system status panel. Listeners will NOT be notified of state
+     * changes when active is <code>False</code>.
      */
     void setActive(boolean active);
-    
+
     /**
      * True if the status is active.
      * @return True if status is active.
      */
     boolean isActive();
-    
+
     /**
      * True if the status can be cleared.
      * @return True if status can be cleared.

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusImpl.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusImpl.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusImpl.java	Mon Nov 10 11:20:53 2014
@@ -16,7 +16,7 @@
     final String description;
     boolean active = true;
     final boolean clearable;
-    
+
     /**
      * Fully qualified constructor.
      * @param systemName The enum specifiying the system being monitored.
@@ -30,17 +30,17 @@
         setLastChangedTime();
         SystemStatusRegistry.getSystemStatusRegistery().register(this);
     }
-    
+
     @Override
     public Subsystem getSubsystem() {
         return systemName;
     }
-    
+
     @Override
     public String getDescription() {
         return description;
     }
-    
+
     @Override
     public String getMessage() {
         return message;
@@ -65,7 +65,7 @@
     public void addListener(SystemStatusListener listener) {
         this.listeners.add(listener);
     }
-    
+
     @Override
     public long getLastChangedMillis() {
         return lastChangedMillis;
@@ -79,22 +79,22 @@
             listener.statusChanged(this);
         }
     }
-    
+
     private void setLastChangedTime() {
         this.lastChangedMillis = System.currentTimeMillis();
     }
- 
+
     @Override
     public void setActive(boolean masked) {
         this.active = masked;
     }
-    
+
     @Override
     public boolean isActive() {
         return active;
     }
-    
-    @Override 
+
+    @Override
     public boolean isClearable() {
         return clearable;
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusListener.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusListener.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusListener.java	Mon Nov 10 11:20:53 2014
@@ -1,15 +1,13 @@
 package org.hps.monitoring.subsys;
 
 /**
- * Interface for receiving changes to {@link SystemStatus} objects,
- * e.g. when a new status is set.
+ * Interface for receiving changes to {@link SystemStatus} objects, e.g. when a new status is set.
  */
 public interface SystemStatusListener {
-    
+
     /**
-     * Receive a change to the system status.
-     * The implementation of this method should absolutely not
-     * attempt to change the status!
+     * Receive a change to the system status. The implementation of this method should absolutely
+     * not attempt to change the status!
      * @param status The system status.
      */
     void statusChanged(SystemStatus status);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusRegistry.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusRegistry.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/SystemStatusRegistry.java	Mon Nov 10 11:20:53 2014
@@ -8,28 +8,28 @@
  * Global registry of all {@link SystemStatus} objects.
  */
 public final class SystemStatusRegistry {
-    
+
     static SystemStatusRegistry instance = new SystemStatusRegistry();
     List<SystemStatus> systemStatuses = new ArrayList<SystemStatus>();
-    
+
     private SystemStatusRegistry() {
     }
-    
+
     public static SystemStatusRegistry getSystemStatusRegistery() {
         return instance;
     }
-    
+
     void register(SystemStatus systemStatus) {
         if (!systemStatuses.contains(systemStatus))
             systemStatuses.add(systemStatus);
         else
             throw new IllegalArgumentException("The system status is already registered.");
-    }        
-    
+    }
+
     public List<SystemStatus> getSystemStatuses() {
         return Collections.unmodifiableList(systemStatuses);
     }
-    
+
     public void clear() {
         systemStatuses.clear();
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/ecal/EcalStripChartTestDriver.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/ecal/EcalStripChartTestDriver.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/ecal/EcalStripChartTestDriver.java	Mon Nov 10 11:20:53 2014
@@ -17,38 +17,37 @@
  * Example Driver for plotting a sub-system's data using a strip chart.
  */
 public class EcalStripChartTestDriver extends Driver {
-           
+
     int eventInterval = 1000;
     static String collectionName = "EcalReadoutHits";
-    
-    MonitoringPlotFactory plotFactory = (MonitoringPlotFactory) 
-            AIDA.defaultInstance().analysisFactory().createPlotterFactory("ECAL System Monitoring");
+
+    MonitoringPlotFactory plotFactory = (MonitoringPlotFactory) AIDA.defaultInstance().analysisFactory().createPlotterFactory("ECAL System Monitoring");
     TimeSeries series;
     JFreeChart stripChart;
     TimerTask updateTask;
     EventHeader currentEvent;
     int hits;
     int events;
-        
-    public void startOfData() { 
-        stripChart = plotFactory.createStripChart(
-                "Average ECAL Hits per " + eventInterval + " Events", 
-                "Hits", 
-                99999999, /* max age */ 
+
+    public void startOfData() {
+        stripChart = plotFactory.createStripChart("Average ECAL Hits per " + eventInterval + " Events", "Hits", 99999999, /*
+                                                                                                                           * max
+                                                                                                                           * age
+                                                                                                                           */
                 1000, /* max count */
                 100000 /* range size */);
-        series = StripChartUtil.getTimeSeries(stripChart);        
+        series = StripChartUtil.getTimeSeries(stripChart);
     }
-    
+
     public void process(EventHeader event) {
         int size = event.get(RawCalorimeterHit.class, collectionName).size();
         ++events;
         hits += size;
         if (event.getEventNumber() % eventInterval == 0) {
-            double averageHits = (double)hits / (double)events;
+            double averageHits = (double) hits / (double) events;
             series.add(new Millisecond(new Date()), averageHits);
             hits = 0;
             events = 0;
-        }                 
+        }
     }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemMonitor.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemMonitor.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemMonitor.java	Mon Nov 10 11:20:53 2014
@@ -16,24 +16,25 @@
 public final class EtSystemMonitor extends EtEventProcessor {
 
     SystemStatus systemStatus;
-    int events = 0;    
+    int events = 0;
     long eventReceivedMillis = 0;
     long warningIntervalMillis = 1000; /* default of 1 second */
     Timer timer = new Timer("ET Event Monitor");
-    
+
     public EtSystemMonitor() {
         systemStatus = new SystemStatusImpl(Subsystem.ET, "ET System Monitor", false);
         systemStatus.setStatus(StatusCode.UNKNOWN, "System is not active yet.");
     }
-    
+
     public void setWarningIntervalMillis(long warningIntervalMillis) {
         this.warningIntervalMillis = warningIntervalMillis;
     }
-    
+
     public void startJob() {
         systemStatus.setStatus(StatusCode.OKAY, "ET job started.");
-        TimerTask task = new TimerTask() {                    
+        TimerTask task = new TimerTask() {
             long startedMillis = 0;
+
             public void run() {
                 if (startedMillis == 0)
                     startedMillis = System.currentTimeMillis();
@@ -41,24 +42,24 @@
                 if (eventReceivedMillis == 0)
                     elapsedMillis = System.currentTimeMillis() - startedMillis;
                 else
-                    elapsedMillis = System.currentTimeMillis() - eventReceivedMillis;                
-                if (elapsedMillis > warningIntervalMillis) 
+                    elapsedMillis = System.currentTimeMillis() - eventReceivedMillis;
+                if (elapsedMillis > warningIntervalMillis)
                     systemStatus.setStatus(StatusCode.WARNING, "No ET events received for " + elapsedMillis + " millis.");
                 else
                     systemStatus.setStatus(StatusCode.OKAY, "ET events received.");
-            }            
+            }
         };
-        
+
         timer.schedule(task, 0, 1000);
     }
-                   
+
     public void process(EtEvent event) {
         eventReceivedMillis = System.currentTimeMillis();
     }
-    
+
     public void endJob() {
         timer.cancel();
         timer.purge();
         systemStatus.setStatus(StatusCode.OFFLINE, "ET job ended.");
-    }        
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemStripCharts.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemStripCharts.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/et/EtSystemStripCharts.java	Mon Nov 10 11:20:53 2014
@@ -9,76 +9,43 @@
 /**
  * A basic set of strip charts for monitoring the ET system.
  */
-public final class EtSystemStripCharts extends EtEventProcessor { 
-        
-    SystemStatisticsImpl stats = new SystemStatisticsImpl();               
-    MonitoringPlotFactory plotFactory = (MonitoringPlotFactory) 
-            AIDA.defaultInstance().analysisFactory().createPlotterFactory("ET System Monitoring");    
-    
+public final class EtSystemStripCharts extends EtEventProcessor {
+
+    SystemStatisticsImpl stats = new SystemStatisticsImpl();
+    MonitoringPlotFactory plotFactory = (MonitoringPlotFactory) AIDA.defaultInstance().analysisFactory().createPlotterFactory("ET System Monitoring");
+
     /**
      * Setup the strip charts for ET system monitoring and start accumulating statistics.
      */
     @Override
     public void startJob() {
 
-        plotFactory.createStripChart(
-                "Event Rate", 
-                "Event Count", 
-                100,
-                stats.new EventRateUpdater());
-        
-        plotFactory.createStripChart(
-                "Average Event Rate", 
-                "Event Count", 
-                100,
-                stats.new AverageEventRateUpdater());
-        
-        plotFactory.createStripChart(
-                "Events in Tick",
-                "Event Count", 
-                100,
-                stats.new EventsInTickUpdater());
+        plotFactory.createStripChart("Event Rate", "Event Count", 100, stats.new EventRateUpdater());
 
-        plotFactory.createStripChart(
-                "Cumulative Events", 
-                "Event Count", 
-                100,
-                stats.new CumulativeEventsUpdater());
-        
-        plotFactory.createStripChart(
-                "Data Rate", 
-                "Bytes", 
-                100,
-                stats.new DataRateUpdater());
-        
-        plotFactory.createStripChart(
-                "Bytes in Tick", 
-                "Bytes", 
-                100,
-                stats.new BytesInTickUpdater());
-        
-        plotFactory.createStripChart(
-                "Average Megabytes", 
-                "Megabytes", 
-                100, 
-                stats.new AverageMbUpdater());
-        
-        plotFactory.createStripChart(
-                "Cumulative Megabytes", 
-                "Megabytes", 
-                100, 
-                stats.new CumulativeMbUpdater());
-        
-        stats.start();               
+        plotFactory.createStripChart("Average Event Rate", "Event Count", 100, stats.new AverageEventRateUpdater());
+
+        plotFactory.createStripChart("Events in Tick", "Event Count", 100, stats.new EventsInTickUpdater());
+
+        plotFactory.createStripChart("Cumulative Events", "Event Count", 100, stats.new CumulativeEventsUpdater());
+
+        plotFactory.createStripChart("Data Rate", "Bytes", 100, stats.new DataRateUpdater());
+
+        plotFactory.createStripChart("Bytes in Tick", "Bytes", 100, stats.new BytesInTickUpdater());
+
+        plotFactory.createStripChart("Average Megabytes", "Megabytes", 100, stats.new AverageMbUpdater());
+
+        plotFactory.createStripChart("Cumulative Megabytes", "Megabytes", 100, stats.new CumulativeMbUpdater());
+
+        stats.start();
     }
-    
+
     @Override
     public void process(EtEvent event) {
         stats.update(event.getLength());
-    }    
-    
+    }
+
     @Override
     public void endJob() {
         stats.stop();
-    }          
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/svt/BasicHitMonitoringDriver.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/svt/BasicHitMonitoringDriver.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/subsys/svt/BasicHitMonitoringDriver.java	Mon Nov 10 11:20:53 2014
@@ -12,9 +12,9 @@
 import org.lcsim.util.Driver;
 
 /**
- * This is a basic example of monitoring hits using an updateable <code>SystemStatus</code>.
- * It checks from a <code>TimerTask</code> once per second whether <code>RawTrackerHit</code> 
- * objects are being received by the {@link #process(EventHeader)} method.
+ * This is a basic example of monitoring hits using an updateable <code>SystemStatus</code>. It
+ * checks from a <code>TimerTask</code> once per second whether <code>RawTrackerHit</code> objects
+ * are being received by the {@link #process(EventHeader)} method.
  */
 public class BasicHitMonitoringDriver extends Driver {
 
@@ -23,16 +23,16 @@
     long warningIntervalMillis = 1000;
     Timer timer;
     static final String hitsCollectionName = "SVTRawTrackerHits";
-                
+
     public BasicHitMonitoringDriver() {
         status = new SystemStatusImpl(Subsystem.SVT, "Checks that SVT hits are received.", true);
         status.setStatus(StatusCode.UNKNOWN, "Status is unknown.");
     }
-    
+
     public void setWarningIntervalMillis(long warningIntervalMillis) {
         this.warningIntervalMillis = warningIntervalMillis;
     }
-   
+
     public void startOfData() {
         if (hitsCollectionName == null)
             throw new RuntimeException("The hitsCollectionName was never set.");
@@ -40,6 +40,7 @@
         timer = new Timer("SVT Hit Monitor");
         TimerTask task = new TimerTask() {
             long startedMillis = 0;
+
             public void run() {
                 if (startedMillis == 0)
                     startedMillis = System.currentTimeMillis();
@@ -57,17 +58,17 @@
         // Task will run once per second.
         timer.schedule(task, 0, 1000);
     }
-        
+
     public void process(EventHeader event) {
         if (event.hasCollection(RawTrackerHit.class, hitsCollectionName))
             if (event.get(RawTrackerHit.class, hitsCollectionName).size() > 0)
                 hitsReceivedMillis = System.currentTimeMillis();
-    }   
-    
+    }
+
     public void endOfData() {
         timer.cancel();
         timer.purge();
         status.setStatus(StatusCode.OFFLINE, "SVT hit monitor went offline.");
         status.setActive(false);
-    }    
+    }
 }