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  April 2015

HPS-SVN April 2015

Subject:

r2679 - in /java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application: ./ model/ util/

From:

[log in to unmask]

Reply-To:

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

Date:

Mon, 13 Apr 2015 20:17:46 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (2669 lines)

Author: [log in to unmask]
Date: Mon Apr 13 13:17:35 2015
New Revision: 2679

Log:
Code cleanup in monitoring-app module.

Modified:
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AddActionListener.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/Commands.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsCollectionTableModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/DatePanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventDashboard.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/LogPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsDialog.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusEventsTable.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusTable.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ToolbarPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/TriggerDiagnosticsPanel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/AbstractModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatus.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatusModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/RunModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SteeringType.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/package-info.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/AIDAServer.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/DialogUtil.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EtSystemUtil.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EvioFileFilter.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ResourceUtil.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/TableExporter.java

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java	Mon Apr 13 13:17:35 2015
@@ -344,7 +344,7 @@
     }
 
     /**
-     * Get the {@link org.hps.monitoring.application.model.ConfigurationModel} for this component
+     * Get the {@link org.hps.monitoring.application.model.ConfigurationModel} for this component.
      *
      * @return the {@link org.hps.monitoring.application.model.ConfigurationModel} for this component
      */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AddActionListener.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AddActionListener.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/AddActionListener.java	Mon Apr 13 13:17:35 2015
@@ -3,14 +3,15 @@
 import java.awt.event.ActionListener;
 
 /**
- * Mixin interface for components which can be assigned an external <code>ActionListener</code>.
+ * Mix-in interface for components which can be assigned an <code>ActionListener</code>.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 interface AddActionListener {
 
     /**
-     * Assign an <code>ActionListener</code> to this component which will assign to appropriate child components.
+     * Set an <code>ActionListener</code> for this component, which should assign it to appropriate child components
+     * that emit <code>ActionEvent</code> objects.
      *
      * @param listener the <code>ActionListener</code> to assign to this component
      */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/Commands.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/Commands.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/Commands.java	Mon Apr 13 13:17:35 2015
@@ -1,8 +1,7 @@
 package org.hps.monitoring.application;
 
 /**
- * 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 <code>ActionEvent</code> commands in the MonitoringApplication.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsCollectionTableModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsCollectionTableModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsCollectionTableModel.java	Mon Apr 13 13:17:35 2015
@@ -68,11 +68,11 @@
     @Override
     public Class<?> getColumnClass(final int columnIndex) {
         final Class<?> columnClass = this.columnTypes[columnIndex];
-        if (columnClass.equals(int.class)) {
+        if (int.class.equals(columnClass)) {
             return Integer.class;
-        } else if (columnClass.equals(float.class)) {
+        } else if (float.class.equals(columnClass)) {
             return Float.class;
-        } else if (columnClass.equals(double.class)) {
+        } else if (double.class.equals(columnClass)) {
             return Double.class;
         } else {
             return columnClass;
@@ -92,6 +92,7 @@
     /**
      * Get the name of the column.
      *
+     * @param columnIndex the column index
      * @return the name of the column
      */
     @Override
@@ -110,10 +111,11 @@
     }
 
     /**
-     * Get a cell value.
+     * Get a table cell value.
      *
      * @param rowIndex the row index
      * @param columnIndex the column index
+     * @return the value of the cell
      */
     @Override
     public Object getValueAt(final int rowIndex, final int columnIndex) {
@@ -128,7 +130,7 @@
     /**
      * Setup the columns from table meta data.
      *
-     * @param tableInfo the {@link org.hps.conditions.database.TableMetaData} with table info
+     * @param tableInfo the {@link org.hps.conditions.database.TableMetaData} with the table info
      */
     private void setupColumns(final TableMetaData tableInfo) {
 

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConditionsPanel.java	Mon Apr 13 13:17:35 2015
@@ -26,12 +26,12 @@
 import org.lcsim.conditions.ConditionsListener;
 
 /**
- * The component for showing conditions tables in the monitoring app.
+ * The component for showing conditions table records in the monitoring application tabs.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 @SuppressWarnings("serial")
-public final class ConditionsPanel extends JPanel {
+final class ConditionsPanel extends JPanel {
 
     /**
      * The listener for updating the panel when conditions are changed.
@@ -66,7 +66,7 @@
                 final ConditionsObjectCollection<?> collection = manager.getCachedConditions(
                         manager.findTableMetaData(tableName).getCollectionClass(), tableName).getCachedData();
                 ConditionsPanel.this.tableModels
-                .put(tableName, new ConditionsCollectionTableModel(manager, collection));
+                        .put(tableName, new ConditionsCollectionTableModel(manager, collection));
             }
         }
     }
@@ -94,6 +94,12 @@
 
         this.conditionsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         this.conditionsList.addListSelectionListener(new ListSelectionListener() {
+
+            /**
+             * The selection listener method implementation which will activate a new table in the conditions panel.
+             *
+             * @param e the list selection event
+             */
             @Override
             public void valueChanged(final ListSelectionEvent e) {
                 final String tableName = ConditionsPanel.this.conditionsList.getSelectedValue();
@@ -104,11 +110,11 @@
             }
         });
 
+        // Initialize with default table model.
         this.conditionsTable.setModel(new DefaultTableModel());
 
         final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, this.conditionsList, new JScrollPane(
                 this.conditionsTable));
-        // splitPane.setResizeWeight(0.6);
 
         this.add(splitPane);
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java	Mon Apr 13 13:17:35 2015
@@ -22,9 +22,15 @@
 final class ConnectionSettingsPanel extends AbstractFieldsPanel {
 
     /**
-     * Updates the GUI from changes in the ConfigurationModel.
+     * Update the GUI from changes in the {@link org.hps.monitoring.application.model.ConfigurationModel}.
      */
     public class ConnectionSettingsChangeListener implements PropertyChangeListener {
+
+        /**
+         * Handle a property change from the model.
+         *
+         * @param the <code>PropertyChangeEvent</code> to handle
+         */
         @Override
         public void propertyChange(final PropertyChangeEvent evt) {
             ConnectionSettingsPanel.this.getConfigurationModel().removePropertyChangeListener(this);
@@ -64,7 +70,7 @@
     /**
      * The available wait mode settings (sleep, timed and asynchronous).
      */
-    private static final String[] WAIT_MODES = { Mode.SLEEP.name(), Mode.TIMED.name(), Mode.ASYNC.name() };
+    private static final String[] WAIT_MODES = {Mode.SLEEP.name(), Mode.TIMED.name(), Mode.ASYNC.name()};
 
     /**
      * Check box for blocking setting.

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java	Mon Apr 13 13:17:35 2015
@@ -21,6 +21,7 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class ConnectionStatusPanel extends JPanel implements PropertyChangeListener {
 
     /**

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/DatePanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/DatePanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/DatePanel.java	Mon Apr 13 13:17:35 2015
@@ -5,7 +5,7 @@
 import java.util.Date;
 
 /**
- * A small JPanel with a date field and a label on its border.
+ * A small <code>JPanel</code> with a date field and a label on its border.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java	Mon Apr 13 13:17:35 2015
@@ -116,7 +116,7 @@
      * Add a button to the panel.
      *
      * @param resource the resource for the image icon
-     * @param command the command for the action event
+     * @param actionCommand the command for the action event
      * @param listener the action listener which handles action events
      * @param enabled <code>true</code> if button should be enabled initially
      * @return the new button object
@@ -128,6 +128,8 @@
 
     /**
      * Handle property change events to set status from changes to the connection status model.
+     *
+     * @param evt the <code>PropertyChangeEvent</code> to handle
      */
     @Override
     public void propertyChange(final PropertyChangeEvent evt) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventDashboard.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventDashboard.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventDashboard.java	Mon Apr 13 13:17:35 2015
@@ -20,7 +20,7 @@
 import org.lcsim.event.EventHeader;
 
 /**
- * This class implements a "dashboard" for displaying information about the current run.
+ * This class implements a dashboard for displaying information about the current run.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
@@ -37,6 +37,9 @@
          */
         class RunTimerTask extends TimerTask {
 
+            /**
+             * Run the timer task to update the GUI from the current values in the model.
+             */
             @Override
             public void run() {
 
@@ -270,69 +273,62 @@
     /**
      * Field for showing the data rate in MB per second.
      */
-    FieldPanel dataRateField = new FieldPanel("Data Rate [MB/s]", "", 12, false);
+    private final FieldPanel dataRateField = new FieldPanel("Data Rate [MB/s]", "", 12, false);
 
     /**
      * Field for showing the total data received in MB.
      */
-    FieldPanel dataReceivedField = new FieldPanel("Data Received [MB]", "", 14, false);
+    private final FieldPanel dataReceivedField = new FieldPanel("Data Received [MB]", "", 14, false);
 
     /**
      * Field for showing the elapsed job time in seconds.
      */
-    FieldPanel elapsedTimeField = new FieldPanel("Elapsed Time [sec]", "", 14, false);
+    private final FieldPanel elapsedTimeField = new FieldPanel("Elapsed Time [sec]", "", 14, false);
 
     /**
      * Field for showing the end date.
      */
-    DatePanel endDateField = new DatePanel("Run End", "", 14, false);
+    private final DatePanel endDateField = new DatePanel("Run End", "", 14, false);
 
     /**
      * Field for showing the current event number.
      */
-    FieldPanel eventNumberField = new FieldPanel("Event Number", "", 14, false);
+    private final FieldPanel eventNumberField = new FieldPanel("Event Number", "", 14, false);
 
     /**
      * Field showing the event rate in Hertz.
      */
-    FieldPanel eventRateField = new FieldPanel("Event Rate [Hz]", "", 14, false);
+    private final FieldPanel eventRateField = new FieldPanel("Event Rate [Hz]", "", 14, false);
 
     /**
      * Field for showing the total number of events received.
      */
-    FieldPanel eventsReceivedField = new FieldPanel("Events Received", "", 14, false);
+    private final FieldPanel eventsReceivedField = new FieldPanel("Events Received", "", 14, false);
 
     /**
      * Field for showing the length of the run in seconds.
      */
-    FieldPanel lengthField = new FieldPanel("Run Length [sec]", "", 12, false);
+    private final FieldPanel lengthField = new FieldPanel("Run Length [sec]", "", 12, false);
 
     /**
      * The backing model with run and event information.
      */
-    RunModel runModel;
+    private final RunModel runModel;
 
     /**
      * Field for showing the run number.
      */
-    FieldPanel runNumberField = new FieldPanel("Run Number", "", 10, false);
+    private final FieldPanel runNumberField = new FieldPanel("Run Number", "", 10, false);
 
     /**
      * Field for showing the start date.
      */
-    DatePanel startDateField = new DatePanel("Run Start", "", 14, false);
+    private final DatePanel startDateField = new DatePanel("Run Start", "", 14, false);
 
     /**
      * Field for showing the total events in the run.
      */
-    FieldPanel totalEventsField = new FieldPanel("Total Events in Run", "", 14, false);
-
-    /**
-     * Class constructor which will build the GUI components.
-     */
-    public EventDashboard() {
-        build();
-    }
+    private final FieldPanel totalEventsField = new FieldPanel("Total Events in Run", "", 14, false);
 
     /**
      * Class constructor which takes reference to backing model.
@@ -407,13 +403,4 @@
             this.eventRateField.setValue(DECIMAL_FORMAT.format(value));
         }
     }
-
-    /**
-     * Set the backing {@link org.hps.monitoring.application.model.RunModel} of the component.
-     *
-     * @param runModel the backing {@link org.hps.monitoring.application.model.RunModel} of the component
-     */
-    public void setModel(final RunModel runModel) {
-        this.runModel = runModel;
-    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/EventProcessing.java	Mon Apr 13 13:17:35 2015
@@ -46,7 +46,7 @@
 final class EventProcessing {
 
     /**
-     * This class is used internally to organize the objects used by an event processing session.
+     * This class organizes and encapsulates most of the objects used by an event processing session.
      */
     private final class SessionState {
 
@@ -56,7 +56,7 @@
         private List<ConditionsListener> conditionsListeners;
 
         /**
-         * An {@link org.hps.record.et.EtConnection} with ET configuration (can be null if using file source).
+         * An {@link org.hps.record.et.EtConnection} with ET configuration (can be null if using a file source).
          */
         private EtConnection connection;
 
@@ -195,9 +195,10 @@
 
     /**
      * Class constructor, which will initialize with reference to the current monitoring application and lists of extra
-     * processors to add to the loop as well as supplemental conditions listeners that activate when conditions change.
-     *
-     * @param application the current monitoring application
+     * processors to add to the loop, as well as supplemental conditions listeners that activate when the conditions
+     * change.
+     *
+     * @param application the current monitoring application object
      * @param processors a list of processors to add after configuration is performed
      * @param drivers a list of extra {@link org.lcsim.util.Driver} objects to add to the loop
      * @param conditionsListeners a list of extra {@link org.lcsim.conditions.ConditionsListener} to add to the loop
@@ -367,9 +368,9 @@
     }
 
     /**
-     * Interrupt and join to the processing watchdog thread.
+     * Interrupt and join the processing watchdog thread.
      * <p>
-     * This will happen if there is a user requested disconnect from pushing the disconnect button in the GUI.
+     * This will happen if there is a user requested disconnect from pushing the button in the GUI.
      */
     synchronized void killWatchdogThread() {
         // Is the session watchdog thread not null?
@@ -405,7 +406,7 @@
     }
 
     /**
-     * Notify the loop to pause event processing.
+     * Notify the loop to pause the event processing.
      */
     synchronized void pause() {
         this.logger.finest("pausing");
@@ -493,7 +494,7 @@
                 setupSteeringFile(steering);
             }
 
-            // Set conditions tag.
+            // Set conditions tag if applicable.
             if (configurationModel.hasValidProperty(ConfigurationModel.CONDITIONS_TAG_PROPERTY)
                     && !configurationModel.getConditionsTag().equals("")) {
                 this.logger.config("conditions tag is set to " + configurationModel.getConditionsTag());
@@ -535,7 +536,7 @@
 
         this.logger.config("setting up record loop ...");
 
-        // Initialize the loop from configuration model.
+        // Initialize the loop from the ConfigurationModel.
         final CompositeLoopConfiguration loopConfig = new CompositeLoopConfiguration()
                 .setStopOnEndRun(configurationModel.getDisconnectOnEndRun())
                 .setStopOnErrors(configurationModel.getDisconnectOnError())
@@ -547,6 +548,7 @@
         this.logger.config("data source path is " + configurationModel.getDataSourcePath());
         this.logger.config("data source type is " + configurationModel.getDataSourceType());
 
+        // Set the max events.
         if (configurationModel.hasValidProperty(ConfigurationModel.MAX_EVENTS_PROPERTY)) {
             final long maxEvents = configurationModel.getMaxEvents();
             if (maxEvents > 0L) {
@@ -650,12 +652,12 @@
         // Kill session watchdog thread.
         killWatchdogThread();
 
-        // Wake up all ET stations to unblock the system and make sure secondary stations are detached.
+        // Wake up all ET stations to unblock the system and make sure stations are detached properly.
         if (usingEtServer()) {
             wakeUpEtStations();
         }
 
-        // Stop the event processing now that ET system is unblocked.
+        // Stop the event processing now that ET system should be unblocked.
         this.logger.fine("sending STOP command to loop ...");
         this.sessionState.loop.execute(Command.STOP);
         this.logger.fine("loop got command STOP");

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java	Mon Apr 13 13:17:35 2015
@@ -33,7 +33,6 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
-// FIXME: Combo boxes should use explicit types.
 @SuppressWarnings("serial")
 final class JobSettingsPanel extends AbstractFieldsPanel {
 
@@ -76,6 +75,8 @@
 
         /**
          * Handle {@link java.beans.PropertyChangeEvent} by updating the GUI from changes to the model.
+         *
+         * @param evt the {@link java.beans.PropertyChangeEvent} to handle
          */
         @Override
         public void propertyChange(final PropertyChangeEvent evt) {
@@ -140,9 +141,9 @@
     /**
      * The available LogLevel settings as an array of strings.
      */
-    static final String[] LOG_LEVELS = new String[] { Level.ALL.toString(), Level.FINEST.toString(),
+    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() };
+            Level.WARNING.toString(), Level.SEVERE.toString(), Level.OFF.toString()};
 
     /**
      * The package where steering resources must be located.
@@ -264,8 +265,8 @@
         steeringFileButton.setActionCommand(Commands.CHOOSE_STEERING_FILE);
         steeringFileButton.addActionListener(this);
 
-        this.steeringTypeComboBox = this.addComboBox("Steering Type", new String[] { SteeringType.RESOURCE.name(),
-                SteeringType.FILE.name() });
+        this.steeringTypeComboBox = this.addComboBox("Steering Type", new String[] {SteeringType.RESOURCE.name(),
+                SteeringType.FILE.name()});
         this.steeringTypeComboBox.setActionCommand(Commands.STEERING_TYPE_CHANGED);
         this.steeringTypeComboBox.addActionListener(this);
 

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/LogPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/LogPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/LogPanel.java	Mon Apr 13 13:17:35 2015
@@ -18,6 +18,7 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class LogPanel extends JPanel {
 
     /**

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplication.java	Mon Apr 13 13:17:35 2015
@@ -250,11 +250,6 @@
             // Add window listener to perform clean shutdown.
             this.frame.addWindowListener(new WindowListener() {
 
-                /**
-                 * Not used.
-                 *
-                 * @param e
-                 */
                 @Override
                 public void windowActivated(final WindowEvent e) {
                 }
@@ -269,47 +264,22 @@
                     exit();
                 }
 
-                /**
-                 * Not used.
-                 *
-                 * @param e
-                 */
                 @Override
                 public void windowClosing(final WindowEvent e) {
                 }
 
-                /**
-                 * Not used.
-                 *
-                 * @param e
-                 */
                 @Override
                 public void windowDeactivated(final WindowEvent e) {
                 }
 
-                /**
-                 * Not used.
-                 *
-                 * @param e
-                 */
                 @Override
                 public void windowDeiconified(final WindowEvent e) {
                 }
 
-                /**
-                 * Not used.
-                 *
-                 * @param e
-                 */
                 @Override
                 public void windowIconified(final WindowEvent e) {
                 }
 
-                /**
-                 * Not used.
-                 *
-                 * @param e
-                 */
                 @Override
                 public void windowOpened(final WindowEvent e) {
                 }
@@ -414,7 +384,7 @@
     }
 
     /**
-     * Redirect <code>System.out</code> and <code>System.err</code> to file chosen by a file chooser.
+     * Redirect <code>System.out</code> and <code>System.err</code> to a file chosen by a file chooser.
      */
     private void chooseLogFile() {
         final JFileChooser fc = new JFileChooser();
@@ -556,8 +526,8 @@
     /**
      * This method sets the configuration on the model, which fires a change for every property.
      *
-     * @param configuration The new configuration.
-     * @param merge True to merge the configuration into the current one rather than replace it.
+     * @param configuration the new configuration
+     * @param merge <code>true</code> to merge the configuration into the current one rather than replace it
      */
     private void loadConfiguration(final Configuration configuration, final boolean merge) {
 
@@ -607,8 +577,8 @@
     /**
      * Redirect <code>System.out</code> and <code>System.err</code> to a file.
      *
-     * @param file The output log file.
-     * @throws FileNotFoundException if the file does not exist.
+     * @param file the output log file
+     * @throws FileNotFoundException if the file does not exist
      */
     private void logToFile(final File file) {
         try {
@@ -721,7 +691,7 @@
     /**
      * Handle property changes.
      *
-     * @param evt The property change event.
+     * @param evt the <code>PropertyChangeEvent</code> to handle
      */
     @Override
     public void propertyChange(final PropertyChangeEvent evt) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotPanel.java	Mon Apr 13 13:17:35 2015
@@ -103,7 +103,7 @@
 
     /**
      * Save the plotter from a tab to a graphics file.
-     * 
+     *
      * @param plotter the plotter to save
      */
     private void savePlotter(final IPlotter plotter) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsDialog.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsDialog.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsDialog.java	Mon Apr 13 13:17:35 2015
@@ -9,7 +9,9 @@
 import org.hps.monitoring.application.model.ConfigurationModel;
 
 /**
- * The modal dialog for entering settings. It contains a <code>JPanel</code> with the different settings sub-tabs.
+ * The modal dialog for entering application settings.
+ * <p>
+ * It contains a <code>JPanel</code> with the different settings sub-tabs.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusEventsTable.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusEventsTable.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusEventsTable.java	Mon Apr 13 13:17:35 2015
@@ -1,6 +1,3 @@
-/**
- *
- */
 package org.hps.monitoring.application;
 
 import java.awt.Component;
@@ -127,18 +124,18 @@
         public Object getValueAt(final int rowIndex, final int columnIndex) {
             final SystemStatus status = this.statuses.get(rowIndex);
             switch (columnIndex) {
-                case 0:
-                    return new Date(status.getLastChangedMillis());
-                case 1:
-                    return status.getSubsystem();
-                case 2:
-                    return status.getStatusCode();
-                case 3:
-                    return status.getDescription();
-                case 4:
-                    return status.getMessage();
-                default:
-                    return null;
+            case 0:
+                return new Date(status.getLastChangedMillis());
+            case 1:
+                return status.getSubsystem();
+            case 2:
+                return status.getStatusCode();
+            case 3:
+                return status.getDescription();
+            case 4:
+                return status.getMessage();
+            default:
+                return null;
             }
         }
 

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusPanel.java	Mon Apr 13 13:17:35 2015
@@ -14,10 +14,11 @@
 
 /**
  * This is a panel showing the two tables for viewing the system statuses, one showing the current state of all system
- * status monitors and the other all system status change events.
+ * status monitors and the other with all system status change events.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class SystemStatusPanel extends JPanel {
 
     /**

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusTable.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusTable.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SystemStatusTable.java	Mon Apr 13 13:17:35 2015
@@ -24,7 +24,7 @@
 final class SystemStatusTable extends JTable {
 
     /**
-     * Renders a button if the status is clearable.
+     * Renders a button if the status is clear-able.
      */
     private class ButtonRenderer extends JButton implements TableCellRenderer {
 
@@ -51,7 +51,7 @@
         public Component getTableCellRendererComponent(final JTable table, final Object value,
                 final boolean isSelected, final boolean hasFocus, final int rowIndex, final int columnIndex) {
             final boolean clearable = (Boolean) table.getModel().getValueAt(rowIndex,
-                    SystemStatusTableModel.CLEARABLE_COL);
+                    SystemStatusTableModel.CLEARABLE_COLUMN_INDEX);
             if (clearable) {
                 return this;
             } else {
@@ -106,51 +106,52 @@
         this.setModel(new SystemStatusTableModel());
 
         // Rendering of system status cells using different background colors.
-        this.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL)
-        .setCellRenderer(new DefaultTableCellRenderer() {
+        this.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COLUMN_INDEX)
+                .setCellRenderer(new DefaultTableCellRenderer() {
 
-            @Override
-            public Component getTableCellRendererComponent(final JTable table, final Object value,
-                    final boolean isSelected, final boolean hasFocus, final int row, final int col) {
+                    @Override
+                    public Component getTableCellRendererComponent(final JTable table, final Object value,
+                            final boolean isSelected, final boolean hasFocus, final int row, final int col) {
 
-                // Cells are by default rendered as a JLabel.
-                final JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected,
-                        hasFocus, row, col);
+                        // Cells are by default rendered as a JLabel.
+                        final JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected,
+                                hasFocus, row, col);
 
-                // Color code the cell by its status.
-                final StatusCode statusCode = StatusCode.valueOf((String) value);
-                label.setBackground(statusCode.getColor());
-                return label;
-            }
-        });
+                        // Color code the cell by its status.
+                        final StatusCode statusCode = StatusCode.valueOf((String) value);
+                        label.setBackground(statusCode.getColor());
+                        return label;
+                    }
+                });
 
         // Date formatting for last changed.
-        this.getColumnModel().getColumn(SystemStatusTableModel.LAST_CHANGED_COL)
-        .setCellRenderer(new DefaultTableCellRenderer() {
+        this.getColumnModel().getColumn(SystemStatusTableModel.LAST_CHANGED_COLUMN_INDEX)
+                .setCellRenderer(new DefaultTableCellRenderer() {
 
-            final SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss.SSS");
+                    final SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss.SSS");
 
-            @Override
-            public Component getTableCellRendererComponent(final JTable table, Object value,
-                    final boolean isSelected, final boolean hasFocus, final int row, final int column) {
-                if (value instanceof Date) {
-                    value = this.dateFormat.format(value);
-                }
-                return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-            }
-        });
+                    @Override
+                    public Component getTableCellRendererComponent(final JTable table, Object value,
+                            final boolean isSelected, final boolean hasFocus, final int row, final int column) {
+                        if (value instanceof Date) {
+                            value = this.dateFormat.format(value);
+                        }
+                        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+                    }
+                });
 
         // Button for clearing system statuses.
-        this.getColumnModel().getColumn(SystemStatusTableModel.RESET_COL).setCellRenderer(new ButtonRenderer("Clear"));
+        this.getColumnModel().getColumn(SystemStatusTableModel.RESET_COLUMN_INDEX)
+                .setCellRenderer(new ButtonRenderer("Clear"));
         this.addMouseListener(new JTableButtonMouseListener(this));
         this.getColumn("Clearable").setWidth(0);
         this.getColumn("Clearable").setMinWidth(0);
         this.getColumn("Clearable").setMaxWidth(0);
 
         // Column widths.
-        this.getColumnModel().getColumn(SystemStatusTableModel.ACTIVE_COL).setPreferredWidth(8);
-        this.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL).setPreferredWidth(10);
-        this.getColumnModel().getColumn(SystemStatusTableModel.SYSTEM_COL).setPreferredWidth(10);
+        this.getColumnModel().getColumn(SystemStatusTableModel.ACTIVE_COLUMN_INDEX).setPreferredWidth(8);
+        this.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COLUMN_INDEX).setPreferredWidth(10);
+        this.getColumnModel().getColumn(SystemStatusTableModel.SYSTEM_COLUMN_INDEX).setPreferredWidth(10);
         // TODO: Add default width setting for every column.
 
         this.setAutoCreateRowSorter(true);
@@ -158,10 +159,10 @@
 
     /**
      * Get the tqble model.
-     * 
+     *
      * @return the table model
      */
     public SystemStatusTableModel getTableModel() {
         return (SystemStatusTableModel) this.getModel();
     }
-}
+}

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ToolbarPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ToolbarPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/ToolbarPanel.java	Mon Apr 13 13:17:35 2015
@@ -16,6 +16,7 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class ToolbarPanel extends JPanel {
 
     /**
@@ -79,7 +80,7 @@
 
     /**
      * Get the combo box with the data sources
-     * 
+     *
      * @return the combo box with the data sources
      */
     DataSourceComboBox getDataSourceComboBox() {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/TriggerDiagnosticsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/TriggerDiagnosticsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/TriggerDiagnosticsPanel.java	Mon Apr 13 13:17:35 2015
@@ -76,7 +76,7 @@
     private final PairTablePanel pairsPanel = new PairTablePanel();
 
     /**
-     * The panel for singles statistics.
+     * The panel with singles statistics.
      */
     private final SinglesTablePanel singlesPanel = new SinglesTablePanel();
 

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/AbstractModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/AbstractModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/AbstractModel.java	Mon Apr 13 13:17:35 2015
@@ -21,10 +21,10 @@
 public abstract class AbstractModel {
 
     /**
-     * This method will statically extract property names from a class, which in this package's conventions are
-     * statically declared, public strings that end with "_PROPERTY".
+     * This method will extract property names from a class, which in this package's conventions are statically
+     * declared, public strings that end with the sub-string "_PROPERTY".
      *
-     * @param type the class with the properties
+     * @param type the class with the properties settings
      * @return the list of property names
      */
     protected static String[] getPropertyNames(final Class<? extends AbstractModel> type) {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java	Mon Apr 13 13:17:35 2015
@@ -273,7 +273,7 @@
     }
 
     /**
-     * Get the ET chunk size
+     * Get the ET chunk size, which is the number of events that will be retrieved at once from the server.
      *
      * @return the ET chunk size
      */
@@ -656,11 +656,11 @@
     /**
      * Set the name of the AIDA server.
      *
-     * @param AIDAServerName the name of the AIDA server
-     */
-    public void setAIDAServerName(final String AIDAServerName) {
+     * @param aidaServerName the name of the AIDA server
+     */
+    public void setAIDAServerName(final String aidaServerName) {
         final String oldValue = this.getAIDAServerName();
-        this.configuration.set(AIDA_SERVER_NAME_PROPERTY, AIDAServerName);
+        this.configuration.set(AIDA_SERVER_NAME_PROPERTY, aidaServerName);
         this.firePropertyChange(AIDA_SERVER_NAME_PROPERTY, oldValue, this.getAIDAServerName());
     }
 
@@ -719,10 +719,9 @@
     }
 
     /**
-     * Set the data source type
-     *
-     * @see
-     * @param dataSourceType
+     * Set the data source type (EVIO, LCIO or ET).
+     *
+     * @param dataSourceType the data source type
      */
     public void setDataSourceType(final DataSourceType dataSourceType) {
         final DataSourceType oldValue = this.getDataSourceType();
@@ -747,11 +746,13 @@
     /**
      * Set the detector to load from the detector model resources in the jar.
      * <p>
-     * These are present in the jar accordin to the LCSim convension like:
+     * These are present in the jar according to the LCSim convention:
      *
      * <pre>
      * ${DETECTOR_NAME}/detector.properties
      * </pre>
+     * <p>
+     * where <code>detector.properties</code> has the name of the detector matching the directory name.
      *
      * @param detectorName the name of the detector name
      */
@@ -773,7 +774,7 @@
     }
 
     /**
-     * Set to <code>true<code> to disconnect if event processing errors occur
+     * Set to <code>true<code> to disconnect if event processing errors occur.
      *
      * @param disconnectOnError set to <code>true</code> to disconnect if event processing errors occur
      */
@@ -801,7 +802,7 @@
      * Set the fully qualified class name of the {@link org.hps.record.LCSimEventBuilder} that should be used to build
      * LCIO events from EVIO.
      *
-     * @param eventBuilderClassName
+     * @param eventBuilderClassName the fully qualified class name of the event builder
      */
     public void setEventBuilderClassName(final String eventBuilderClassName) {
         final String oldValue = this.getEventBuilderClassName();
@@ -810,8 +811,8 @@
     }
 
     /**
-     * Set to <code>true</code> to freeze the conditions system after initialization if there is a valid detector name
-     * and run number setting
+     * Set to <code>true</code> to freeze the conditions system after initialization if there is also a valid detector
+     * name and run number setting.
      *
      * @param freezeConditions <code>true</code> to freeze the conditions
      */
@@ -880,8 +881,9 @@
     }
 
     /**
-     *
-     * @param maxEvents
+     * Set the maximum number of events to process before the session will automatically end.
+     *
+     * @param maxEvents the maximum number of events
      */
     public void setMaxEvents(final Long maxEvents) {
         final Long oldValue = this.getMaxEvents();
@@ -889,30 +891,57 @@
         this.firePropertyChange(MAX_EVENTS_PROPERTY, oldValue, this.getMaxEvents());
     }
 
+    /**
+     * Set the TCP/IP port number of the ET server for the client connection.
+     *
+     * @param port the ET port number
+     */
     public void setPort(final Integer port) {
         final Integer oldValue = this.getPort();
         this.configuration.set(PORT_PROPERTY, port);
         this.firePropertyChange(PORT_PROPERTY, oldValue, this.getPort());
     }
 
+    /**
+     * Set a prescale value for the ET station which will decrease the event rate.
+     * <p>
+     * A prescale of 2 would mean every 2nd event is processed, etc.
+     *
+     * @param prescale the ET station prescale value
+     */
     public void setPrescale(final Integer prescale) {
         final Integer oldValue = this.getPrescale();
         this.configuration.set(PRESCALE_PROPERTY, prescale);
         this.firePropertyChange(PRESCALE_PROPERTY, oldValue, this.getPrescale());
     }
 
+    /**
+     * Set the processing stage which determines which event processing stages are executed.
+     *
+     * @param processingStage the processing stage to execute
+     */
     public void setProcessingStage(final ProcessingStage processingStage) {
         final ProcessingStage oldValue = this.getProcessingStage();
         this.configuration.set(PROCESSING_STAGE_PROPERTY, processingStage);
         this.firePropertyChange(PROCESSING_STAGE_PROPERTY, oldValue, this.getProcessingStage());
     }
 
+    /**
+     * Set the ET queue size.
+     *
+     * @param queueSize the ET queue size
+     */
     public void setQueueSize(final Integer queueSize) {
         final Integer oldValue = this.getQueueSize();
         this.configuration.set(QUEUE_SIZE_PROPERTY, queueSize);
         this.firePropertyChange(QUEUE_SIZE_PROPERTY, oldValue, this.getQueueSize());
     }
 
+    /**
+     * Set the recent files list, which is a list of "\n" delimited file paths.
+     *
+     * @param recentFiles the recent files list as a string
+     */
     public void setRecentFiles(final String recentFiles) {
         String oldValue = null;
         if (this.configuration.checkKey(RECENT_FILES_PROPERTY)) {
@@ -922,6 +951,13 @@
         this.firePropertyChange(RECENT_FILES_PROPERTY, oldValue, this.configuration.get(RECENT_FILES_PROPERTY));
     }
 
+    /**
+     * Set the recent files list.
+     * <p>
+     * This method is not part of the public API and is only used internally.
+     *
+     * @param recentFilesList the recent files list
+     */
     private void setRecentFilesList(final List<String> recentFilesList) {
         final StringBuffer sb = new StringBuffer();
         for (final String recentFile : recentFilesList) {
@@ -931,36 +967,70 @@
         this.configuration.set(RECENT_FILES_PROPERTY, sb.toString());
     }
 
+    /**
+     * Set the ET station name.
+     *
+     * @param stationName the ET station name
+     */
     public void setStationName(final String stationName) {
         final String oldValue = this.getStationName();
         this.configuration.set(STATION_NAME_PROPERTY, stationName);
         this.firePropertyChange(STATION_NAME_PROPERTY, oldValue, this.getStationName());
     }
 
+    /**
+     * Set the ET station position.
+     *
+     * @param stationPosition the ET station position
+     */
     public void setStationPosition(final Integer stationPosition) {
         final Integer oldValue = this.getStationPosition();
         this.configuration.set(STATION_POSITION_PROPERTY, stationPosition);
         this.firePropertyChange(STATION_POSITION_PROPERTY, oldValue, this.getStationPosition());
     }
 
+    /**
+     * Set the steering file path.
+     *
+     * @param steeringFile the steering file path
+     */
     public void setSteeringFile(final String steeringFile) {
         final String oldValue = this.getSteeringFile();
         this.configuration.set(STEERING_FILE_PROPERTY, steeringFile);
         this.firePropertyChange(STEERING_FILE_PROPERTY, oldValue, this.getSteeringFile());
     }
 
+    /**
+     * Set the steering file resource.
+     *
+     * @param steeringResource the steering file resource
+     */
     public void setSteeringResource(final String steeringResource) {
         final String oldValue = this.getSteeringResource();
         this.configuration.set(STEERING_RESOURCE_PROPERTY, steeringResource);
         this.firePropertyChange(STEERING_RESOURCE_PROPERTY, oldValue, steeringResource);
     }
 
+    /**
+     * Set the steering type (file or resource).
+     *
+     * @param steeringType the steering type
+     * @see SteeringType
+     */
     public void setSteeringType(final SteeringType steeringType) {
         final SteeringType oldValue = this.getSteeringType();
         this.configuration.set(STEERING_TYPE_PROPERTY, steeringType.name());
         this.firePropertyChange(STEERING_TYPE_PROPERTY, oldValue, this.getSteeringType());
     }
 
+    /**
+     * Set a user run number which will be used to initialize the conditions system.
+     * <p>
+     * This should most likely be used with {@link #setFreezeConditions(Boolean)} or it is likely to be later overridden
+     * by run numbers from the data.
+     *
+     * @param userRunNumber the user run number
+     */
     public void setUserRunNumber(final Integer userRunNumber) {
         Integer oldValue = null;
         if (this.hasPropertyKey(USER_RUN_NUMBER_PROPERTY)) {
@@ -970,18 +1040,33 @@
         this.firePropertyChange(USER_RUN_NUMBER_PROPERTY, oldValue, this.getUserRunNumber());
     }
 
+    /**
+     * Set verbose mode for the ET system.
+     *
+     * @param verbose the ET verbose flag
+     */
     public void setVerbose(final Boolean verbose) {
         final Boolean oldValue = this.getVerbose();
         this.configuration.set(VERBOSE_PROPERTY, verbose);
         this.firePropertyChange(VERBOSE_PROPERTY, oldValue, this.getVerbose());
     }
 
+    /**
+     * Set the ET wait mode (timed, asynchronous or wait).
+     *
+     * @param waitMode the ET wait mode
+     */
     public void setWaitMode(final Mode waitMode) {
         final Mode oldValue = this.getWaitMode();
         this.configuration.set(WAIT_MODE_PROPERTY, waitMode.name());
         this.firePropertyChange(WAIT_MODE_PROPERTY, oldValue, this.getWaitMode());
     }
 
+    /**
+     * Set the ET wait time, which is ignored if wait mode is not timed.
+     *
+     * @param waitTime the ET wait time
+     */
     public void setWaitTime(final Integer waitTime) {
         final Integer oldValue = this.getWaitTime();
         this.configuration.set(WAIT_TIME_PROPERTY, waitTime);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatus.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatus.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatus.java	Mon Apr 13 13:17:35 2015
@@ -10,14 +10,38 @@
  */
 public enum ConnectionStatus {
 
-    CONNECTED(Color.GREEN), DISCONNECTED(Color.RED), DISCONNECTING(Color.YELLOW);
+    /**
+     * This is the state when the session is connected to event processing.
+     */
+    CONNECTED(Color.GREEN),
+    /**
+     * This is the disconnected state when event processing is not occurring.
+     */
+    DISCONNECTED(Color.RED),
+    /**
+     * This is the state when the session is being torn down.
+     */
+    DISCONNECTING(Color.YELLOW);
 
-    Color color;
+    /**
+     * The color that should be displayed in the GUI component for this state.
+     */
+    private Color color;
 
-    ConnectionStatus(final Color color) {
+    /**
+     * Class constructor.
+     *
+     * @param color the color to display for this state
+     */
+    private ConnectionStatus(final Color color) {
         this.color = color;
     }
 
+    /**
+     * Get the color to display for this state.
+     *
+     * @return the color to display for this state
+     */
     public Color getColor() {
         return this.color;
     }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatusModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatusModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConnectionStatusModel.java	Mon Apr 13 13:17:35 2015
@@ -5,45 +5,97 @@
 
 /**
  * This model updates listeners when the connection status changes from disconnected to connected or vice versa. It will
- * also notify when the event processing is paused.
+ * also notify listeners when the event processing has been paused.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 public final class ConnectionStatusModel extends AbstractModel {
 
+    /**
+     * The connection status property.
+     */
     public static final String CONNECTION_STATUS_PROPERTY = "ConnectionStatus";
+
+    /**
+     * The paused property.
+     */
     public static final String PAUSED_PROPERTY = "Paused";
 
-    static final String[] propertyNames = new String[] {CONNECTION_STATUS_PROPERTY, PAUSED_PROPERTY};
+    /**
+     * The property names of this class.
+     */
+    private static final String[] PROPERTY_NAMES = new String[] {CONNECTION_STATUS_PROPERTY, PAUSED_PROPERTY};
 
-    ConnectionStatus connectionStatus = ConnectionStatus.DISCONNECTED;
-    boolean paused = false;
+    /**
+     * The current connection status.
+     */
+    private ConnectionStatus connectionStatus = ConnectionStatus.DISCONNECTED;
 
+    /**
+     * Flag which is <code>true</code> when event processing is in the paused state.
+     */
+    private boolean paused = false;
+
+    /**
+     * Get the current connection status.
+     *
+     * @return the current connection status
+     */
     public ConnectionStatus getConnectionStatus() {
         return this.connectionStatus;
     }
 
+    /**
+     * Return <code>true</code> if the event processing is currently paused.
+     *
+     * @return <code>true</code> if event processing is currently paused
+     */
     public boolean getPaused() {
         return this.paused;
     }
 
+    /**
+     * Get the property names for this class.
+     *
+     * @return the property names for this class
+     */
     @Override
     public String[] getPropertyNames() {
-        return propertyNames;
+        return PROPERTY_NAMES;
     }
 
+    /**
+     * Return <code>true</code> if the status is <code>CONNECTED</code>.
+     *
+     * @return <code>true</code> if status is <code>CONNECTED</code>
+     */
     public boolean isConnected() {
         return this.connectionStatus == ConnectionStatus.CONNECTED;
     }
 
+    /**
+     * Return <code>true</code> if the status is <code>DISCONNECTED</code>.
+     *
+     * @return <code>true</code> if the status is <code>DISCONNECTED</code>
+     */
     public boolean isDisconnected() {
         return this.connectionStatus == ConnectionStatus.DISCONNECTED;
     }
 
+    /**
+     * Return <code>true</code> if the status is <code>DISCONNECTING</code>.
+     *
+     * @return <code>true</code> if the status is <code>DISCONNECTING</code>
+     */
     public boolean isDisconnecting() {
         return this.connectionStatus == ConnectionStatus.DISCONNECTING;
     }
 
+    /**
+     * Set the connection status.
+     *
+     * @param connectionStatus the new connection status
+     */
     public void setConnectionStatus(final ConnectionStatus connectionStatus) {
         final ConnectionStatus oldValue = connectionStatus;
         this.connectionStatus = connectionStatus;
@@ -53,6 +105,11 @@
         }
     }
 
+    /**
+     * Set to <code>true</code> if status is paused.
+     *
+     * @param paused <code>true</code> if status is paused
+     */
     public void setPaused(final boolean paused) {
         final boolean oldValue = this.paused;
         this.paused = paused;

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java	Mon Apr 13 13:17:35 2015
@@ -8,16 +8,16 @@
 public interface HasConfigurationModel {
 
     /**
-     * Get the current ConfigurationModel of the object.
+     * Get the current {@link ConfigurationModel} of the object.
      *
-     * @return The ConfigurationModel.
+     * @return the associated {@link ConfigurationModel}
      */
     ConfigurationModel getConfigurationModel();
 
     /**
-     * Set the ConfigurationModel of the object.
+     * Set the {@link ConfigurationModel} of the object.
      *
-     * @param configurationModel The ConfigurationModel.
+     * @param configurationModel the new {@link ConfigurationModel}
      */
     void setConfigurationModel(ConfigurationModel configurationModel);
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/RunModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/RunModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/RunModel.java	Mon Apr 13 13:17:35 2015
@@ -9,36 +9,133 @@
  */
 public final class RunModel extends AbstractModel {
 
-    public final static String DATA_RATE_PROPERTY = "DataRate"; // data rate in megabytes per second
-    public final static String DATA_RECEIVED_PROPERTY = "DataReceived"; // updated on the fly, in bytes
-    public final static String ELAPSED_TIME_PROPERTY = "ElapsedTime"; // updated on the fly, in seconds
-    public final static String END_DATE_PROPERTY = "EndDate";
-    public final static String EVENT_NUMBER_PROPERTY = "EventNumber"; // current event number
-    public final static String EVENT_RATE_PROPERTY = "EventRate"; // event rate per second
-    public final static String EVENTS_RECEIVED_PROPERTY = "EventsReceived"; // events received so far
-    public final static String RUN_LENGTH_PROPERTY = "RunLength"; // set at end, in seconds
-    public final static String RUN_NUMBER_PROPERTY = "RunNumber";
-    static final String[] RUN_PROPERTIES = AbstractModel.getPropertyNames(RunModel.class);
-    public final static String START_DATE_PROPERTY = "StartDate";
-
-    public final static String TOTAL_EVENTS_PROPERTY = "TotalEvents"; // only set at end
-
-    Double dataRate;
-    Double dataReceived;
-    Integer elapsedTime;
-    Date endDate;
-    Integer eventNumber;
-    Double eventRate;
-    Integer eventsReceived;
-    Integer runLength;
-    Integer runNumber;
-    Date startDate;
-    Integer totalEvents;
-
+    /**
+     * The data rate in megabytes per second.
+     */
+    public static final String DATA_RATE_PROPERTY = "DataRate";
+
+    /**
+     * The amount of data received in bytes since the last timer tick.
+     */
+    public static final String DATA_RECEIVED_PROPERTY = "DataReceived";
+
+    /**
+     * The total elapsed time in the session.
+     */
+    public static final String ELAPSED_TIME_PROPERTY = "ElapsedTime";
+
+    /**
+     * The end date of the run which comes from the EVIO END record.
+     */
+    public static final String END_DATE_PROPERTY = "EndDate";
+
+    /**
+     * The event number currently being processed which usually comes from the EVIO or LCIO records.
+     */
+    public static final String EVENT_NUMBER_PROPERTY = "EventNumber";
+
+    /**
+     * The event rate in Hertz.
+     */
+    public static final String EVENT_RATE_PROPERTY = "EventRate";
+
+    /**
+     * The total number of events received in the session.
+     */
+    public static final String EVENTS_RECEIVED_PROPERTY = "EventsReceived";
+
+    /**
+     * The total length of the run which is set from the EVIO END record.
+     */
+    public static final String RUN_LENGTH_PROPERTY = "RunLength";
+
+    /**
+     * The run number which comes from the EVIO control data.
+     */
+    public static final String RUN_NUMBER_PROPERTY = "RunNumber";
+
+    /**
+     * The properties of this model.
+     */
+    private static final String[] RUN_PROPERTIES = AbstractModel.getPropertyNames(RunModel.class);
+
+    /**
+     * The start date of the run which comes from the EVIO PRESTART event.
+     */
+    public static final String START_DATE_PROPERTY = "StartDate";
+
+    /**
+     * The total events in the run which comes from the EVIO END event.
+     */
+    public static final String TOTAL_EVENTS_PROPERTY = "TotalEvents";
+
+    /**
+     * The data rate in MB/s.
+     */
+    private Double dataRate;
+
+    /**
+     * The data received in bytes.
+     */
+    private Double dataReceived;
+
+    /**
+     * The elapsed time in seconds.
+     */
+    private Integer elapsedTime;
+
+    /**
+     * The end date of the run.
+     */
+    private Date endDate;
+
+    /**
+     * The current event number.
+     */
+    private Integer eventNumber;
+
+    /**
+     * The event rate in Hertz.
+     */
+    private Double eventRate;
+
+    /**
+     * The number of events received.
+     */
+    private Integer eventsReceived;
+
+    /**
+     * The length of the run.
+     */
+    private Integer runLength;
+
+    /**
+     * The run number.
+     */
+    private Integer runNumber;
+
+    /**
+     * The run start date.
+     */
+    private Date startDate;
+
+    /**
+     * The total events received in the run.
+     */
+    private Integer totalEvents;
+
+    /**
+     * Add data received in bytes.
+     *
+     * @param addDataReceived the amount of data received in bytes
+     */
     public void addDataReceived(final double addDataReceived) {
         this.setDataReceived(this.dataReceived + addDataReceived);
     }
 
+    /**
+     * Compute the run length from the start and end date and set its value in the GUI.
+     */
     public void computeRunLength() {
         if (this.startDate != null && this.endDate != null) {
             final long elapsedMillis = this.endDate.getTime() - this.startDate.getTime();
@@ -47,55 +144,118 @@
         }
     }
 
+    /**
+     * Get the data rate in MB/s.
+     *
+     * @return the data rate in MB/s
+     */
     public double getDataRate() {
         return this.dataRate;
     }
 
+    /**
+     * Get the data received in bytes.
+     *
+     * @return the data received in bytes
+     */
     public double getDataReceived() {
         return this.dataReceived;
     }
 
+    /**
+     * Get the elapsed time in seconds.
+     *
+     * @return the elapsed time in seconds
+     */
     public int getElapsedTime() {
         return this.elapsedTime;
     }
 
+    /**
+     * Get the run end date.
+     *
+     * @return the run end date
+     */
     public Date getEndDate() {
         return this.endDate;
     }
 
+    /**
+     * Get the current event number.
+     *
+     * @return the current event number
+     */
     public int getEventNumber() {
         return this.eventNumber;
     }
 
+    /**
+     * Get the event rate in Hertz.
+     *
+     * @return the event rate in Hertz
+     */
     public double getEventRate() {
         return this.eventRate;
     }
 
+    /**
+     * Get the number of events received in the session.
+     *
+     * @return the number of events received
+     */
     public int getEventsReceived() {
         return this.eventsReceived;
     }
 
+    /**
+     * Get the property names for this model.
+     *
+     * @return the property names for this model
+     */
     @Override
     public String[] getPropertyNames() {
         return RUN_PROPERTIES;
     }
 
+    /**
+     * Get the run length in seconds.
+     *
+     * @return the run length in seconds
+     */
     public int getRunLength() {
         return this.runLength;
     }
 
+    /**
+     * Get the run number.
+     *
+     * @return the run number
+     */
     public int getRunNumber() {
         return this.runNumber;
     }
 
+    /**
+     * Get the start date.
+     *
+     * @return the start date
+     */
     public Date getStartDate() {
         return this.startDate;
     }
 
+    /**
+     * Get the total events in the run.
+     *
+     * @return the total events in the run
+     */
     public int getTotalEvents() {
         return this.totalEvents;
     }
 
+    /**
+     * Reset the model for new run.
+     */
     public void reset() {
         setDataReceived(0);
         setElapsedTime(0);
@@ -107,69 +267,124 @@
         setTotalEvents(0);
     }
 
+    /**
+     * Set the data rate in MB/s.
+     *
+     * @param dataRate the data rate in MB/s
+     */
     public void setDataRate(final double dataRate) {
         final Double oldValue = this.dataRate;
         this.dataRate = dataRate;
         this.firePropertyChange(DATA_RATE_PROPERTY, oldValue, this.dataRate);
     }
 
+    /**
+     * Set the data received in bytes.
+     *
+     * @param dataReceived the data received in bytes
+     */
     public void setDataReceived(final double dataReceived) {
         final Double oldValue = this.dataReceived;
         this.dataReceived = dataReceived;
         this.firePropertyChange(DATA_RECEIVED_PROPERTY, oldValue, this.dataReceived);
     }
 
+    /**
+     * Set the elapsed time in seconds.
+     *
+     * @param elapsedTime the elapsed time in seconds
+     */
     public void setElapsedTime(final int elapsedTime) {
         final Integer oldValue = this.elapsedTime;
         this.elapsedTime = elapsedTime;
         this.firePropertyChange(ELAPSED_TIME_PROPERTY, oldValue, this.elapsedTime);
     }
 
+    /**
+     * Set the run end date.
+     *
+     * @param endDate the run end date
+     */
     public void setEndDate(final Date endDate) {
         final Date oldValue = this.endDate;
         this.endDate = endDate;
         this.firePropertyChange(END_DATE_PROPERTY, oldValue, this.endDate);
     }
 
+    /**
+     * Set the current event number.
+     *
+     * @param eventNumber the current event number
+     */
     public void setEventNumber(final int eventNumber) {
         final Integer oldValue = this.eventNumber;
         this.eventNumber = eventNumber;
         this.firePropertyChange(EVENT_NUMBER_PROPERTY, oldValue, this.eventNumber);
     }
 
+    /**
+     * Set the event rate in Hertz.
+     *
+     * @param eventRate the event rate in Hertz
+     */
     public void setEventRate(final double eventRate) {
         final Double oldValue = this.eventRate;
         this.eventRate = eventRate;
         this.firePropertyChange(EVENT_RATE_PROPERTY, oldValue, this.eventRate);
     }
 
+    /**
+     * Set the number of events received.
+     *
+     * @param eventsReceived the number of events received
+     */
     public void setEventsReceived(final int eventsReceived) {
         final Integer oldValue = this.eventsReceived;
         this.eventsReceived = eventsReceived;
         this.firePropertyChange(EVENTS_RECEIVED_PROPERTY, oldValue, this.eventsReceived);
     }
 
+    /**
+     * Set the length of the run in seconds.
+     *
+     * @param runLength the length of the run in seconds
+     */
     public void setRunLength(final int runLength) {
         final Integer oldValue = this.runLength;
         this.runLength = runLength;
         this.firePropertyChange(RUN_LENGTH_PROPERTY, oldValue, this.runLength);
     }
 
+    /**
+     * Set the run number.
+     *
+     * @param runNumber the run number
+     */
     public void setRunNumber(final int runNumber) {
         final Integer oldValue = this.runNumber;
         this.runNumber = runNumber;
         this.firePropertyChange(RUN_NUMBER_PROPERTY, oldValue, this.runNumber);
     }
 
+    /**
+     * Set the start date.
+     *
+     * @param startDate the start date
+     */
     public void setStartDate(final Date startDate) {
         final Date oldValue = this.startDate;
         this.startDate = startDate;
         this.firePropertyChange(START_DATE_PROPERTY, oldValue, this.startDate);
     }
 
+    /**
+     * Set the total number of events in the run.
+     *
+     * @param totalEvents the total number of events in the run
+     */
     public void setTotalEvents(final int totalEvents) {
         final Integer oldValue = this.totalEvents;
         this.totalEvents = totalEvents;
         this.firePropertyChange(TOTAL_EVENTS_PROPERTY, oldValue, this.totalEvents);
     }
-}
+}

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SteeringType.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SteeringType.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SteeringType.java	Mon Apr 13 13:17:35 2015
@@ -6,5 +6,12 @@
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 public enum SteeringType {
-    FILE, RESOURCE;
+    /**
+     * Steering from local file on disk.
+     */
+    FILE,
+    /**
+     * Steering from resource in jar file.
+     */
+    RESOURCE;
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java	Mon Apr 13 13:17:35 2015
@@ -2,7 +2,6 @@
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -19,80 +18,152 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 public final class SystemStatusTableModel extends AbstractTableModel implements SystemStatusListener {
 
-    public static final int ACTIVE_COL = 1;
-    public static final int CLEARABLE_COL = 7;
-    static final String[] columnNames = { "Reset", "Active", "Status", "System", "Description", "Message",
-        "Last Changed", "Clearable" };
-    public static final int DESCRIPTION_COL = 4;
-    public static final int LAST_CHANGED_COL = 6;
-    public static final int MESSAGE_COL = 5;
-    public static final int RESET_COL = 0;
-    public static final int STATUS_COL = 2;
-
-    public static final int SYSTEM_COL = 3;
-
-    final SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss.SSS");
-    List<SystemStatus> statuses = new ArrayList<SystemStatus>();
-
+    /**
+     * Active field column index.
+     */
+    public static final int ACTIVE_COLUMN_INDEX = 1;
+
+    /**
+     * Clearable field column index.
+     */
+    public static final int CLEARABLE_COLUMN_INDEX = 7;
+
+    /**
+     * The names of the columns.
+     */
+    private static final String[] COLUMN_NAMES = {"Reset", "Active", "Status", "System", "Description", "Message",
+            "Last Changed", "Clearable"};
+
+    /**
+     * Description column index.
+     */
+    public static final int DESCRIPTION_COLUMN_INDEX = 4;
+
+    /**
+     * Last changed field column index.
+     */
+    public static final int LAST_CHANGED_COLUMN_INDEX = 6;
+
+    /**
+     * Message field column index.
+     */
+    public static final int MESSAGE_COLUMN_INDEX = 5;
+
+    /**
+     * Reset field column index.
+     */
+    public static final int RESET_COLUMN_INDEX = 0;
+
+    /**
+     * Status field column index.
+     */
+    public static final int STATUS_COLUMN_INDEX = 2;
+
+    /**
+     * System field column index.
+     */
+    public static final int SYSTEM_COLUMN_INDEX = 3;
+
+    /**
+     * The list of system status objects that back the model.
+     */
+    private final List<SystemStatus> statuses = new ArrayList<SystemStatus>();
+
+    /**
+     * Add a system status to the model.
+     *
+     * @param status the system status to add to the model
+     */
     public void addSystemStatus(final SystemStatus status) {
         this.statuses.add(status);
         status.addListener(this);
         fireTableDataChanged();
     }
 
+    /**
+     * Clear all the data in the model.
+     */
     public void clear() {
         this.statuses.clear();
         fireTableDataChanged();
     }
 
-    @Override
-    public Class getColumnClass(final int column) {
-        switch (column) {
-        case ACTIVE_COL:
+    /**
+     * Get the class of the column.
+     *
+     * @param columnIndex the index of the column
+     */
+    @SuppressWarnings({"rawtypes", "unchecked"})
+    @Override
+    public Class getColumnClass(final int columnIndex) {
+        switch (columnIndex) {
+        case ACTIVE_COLUMN_INDEX:
             return Boolean.class;
-        case LAST_CHANGED_COL:
+        case LAST_CHANGED_COLUMN_INDEX:
             return Date.class;
         default:
             return String.class;
         }
     }
 
+    /**
+     * Get the column count.
+     *
+     * @return the column count
+     */
     @Override
     public int getColumnCount() {
-        return columnNames.length;
-    }
-
-    @Override
-    public String getColumnName(final int col) {
-        return columnNames[col];
-    }
-
+        return COLUMN_NAMES.length;
+    }
+
+    /**
+     * Get the column name.
+     *
+     * @param columnIndex the column index
+     */
+    @Override
+    public String getColumnName(final int columnIndex) {
+        return COLUMN_NAMES[columnIndex];
+    }
+
+    /**
+     * Get the row count.
+     *
+     * @return the row count
+     */
     @Override
     public int getRowCount() {
         return this.statuses.size();
     }
 
+    /**
+     * Get a table cell value.
+     *
+     * @param rowIndex the row index
+     * @param columnIndex the column index
+     */
     @Override
     public Object getValueAt(final int rowIndex, final int columnIndex) {
         final SystemStatus status = this.statuses.get(rowIndex);
         switch (columnIndex) {
-        case ACTIVE_COL:
+        case ACTIVE_COLUMN_INDEX:
             return status.isActive();
-        case STATUS_COL:
+        case STATUS_COLUMN_INDEX:
             return status.getStatusCode().name();
-        case SYSTEM_COL:
+        case SYSTEM_COLUMN_INDEX:
             return status.getSubsystem().name();
-        case DESCRIPTION_COL:
+        case DESCRIPTION_COLUMN_INDEX:
             return status.getDescription();
-        case MESSAGE_COL:
+        case MESSAGE_COLUMN_INDEX:
             return status.getMessage();
-        case LAST_CHANGED_COL:
+        case LAST_CHANGED_COLUMN_INDEX:
             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,
+        case RESET_COLUMN_INDEX:
+            // If the status is clear-able, then the cell has a button which can be used to
+            // manually set the state to CLEARED. If the status cannot be cleared,
             // then nothing is rendered in this cell.
             if (status.isClearable()) {
                 final JButton button = new JButton();
@@ -100,9 +171,6 @@
                     @Override
                     public void actionPerformed(final ActionEvent e) {
                         final SystemStatus status = SystemStatusTableModel.this.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()) {
                             final StatusCode oldStatusCode = status.getStatusCode();
                             status.setStatus(StatusCode.CLEARED, "Cleared from " + oldStatusCode.name() + " state.");
@@ -113,29 +181,42 @@
             } else {
                 return null;
             }
-        case CLEARABLE_COL:
+        case CLEARABLE_COLUMN_INDEX:
             return status.isClearable();
         default:
             return null;
         }
     }
 
-    @Override
-    public boolean isCellEditable(final int row, final int col) {
-        if (col == ACTIVE_COL) {
-            return true;
-        } else {
-            return false;
+    /**
+     * Return <code>true</code> if cell is editable.
+     *
+     * @return <code>true</code> if cell is editable
+     */
+    @Override
+    public boolean isCellEditable(final int rowIndex, final int columnIndex) {
+        return columnIndex == ACTIVE_COLUMN_INDEX;
+    }
+
+    /**
+     * Set the table cell value.
+     *
+     * @param value the new value
+     * @param rowIndex the row index
+     * @param columnIndex the column index
+     */
+    @Override
+    public void setValueAt(final Object value, final int rowIndex, final int columnIndex) {
+        if (columnIndex == ACTIVE_COLUMN_INDEX) {
+            this.statuses.get(rowIndex).setActive((Boolean) value);
         }
     }
 
-    @Override
-    public void setValueAt(final Object value, final int row, final int col) {
-        if (col == ACTIVE_COL) {
-            this.statuses.get(row).setActive((Boolean) value);
-        }
-    }
-
+    /**
+     * Notify of system status changed.
+     *
+     * @param status the system status that changed
+     */
     @Override
     public void statusChanged(final SystemStatus status) {
         final int rowNumber = this.statuses.indexOf(status);

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/package-info.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/package-info.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/package-info.java	Mon Apr 13 13:17:35 2015
@@ -16,4 +16,5 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
-package org.hps.monitoring.application;
+package org.hps.monitoring.application;
+

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/AIDAServer.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/AIDAServer.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/AIDAServer.java	Mon Apr 13 13:17:35 2015
@@ -14,25 +14,36 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
-public class AIDAServer {
+public final class AIDAServer {
 
-    boolean connected = false;
-    String name;
-    RmiServerImpl server;
+    /**
+     * Connected flag.
+     */
+    private boolean connected = false;
+
+    /**
+     * The name of the server.
+     */
+    private String name;
+
+    /**
+     * The RMI server object.
+     */
+    private RmiServerImpl server;
 
     /**
      * Class constructor.
      *
-     * @param name The name of the AIDA server.
+     * @param name the name of the AIDA server
      */
     public AIDAServer(final String name) {
         this.name = name;
     }
 
     /**
-     * True if connected.
+     * Return <code>true</code> if connected.
      *
-     * @return True if connected to server.
+     * @return <code>true</code> if connected to server
      */
     public boolean connected() {
         return this.connected;
@@ -46,6 +57,11 @@
         this.connected = false;
     }
 
+    /**
+     * Get the server name as a string.
+     *
+     * @return the server name
+     */
     public String getName() {
         try {
             return InetAddress.getLocalHost().getCanonicalHostName() + this.server.getBindName() + ":"
@@ -68,7 +84,7 @@
     /**
      * Start the remote AIDA server.
      *
-     * @return True if server started successfully; false if an error occurred during initialization.
+     * @return <code>true</code> if server started successfully; false if an error occurred during initialization.
      */
     public boolean start() {
         final RemoteServer treeServer = new RemoteServer((IDevTree) AIDA.defaultInstance().tree());

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/DialogUtil.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/DialogUtil.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/DialogUtil.java	Mon Apr 13 13:17:35 2015
@@ -10,15 +10,19 @@
 import javax.swing.WindowConstants;
 
 /**
+ * This is a set of utility methods for creating Swing dialog windows.
+ *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 public final class DialogUtil {
 
     /**
-     * @param parent
-     * @param message
-     * @param title
-     * @return
+     * Show a confirmation dialog.
+     *
+     * @param parent the parent component
+     * @param message the message
+     * @param title the title of the dialog
+     * @return the result from the user's dialog selection
      */
     public static int showConfirmationDialog(final Component parent, final String title, final String message) {
         final Object[] options = { "Yes", "No", "Cancel" };
@@ -28,9 +32,11 @@
     }
 
     /**
-     * @param component
-     * @param error
-     * @param title
+     * Show an error dialog.
+     *
+     * @param component the parent component
+     * @param error the error message
+     * @param title the title of the dialog
      */
     public static void showErrorDialog(final Component component, final String title, final String message) {
         final Runnable runnable = new Runnable() {
@@ -43,9 +49,11 @@
     }
 
     /**
-     * @param component
-     * @param error
-     * @param title
+     * Show an error dialog with an associated thrown object.
+     *
+     * @param component the parent component
+     * @param error the <code>Throwable</code> error
+     * @param title the title of the dialog
      */
     public static void showErrorDialog(final Component component, final Throwable error, final String title) {
         final Runnable runnable = new Runnable() {
@@ -58,9 +66,11 @@
     }
 
     /**
-     * @param component
-     * @param title
-     * @param message
+     * Show an information dialog.
+     *
+     * @param component the parent component
+     * @param title the title of the dialog
+     * @param message the message
      */
     public static void showInfoDialog(final Component component, final String title, final String message) {
         final Runnable runnable = new Runnable() {
@@ -73,10 +83,12 @@
     }
 
     /**
-     * @param parentComponent
-     * @param title
-     * @param message
-     * @return
+     * Show a status dialog which will block GUI interaction.
+     *
+     * @param parentComponent the parent component
+     * @param title the title of the dialog
+     * @param message the message
+     * @return the dialog window component
      */
     public static JDialog showStatusDialog(final Component parentComponent, final String title, final String message) {
         final JOptionPane optionPane = new JOptionPane(message, JOptionPane.INFORMATION_MESSAGE,
@@ -101,4 +113,11 @@
         dialog.setVisible(true);
         return dialog;
     }
+
+    /**
+     * Do not allow class instantiation.
+     */
+    private DialogUtil() {
+        throw new UnsupportedOperationException("Do not instantiate this class.");
+    }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java	Mon Apr 13 13:17:35 2015
@@ -8,10 +8,9 @@
 import javax.swing.SwingUtilities;
 
 /**
- * <p>
  * An error handling class which is able to do any of the following, depending on how the users wants to handle the
  * error.
- * </p>
+ * <p>
  * <ul>
  * <li>Print a message</li>
  * <li>Print the stack trace</li>
@@ -20,20 +19,36 @@
  * <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.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 public final class ErrorHandler {
 
-    Component component;
-    Throwable error;
-    Logger logger;
-    String message;
+    /**
+     * The component used for showing dialog windows.
+     */
+    private final Component component;
 
     /**
-     * Constructor.
+     * The thrown error.
+     */
+    private Throwable error;
+
+    /**
+     * A logger for reporting error messages.
+     */
+    private final Logger logger;
+
+    /**
+     * The error message.
+     */
+    private String message;
+
+    /**
+     * Class constructor.
      *
      * @param component The GUI component to which this object is assigned.
      * @param logger The logger to which messages will be written.
@@ -44,7 +59,9 @@
     }
 
     /**
-     * Exit the application. This is not chainable for obvious reasons.
+     * Exit the application.
+     * <p>
+     * This is not a chain-able method for obvious reasons.
      */
     public void exit() {
         System.err.println("Fatal error.  Application will exit.");
@@ -54,7 +71,7 @@
     /**
      * Log the error message to the <code>Logger</code>.
      *
-     * @return This object.
+     * @return this object
      */
     public ErrorHandler log() {
         this.logger.log(Level.SEVERE, this.message, this.error);
@@ -74,7 +91,7 @@
     /**
      * Print the full stack trace of the error to System.err.
      *
-     * @return This object.
+     * @return this object
      */
     public ErrorHandler printStackTrace() {
         this.error.printStackTrace();
@@ -82,18 +99,21 @@
     }
 
     /**
-     * Rethrow the error as a <code>RuntimeException</code>. Additional methods cannot be chained to this as they would
-     * not be executed.
+     * Immediately re-throw the error as a <code>RuntimeException</code>.
+     * <p>
+     * Additional methods cannot be chained to this as they would not be executed.
      */
     public void raiseException() {
         throw new RuntimeException(this.message, this.error);
     }
 
     /**
-     * Set the error that occurred. This should always be called first in a method chain.
+     * Set the error that occurred.
+     * <p>
+     * This should always be called first when method chaining.
      *
-     * @param error The error which is a <code>Throwable</code>.
-     * @return This object.
+     * @param error the error which is any type of <code>Throwable</code>
+     * @return this object
      */
     public ErrorHandler setError(final Throwable error) {
         this.error = error;
@@ -102,10 +122,10 @@
     }
 
     /**
-     * Set the error message if it differs from the exception's message.
+     * Set the error message, if it differs from the exception's message.
      *
-     * @param message The erro message.
-     * @return This object.
+     * @param message the error message
+     * @return this object
      */
     public ErrorHandler setMessage(final String message) {
         this.message = message;
@@ -115,7 +135,7 @@
     /**
      * Show an error dialog with the message.
      *
-     * @return This object.
+     * @return this object
      */
     public ErrorHandler showErrorDialog() {
         final Runnable runnable = new Runnable() {
@@ -132,7 +152,9 @@
     /**
      * Show an error dialog with a custom message and title.
      *
-     * @return This object.
+     * @param message the error message
+     * @param title the title of the dialog window
+     * @return this object
      */
     public ErrorHandler showErrorDialog(final String message, final String title) {
         final Runnable runnable = new Runnable() {

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EtSystemUtil.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EtSystemUtil.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EtSystemUtil.java	Mon Apr 13 13:17:35 2015
@@ -11,18 +11,34 @@
  */
 public final class EtSystemUtil {
 
+    /**
+     * Create an {@link org.hps.record.et.EtConnection} from the settings in a
+     * {@link org.hps.monitoring.application.model.ConfigurationModel}.
+     *
+     * @param config the {@link org.hps.monitoring.application.model.ConfigurationModel} with the connection settings
+     * @return the new {@link org.hps.record.et.EtConnection}
+     */
     public static EtConnection createEtConnection(final 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());
     }
 
+    /**
+     * Create an event selection array (with size 6).
+     *
+     * @return the event selection array
+     */
     public static int[] createSelectArray() {
         final int select[] = new int[EtConstants.stationSelectInts];
         Arrays.fill(select, -1);
         return select;
     }
 
+    /**
+     * Do not allow class instantiation.
+     */
     private EtSystemUtil() {
+        throw new UnsupportedOperationException("Do not instantiate this class.");
     }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EvioFileFilter.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EvioFileFilter.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/EvioFileFilter.java	Mon Apr 13 13:17:35 2015
@@ -5,24 +5,37 @@
 import javax.swing.filechooser.FileFilter;
 
 /**
- * This is a simple file filter that will accept files with ".evio" anywhere in their name.
+ * This is a file filter that will accept files with ".evio" anywhere in their name.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 public final class EvioFileFilter extends FileFilter {
 
+    /**
+     * Class constructor.
+     */
     public EvioFileFilter() {
     }
 
+    /**
+     * Return <code>true</code> if path should be accepted.
+     *
+     * @return <code>true</code> to accept the path
+     */
     @Override
-    public boolean accept(final File pathname) {
-        if (pathname.getName().contains(".evio") || pathname.isDirectory()) {
+    public boolean accept(final File path) {
+        if (path.getName().contains(".evio") || path.isDirectory()) {
             return true;
         } else {
             return false;
         }
     }
 
+    /**
+     * Get the description of the file filter.
+     *
+     * @return the description of the file filter
+     */
     @Override
     public String getDescription() {
         return "EVIO files";

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ResourceUtil.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ResourceUtil.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/ResourceUtil.java	Mon Apr 13 13:17:35 2015
@@ -19,15 +19,19 @@
 import org.reflections.Reflections;
 
 /**
+ * This is a set of utility methods for getting jar resources at runtime.
+ *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
 public final class ResourceUtil {
 
     /**
-     * Find a list of available detector names. Only those detectors that have names starting with "HPS" in their
-     * detector.properties files will be returned.
+     * Find a list of available detector names.
+     * <p>
+     * Only those detectors that have names starting with "HPS" in their <code>detector.properties</code> files will be
+     * returned.
      *
-     * @return The list of available detector names.
+     * @return the list of available HPS detector names
      */
     public static String[] findDetectorNames() {
         final ClassLoader classLoader = ResourceUtil.class.getClassLoader();
@@ -68,7 +72,7 @@
      * Find all classes that implement {@link org.hps.record.LCSimEventBuilder} and return a list of their canonical
      * names.
      *
-     * @return The list of classes implementing LCSimEventBuilder.
+     * @return the list of fully qualified class names that implement LCSimEventBuilder
      */
     public static String[] findEventBuilderClassNames() {
         final Reflections reflections = new Reflections("org.hps");
@@ -81,10 +85,10 @@
     }
 
     /**
-     * Get the files with extension 'lcsim' from all loaded jar files.
+     * Get all of the files with the extension "lcsim" which are in a certain package.
      *
-     * @param packageName The package name for filtering the resources.
-     * @return A list of embedded steering file resources.
+     * @param packageName the package name for filtering the list of resources
+     * @return a list of embedded steering file resources
      */
     public static String[] findSteeringResources(final String packageName) {
         final List<String> resources = new ArrayList<String>();
@@ -115,10 +119,20 @@
         return arr;
     }
 
+    /**
+     * Get the list of available conditions tags from the conditions system.
+     *
+     * @return the list of available conditions tags
+     */
+    // FIXME: This method probably does not belong in this class.
     public static String[] getConditionsTags() {
         return DatabaseConditionsManager.getInstance().getTags().toArray(new String[] {});
     }
 
+    /**
+     * Do not allow class instantiation.
+     */
     private ResourceUtil() {
+        throw new UnsupportedOperationException("Do not instantiate this class.");
     }
 }

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java	Mon Apr 13 13:17:35 2015
@@ -22,11 +22,23 @@
  * @see org.hps.recon.ecal.daqconfig.ConfigurationManager
  * @see org.hps.recon.ecal.daqconfig.EvioDAQParser
  */
-public class SyncEventProcessor extends EtEventProcessor {
+// FIXME: This class is currently unused.
+public final class SyncEventProcessor extends EtEventProcessor {
 
+    /**
+     * The name of the trigger configuration collection.
+     */
     private static final String TRIGGER_CONFIG = "TriggerConfig";
-    TriggerConfigEvioReader configReader = new TriggerConfigEvioReader();
 
+    /**
+     * The trigger configuration reader.
+     */
+    private final TriggerConfigEvioReader configReader = new TriggerConfigEvioReader();
+
+    /**
+     * Process an ET event and if there is a trigger configuration present, parse it and update the configuration in the
+     * global manager.
+     */
     @Override
     public void process(final EtEvent event) {
         EvioEvent evioEvent = null;

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/TableExporter.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/TableExporter.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/util/TableExporter.java	Mon Apr 13 13:17:35 2015
@@ -8,8 +8,9 @@
 import javax.swing.table.TableModel;
 
 /**
- * This is a utility for exporting a JTable's model data to a text file. Non-numeric fields are all contained in double
- * quotes.
+ * This is a utility for exporting a JTable's model data to a text file.
+ * <p>
+ * Non-numeric fields such as strings are delimited by double quotes.
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
@@ -18,10 +19,10 @@
     /**
      * Export the given table to a text file.
      *
-     * @param table The JTable component.
-     * @param path The output file path.
-     * @param fieldDelimiter The field delimiter to use.
-     * @throws IOException if there are errors writing the file.
+     * @param table the JTable component
+     * @param path the output file path
+     * @param fieldDelimiter the field delimiter to use
+     * @throws IOException if there are errors writing the file
      */
     public static void export(final JTable table, final String path, final char fieldDelimiter) throws IOException {
 
@@ -58,6 +59,10 @@
         out.close();
     }
 
+    /**
+     * Do not allow class instantiation.
+     */
     private TableExporter() {
+        throw new UnsupportedOperationException("Do not instantiate this class.");
     }
 }

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