LISTSERV mailing list manager LISTSERV 16.5

Help for HPS-SVN Archives


HPS-SVN Archives

HPS-SVN Archives


HPS-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

HPS-SVN Home

HPS-SVN Home

HPS-SVN  November 2014

HPS-SVN November 2014

Subject:

r1473 - in /java/trunk/monitoring-app/src/main/java/org/hps/monitoring: enums/ gui/ gui/model/ plotting/ subsys/ subsys/ecal/ subsys/et/ subsys/svt/

From:

[log in to unmask]

Reply-To:

Notification of commits to the hps svn repository <[log in to unmask]>

Date:

Mon, 10 Nov 2014 19:20:58 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (6556 lines)

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);
-    }    
+    }
 }

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

November 2017
August 2017
July 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use